@cccsaurora/clue-ui 1.2.1-patch.256 → 1.3.0-dev.255

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 (181) hide show
  1. package/ActionForm-C0aE9HUv.js +5941 -0
  2. package/AnnotationDetails-CEou0vCc.js +175 -0
  3. package/AnnotationPreview-CLMVD6Ec.js +188 -0
  4. package/ClueEnrichContext-BkD9ZwM9.js +541 -0
  5. package/FlexOne-BSYAhhtG.js +9 -0
  6. package/_MapCache-WmuDdwuH.js +222 -0
  7. package/_Uint8Array-DdG4KLKn.js +128 -0
  8. package/_baseAssignValue-CGTuELqU.js +25 -0
  9. package/_baseClone-BpWiBnMp.js +283 -0
  10. package/_baseExtremum-BY663UjY.js +33 -0
  11. package/_baseFlatten-B69cDsaV.js +92 -0
  12. package/_baseGet-Bx3A4Qfp.js +108 -0
  13. package/_baseIsEqual-B4IufFlL.js +208 -0
  14. package/_baseIteratee-7AQvAy1o.js +126 -0
  15. package/_baseSlice-GAv_YFTT.js +20 -0
  16. package/_baseSum-D0WC1dN0.js +13 -0
  17. package/_baseUniq-B8fK6hI-.js +115 -0
  18. package/_commonjsHelpers-DWwsNxpa.js +8 -0
  19. package/_createAggregator-CwGPThny.js +63 -0
  20. package/_getPrototype-CblfEidB.js +5 -0
  21. package/_getTag-jwz4XLoZ.js +126 -0
  22. package/_setToArray-CaPKQhcz.js +33 -0
  23. package/cloneDeep-DmUylbkM.js +8 -0
  24. package/components/AnnotationBody.js +49 -35
  25. package/components/AnnotationDetailPopover.js +36 -30
  26. package/components/AnnotationDetails.js +7 -7
  27. package/components/AnnotationEntry.js +35 -35
  28. package/components/AnnotationPreview.js +5 -5
  29. package/components/ClassificationChip.js +44 -23
  30. package/components/CountBadge.js +31 -26
  31. package/components/EnrichedCard.js +110 -97
  32. package/components/EnrichedChip.js +130 -105
  33. package/components/EnrichedTypography.js +133 -107
  34. package/components/ErrorBoundary.js +28 -24
  35. package/components/RetryFailedEnrichments.js +10 -9
  36. package/components/SourcePicker.js +57 -49
  37. package/components/actions/ActionForm.js +4 -4
  38. package/components/actions/ExecutePopover.js +75 -59
  39. package/components/actions/ResultModal.js +4 -4
  40. package/components/actions/form/schemaAdapter.js +39 -23
  41. package/components/actions/formats/FileResult.js +86 -59
  42. package/components/actions/formats/index.js +21 -10
  43. package/components/display/graph/ExpandMoreButton.js +10 -10
  44. package/components/display/graph/elements/NodeCard.js +111 -91
  45. package/components/display/graph/elements/NodeTag.js +15 -13
  46. package/components/display/graph/index.js +261 -202
  47. package/components/display/graph/visualizations/Leaf.js +88 -69
  48. package/components/display/graph/visualizations/cloud/index.js +98 -81
  49. package/components/display/graph/visualizations/icons/BaseIcon.js +26 -21
  50. package/components/display/graph/visualizations/icons/BugIcon.js +12 -12
  51. package/components/display/graph/visualizations/icons/HostIcon.js +12 -12
  52. package/components/display/graph/visualizations/icons/NetworkIcon.js +12 -12
  53. package/components/display/graph/visualizations/icons/ProcessIcon.js +12 -12
  54. package/components/display/graph/visualizations/icons/TargetIcon.js +13 -13
  55. package/components/display/graph/visualizations/icons/index.js +14 -13
  56. package/components/display/graph/visualizations/panels/NodePanel.js +10 -8
  57. package/components/display/graph/visualizations/tree/BundleLine.js +108 -81
  58. package/components/display/graph/visualizations/tree/Triangle.js +13 -13
  59. package/components/display/graph/visualizations/tree/index.js +407 -306
  60. package/components/display/icons/Iconified.js +27 -12
  61. package/components/display/json/index.js +4 -4
  62. package/components/display/markdown/index.js +8678 -5770
  63. package/components/enrichment/EnrichPopover.js +54 -46
  64. package/components/fetchers/Fetcher.js +155 -117
  65. package/components/fetchers/PreviewModal.js +20 -17
  66. package/components/fetchers/StatusChip.js +21 -17
  67. package/components/group/Entry.js +13 -11
  68. package/components/group/Group.js +13 -10
  69. package/components/group/GroupControl.js +76 -65
  70. package/components/stats/QueryStatus.js +43 -33
  71. package/countBy-DqlU5OwT.js +14 -0
  72. package/data/event.js +6 -4
  73. package/database/index.js +2 -2
  74. package/debounce-bV0h5FC5.js +92 -0
  75. package/get-DSsNkRQs.js +8 -0
  76. package/groupBy-ChDRT7uy.js +14 -0
  77. package/hooks/ClueActionContext.js +6 -6
  78. package/hooks/ClueComponentContext.js +29 -23
  79. package/hooks/ClueConfigProvider.js +14 -12
  80. package/hooks/ClueDatabaseContext.js +19 -13
  81. package/hooks/ClueEnrichContext.js +8 -8
  82. package/hooks/ClueFetcherContext.js +83 -56
  83. package/hooks/ClueGroupContext.js +17 -14
  84. package/hooks/CluePopupContext.js +5 -5
  85. package/hooks/ClueProvider.js +12 -10
  86. package/hooks/selectors.js +7 -7
  87. package/hooks/useActionResult.js +2 -2
  88. package/hooks/useAnnotations.js +47 -31
  89. package/hooks/useClue.js +6 -4
  90. package/hooks/useClueActions.js +3 -3
  91. package/hooks/useClueConfig.js +6 -4
  92. package/hooks/useClueTypeConfig.js +3 -3
  93. package/hooks/useComparator.js +722 -435
  94. package/hooks/useErrors.js +22 -18
  95. package/hooks/useFetcherResult.js +33 -24
  96. package/hooks/useMyHighlights.js +66 -36
  97. package/hooks/useMyLocalStorage.js +66 -37
  98. package/iconify-CXMreGTg.js +1782 -0
  99. package/icons/Action.js +66 -49
  100. package/icons/Assessment.js +84 -69
  101. package/icons/Context.js +77 -63
  102. package/icons/Opinion.js +78 -60
  103. package/icons/iconMap.js +2 -2
  104. package/identity-CPGTqrE4.js +6 -0
  105. package/index-AMfoEg_6.js +696 -0
  106. package/index-B6C2a_Lg.js +1172 -0
  107. package/index-C12gPw2W.js +17698 -0
  108. package/index-DCKkHTvx.js +15750 -0
  109. package/index-UkW8Sur3.js +465 -0
  110. package/isNil-CIubwp4T.js +6 -0
  111. package/isObject-FTY-5JQX.js +7 -0
  112. package/isObjectLike-OAgjjZye.js +48 -0
  113. package/isSymbol-Xd2FsJyp.js +8 -0
  114. package/last-CUCl67Im.js +7 -0
  115. package/main.js +60 -60
  116. package/package.json +1 -1
  117. package/sortBy-C7mGPI_D.js +100 -0
  118. package/sumBy-CGALjmwQ.js +8 -0
  119. package/text/Frequency.js +42 -23
  120. package/toFinite-Bc55msYj.js +16 -0
  121. package/toNumber-DPxy1FBy.js +39 -0
  122. package/useClueTypeConfig-D2tf4-NM.js +3289 -0
  123. package/utils/chain.js +91 -65
  124. package/utils/classificationParser.js +519 -256
  125. package/utils/constants.js +35 -10
  126. package/utils/graph.js +72 -45
  127. package/utils/hashUtil.js +7 -7
  128. package/utils/line.js +131 -81
  129. package/utils/loggerUtil.js +5 -3
  130. package/utils/sessionStorage.js +41 -27
  131. package/utils/time.js +423 -423
  132. package/utils/utils.js +9 -9
  133. package/utils/window.js +21 -10
  134. package/utils-71DpzFrA.js +199 -0
  135. package/ActionForm-DlOXqMUx.js +0 -4460
  136. package/AnnotationDetails-Bk-p0F6h.js +0 -160
  137. package/AnnotationPreview-jzZvkCxJ.js +0 -140
  138. package/ClueEnrichContext-KqRuuWNS.js +0 -418
  139. package/FlexOne-BXWFOd1T.js +0 -6
  140. package/_MapCache-BiTi0iqu.js +0 -180
  141. package/_Uint8Array-BQNOM9Rr.js +0 -101
  142. package/_baseAssignValue-CNMLQZco.js +0 -20
  143. package/_baseClone-BnT-6pyM.js +0 -207
  144. package/_baseExtremum-Ca2EHgy2.js +0 -16
  145. package/_baseFlatten-Bfr_Molw.js +0 -72
  146. package/_baseGet-DSZygzyq.js +0 -79
  147. package/_baseIsEqual-VgvaAFZG.js +0 -147
  148. package/_baseIteratee-Dbfsw5z8.js +0 -95
  149. package/_baseSlice-M5RKzt1A.js +0 -10
  150. package/_baseSum-wEbgNeUs.js +0 -10
  151. package/_baseUniq-BJcj69PL.js +0 -79
  152. package/_commonjsHelpers-DaMA6jEr.js +0 -8
  153. package/_createAggregator-k3TuAnxT.js +0 -53
  154. package/_getPrototype-Cr1Mk7BC.js +0 -5
  155. package/_getTag-CK2Sffaq.js +0 -90
  156. package/_isIterateeCall-DkJP7Rbx.js +0 -13
  157. package/_setToArray-C7yMOeww.js +0 -29
  158. package/cloneDeep-CF8TtLHr.js +0 -8
  159. package/countBy-CdYegFSu.js +0 -8
  160. package/debounce-DryYcbJ4.js +0 -56
  161. package/get-CH7kz5Ix.js +0 -8
  162. package/groupBy-br8xmD2R.js +0 -8
  163. package/iconify-BBckr5AQ.js +0 -1263
  164. package/identity-ByMq8VxU.js +0 -6
  165. package/index-BHAe_V9n.js +0 -12768
  166. package/index-BK-zfYhR.js +0 -358
  167. package/index-CA5CUNZO.js +0 -975
  168. package/index-Dj5C04IX.js +0 -568
  169. package/index-p5_wX7q1.js +0 -11729
  170. package/isNil-CjWwlQS3.js +0 -6
  171. package/isObject-B53jY8Qg.js +0 -7
  172. package/isObjectLike-BatpeCIi.js +0 -29
  173. package/isSymbol-C3_SC0Qp.js +0 -8
  174. package/last-7CdUxN0r.js +0 -7
  175. package/maxBy-Bc0dYHcO.js +0 -8
  176. package/sortBy-DY2JBf9n.js +0 -75
  177. package/sumBy-DuMASLPd.js +0 -8
  178. package/toFinite-BMy6GObD.js +0 -14
  179. package/toNumber-YVhnnJv4.js +0 -31
  180. package/useClueTypeConfig-Ct9Ygter.js +0 -2292
  181. package/utils-DmwSUrum.js +0 -129
