@cccsaurora/clue-ui 0.15.0-dev.31 → 0.15.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 (257) hide show
  1. package/package.json +143 -39
  2. package/ActionForm-DgfJwTzt.js +0 -436
  3. package/AnnotationPreview-BvNpZOP0.js +0 -188
  4. package/ClueEnrichContext-DXwLVp0M.js +0 -518
  5. package/FlexOne-BSYAhhtG.js +0 -9
  6. package/_Map-kgDsDYxq.js +0 -64
  7. package/_MapCache-DabaaWfq.js +0 -161
  8. package/_Uint8Array-BlVVH1tp.js +0 -129
  9. package/_baseAssignValue-CNbcU6Nb.js +0 -25
  10. package/_baseClone-D3a8Pa4T.js +0 -284
  11. package/_baseExtremum-B1o1zHjR.js +0 -33
  12. package/_baseFlatten-D4huXoEI.js +0 -92
  13. package/_baseGet-BSK_nnoz.js +0 -109
  14. package/_baseIsEqual-B5xLoweL.js +0 -238
  15. package/_baseIteratee-p6Nj07-n.js +0 -126
  16. package/_baseSlice-GAv_YFTT.js +0 -20
  17. package/_baseSum-D0WC1dN0.js +0 -13
  18. package/_baseUniq-CpupKWcL.js +0 -89
  19. package/_commonjsHelpers-CUmg6egw.js +0 -6
  20. package/_createAggregator-BpVy5xMi.js +0 -63
  21. package/_getPrototype-D1LAdQKO.js +0 -5
  22. package/_getTag-D3ToyefI.js +0 -126
  23. package/api/lookup/enrich.d.ts +0 -10
  24. package/api/lookup/index.d.ts +0 -5
  25. package/api/lookup/types.d.ts +0 -5
  26. package/api/lookup/types_detection.d.ts +0 -5
  27. package/cloneDeep-CjP5k9zW.js +0 -8
  28. package/components/AnnotationBody.d.ts +0 -6
  29. package/components/AnnotationBody.js +0 -56
  30. package/components/AnnotationDetailPopover.d.ts +0 -14
  31. package/components/AnnotationDetailPopover.js +0 -61
  32. package/components/AnnotationDetails.d.ts +0 -8
  33. package/components/AnnotationDetails.js +0 -172
  34. package/components/AnnotationEntry.d.ts +0 -6
  35. package/components/AnnotationEntry.js +0 -59
  36. package/components/AnnotationPreview.d.ts +0 -14
  37. package/components/AnnotationPreview.js +0 -11
  38. package/components/ClassificationChip.d.ts +0 -11
  39. package/components/ClassificationChip.js +0 -52
  40. package/components/CountBadge.d.ts +0 -8
  41. package/components/CountBadge.js +0 -34
  42. package/components/EnrichedCard.d.ts +0 -14
  43. package/components/EnrichedCard.js +0 -162
  44. package/components/EnrichedChip.d.ts +0 -9
  45. package/components/EnrichedChip.js +0 -176
  46. package/components/EnrichedTypography.d.ts +0 -16
  47. package/components/EnrichedTypography.js +0 -178
  48. package/components/ErrorBoundary.d.ts +0 -15
  49. package/components/ErrorBoundary.js +0 -36
  50. package/components/RetryFailedEnrichments.d.ts +0 -2
  51. package/components/RetryFailedEnrichments.js +0 -13
  52. package/components/SourcePicker.d.ts +0 -2
  53. package/components/SourcePicker.js +0 -98
  54. package/components/actions/ActionForm.d.ts +0 -6
  55. package/components/actions/ActionForm.js +0 -16
  56. package/components/actions/ExecutePopover.d.ts +0 -10
  57. package/components/actions/ExecutePopover.js +0 -93
  58. package/components/actions/ResultModal.d.ts +0 -9
  59. package/components/actions/ResultModal.js +0 -46
  60. package/components/actions/form/schemaAdapter.d.ts +0 -3
  61. package/components/actions/form/schemaAdapter.js +0 -47
  62. package/components/display/graph/ExpandMoreButton.d.ts +0 -7
  63. package/components/display/graph/ExpandMoreButton.js +0 -18
  64. package/components/display/graph/elements/NodeCard.d.ts +0 -10
  65. package/components/display/graph/elements/NodeCard.js +0 -146
  66. package/components/display/graph/elements/NodeTag.d.ts +0 -9
  67. package/components/display/graph/elements/NodeTag.js +0 -17
  68. package/components/display/graph/index.d.ts +0 -9
  69. package/components/display/graph/index.js +0 -438
  70. package/components/display/graph/visualizations/Leaf.d.ts +0 -25
  71. package/components/display/graph/visualizations/Leaf.js +0 -125
  72. package/components/display/graph/visualizations/cloud/index.d.ts +0 -24
  73. package/components/display/graph/visualizations/cloud/index.js +0 -141
  74. package/components/display/graph/visualizations/icons/BaseIcon.d.ts +0 -12
  75. package/components/display/graph/visualizations/icons/BaseIcon.js +0 -37
  76. package/components/display/graph/visualizations/icons/BugIcon.d.ts +0 -5
  77. package/components/display/graph/visualizations/icons/BugIcon.js +0 -18
  78. package/components/display/graph/visualizations/icons/HostIcon.d.ts +0 -5
  79. package/components/display/graph/visualizations/icons/HostIcon.js +0 -24
  80. package/components/display/graph/visualizations/icons/NetworkIcon.d.ts +0 -5
  81. package/components/display/graph/visualizations/icons/NetworkIcon.js +0 -24
  82. package/components/display/graph/visualizations/icons/ProcessIcon.d.ts +0 -5
  83. package/components/display/graph/visualizations/icons/ProcessIcon.js +0 -18
  84. package/components/display/graph/visualizations/icons/TargetIcon.d.ts +0 -5
  85. package/components/display/graph/visualizations/icons/TargetIcon.js +0 -19
  86. package/components/display/graph/visualizations/icons/index.d.ts +0 -2
  87. package/components/display/graph/visualizations/icons/index.js +0 -16
  88. package/components/display/graph/visualizations/panels/NodePanel.d.ts +0 -8
  89. package/components/display/graph/visualizations/panels/NodePanel.js +0 -12
  90. package/components/display/graph/visualizations/tree/BundleLine.d.ts +0 -29
  91. package/components/display/graph/visualizations/tree/BundleLine.js +0 -121
  92. package/components/display/graph/visualizations/tree/Triangle.d.ts +0 -9
  93. package/components/display/graph/visualizations/tree/Triangle.js +0 -26
  94. package/components/display/graph/visualizations/tree/index.d.ts +0 -36
  95. package/components/display/graph/visualizations/tree/index.js +0 -485
  96. package/components/display/graph/visualizations/tree/types.d.ts +0 -11
  97. package/components/display/graph/visualizations/tree/types.js +0 -1
  98. package/components/display/icons/Iconified.d.ts +0 -9
  99. package/components/display/icons/Iconified.js +0 -29
  100. package/components/display/json/index.d.ts +0 -14
  101. package/components/display/json/index.js +0 -12
  102. package/components/display/markdown/DynamicTabs.d.ts +0 -8
  103. package/components/display/markdown/DynamicTabs.js +0 -26
  104. package/components/display/markdown/index.d.ts +0 -9
  105. package/components/display/markdown/index.js +0 -13389
  106. package/components/display/markdown/markdownPlugins/tabs.d.ts +0 -3
  107. package/components/display/markdown/markdownPlugins/tabs.js +0 -4
  108. package/components/enrichment/EnrichPopover.d.ts +0 -10
  109. package/components/enrichment/EnrichPopover.js +0 -88
  110. package/components/fetchers/Fetcher.d.ts +0 -17
  111. package/components/fetchers/Fetcher.js +0 -188
  112. package/components/fetchers/PreviewModal.d.ts +0 -8
  113. package/components/fetchers/PreviewModal.js +0 -22
  114. package/components/fetchers/StatusChip.d.ts +0 -8
  115. package/components/fetchers/StatusChip.js +0 -30
  116. package/components/group/Entry.d.ts +0 -8
  117. package/components/group/Entry.js +0 -15
  118. package/components/group/Group.d.ts +0 -12
  119. package/components/group/Group.js +0 -15
  120. package/components/group/GroupControl.d.ts +0 -4
  121. package/components/group/GroupControl.js +0 -103
  122. package/components/stats/QueryStatus.d.ts +0 -4
  123. package/components/stats/QueryStatus.js +0 -61
  124. package/countBy-C69WslUA.js +0 -14
  125. package/data/event.d.ts +0 -12
  126. package/data/event.js +0 -8
  127. package/database/index.d.ts +0 -4
  128. package/database/index.js +0 -4
  129. package/database/selector.schema.json.d.ts +0 -119
  130. package/database/status.schema.json.d.ts +0 -38
  131. package/database/types.d.ts +0 -64
  132. package/debounce-bV0h5FC5.js +0 -92
  133. package/en/translation.json +0 -135
  134. package/fr/translation.json +0 -135
  135. package/get-D3C3lEU3.js +0 -8
  136. package/groupBy-DC2oOuBN.js +0 -14
  137. package/hooks/ClueActionContext.d.ts +0 -86
  138. package/hooks/ClueActionContext.js +0 -18
  139. package/hooks/ClueComponentContext.d.ts +0 -10
  140. package/hooks/ClueComponentContext.js +0 -40
  141. package/hooks/ClueConfigProvider.d.ts +0 -12
  142. package/hooks/ClueConfigProvider.js +0 -23
  143. package/hooks/ClueDatabaseContext.d.ts +0 -10
  144. package/hooks/ClueDatabaseContext.js +0 -23
  145. package/hooks/ClueEnrichContext.d.ts +0 -6
  146. package/hooks/ClueEnrichContext.js +0 -15
  147. package/hooks/ClueEnrichContextType.d.ts +0 -113
  148. package/hooks/ClueEnrichProps.d.ts +0 -81
  149. package/hooks/ClueFetcherContext.d.ts +0 -35
  150. package/hooks/ClueFetcherContext.js +0 -88
  151. package/hooks/ClueGroupContext.d.ts +0 -14
  152. package/hooks/ClueGroupContext.js +0 -23
  153. package/hooks/CluePopupContext.d.ts +0 -24
  154. package/hooks/CluePopupContext.js +0 -12
  155. package/hooks/ClueProvider.d.ts +0 -9
  156. package/hooks/ClueProvider.js +0 -14
  157. package/hooks/selectors.d.ts +0 -10
  158. package/hooks/selectors.js +0 -24
  159. package/hooks/useAnnotations.d.ts +0 -24
  160. package/hooks/useAnnotations.js +0 -69
  161. package/hooks/useClue.d.ts +0 -4
  162. package/hooks/useClue.js +0 -8
  163. package/hooks/useClueActions.d.ts +0 -4
  164. package/hooks/useClueActions.js +0 -5
  165. package/hooks/useClueConfig.d.ts +0 -1
  166. package/hooks/useClueConfig.js +0 -8
  167. package/hooks/useClueTypeConfig.d.ts +0 -17
  168. package/hooks/useClueTypeConfig.js +0 -7
  169. package/hooks/useComparator.d.ts +0 -16
  170. package/hooks/useComparator.js +0 -1060
  171. package/hooks/useErrors.d.ts +0 -17
  172. package/hooks/useErrors.js +0 -35
  173. package/hooks/useMyHighlights.d.ts +0 -11
  174. package/hooks/useMyHighlights.js +0 -74
  175. package/hooks/useMyLocalStorage.d.ts +0 -16
  176. package/hooks/useMyLocalStorage.js +0 -80
  177. package/iconify-CXMreGTg.js +0 -1782
  178. package/icons/Action.d.ts +0 -9
  179. package/icons/Action.js +0 -90
  180. package/icons/Assessment.d.ts +0 -11
  181. package/icons/Assessment.js +0 -123
  182. package/icons/Context.d.ts +0 -12
  183. package/icons/Context.js +0 -83
  184. package/icons/Opinion.d.ts +0 -11
  185. package/icons/Opinion.js +0 -125
  186. package/icons/iconMap.d.ts +0 -7
  187. package/icons/iconMap.js +0 -10
  188. package/identity-CPGTqrE4.js +0 -6
  189. package/index-BDVjGvMI.js +0 -696
  190. package/index-BDrtH5ec.js +0 -465
  191. package/index-C9lySIVX.js +0 -1172
  192. package/index-DJYqRcxJ.js +0 -15750
  193. package/index-Dn2NHyXg.js +0 -17654
  194. package/index.css +0 -21
  195. package/isEmpty-BQkZubqU.js +0 -29
  196. package/isNil-CIubwp4T.js +0 -6
  197. package/isObject-FTY-5JQX.js +0 -7
  198. package/isObjectLike-OAgjjZye.js +0 -48
  199. package/isSymbol-Xd2FsJyp.js +0 -8
  200. package/isUndefined-CE8h73dH.js +0 -10
  201. package/last-CUCl67Im.js +0 -7
  202. package/main.d.ts +0 -42
  203. package/main.js +0 -70
  204. package/public/manifest.json +0 -16
  205. package/public/robots.txt +0 -3
  206. package/public/svg/dark/clue-h.svg +0 -52
  207. package/public/svg/dark/clue-icon1-simple.svg +0 -33
  208. package/public/svg/dark/clue-icon1.svg +0 -44
  209. package/public/svg/dark/clue-icon2-simple.svg +0 -26
  210. package/public/svg/dark/clue-icon2.svg +0 -37
  211. package/public/svg/dark/clue-name.svg +0 -14
  212. package/public/svg/dark/clue-v.svg +0 -52
  213. package/public/svg/light/clue-h.svg +0 -60
  214. package/public/svg/light/clue-icon1-simple.svg +0 -37
  215. package/public/svg/light/clue-icon1.svg +0 -48
  216. package/public/svg/light/clue-icon2-simple.svg +0 -30
  217. package/public/svg/light/clue-icon2.svg +0 -41
  218. package/public/svg/light/clue-name.svg +0 -14
  219. package/public/svg/light/clue-v.svg +0 -60
  220. package/sortBy-B-UKp4GT.js +0 -100
  221. package/sumBy-MYkDPHZL.js +0 -8
  222. package/tabs-xGuUGsJd.js +0 -254
  223. package/text/Frequency.d.ts +0 -9
  224. package/text/Frequency.js +0 -49
  225. package/toFinite-CArjry_l.js +0 -16
  226. package/toNumber-DPxy1FBy.js +0 -39
  227. package/types/EnrichmentProps.d.ts +0 -73
  228. package/types/RunningActionData.d.ts +0 -15
  229. package/types/WithActionData.d.ts +0 -9
  230. package/types/action.d.ts +0 -25
  231. package/types/config.d.ts +0 -16
  232. package/types/fetcher.d.ts +0 -60
  233. package/types/graph.d.ts +0 -101
  234. package/types/lookup.d.ts +0 -62
  235. package/types/network.d.ts +0 -9
  236. package/useClueTypeConfig-D9ZSxa4F.js +0 -3096
  237. package/utils/chain.d.ts +0 -14
  238. package/utils/chain.js +0 -106
  239. package/utils/classificationParser.d.ts +0 -195
  240. package/utils/classificationParser.js +0 -553
  241. package/utils/constants.d.ts +0 -26
  242. package/utils/constants.js +0 -36
  243. package/utils/graph.d.ts +0 -13
  244. package/utils/graph.js +0 -79
  245. package/utils/hashUtil.d.ts +0 -6
  246. package/utils/hashUtil.js +0 -11
  247. package/utils/line.d.ts +0 -28
  248. package/utils/line.js +0 -136
  249. package/utils/loggerUtil.d.ts +0 -6
  250. package/utils/loggerUtil.js +0 -8
  251. package/utils/sessionStorage.d.ts +0 -9
  252. package/utils/sessionStorage.js +0 -51
  253. package/utils/utils.d.ts +0 -13
  254. package/utils/utils.js +0 -11
  255. package/utils/window.d.ts +0 -3
  256. package/utils/window.js +0 -24
  257. package/utils-CxIhC2xH.js +0 -4182
