@cccsaurora/clue-ui 1.3.0-dev.404 → 1.3.0

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 (224) hide show
  1. package/ActionForm-CHOSKfvu.js +4403 -0
  2. package/AnnotationDetails-Bqq6Ymmg.js +160 -0
  3. package/AnnotationPreview-CqXmC-j8.js +140 -0
  4. package/ClueEnrichContext-DL6aGe1k.js +432 -0
  5. package/FlexOne-BXWFOd1T.js +6 -0
  6. package/_MapCache-DRK-s2eK.js +179 -0
  7. package/_Set-DrS_bbSV.js +6 -0
  8. package/_Uint8Array-D9R2N9Lp.js +98 -0
  9. package/_arrayIncludes-Dcl_29E6.js +25 -0
  10. package/_arrayPush-DBJIuK2V.js +8 -0
  11. package/_baseAssignValue-Bx1cxHj5.js +12 -0
  12. package/_baseClone-DRhywkxm.js +211 -0
  13. package/_baseExtremum-DodEaEyF.js +16 -0
  14. package/_baseFlatten-CD9NgrYE.js +72 -0
  15. package/_baseGet-bVwDaGrA.js +80 -0
  16. package/_baseGetTag-CxDaTem-.js +25 -0
  17. package/_baseIsEqual-C-FKsm1J.js +150 -0
  18. package/_baseIteratee-D0FhC5bC.js +95 -0
  19. package/_baseRest-D_eW2E0d.js +8 -0
  20. package/_baseSlice-M5RKzt1A.js +10 -0
  21. package/_baseSum-wEbgNeUs.js +10 -0
  22. package/_baseUniq-D3N8igOm.js +41 -0
  23. package/_cacheHas-Wgl-hw34.js +22 -0
  24. package/_commonjsHelpers-C6fGbg64.js +6 -0
  25. package/_createAggregator-BVj8IAuF.js +53 -0
  26. package/_defineProperty-BZU4WKA3.js +11 -0
  27. package/_getPrototype-BGBCg-aX.js +5 -0
  28. package/_getTag-B7R9qBo7.js +73 -0
  29. package/_isIterateeCall-Dm0VTAYy.js +13 -0
  30. package/_setToArray-Ck4YZu0Z.js +9 -0
  31. package/cloneDeep-fV59zwUf.js +8 -0
  32. package/components/AnnotationBody.js +35 -49
  33. package/components/AnnotationDetailPopover.js +30 -36
  34. package/components/AnnotationDetails.js +7 -7
  35. package/components/AnnotationEntry.js +35 -35
  36. package/components/AnnotationPreview.js +5 -5
  37. package/components/ClassificationChip.js +23 -44
  38. package/components/CountBadge.js +26 -31
  39. package/components/EnrichedCard.js +97 -110
  40. package/components/EnrichedChip.js +105 -130
  41. package/components/EnrichedTypography.js +107 -133
  42. package/components/ErrorBoundary.js +24 -28
  43. package/components/RetryFailedEnrichments.js +9 -10
  44. package/components/SourcePicker.js +49 -57
  45. package/components/actions/ActionForm.js +4 -4
  46. package/components/actions/ExecutePopover.js +59 -75
  47. package/components/actions/ResultModal.js +4 -4
  48. package/components/actions/form/schemaAdapter.js +23 -39
  49. package/components/actions/formats/FileResult.js +59 -86
  50. package/components/actions/formats/index.js +25 -29
  51. package/components/display/graph/ExpandMoreButton.js +10 -10
  52. package/components/display/graph/elements/NodeCard.js +91 -111
  53. package/components/display/graph/elements/NodeTag.js +13 -15
  54. package/components/display/graph/index.js +202 -261
  55. package/components/display/graph/visualizations/Leaf.js +70 -89
  56. package/components/display/graph/visualizations/cloud/index.js +81 -98
  57. package/components/display/graph/visualizations/icons/BaseIcon.js +21 -26
  58. package/components/display/graph/visualizations/icons/BugIcon.js +12 -12
  59. package/components/display/graph/visualizations/icons/HostIcon.js +12 -12
  60. package/components/display/graph/visualizations/icons/NetworkIcon.js +12 -12
  61. package/components/display/graph/visualizations/icons/ProcessIcon.js +12 -12
  62. package/components/display/graph/visualizations/icons/TargetIcon.js +13 -13
  63. package/components/display/graph/visualizations/icons/index.js +13 -14
  64. package/components/display/graph/visualizations/panels/NodePanel.js +8 -10
  65. package/components/display/graph/visualizations/tree/BundleLine.js +81 -108
  66. package/components/display/graph/visualizations/tree/Triangle.js +13 -13
  67. package/components/display/graph/visualizations/tree/index.js +306 -408
  68. package/components/display/icons/Iconified.js +12 -27
  69. package/components/display/json/index.js +4 -4
  70. package/components/display/markdown/index.js +5770 -8678
  71. package/components/enrichment/EnrichPopover.js +46 -54
  72. package/components/fetchers/Fetcher.js +123 -166
  73. package/components/fetchers/FetcherResultView.js +27 -31
  74. package/components/fetchers/PreviewModal.js +16 -17
  75. package/components/fetchers/StatusChip.js +17 -21
  76. package/components/group/Entry.js +11 -13
  77. package/components/group/Group.js +10 -13
  78. package/components/group/GroupControl.js +65 -76
  79. package/components/stats/QueryStatus.js +32 -45
  80. package/countBy-B3rNuG4T.js +8 -0
  81. package/data/event.js +4 -6
  82. package/database/globals.js +2 -2
  83. package/database/index.js +3 -3
  84. package/database/replication.js +4 -4
  85. package/get-Bil3mzRD.js +8 -0
  86. package/groupBy-CrJC7sGa.js +8 -0
  87. package/hooks/ClueActionContext.js +6 -6
  88. package/hooks/ClueComponentContext.js +23 -29
  89. package/hooks/ClueConfigProvider.js +12 -14
  90. package/hooks/ClueDatabaseContext.js +23 -35
  91. package/hooks/ClueEnrichContext.js +11 -11
  92. package/hooks/ClueFetcherContext.js +56 -83
  93. package/hooks/ClueGroupContext.js +14 -17
  94. package/hooks/CluePopupContext.js +5 -5
  95. package/hooks/ClueProvider.js +11 -13
  96. package/hooks/ClueUIPluginContext.js +35 -49
  97. package/hooks/selectors.js +7 -7
  98. package/hooks/useActionResult.js +3 -3
  99. package/hooks/useAnnotations.js +32 -48
  100. package/hooks/useClue.js +4 -6
  101. package/hooks/useClueActions.js +3 -3
  102. package/hooks/useClueConfig.js +4 -6
  103. package/hooks/useClueTypeConfig.js +24 -49
  104. package/hooks/useClueUIPlugins.js +7 -8
  105. package/hooks/useComparator.js +435 -722
  106. package/hooks/useErrors.js +18 -22
  107. package/hooks/useFetcherResult.js +24 -33
  108. package/hooks/useMyHighlights.js +36 -66
  109. package/hooks/useMyLocalStorage.js +37 -66
  110. package/iconify-Ptb5dTKy.js +1270 -0
  111. package/icons/Action.js +49 -66
  112. package/icons/Assessment.js +69 -85
  113. package/icons/Context.js +63 -77
  114. package/icons/Opinion.js +60 -76
  115. package/icons/iconMap.js +2 -2
  116. package/identity-ByMq8VxU.js +6 -0
  117. package/index-BH-gBhtO.js +2282 -0
  118. package/index-BM9Sve5T.js +571 -0
  119. package/index-Cj4d5cGz.js +357 -0
  120. package/index-Dh2PP9h8.js +11747 -0
  121. package/index-DoFpWPHo.js +975 -0
  122. package/index-DzVIklWY.js +6464 -0
  123. package/isArguments-BWcXOE6a.js +24 -0
  124. package/isArray-WzO_os3q.js +4 -0
  125. package/isEmpty-DKxrY-_M.js +22 -0
  126. package/isNil-CjWwlQS3.js +6 -0
  127. package/isObject-B53jY8Qg.js +7 -0
  128. package/isObjectLike-CYbdrIBr.js +6 -0
  129. package/isSymbol-DE1Kcy2M.js +9 -0
  130. package/last-7CdUxN0r.js +7 -0
  131. package/main.js +62 -62
  132. package/maxBy-BOWDkL_D.js +8 -0
  133. package/package.json +1 -1
  134. package/plugins/ClueUIPlugin.js +96 -163
  135. package/plugins/file/index.js +15 -15
  136. package/plugins/graph/index.js +26 -29
  137. package/plugins/image/index.js +24 -28
  138. package/plugins/json/index.js +21 -21
  139. package/plugins/markdown/index.js +18 -18
  140. package/plugins/registry.js +6 -6
  141. package/plugins/store.js +4 -4
  142. package/plugins/test/index.js +17 -17
  143. package/plugins/utils.js +12 -13
  144. package/replication-WkKbPdwG.js +8453 -0
  145. package/sessionStorage-DFMae61b.js +90 -0
  146. package/sortBy-BHe812lF.js +74 -0
  147. package/store-DClHBq7r.js +1169 -0
  148. package/sumBy-B7f_bP_k.js +8 -0
  149. package/text/Frequency.js +23 -42
  150. package/toFinite-CBrE65MP.js +14 -0
  151. package/toNumber-CxmWey0f.js +31 -0
  152. package/uniq-B4UZ671_.js +7 -0
  153. package/utils/chain.js +65 -92
  154. package/utils/classificationParser.js +256 -519
  155. package/utils/constants.js +11 -37
  156. package/utils/graph.js +45 -72
  157. package/utils/hashUtil.js +7 -7
  158. package/utils/line.js +81 -131
  159. package/utils/loggerUtil.js +3 -5
  160. package/utils/sessionStorage.js +7 -7
  161. package/utils/time.js +427 -447
  162. package/utils/utils.js +10 -10
  163. package/utils/window.js +10 -21
  164. package/utils-SpTOhPYl.js +147 -0
  165. package/ActionForm-CqKcnDWC.js +0 -6099
  166. package/AnnotationDetails-BlPd3T8k.js +0 -176
  167. package/AnnotationPreview-Bl447SKT.js +0 -188
  168. package/ClueEnrichContext-B3YrTCaJ.js +0 -567
  169. package/FlexOne-BSYAhhtG.js +0 -9
  170. package/_MapCache-kuEY_iOH.js +0 -220
  171. package/_Set-BrSMTlHn.js +0 -6
  172. package/_Uint8Array-OPpgYQj7.js +0 -123
  173. package/_arrayIncludes-BNqL-9ZP.js +0 -31
  174. package/_arrayPush-CBkQqaE_.js +0 -10
  175. package/_baseAssignValue-CNUVPOBW.js +0 -16
  176. package/_baseClone-9FaRd1R2.js +0 -287
  177. package/_baseExtremum-wOGT4Dgw.js +0 -18
  178. package/_baseFlatten-Co6QHDlG.js +0 -92
  179. package/_baseGet-Cmp6FztG.js +0 -109
  180. package/_baseGetTag-Hj-0NTYF.js +0 -44
  181. package/_baseIsEqual-1CpU47TZ.js +0 -211
  182. package/_baseIteratee-BN7Vbe5g.js +0 -126
  183. package/_baseRest-BZ_hQ9PC.js +0 -8
  184. package/_baseSlice-GAv_YFTT.js +0 -20
  185. package/_baseSum-D0WC1dN0.js +0 -13
  186. package/_baseUniq-BnvS3JHL.js +0 -63
  187. package/_cacheHas-_aF2y2Xv.js +0 -25
  188. package/_commonjsHelpers-CUmg6egw.js +0 -6
  189. package/_createAggregator-BUZrP_is.js +0 -63
  190. package/_defineProperty-DolZLKmv.js +0 -12
  191. package/_getPrototype-Bb4gm-5m.js +0 -5
  192. package/_getTag-CML_cXiN.js +0 -105
  193. package/_isIterateeCall-B1IFEqVv.js +0 -17
  194. package/_setToArray-CqyqC8ib.js +0 -10
  195. package/cloneDeep-l3UkXG5M.js +0 -8
  196. package/countBy-Bqcp3VCs.js +0 -14
  197. package/get-CdMThM8x.js +0 -8
  198. package/groupBy-BVV07EGQ.js +0 -14
  199. package/iconify-DJxl6dC-.js +0 -1789
  200. package/identity-CPGTqrE4.js +0 -6
  201. package/index-CAvu7vwt.js +0 -1172
  202. package/index-CVUD9o3t.js +0 -15768
  203. package/index-DUEubgWN.js +0 -464
  204. package/index-Dj1N4IQP.js +0 -9314
  205. package/index-DpJxD74E.js +0 -3272
  206. package/index-_gpzM2Px.js +0 -702
  207. package/isArguments-CuYlEuhP.js +0 -27
  208. package/isArray-RJPfgWqI.js +0 -4
  209. package/isEmpty-BE656RUK.js +0 -30
  210. package/isNil-CIubwp4T.js +0 -6
  211. package/isObject-FTY-5JQX.js +0 -7
  212. package/isObjectLike-CeENW9FN.js +0 -6
  213. package/isSymbol-D_H4HPZQ.js +0 -9
  214. package/last-CUCl67Im.js +0 -7
  215. package/maxBy-BjjQmX5t.js +0 -8
  216. package/replication--gLEZw8a.js +0 -11777
  217. package/sessionStorage-B68y-wnE.js +0 -140
  218. package/sortBy-B8JVsLQY.js +0 -95
  219. package/store-B9sjQbcS.js +0 -2163
  220. package/sumBy-D-HCzM2i.js +0 -8
  221. package/toFinite-meZTg4Su.js +0 -16
  222. package/toNumber-B5JaA1vX.js +0 -39
  223. package/uniq-CahZPAwp.js +0 -7
  224. package/utils-CEySTPtg.js +0 -224