@@ -0,0 +1,63 @@
1
+ import { k as keys } from "./_Uint8Array-DdG4KLKn.js";
2
+ import { i as isArrayLike } from "./_getTag-jwz4XLoZ.js";
3
+ import { b as baseIteratee } from "./_baseIteratee-7AQvAy1o.js";
4
+ import { i as isArray } from "./_MapCache-WmuDdwuH.js";
5
+ function arrayAggregator(array, setter, iteratee, accumulator) {
6
+ var index = -1, length = array == null ? 0 : array.length;
7
+ while (++index < length) {
8
+ var value = array[index];
9
+ setter(accumulator, value, iteratee(value), array);
10
+ }
11
+ return accumulator;
12
+ }
13
+ function createBaseFor(fromRight) {
14
+ return function(object, iteratee, keysFunc) {
15
+ var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length;
16
+ while (length--) {
17
+ var key = props[++index];
18
+ if (iteratee(iterable[key], key, iterable) === false) {
19
+ break;
20
+ }
21
+ }
22
+ return object;
23
+ };
24
+ }
25
+ var baseFor = createBaseFor();
26
+ function baseForOwn(object, iteratee) {
27
+ return object && baseFor(object, iteratee, keys);
28
+ }
29
+ function createBaseEach(eachFunc, fromRight) {
30
+ return function(collection, iteratee) {
31
+ if (collection == null) {
32
+ return collection;
33
+ }
34
+ if (!isArrayLike(collection)) {
35
+ return eachFunc(collection, iteratee);
36
+ }
37
+ var length = collection.length, index = -1, iterable = Object(collection);
38
+ while (++index < length) {
39
+ if (iteratee(iterable[index], index, iterable) === false) {
40
+ break;
41
+ }
42
+ }
43
+ return collection;
44
+ };
45
+ }
46
+ var baseEach = createBaseEach(baseForOwn);
47
+ function baseAggregator(collection, setter, iteratee, accumulator) {
48
+ baseEach(collection, function(value, key, collection2) {
49
+ setter(accumulator, value, iteratee(value), collection2);
50
+ });
51
+ return accumulator;
52
+ }
53
+ function createAggregator(setter, initializer) {
54
+ return function(collection, iteratee) {
55
+ var func = isArray(collection) ? arrayAggregator : baseAggregator, accumulator = {};
56
+ return func(collection, setter, baseIteratee(iteratee), accumulator);
57
+ };
58
+ }
59
+ export {
60
+ baseForOwn as a,
61
+ baseEach as b,
62
+ createAggregator as c
63
+ };
@@ -0,0 +1,5 @@
1
+ import { o as overArg } from "./_getTag-jwz4XLoZ.js";
2
+ var getPrototype = overArg(Object.getPrototypeOf, Object);
3
+ export {
4
+ getPrototype as g
5
+ };
@@ -0,0 +1,126 @@
1
+ import { g as getNative, b as isFunction, t as toSource, a as Map } from "./_MapCache-WmuDdwuH.js";
2
+ import { r as root, i as isObjectLike, b as baseGetTag, f as freeGlobal } from "./isObjectLike-OAgjjZye.js";
3
+ var WeakMap = getNative(root, "WeakMap");
4
+ var MAX_SAFE_INTEGER = 9007199254740991;
5
+ function isLength(value) {
6
+ return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;
7
+ }
8
+ function isArrayLike(value) {
9
+ return value != null && isLength(value.length) && !isFunction(value);
10
+ }
11
+ var objectProto$2 = Object.prototype;
12
+ function isPrototype(value) {
13
+ var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$2;
14
+ return value === proto;
15
+ }
16
+ var argsTag$1 = "[object Arguments]";
17
+ function baseIsArguments(value) {
18
+ return isObjectLike(value) && baseGetTag(value) == argsTag$1;
19
+ }
20
+ var objectProto$1 = Object.prototype;
21
+ var hasOwnProperty$1 = objectProto$1.hasOwnProperty;
22
+ var propertyIsEnumerable = objectProto$1.propertyIsEnumerable;
23
+ var isArguments = baseIsArguments(/* @__PURE__ */ function() {
24
+ return arguments;
25
+ }()) ? baseIsArguments : function(value) {
26
+ return isObjectLike(value) && hasOwnProperty$1.call(value, "callee") && !propertyIsEnumerable.call(value, "callee");
27
+ };
28
+ function stubFalse() {
29
+ return false;
30
+ }
31
+ var freeExports$1 = typeof exports == "object" && exports && !exports.nodeType && exports;
32
+ var freeModule$1 = freeExports$1 && typeof module == "object" && module && !module.nodeType && module;
33
+ var moduleExports$1 = freeModule$1 && freeModule$1.exports === freeExports$1;
34
+ var Buffer = moduleExports$1 ? root.Buffer : void 0;
35
+ var nativeIsBuffer = Buffer ? Buffer.isBuffer : void 0;
36
+ var isBuffer = nativeIsBuffer || stubFalse;
37
+ var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", mapTag$1 = "[object Map]", numberTag = "[object Number]", objectTag$1 = "[object Object]", regexpTag = "[object RegExp]", setTag$1 = "[object Set]", stringTag = "[object String]", weakMapTag$1 = "[object WeakMap]";
38
+ var arrayBufferTag = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
39
+ var typedArrayTags = {};
40
+ typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true;
41
+ typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag$1] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag$1] = typedArrayTags[numberTag] = typedArrayTags[objectTag$1] = typedArrayTags[regexpTag] = typedArrayTags[setTag$1] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag$1] = false;
42
+ function baseIsTypedArray(value) {
43
+ return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)];
44
+ }
45
+ function baseUnary(func) {
46
+ return function(value) {
47
+ return func(value);
48
+ };
49
+ }
50
+ var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports;
51
+ var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module;
52
+ var moduleExports = freeModule && freeModule.exports === freeExports;
53
+ var freeProcess = moduleExports && freeGlobal.process;
54
+ var nodeUtil = function() {
55
+ try {
56
+ var types = freeModule && freeModule.require && freeModule.require("util").types;
57
+ if (types) {
58
+ return types;
59
+ }
60
+ return freeProcess && freeProcess.binding && freeProcess.binding("util");
61
+ } catch (e) {
62
+ }
63
+ }();
64
+ var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
65
+ var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;
66
+ function overArg(func, transform) {
67
+ return function(arg) {
68
+ return func(transform(arg));
69
+ };
70
+ }
71
+ var nativeKeys = overArg(Object.keys, Object);
72
+ var objectProto = Object.prototype;
73
+ var hasOwnProperty = objectProto.hasOwnProperty;
74
+ function baseKeys(object) {
75
+ if (!isPrototype(object)) {
76
+ return nativeKeys(object);
77
+ }
78
+ var result = [];
79
+ for (var key in Object(object)) {
80
+ if (hasOwnProperty.call(object, key) && key != "constructor") {
81
+ result.push(key);
82
+ }
83
+ }
84
+ return result;
85
+ }
86
+ var DataView = getNative(root, "DataView");
87
+ var Promise$1 = getNative(root, "Promise");
88
+ var Set = getNative(root, "Set");
89
+ var mapTag = "[object Map]", objectTag = "[object Object]", promiseTag = "[object Promise]", setTag = "[object Set]", weakMapTag = "[object WeakMap]";
90
+ var dataViewTag = "[object DataView]";
91
+ var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set), weakMapCtorString = toSource(WeakMap);
92
+ var getTag = baseGetTag;
93
+ if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map && getTag(new Map()) != mapTag || Promise$1 && getTag(Promise$1.resolve()) != promiseTag || Set && getTag(new Set()) != setTag || WeakMap && getTag(new WeakMap()) != weakMapTag) {
94
+ getTag = function(value) {
95
+ var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
96
+ if (ctorString) {
97
+ switch (ctorString) {
98
+ case dataViewCtorString:
99
+ return dataViewTag;
100
+ case mapCtorString:
101
+ return mapTag;
102
+ case promiseCtorString:
103
+ return promiseTag;
104
+ case setCtorString:
105
+ return setTag;
106
+ case weakMapCtorString:
107
+ return weakMapTag;
108
+ }
109
+ }
110
+ return result;
111
+ };
112
+ }
113
+ export {
114
+ Set as S,
115
+ isBuffer as a,
116
+ isTypedArray as b,
117
+ baseUnary as c,
118
+ isArguments as d,
119
+ isPrototype as e,
120
+ baseKeys as f,
121
+ getTag as g,
122
+ isLength as h,
123
+ isArrayLike as i,
124
+ nodeUtil as n,
125
+ overArg as o
126
+ };
@@ -0,0 +1,33 @@
1
+ import { M as MapCache } from "./_MapCache-WmuDdwuH.js";
2
+ var HASH_UNDEFINED = "__lodash_hash_undefined__";
3
+ function setCacheAdd(value) {
4
+ this.__data__.set(value, HASH_UNDEFINED);
5
+ return this;
6
+ }
7
+ function setCacheHas(value) {
8
+ return this.__data__.has(value);
9
+ }
10
+ function SetCache(values) {
11
+ var index = -1, length = values == null ? 0 : values.length;
12
+ this.__data__ = new MapCache();
13
+ while (++index < length) {
14
+ this.add(values[index]);
15
+ }
16
+ }
17
+ SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;
18
+ SetCache.prototype.has = setCacheHas;
19
+ function cacheHas(cache, key) {
20
+ return cache.has(key);
21
+ }
22
+ function setToArray(set) {
23
+ var index = -1, result = Array(set.size);
24
+ set.forEach(function(value) {
25
+ result[++index] = value;
26
+ });
27
+ return result;
28
+ }
29
+ export {
30
+ SetCache as S,
31
+ cacheHas as c,
32
+ setToArray as s
33
+ };
@@ -0,0 +1,8 @@
1
+ import { b as baseClone } from "./_baseClone-BpWiBnMp.js";
2
+ var CLONE_DEEP_FLAG = 1, CLONE_SYMBOLS_FLAG = 4;
3
+ function cloneDeep(value) {
4
+ return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);
5
+ }
6
+ export {
7
+ cloneDeep as c
8
+ };
@@ -1,42 +1,56 @@
1
- import { jsx as r, jsxs as p } from "react/jsx-runtime";
2
- import { I as s } from "../iconify-BBckr5AQ.js";
3
- import { Box as u, Chip as m, Stack as d, Typography as i } from "@mui/material";
4
- import { memo as o, useMemo as t } from "react";
5
- const y = ({ annotation: e }) => {
6
- const l = t(() => e.type === "assessment" ? ["trivial", "recon", "attempt", "compromise", "mitigated"].includes(e.value) ? "healthicons:hazardous" : "fluent-mdl2:ribbon-solid" : e.type === "opinion" ? e.value === "benign" ? "mdi:shield-check" : e.value === "suspicious" ? "mdi:warning-outline" : e.value === "obscure" ? "bi:eye-slash-fill" : "mdi:warning-decagram" : null, [e.type, e.value]);
7
- return e.type === "assessment" ? /* @__PURE__ */ r(u, { children: /* @__PURE__ */ r(
8
- m,
9
- {
10
- size: "small",
11
- icon: /* @__PURE__ */ r(s, { icon: l }),
12
- color: ["trivial", "recon", "attempt", "compromise", "mitigated"].includes(e.value) ? "error" : "success",
13
- label: `${e.type}: ${e.value}`,
14
- sx: { textTransform: "capitalize" }
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { I as Icon } from "../iconify-CXMreGTg.js";
3
+ import { Box, Chip, Stack, Typography } from "@mui/material";
4
+ import { memo, useMemo } from "react";
5
+ const AnnotationBody = ({ annotation }) => {
6
+ const icon = useMemo(() => {
7
+ if (annotation.type === "assessment") {
8
+ return ["trivial", "recon", "attempt", "compromise", "mitigated"].includes(annotation.value) ? "healthicons:hazardous" : "fluent-mdl2:ribbon-solid";
15
9
  }
16
- ) }) : e.type === "opinion" ? /* @__PURE__ */ r(u, { children: /* @__PURE__ */ r(
17
- m,
18
- {
19
- size: "small",
20
- icon: /* @__PURE__ */ r(s, { icon: l }),
21
- color: {
22
- benign: "success",
23
- suspicious: "warning",
24
- obscure: "error",
25
- malicious: "error"
26
- }[e.value],
27
- label: `${e.type}: ${e.value}`,
28
- sx: { textTransform: "capitalize" }
10
+ if (annotation.type === "opinion") {
11
+ return annotation.value === "benign" ? "mdi:shield-check" : annotation.value === "suspicious" ? "mdi:warning-outline" : annotation.value === "obscure" ? "bi:eye-slash-fill" : "mdi:warning-decagram";
29
12
  }
30
- ) }) : /* @__PURE__ */ p(d, { direction: "row", alignItems: "center", spacing: 0.5, children: [
31
- e.icon && /* @__PURE__ */ r(s, { icon: e.icon, style: { filter: "drop-shadow(0px 0px 1px rgb(0 0 0 / 0.4))" } }),
32
- e.type !== "context" && /* @__PURE__ */ p(i, { variant: "body2", sx: { textTransform: "capitalize" }, children: [
33
- e.type,
13
+ return null;
14
+ }, [annotation.type, annotation.value]);
15
+ if (annotation.type === "assessment") {
16
+ return /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(
17
+ Chip,
18
+ {
19
+ size: "small",
20
+ icon: /* @__PURE__ */ jsx(Icon, { icon }),
21
+ color: ["trivial", "recon", "attempt", "compromise", "mitigated"].includes(annotation.value) ? "error" : "success",
22
+ label: `${annotation.type}: ${annotation.value}`,
23
+ sx: { textTransform: "capitalize" }
24
+ }
25
+ ) });
26
+ }
27
+ if (annotation.type === "opinion") {
28
+ return /* @__PURE__ */ jsx(Box, { children: /* @__PURE__ */ jsx(
29
+ Chip,
30
+ {
31
+ size: "small",
32
+ icon: /* @__PURE__ */ jsx(Icon, { icon }),
33
+ color: {
34
+ benign: "success",
35
+ suspicious: "warning",
36
+ obscure: "error",
37
+ malicious: "error"
38
+ }[annotation.value],
39
+ label: `${annotation.type}: ${annotation.value}`,
40
+ sx: { textTransform: "capitalize" }
41
+ }
42
+ ) });
43
+ }
44
+ return /* @__PURE__ */ jsxs(Stack, { direction: "row", alignItems: "center", spacing: 0.5, children: [
45
+ annotation.icon && /* @__PURE__ */ jsx(Icon, { icon: annotation.icon, style: { filter: "drop-shadow(0px 0px 1px rgb(0 0 0 / 0.4))" } }),
46
+ annotation.type !== "context" && /* @__PURE__ */ jsxs(Typography, { variant: "body2", sx: { textTransform: "capitalize" }, children: [
47
+ annotation.type,
34
48
  ":"
35
49
  ] }),
36
- typeof e.value != "string" ? /* @__PURE__ */ r(i, { variant: "body2", children: e.value }) : /* @__PURE__ */ r(d, { spacing: 0.5, children: e.value.split(`
37
- `).map((c) => /* @__PURE__ */ r(i, { variant: "body2", children: c }, c)) })
50
+ typeof annotation.value !== "string" ? /* @__PURE__ */ jsx(Typography, { variant: "body2", children: annotation.value }) : /* @__PURE__ */ jsx(Stack, { spacing: 0.5, children: annotation.value.split("\n").map((line) => /* @__PURE__ */ jsx(Typography, { variant: "body2", children: line }, line)) })
38
51
  ] });
39
- }, g = o(y);
52
+ };
53
+ const AnnotationBody$1 = memo(AnnotationBody);
40
54
  export {
41
- g as default
55
+ AnnotationBody$1 as default
42
56
  };
@@ -1,49 +1,55 @@
1
- import { jsx as d } from "react/jsx-runtime";
2
- import { Popover as r } from "@mui/material";
3
- import v, { useRef as c, useState as g, useEffect as R } from "react";
4
- import { A as k } from "../AnnotationDetails-Bk-p0F6h.js";
5
- const S = v.memo(({ anchorEl: t, enrichRequest: u, open: o, onClose: l, ...e }) => {
6
- var f, s, m;
7
- const a = c(), [x, n] = g(!1);
8
- return R(() => {
9
- o || n(!1);
10
- }, [o]), /* @__PURE__ */ d(
11
- r,
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Popover } from "@mui/material";
3
+ import React__default, { useRef, useState, useEffect } from "react";
4
+ import { A as AnnotationDetails } from "../AnnotationDetails-CEou0vCc.js";
5
+ const AnnotationDetailPopover = React__default.memo(({ anchorEl, enrichRequest, open, onClose, ...otherProps }) => {
6
+ var _a, _b, _c;
7
+ const actionRef = useRef();
8
+ const [ready, setReady] = useState(false);
9
+ useEffect(() => {
10
+ if (!open) {
11
+ setReady(false);
12
+ }
13
+ }, [open]);
14
+ return /* @__PURE__ */ jsx(
15
+ Popover,
12
16
  {
13
17
  anchorOrigin: { horizontal: "left", vertical: "bottom" },
14
- ...e,
15
- action: a,
16
- open: !!(o && x),
17
- keepMounted: o,
18
- anchorEl: t,
19
- onClose: l,
18
+ ...otherProps,
19
+ action: actionRef,
20
+ open: !!(open && ready),
21
+ keepMounted: open,
22
+ anchorEl,
23
+ onClose,
20
24
  slotProps: {
21
- ...e.slotProps ?? {},
25
+ ...otherProps.slotProps ?? {},
22
26
  paper: {
23
- ...((f = e.slotProps) == null ? void 0 : f.paper) ?? {},
27
+ ...((_a = otherProps.slotProps) == null ? void 0 : _a.paper) ?? {},
24
28
  sx: [
25
29
  {
26
30
  maxHeight: "min(600px, 95vh)",
27
31
  overflowY: "auto",
28
32
  maxWidth: "500px",
29
33
  width: "100%",
30
- zIndex: ((m = (s = t == null ? void 0 : t.computedStyleMap) == null ? void 0 : s.call(t).get("z-index")) == null ? void 0 : m.toString()) || 2
34
+ zIndex: ((_c = (_b = anchorEl == null ? void 0 : anchorEl.computedStyleMap) == null ? void 0 : _b.call(anchorEl).get("z-index")) == null ? void 0 : _c.toString()) || 2
31
35
  }
32
36
  ]
33
37
  }
34
38
  },
35
- onClick: (i) => {
36
- var p;
37
- i.preventDefault(), i.stopPropagation(), (p = e.onClick) == null || p.call(e, i);
39
+ onClick: (e) => {
40
+ var _a2;
41
+ e.preventDefault();
42
+ e.stopPropagation();
43
+ (_a2 = otherProps.onClick) == null ? void 0 : _a2.call(otherProps, e);
38
44
  },
39
- children: /* @__PURE__ */ d(
40
- k,
45
+ children: /* @__PURE__ */ jsx(
46
+ AnnotationDetails,
41
47
  {
42
- enrichRequest: u,
43
- setReady: n,
48
+ enrichRequest,
49
+ setReady,
44
50
  updatePosition: () => {
45
- var i;
46
- return (i = a.current) == null ? void 0 : i.updatePosition();
51
+ var _a2;
52
+ return (_a2 = actionRef.current) == null ? void 0 : _a2.updatePosition();
47
53
  }
48
54
  }
49
55
  )
@@ -51,5 +57,5 @@ const S = v.memo(({ anchorEl: t, enrichRequest: u, open: o, onClose: l, ...e })
51
57
  );
52
58
  });
53
59
  export {
54
- S as default
60
+ AnnotationDetailPopover as default
55
61
  };
@@ -1,23 +1,23 @@
1
1
  import "react/jsx-runtime";
2
- import "../iconify-BBckr5AQ.js";
2
+ import "../iconify-CXMreGTg.js";
3
3
  import "@mui/material";
4
4
  import "./display/icons/Iconified.js";
5
5
  import "../data/event.js";
6
6
  import "../hooks/ClueComponentContext.js";
7
- import "../ActionForm-DlOXqMUx.js";
7
+ import "../ActionForm-C0aE9HUv.js";
8
8
  import "../hooks/useAnnotations.js";
9
9
  import "../hooks/useErrors.js";
10
10
  import "../icons/iconMap.js";
11
11
  import "../utils/window.js";
12
- import "../groupBy-br8xmD2R.js";
13
- import { A as n } from "../AnnotationDetails-Bk-p0F6h.js";
14
- import "../useClueTypeConfig-Ct9Ygter.js";
12
+ import "../groupBy-ChDRT7uy.js";
13
+ import { A } from "../AnnotationDetails-CEou0vCc.js";
14
+ import "../useClueTypeConfig-D2tf4-NM.js";
15
15
  import "react";
16
- import "../index-Dj5C04IX.js";
16
+ import "../index-AMfoEg_6.js";
17
17
  import "./actions/ExecutePopover.js";
18
18
  import "./AnnotationEntry.js";
19
19
  import "./ClassificationChip.js";
20
20
  import "./enrichment/EnrichPopover.js";
21
21
  export {
22
- n as default
22
+ A as default
23
23
  };
@@ -1,55 +1,55 @@
1
- import { jsxs as e, jsx as i, Fragment as s } from "react/jsx-runtime";
2
- import { I as a } from "../iconify-BBckr5AQ.js";
3
- import { Stack as t, Typography as c, Chip as n, IconButton as m } from "@mui/material";
4
- import p from "./display/icons/Iconified.js";
5
- import { t as d } from "../utils-DmwSUrum.js";
6
- import { memo as f } from "react";
7
- import y from "./AnnotationBody.js";
8
- import h from "./ClassificationChip.js";
9
- const x = ({ annotation: r }) => {
10
- var l;
11
- return /* @__PURE__ */ e(t, { direction: "column", spacing: 1, children: [
12
- /* @__PURE__ */ e(t, { direction: "row", spacing: 1, alignItems: "center", children: [
13
- r.analytic_icon && /* @__PURE__ */ i(
14
- a,
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
+ import { I as Icon } from "../iconify-CXMreGTg.js";
3
+ import { Stack, Typography, Chip, IconButton } from "@mui/material";
4
+ import Iconified from "./display/icons/Iconified.js";
5
+ import { t as twitterShort } from "../utils-71DpzFrA.js";
6
+ import { memo } from "react";
7
+ import AnnotationBody from "./AnnotationBody.js";
8
+ import ClassificationChip from "./ClassificationChip.js";
9
+ const AnnotatonEntry = ({ annotation }) => {
10
+ var _a;
11
+ return /* @__PURE__ */ jsxs(Stack, { direction: "column", spacing: 1, children: [
12
+ /* @__PURE__ */ jsxs(Stack, { direction: "row", spacing: 1, alignItems: "center", children: [
13
+ annotation.analytic_icon && /* @__PURE__ */ jsx(
14
+ Icon,
15
15
  {
16
16
  style: { alignSelf: "center", filter: "drop-shadow(0px 0px 1px rgb(0 0 0 / 0.4))" },
17
- icon: r.analytic_icon
17
+ icon: annotation.analytic_icon
18
18
  }
19
19
  ),
20
- /* @__PURE__ */ i(c, { variant: "body1", sx: { textTransform: "capitalize", maxWidth: "275px" }, children: r.analytic ?? r.author }),
21
- r.quantity > 1 && /* @__PURE__ */ e(c, { variant: "caption", color: "text.secondary", children: [
20
+ /* @__PURE__ */ jsx(Typography, { variant: "body1", sx: { textTransform: "capitalize", maxWidth: "275px" }, children: annotation.analytic ?? annotation.author }),
21
+ annotation.quantity > 1 && /* @__PURE__ */ jsxs(Typography, { variant: "caption", color: "text.secondary", children: [
22
22
  "(x",
23
- r.quantity,
23
+ annotation.quantity,
24
24
  ")"
25
25
  ] }),
26
- /* @__PURE__ */ i("div", { style: { flex: 1 } }),
27
- r.version && /* @__PURE__ */ i(
28
- n,
26
+ /* @__PURE__ */ jsx("div", { style: { flex: 1 } }),
27
+ annotation.version && /* @__PURE__ */ jsx(
28
+ Chip,
29
29
  {
30
30
  size: "small",
31
- label: /* @__PURE__ */ e(s, { children: [
31
+ label: /* @__PURE__ */ jsxs(Fragment, { children: [
32
32
  "v",
33
- r.version.replace(/^v/, "")
33
+ annotation.version.replace(/^v/, "")
34
34
  ] })
35
35
  }
36
36
  ),
37
- r.link && /* @__PURE__ */ i(m, { component: "a", href: r.link, target: "_blank", rel: "noreferrer", size: "small", children: /* @__PURE__ */ i(p, { icon: "ic:baseline-open-in-new", fontSize: "small" }) }),
38
- r.classification && /* @__PURE__ */ i(h, { size: "small", classification: r.classification })
37
+ annotation.link && /* @__PURE__ */ jsx(IconButton, { component: "a", href: annotation.link, target: "_blank", rel: "noreferrer", size: "small", children: /* @__PURE__ */ jsx(Iconified, { icon: "ic:baseline-open-in-new", fontSize: "small" }) }),
38
+ annotation.classification && /* @__PURE__ */ jsx(ClassificationChip, { size: "small", classification: annotation.classification })
39
39
  ] }),
40
- /* @__PURE__ */ i(y, { annotation: r }),
41
- (l = r.summary) == null ? void 0 : l.split(`
42
- `).map((o) => /* @__PURE__ */ i(c, { variant: "caption", color: "text.secondary", children: o }, o)),
43
- /* @__PURE__ */ e(t, { direction: "row", children: [
44
- /* @__PURE__ */ i(c, { variant: "caption", color: "text.secondary", fontSize: "10px", children: d(r.timestamp) }),
45
- /* @__PURE__ */ i("div", { style: { flex: 1 } }),
46
- !!r.latency && /* @__PURE__ */ e(c, { variant: "caption", color: "text.secondary", fontSize: "10px", children: [
47
- Math.round(r.latency),
40
+ /* @__PURE__ */ jsx(AnnotationBody, { annotation }),
41
+ (_a = annotation.summary) == null ? void 0 : _a.split("\n").map((line) => /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "text.secondary", children: line }, line)),
42
+ /* @__PURE__ */ jsxs(Stack, { direction: "row", children: [
43
+ /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "text.secondary", fontSize: "10px", children: twitterShort(annotation.timestamp) }),
44
+ /* @__PURE__ */ jsx("div", { style: { flex: 1 } }),
45
+ !!annotation.latency && /* @__PURE__ */ jsxs(Typography, { variant: "caption", color: "text.secondary", fontSize: "10px", children: [
46
+ Math.round(annotation.latency),
48
47
  "ms"
49
48
  ] })
50
49
  ] })
51
50
  ] });
52
- }, k = f(x);
51
+ };
52
+ const AnnotationEntry = memo(AnnotatonEntry);
53
53
  export {
54
- k as default
54
+ AnnotationEntry as default
55
55
  };
@@ -1,11 +1,11 @@
1
1
  import "react/jsx-runtime";
2
- import "../iconify-BBckr5AQ.js";
2
+ import "../iconify-CXMreGTg.js";
3
3
  import "@mui/material";
4
- import { A as d } from "../AnnotationPreview-jzZvkCxJ.js";
4
+ import { A } from "../AnnotationPreview-CLMVD6Ec.js";
5
5
  import "../hooks/useAnnotations.js";
6
- import "../utils-DmwSUrum.js";
6
+ import "../utils-71DpzFrA.js";
7
7
  import "react";
8
- import "../index-Dj5C04IX.js";
8
+ import "../index-AMfoEg_6.js";
9
9
  export {
10
- d as default
10
+ A as default
11
11
  };
@@ -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
  };