@@ -1,17 +0,0 @@
1
- /**
2
- * Custom hook that retrieves error records from the database for a given value.
3
- *
4
- * This hook monitors the database for records that match the provided value and have
5
- * an error field present. It returns an array of error objects containing the source
6
- * and message for each error found.
7
- *
8
- * @param value - The value to search for in the database records
9
- * @returns An array of error objects, each containing:
10
- * - source: The source identifier where the error originated
11
- * - message: The error message content
12
- */
13
- declare const useErrors: (value: string) => {
14
- source: string;
15
- message: string;
16
- }[];
17
- export default useErrors;
@@ -1,35 +0,0 @@
1
- import { useContext, useState, useEffect } from "react";
2
- import { ClueDatabaseContext } from "./ClueDatabaseContext.js";
3
- import { useClueEnrichSelector } from "./selectors.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) {
10
- return;
11
- }
12
- const observable = database.selectors.find({ selector: { value, error: { $exists: true } } }).$.subscribe(
13
- (records) => (
14
- // Transform database records into simplified error objects
15
- setErrors(
16
- records.map((record) => ({
17
- source: record.source,
18
- message: record.error
19
- }))
20
- )
21
- )
22
- );
23
- return () => {
24
- try {
25
- observable.unsubscribe();
26
- } catch (e) {
27
- console.warn(e);
28
- }
29
- };
30
- }, [database, ready, value]);
31
- return errors;
32
- };
33
- export {
34
- useErrors as default
35
- };
@@ -1,11 +0,0 @@
1
- import { NestedDataset } from "../types/graph";
2
-
3
- declare const useMyHighlights: (graph: NestedDataset, onNodeSelectionChanged?: (nodeIds: string[]) => void) => {
4
- onNodeHoveredChanged: (nodeId: string, isHovered: boolean) => void;
5
- onNodeClicked: (nodeId: string, isSelected: boolean, event: MouseEvent) => void;
6
- nodeOpacities: (nodeId: string) => 1 | 0.2;
7
- highlightedPath: Set<string>;
8
- highlightedNodes: Set<string>;
9
- hoveredNode: string;
10
- };
11
- export default useMyHighlights;
@@ -1,74 +0,0 @@
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);
12
- }, []);
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]);
40
- },
41
- [highlightedNodes, onNodeSelectionChanged]
42
- );
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
- });
60
- }
61
- setHighlightedPath(newHighlightedPath);
62
- }, [hoveredNode, highlightedNodes, ctrlKeyDown, data]);
63
- return {
64
- onNodeHoveredChanged,
65
- onNodeClicked,
66
- nodeOpacities,
67
- highlightedPath,
68
- highlightedNodes,
69
- hoveredNode
70
- };
71
- };
72
- export {
73
- useMyHighlights as default
74
- };
@@ -1,16 +0,0 @@
1
- import { StorageKey } from "../utils/constants";
2
-
3
- export default function useMyLocalStorage(): {
4
- get: <T>(key: string) => T;
5
- set: (key: string, value: any) => void;
6
- remove: (key: string, withPrefix?: boolean) => void;
7
- has: (key: string) => boolean;
8
- keys: () => string[];
9
- items: () => {
10
- key: string;
11
- value: any;
12
- }[];
13
- clear: () => void;
14
- };
15
- export declare function useMyLocalStorageItem<T>(key: StorageKey, initialValue?: T): [T, (value: T, save?: boolean) => void, () => void];
16
- export declare function useMyLocalStorageProvider(): import('components/app/providers/LocalStorageProvider').LocalStorageContextType;
@@ -1,80 +0,0 @@
1
- import { useCallback, useMemo, useState, useEffect, createContext, useContext } from "react";
2
- import { i as isNull, a as isUndefined } from "../isUndefined-CE8h73dH.js";
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
- }
24
- }),
25
- [prefix, remove, keys]
26
- );
27
- return useMemo(
28
- () => ({
29
- get,
30
- set,
31
- remove,
32
- has,
33
- keys,
34
- items,
35
- clear
36
- }),
37
- [get, set, remove, has, keys, items, clear]
38
- );
39
- }
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(
49
- () => [
50
- value,
51
- (newValue, save = true) => {
52
- if (save) {
53
- if (!isNull(newValue) && !isUndefined(newValue)) {
54
- set(key, newValue);
55
- } else {
56
- remove(key);
57
- }
58
- }
59
- setValue(newValue);
60
- },
61
- () => remove(key)
62
- ],
63
- [key, value, set, remove]
64
- );
65
- }
66
- const LocalStorageContext = createContext(null);
67
- function useMyLocalStorage() {
68
- return useLocalStorage(MY_LOCAL_STORAGE_PREFIX);
69
- }
70
- function useMyLocalStorageItem(key, initialValue) {
71
- return useLocalStorageItem(key, initialValue, MY_LOCAL_STORAGE_PREFIX);
72
- }
73
- function useMyLocalStorageProvider() {
74
- return useContext(LocalStorageContext);
75
- }
76
- export {
77
- useMyLocalStorage as default,
78
- useMyLocalStorageItem,
79
- useMyLocalStorageProvider
80
- };