@@ -1,35 +1,31 @@
1
- import { useContext, useState, useEffect } from "react";
2
- import { ClueDatabaseContext } from "./ClueDatabaseContext.js";
3
- import { f as useClueEnrichSelector } from "../ActionForm-CqKcnDWC.js";
4
- const useErrors = (value) => {
5
- const database = useContext(ClueDatabaseContext);
6
- const ready = useClueEnrichSelector((ctx) => ctx.ready);
7
- const [errors, setErrors] = useState([]);
8
- useEffect(() => {
9
- if (!ready || !value || !(database == null ? void 0 : database.selectors) || database.selectors.closed) {
1
+ import { useContext as a, useState as f, useEffect as i } from "react";
2
+ import { ClueDatabaseContext as l } from "./ClueDatabaseContext.js";
3
+ import { f as m } from "../ActionForm-CHOSKfvu.js";
4
+ const C = (r) => {
5
+ const e = a(l), o = m((s) => s.ready), [n, u] = f([]);
6
+ return i(() => {
7
+ if (!o || !r || !(e != null && e.selectors) || e.selectors.closed)
10
8
  return;
11
- }
12
- const observable = database.selectors.find({ selector: { value, error: { $exists: true } } }).$.subscribe(
13
- (records) => (
9
+ const s = e.selectors.find({ selector: { value: r, error: { $exists: !0 } } }).$.subscribe(
10
+ (t) => (
14
11
  // Transform database records into simplified error objects
15
- setErrors(
16
- records.map((record) => ({
17
- source: record.source,
18
- message: record.error
12
+ u(
13
+ t.map((c) => ({
14
+ source: c.source,
15
+ message: c.error
19
16
  }))
20
17
  )
21
18
  )
22
19
  );
23
20
  return () => {
24
21
  try {
25
- observable.unsubscribe();
26
- } catch (e) {
27
- console.warn(e);
22
+ s.unsubscribe();
23
+ } catch (t) {
24
+ console.warn(t);
28
25
  }
29
26
  };
30
- }, [database, ready, value]);
31
- return errors;
27
+ }, [e, o, r]), n;
32
28
  };
33
29
  export {
34
- useErrors as default
30
+ C as default
35
31
  };
@@ -1,40 +1,31 @@
1
- import { useState, useRef, useMemo, useEffect } from "react";
2
- import { b as useClueActions } from "../ActionForm-CqKcnDWC.js";
3
- const useActionResult = (resultWithData, interval = 2e3) => {
4
- const [result, setResult] = useState(resultWithData);
5
- const timeoutRef = useRef(null);
6
- const { getActionStatus } = useClueActions();
7
- const taskId = useMemo(() => resultWithData == null ? void 0 : resultWithData.task_id, [resultWithData == null ? void 0 : resultWithData.task_id]);
8
- const actionId = useMemo(() => resultWithData == null ? void 0 : resultWithData.actionId, [resultWithData == null ? void 0 : resultWithData.actionId]);
9
- useEffect(() => {
10
- if ((resultWithData == null ? void 0 : resultWithData.outcome) !== "pending" || !taskId) return;
11
- let cancelled = false;
12
- const poll = async () => {
13
- const res = await getActionStatus(actionId, taskId);
14
- if (!res) {
15
- setResult({ outcome: "failure", done: true });
16
- } else if (res.outcome === "success" || res.outcome === "failure") {
17
- setResult({ ...res, done: true });
18
- } else {
19
- if (cancelled) return;
20
- setResult({ ...res });
21
- timeoutRef.current = setTimeout(poll, interval);
1
+ import { useState as S, useRef as T, useMemo as d, useEffect as g } from "react";
2
+ import { b as _ } from "../ActionForm-CHOSKfvu.js";
3
+ const x = (o, p = 2e3) => {
4
+ const [e, n] = S(o), f = T(null), { getActionStatus: I } = _(), m = d(() => o == null ? void 0 : o.task_id, [o == null ? void 0 : o.task_id]), R = d(() => o == null ? void 0 : o.actionId, [o == null ? void 0 : o.actionId]);
5
+ return g(() => {
6
+ if ((o == null ? void 0 : o.outcome) !== "pending" || !m) return;
7
+ let k = !1;
8
+ const A = async () => {
9
+ const c = await I(R, m);
10
+ if (!c)
11
+ n({ outcome: "failure", done: !0 });
12
+ else if (c.outcome === "success" || c.outcome === "failure")
13
+ n({ ...c, done: !0 });
14
+ else {
15
+ if (k) return;
16
+ n({ ...c }), f.current = setTimeout(A, p);
22
17
  }
23
18
  };
24
- poll();
25
- return () => {
26
- cancelled = true;
27
- if (timeoutRef.current) clearTimeout(timeoutRef.current);
19
+ return A(), () => {
20
+ k = !0, f.current && clearTimeout(f.current);
28
21
  };
29
- }, [actionId, getActionStatus, interval, resultWithData == null ? void 0 : resultWithData.outcome, taskId]);
30
- useEffect(() => {
31
- setResult(resultWithData);
32
- }, [resultWithData]);
33
- return useMemo(
34
- () => resultWithData || result ? { ...resultWithData, ...result } : void 0,
35
- [resultWithData, result]
22
+ }, [R, I, p, o == null ? void 0 : o.outcome, m]), g(() => {
23
+ n(o);
24
+ }, [o]), d(
25
+ () => o || e ? { ...o, ...e } : void 0,
26
+ [o, e]
36
27
  );
37
28
  };
38
29
  export {
39
- useActionResult
30
+ x as useActionResult
40
31
  };
@@ -1,74 +1,44 @@
1
- import { getSubGraphNodeSet } from "../utils/graph.js";
2
- import { safeAddEventListener } from "../utils/window.js";
3
- import { useMemo, useState, useCallback, useEffect } from "react";
4
- const useMyHighlights = (graph, onNodeSelectionChanged) => {
5
- const data = useMemo(() => graph == null ? void 0 : graph.data, [graph]);
6
- const [hoveredNode, setHoveredNode] = useState();
7
- const [highlightedNodes, setHighlightedNodes] = useState(/* @__PURE__ */ new Set());
8
- const [highlightedPath, setHighlightedPath] = useState(/* @__PURE__ */ new Set());
9
- const [ctrlKeyDown, setCtrlKeyDown] = useState();
10
- const onKeyPressed = useCallback((ev) => {
11
- setCtrlKeyDown(ev.ctrlKey);
1
+ import { getSubGraphNodeSet as H } from "../utils/graph.js";
2
+ import { safeAddEventListener as S } from "../utils/window.js";
3
+ import { useMemo as P, useState as h, useCallback as i, useEffect as w } from "react";
4
+ const z = (n, c) => {
5
+ const u = P(() => n == null ? void 0 : n.data, [n]), [o, f] = h(), [t, g] = h(/* @__PURE__ */ new Set()), [d, p] = h(/* @__PURE__ */ new Set()), [y, a] = h(), K = i((e) => {
6
+ a(e.ctrlKey);
7
+ }, []), m = i((e) => {
8
+ a(e.ctrlKey);
12
9
  }, []);
13
- const onKeyUnpressed = useCallback((ev) => {
14
- setCtrlKeyDown(ev.ctrlKey);
15
- }, []);
16
- useEffect(() => {
17
- return safeAddEventListener("keydown", onKeyPressed);
18
- }, [onKeyPressed]);
19
- useEffect(() => {
20
- return safeAddEventListener("keyup", onKeyUnpressed);
21
- }, [onKeyUnpressed]);
22
- const onNodeHoveredChanged = useCallback((nodeId, isHovered) => {
23
- if (isHovered) {
24
- setHoveredNode(nodeId);
25
- } else {
26
- setHoveredNode("");
27
- }
28
- }, []);
29
- const onNodeClicked = useCallback(
30
- (nodeId, isSelected, event) => {
31
- let newHighlightedNodes = /* @__PURE__ */ new Set();
32
- if (isSelected) {
33
- newHighlightedNodes = new Set(event.ctrlKey ? [...highlightedNodes, nodeId] : [nodeId]);
34
- } else {
35
- newHighlightedNodes = event.ctrlKey ? /* @__PURE__ */ new Set([...highlightedNodes]) : /* @__PURE__ */ new Set();
36
- newHighlightedNodes.delete(nodeId);
37
- }
38
- setHighlightedNodes(newHighlightedNodes);
39
- onNodeSelectionChanged == null ? void 0 : onNodeSelectionChanged([...newHighlightedNodes]);
10
+ w(() => S("keydown", K), [K]), w(() => S("keyup", m), [m]);
11
+ const N = i((e, s) => {
12
+ f(s ? e : "");
13
+ }, []), b = i(
14
+ (e, s, l) => {
15
+ let r = /* @__PURE__ */ new Set();
16
+ s ? r = new Set(l.ctrlKey ? [...t, e] : [e]) : (r = l.ctrlKey ? /* @__PURE__ */ new Set([...t]) : /* @__PURE__ */ new Set(), r.delete(e)), g(r), c == null || c([...r]);
40
17
  },
41
- [highlightedNodes, onNodeSelectionChanged]
18
+ [t, c]
19
+ ), k = i(
20
+ (e) => d.size === 0 || d.has(e) ? 1 : 0.2,
21
+ [d]
42
22
  );
43
- const nodeOpacities = useCallback(
44
- (nodeId) => {
45
- return highlightedPath.size === 0 || highlightedPath.has(nodeId) ? 1 : 0.2;
46
- },
47
- [highlightedPath]
48
- );
49
- useEffect(() => {
50
- let newHighlightedPath = /* @__PURE__ */ new Set();
51
- if (hoveredNode) {
52
- const subGraphNodes = getSubGraphNodeSet(hoveredNode, data);
53
- newHighlightedPath = /* @__PURE__ */ new Set([...newHighlightedPath, ...subGraphNodes]);
54
- }
55
- if (highlightedNodes.size && (ctrlKeyDown || !hoveredNode)) {
56
- highlightedNodes.forEach((highlightedNode) => {
57
- const subGraphNodes = getSubGraphNodeSet(highlightedNode, data);
58
- newHighlightedPath = /* @__PURE__ */ new Set([...newHighlightedPath, ...subGraphNodes]);
59
- });
23
+ return w(() => {
24
+ let e = /* @__PURE__ */ new Set();
25
+ if (o) {
26
+ const s = H(o, u);
27
+ e = /* @__PURE__ */ new Set([...e, ...s]);
60
28
  }
61
- setHighlightedPath(newHighlightedPath);
62
- }, [hoveredNode, highlightedNodes, ctrlKeyDown, data]);
63
- return {
64
- onNodeHoveredChanged,
65
- onNodeClicked,
66
- nodeOpacities,
67
- highlightedPath,
68
- highlightedNodes,
69
- hoveredNode
29
+ t.size && (y || !o) && t.forEach((s) => {
30
+ const l = H(s, u);
31
+ e = /* @__PURE__ */ new Set([...e, ...l]);
32
+ }), p(e);
33
+ }, [o, t, y, u]), {
34
+ onNodeHoveredChanged: N,
35
+ onNodeClicked: b,
36
+ nodeOpacities: k,
37
+ highlightedPath: d,
38
+ highlightedNodes: t,
39
+ hoveredNode: o
70
40
  };
71
41
  };
72
42
  export {
73
- useMyHighlights as default
43
+ z as default
74
44
  };
@@ -1,80 +1,51 @@
1
- import { useCallback, useMemo, useState, useEffect, createContext, useContext } from "react";
2
- import { i as isNil } from "../isNil-CIubwp4T.js";
1
+ import { useCallback as c, useMemo as S, useState as v, useEffect as I, createContext as O, useContext as i } from "react";
2
+ import { i as p } from "../isNil-CjWwlQS3.js";
3
3
  import "react/jsx-runtime";
4
- import { MY_LOCAL_STORAGE_PREFIX } from "../utils/constants.js";
5
- function useLocalStorage(prefix) {
6
- const _buildKey = useCallback((name) => `${prefix}.${name}`, [prefix]);
7
- const get = useCallback((key) => JSON.parse(localStorage.getItem(_buildKey(key))), [_buildKey]);
8
- const set = useCallback(
9
- (key, value) => localStorage.setItem(_buildKey(key), JSON.stringify(value)),
10
- [_buildKey]
11
- );
12
- const remove = useCallback(
13
- (key, withPrefix = false) => localStorage.removeItem(withPrefix ? key : _buildKey(key)),
14
- [_buildKey]
15
- );
16
- const has = useCallback((key) => get(key) !== null, [get]);
17
- const keys = useCallback(() => Object.keys(localStorage), []);
18
- const items = useCallback(() => keys().map((k) => ({ key: k, value: JSON.parse(localStorage.getItem(k)) })), [keys]);
19
- const clear = useCallback(
20
- () => keys().forEach((key) => {
21
- if (key.startsWith(prefix)) {
22
- remove(key, true);
23
- }
4
+ import { MY_LOCAL_STORAGE_PREFIX as f } from "../utils/constants.js";
5
+ function L(o) {
6
+ const e = c((t) => `${o}.${t}`, [o]), a = c((t) => JSON.parse(localStorage.getItem(e(t))), [e]), m = c(
7
+ (t, u) => localStorage.setItem(e(t), JSON.stringify(u)),
8
+ [e]
9
+ ), r = c(
10
+ (t, u = !1) => localStorage.removeItem(u ? t : e(t)),
11
+ [e]
12
+ ), n = c((t) => a(t) !== null, [a]), s = c(() => Object.keys(localStorage), []), l = c(() => s().map((t) => ({ key: t, value: JSON.parse(localStorage.getItem(t)) })), [s]), g = c(
13
+ () => s().forEach((t) => {
14
+ t.startsWith(o) && r(t, !0);
24
15
  }),
25
- [prefix, remove, keys]
16
+ [o, r, s]
26
17
  );
27
- return useMemo(
18
+ return S(
28
19
  () => ({
29
- get,
30
- set,
31
- remove,
32
- has,
33
- keys,
34
- items,
35
- clear
20
+ get: a,
21
+ set: m,
22
+ remove: r,
23
+ has: n,
24
+ keys: s,
25
+ items: l,
26
+ clear: g
36
27
  }),
37
- [get, set, remove, has, keys, items, clear]
28
+ [a, m, r, n, s, l, g]
38
29
  );
39
30
  }
40
- function useLocalStorageItem(key, initialValue, prefix) {
41
- const { get, set, has, remove } = useLocalStorage(prefix);
42
- const [value, setValue] = useState(get(key) ?? initialValue);
43
- useEffect(() => {
44
- if (initialValue !== null && initialValue !== void 0 && !has(key)) {
45
- set(key, initialValue);
46
- }
47
- }, [key, initialValue, has, set]);
48
- return useMemo(
31
+ function C(o, e, a) {
32
+ const { get: m, set: r, has: n, remove: s } = L(a), [l, g] = v(m(o) ?? e);
33
+ return I(() => {
34
+ e != null && !n(o) && r(o, e);
35
+ }, [o, e, n, r]), S(
49
36
  () => [
50
- value,
51
- (newValue, save = true) => {
52
- if (save) {
53
- if (!isNil(newValue)) {
54
- set(key, newValue);
55
- } else {
56
- remove(key);
57
- }
58
- }
59
- setValue(newValue);
37
+ l,
38
+ (t, u = !0) => {
39
+ u && (p(t) ? s(o) : r(o, t)), g(t);
60
40
  },
61
- () => remove(key)
41
+ () => s(o)
62
42
  ],
63
- [key, value, set, remove]
43
+ [o, l, r, s]
64
44
  );
65
45
  }
66
- const LocalStorageContext = createContext(null);
67
- const useMyLocalStorage = () => {
68
- return useLocalStorage(MY_LOCAL_STORAGE_PREFIX);
69
- };
70
- const useMyLocalStorageItem = (key, initialValue) => {
71
- return useLocalStorageItem(key, initialValue, MY_LOCAL_STORAGE_PREFIX);
72
- };
73
- const useMyLocalStorageProvider = () => {
74
- return useContext(LocalStorageContext);
75
- };
46
+ const M = O(null), _ = () => L(f), b = (o, e) => C(o, e, f), J = () => i(M);
76
47
  export {
77
- useMyLocalStorage as default,
78
- useMyLocalStorageItem,
79
- useMyLocalStorageProvider
48
+ _ as default,
49
+ b as useMyLocalStorageItem,
50
+ J as useMyLocalStorageProvider
80
51
  };