@cccsaurora/clue-ui 0.15.0-dev.38 → 0.15.0-dev.46
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.
- package/{ActionForm-oJuQC4we.js → ActionForm-c5hLIfQ-.js} +2 -2
- package/{ClueEnrichContext-DxA21fqe.js → ClueEnrichContext-m-4vn9rz.js} +2 -2
- package/components/AnnotationDetails.js +1 -1
- package/components/EnrichedCard.js +1 -1
- package/components/actions/ActionForm.js +1 -1
- package/components/display/graph/index.js +1 -1
- package/components/display/graph/visualizations/cloud/index.js +1 -1
- package/components/display/graph/visualizations/tree/BundleLine.js +1 -1
- package/components/display/graph/visualizations/tree/index.js +1 -1
- package/components/enrichment/EnrichPopover.js +1 -1
- package/components/group/GroupControl.js +1 -1
- package/hooks/ClueActionContext.js +2 -2
- package/hooks/ClueEnrichContext.js +2 -2
- package/hooks/ClueFetcherContext.js +1 -1
- package/hooks/ClueProvider.js +2 -2
- package/hooks/selectors.js +2 -2
- package/hooks/useClue.js +1 -1
- package/hooks/useClueActions.js +1 -1
- package/hooks/useClueTypeConfig.js +1 -1
- package/icons/Action.js +1 -1
- package/{index-DJYqRcxJ.js → index-BbPn6-Mw.js} +3 -3
- package/main.js +2 -2
- package/package.json +1 -1
- package/{toFinite-CArjry_l.js → toFinite-Bc55msYj.js} +1 -1
- package/{useClueTypeConfig-CkNWpHd2.js → useClueTypeConfig-D4zcy8Gr.js} +11 -6
- package/utils/constants.d.ts +1 -0
- package/utils/constants.js +1 -0
|
@@ -7,7 +7,7 @@ import { J as JSONViewer } from "./index-BDrtH5ec.js";
|
|
|
7
7
|
import { ClueComponentContext } from "./hooks/ClueComponentContext.js";
|
|
8
8
|
import { c as createContext, u as useContextSelector, a as useContext } from "./index-BDVjGvMI.js";
|
|
9
9
|
import { A as Ajv } from "./index-Dn2NHyXg.js";
|
|
10
|
-
import { a as api } from "./useClueTypeConfig-
|
|
10
|
+
import { a as api } from "./useClueTypeConfig-D4zcy8Gr.js";
|
|
11
11
|
import { useState, useCallback, useEffect, useMemo, memo } from "react";
|
|
12
12
|
import ErrorBoundary from "./components/ErrorBoundary.js";
|
|
13
13
|
import { adaptSchema } from "./components/actions/form/schemaAdapter.js";
|
|
@@ -21,7 +21,7 @@ import useClue from "./hooks/useClue.js";
|
|
|
21
21
|
function castSlice(array, start, end) {
|
|
22
22
|
var length = array.length;
|
|
23
23
|
end = end === void 0 ? length : end;
|
|
24
|
-
return
|
|
24
|
+
return !start && end >= length ? array : baseSlice(array, start, end);
|
|
25
25
|
}
|
|
26
26
|
var rsAstralRange$1 = "\\ud800-\\udfff", rsComboMarksRange$1 = "\\u0300-\\u036f", reComboHalfMarksRange$1 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$1 = "\\u20d0-\\u20ff", rsComboRange$1 = rsComboMarksRange$1 + reComboHalfMarksRange$1 + rsComboSymbolsRange$1, rsVarRange$1 = "\\ufe0e\\ufe0f";
|
|
27
27
|
var rsZWJ$1 = "\\u200d";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
2
|
import { a as addAPIProvider } from "./iconify-CXMreGTg.js";
|
|
3
|
-
import { u as useClueTypeConfig, a as api, p as post } from "./useClueTypeConfig-
|
|
3
|
+
import { u as useClueTypeConfig, a as api, p as post } from "./useClueTypeConfig-D4zcy8Gr.js";
|
|
4
4
|
import { clueDebugLogger } from "./utils/loggerUtil.js";
|
|
5
5
|
import { useContext, useMemo, useState, useRef, useEffect, useCallback } from "react";
|
|
6
6
|
import { c as createContext } from "./index-BDVjGvMI.js";
|
|
@@ -10,7 +10,7 @@ import { g as groupBy } from "./groupBy-DC2oOuBN.js";
|
|
|
10
10
|
import { b as baseUniq } from "./_baseUniq-CpupKWcL.js";
|
|
11
11
|
import { d as debounce } from "./debounce-bV0h5FC5.js";
|
|
12
12
|
import { b as baseSlice } from "./_baseSlice-GAv_YFTT.js";
|
|
13
|
-
import { t as toFinite } from "./toFinite-
|
|
13
|
+
import { t as toFinite } from "./toFinite-Bc55msYj.js";
|
|
14
14
|
function toInteger(value) {
|
|
15
15
|
var result = toFinite(value), remainder = result % 1;
|
|
16
16
|
return result === result ? remainder ? result - remainder : result : 0;
|
|
@@ -15,7 +15,7 @@ import ExecutePopover from "./actions/ExecutePopover.js";
|
|
|
15
15
|
import AnnotationEntry from "./AnnotationEntry.js";
|
|
16
16
|
import ClassificationChip from "./ClassificationChip.js";
|
|
17
17
|
import EnrichPopover from "./enrichment/EnrichPopover.js";
|
|
18
|
-
import { u as uniq } from "../ClueEnrichContext-
|
|
18
|
+
import { u as uniq } from "../ClueEnrichContext-m-4vn9rz.js";
|
|
19
19
|
import { g as groupBy } from "../groupBy-DC2oOuBN.js";
|
|
20
20
|
import { i as isNull } from "../isUndefined-CE8h73dH.js";
|
|
21
21
|
const AnnotationDetails = ({ enrichRequest, setReady, updatePosition }) => {
|
|
@@ -13,7 +13,7 @@ import FrequencyText from "../text/Frequency.js";
|
|
|
13
13
|
import { memo, useState, useMemo, useCallback } from "react";
|
|
14
14
|
import { u as useContextSelector } from "../index-BDVjGvMI.js";
|
|
15
15
|
import AnnotationEntry from "./AnnotationEntry.js";
|
|
16
|
-
import { u as uniq } from "../ClueEnrichContext-
|
|
16
|
+
import { u as uniq } from "../ClueEnrichContext-m-4vn9rz.js";
|
|
17
17
|
const EnrichedCard = ({
|
|
18
18
|
type,
|
|
19
19
|
value,
|
|
@@ -5,7 +5,7 @@ import "@mui/material";
|
|
|
5
5
|
import "../display/icons/Iconified.js";
|
|
6
6
|
import "../../index-BDrtH5ec.js";
|
|
7
7
|
import "../../hooks/ClueComponentContext.js";
|
|
8
|
-
import { A } from "../../ActionForm-
|
|
8
|
+
import { A } from "../../ActionForm-c5hLIfQ-.js";
|
|
9
9
|
import "react";
|
|
10
10
|
import "../../index-BDVjGvMI.js";
|
|
11
11
|
import "../ErrorBoundary.js";
|
|
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
|
2
2
|
import { useMemo, useRef, useState, useEffect, useCallback, createElement } from "react";
|
|
3
3
|
import { useTheme, lighten, darken, Stack, Card, Typography, alpha, Autocomplete, TextField, FormControl, InputLabel, Select, MenuItem, IconButton, Collapse } from "@mui/material";
|
|
4
4
|
import { p as parseEvent } from "../../../index-BDrtH5ec.js";
|
|
5
|
-
import { z as zoom, i as identity, s as select, t as transform, p as pointer } from "../../../index-
|
|
5
|
+
import { z as zoom, i as identity, s as select, t as transform, p as pointer } from "../../../index-BbPn6-Mw.js";
|
|
6
6
|
import useComparator from "../../../hooks/useComparator.js";
|
|
7
7
|
import { useMyLocalStorageItem } from "../../../hooks/useMyLocalStorage.js";
|
|
8
8
|
import { StorageKey } from "../../../utils/constants.js";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { o as ordinal, d as d3, S as Spectral, a as index, h as hierarchy } from "../../../../../index-
|
|
2
|
+
import { o as ordinal, d as d3, S as Spectral, a as index, h as hierarchy } from "../../../../../index-BbPn6-Mw.js";
|
|
3
3
|
import useMyHighlights from "../../../../../hooks/useMyHighlights.js";
|
|
4
4
|
import { useMyLocalStorageItem } from "../../../../../hooks/useMyLocalStorage.js";
|
|
5
5
|
import { StorageKey } from "../../../../../utils/constants.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useTheme } from "@mui/material";
|
|
3
|
-
import { d as d3, S as Spectral } from "../../../../../index-
|
|
3
|
+
import { d as d3, S as Spectral } from "../../../../../index-BbPn6-Mw.js";
|
|
4
4
|
import { useMyLocalStorageItem } from "../../../../../hooks/useMyLocalStorage.js";
|
|
5
5
|
import { StorageKey } from "../../../../../utils/constants.js";
|
|
6
6
|
import { buildHorizontalLine, buildVerticalLine } from "../../../../../utils/line.js";
|
|
@@ -9,7 +9,7 @@ import { g as get } from "../../../../../get-D3C3lEU3.js";
|
|
|
9
9
|
import { i as isNil } from "../../../../../isNil-CIubwp4T.js";
|
|
10
10
|
import { b as baseExtremum, a as baseGt, i as isIterateeCall } from "../../../../../_baseExtremum-B1o1zHjR.js";
|
|
11
11
|
import { i as identity } from "../../../../../identity-CPGTqrE4.js";
|
|
12
|
-
import { t as toFinite } from "../../../../../toFinite-
|
|
12
|
+
import { t as toFinite } from "../../../../../toFinite-Bc55msYj.js";
|
|
13
13
|
import { b as baseSum } from "../../../../../_baseSum-D0WC1dN0.js";
|
|
14
14
|
import { memo, useMemo } from "react";
|
|
15
15
|
import NodeCard from "../../elements/NodeCard.js";
|
|
@@ -3,7 +3,7 @@ import { useTheme, Tooltip, IconButton, CircularProgress, Button, Popover, Paper
|
|
|
3
3
|
import { useClueComponentSelector, useClueEnrichSelector } from "../../hooks/selectors.js";
|
|
4
4
|
import { useState, useRef, useCallback, useEffect } from "react";
|
|
5
5
|
import Iconified from "../display/icons/Iconified.js";
|
|
6
|
-
import { c as capitalize } from "../../ActionForm-
|
|
6
|
+
import { c as capitalize } from "../../ActionForm-c5hLIfQ-.js";
|
|
7
7
|
const EnrichPopover = ({ show = false, size = "small", selector }) => {
|
|
8
8
|
const { t } = useClueComponentSelector((ctx) => ctx.i18next);
|
|
9
9
|
const theme = useTheme();
|
|
@@ -9,7 +9,7 @@ import { safeDispatchEvent } from "../../utils/window.js";
|
|
|
9
9
|
import { useState, useMemo, useCallback } from "react";
|
|
10
10
|
import { u as useContextSelector } from "../../index-BDVjGvMI.js";
|
|
11
11
|
import ExecutePopover from "../actions/ExecutePopover.js";
|
|
12
|
-
import { c as capitalize } from "../../ActionForm-
|
|
12
|
+
import { c as capitalize } from "../../ActionForm-c5hLIfQ-.js";
|
|
13
13
|
const GroupControl = () => {
|
|
14
14
|
const { t } = useClueComponentSelector((ctx) => ctx.i18next);
|
|
15
15
|
const { type, values, classification } = useContextSelector(ClueGroupContext, (ctx) => ({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "@mui/material";
|
|
3
3
|
import "../index-Dn2NHyXg.js";
|
|
4
|
-
import "../useClueTypeConfig-
|
|
5
|
-
import { a, C } from "../ActionForm-
|
|
4
|
+
import "../useClueTypeConfig-D4zcy8Gr.js";
|
|
5
|
+
import { a, C } from "../ActionForm-c5hLIfQ-.js";
|
|
6
6
|
import "../components/actions/ResultModal.js";
|
|
7
7
|
import "../components/display/icons/Iconified.js";
|
|
8
8
|
import "../components/ErrorBoundary.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "react/jsx-runtime";
|
|
2
2
|
import "../iconify-CXMreGTg.js";
|
|
3
|
-
import "../useClueTypeConfig-
|
|
3
|
+
import "../useClueTypeConfig-D4zcy8Gr.js";
|
|
4
4
|
import "../utils/loggerUtil.js";
|
|
5
5
|
import "react";
|
|
6
6
|
import "../index-BDVjGvMI.js";
|
|
7
7
|
import "./ClueDatabaseContext.js";
|
|
8
8
|
import "./useClueConfig.js";
|
|
9
|
-
import { C, a } from "../ClueEnrichContext-
|
|
9
|
+
import { C, a } from "../ClueEnrichContext-m-4vn9rz.js";
|
|
10
10
|
import "../groupBy-DC2oOuBN.js";
|
|
11
11
|
import "../debounce-bV0h5FC5.js";
|
|
12
12
|
export {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { a as api } from "../useClueTypeConfig-
|
|
2
|
+
import { a as api } from "../useClueTypeConfig-D4zcy8Gr.js";
|
|
3
3
|
import { useState, useRef, useCallback, useEffect, useMemo } from "react";
|
|
4
4
|
import { c as createContext } from "../index-BDVjGvMI.js";
|
|
5
5
|
import useClue from "./useClue.js";
|
package/hooks/ClueProvider.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { C as ClueActionProvider } from "../ActionForm-
|
|
2
|
+
import { C as ClueActionProvider } from "../ActionForm-c5hLIfQ-.js";
|
|
3
3
|
import { ClueComponentProvider } from "./ClueComponentContext.js";
|
|
4
4
|
import { ClueConfigProvider } from "./ClueConfigProvider.js";
|
|
5
5
|
import { ClueDatabaseProvider } from "./ClueDatabaseContext.js";
|
|
6
|
-
import { a as ClueEnrichProvider } from "../ClueEnrichContext-
|
|
6
|
+
import { a as ClueEnrichProvider } from "../ClueEnrichContext-m-4vn9rz.js";
|
|
7
7
|
import { ClueFetcherProvider } from "./ClueFetcherContext.js";
|
|
8
8
|
import { a as CluePopupProvider } from "../AnnotationPreview-BvNpZOP0.js";
|
|
9
9
|
const ClueProvider = ({ children, ...props }) => {
|
package/hooks/selectors.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { u as useContextSelector } from "../index-BDVjGvMI.js";
|
|
2
|
-
import { a as ClueActionContext } from "../ActionForm-
|
|
2
|
+
import { a as ClueActionContext } from "../ActionForm-c5hLIfQ-.js";
|
|
3
3
|
import { ClueComponentContext } from "./ClueComponentContext.js";
|
|
4
|
-
import { C as ClueEnrichContext } from "../ClueEnrichContext-
|
|
4
|
+
import { C as ClueEnrichContext } from "../ClueEnrichContext-m-4vn9rz.js";
|
|
5
5
|
import { ClueFetcherContext } from "./ClueFetcherContext.js";
|
|
6
6
|
const useClueFetcherSelector = (selector) => {
|
|
7
7
|
return useContextSelector(ClueFetcherContext, selector);
|
package/hooks/useClue.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { a as useContext } from "../index-BDVjGvMI.js";
|
|
2
|
-
import { C as ClueEnrichContext } from "../ClueEnrichContext-
|
|
2
|
+
import { C as ClueEnrichContext } from "../ClueEnrichContext-m-4vn9rz.js";
|
|
3
3
|
const useClue = () => {
|
|
4
4
|
return useContext(ClueEnrichContext);
|
|
5
5
|
};
|
package/hooks/useClueActions.js
CHANGED
package/icons/Action.js
CHANGED
|
@@ -3,7 +3,7 @@ import { I as Icon } from "../iconify-CXMreGTg.js";
|
|
|
3
3
|
import { useTheme, Stack, Divider, Typography } from "@mui/material";
|
|
4
4
|
import CountBadge from "../components/CountBadge.js";
|
|
5
5
|
import { C as CluePopupContext } from "../AnnotationPreview-BvNpZOP0.js";
|
|
6
|
-
import { u as useClueActions } from "../ActionForm-
|
|
6
|
+
import { u as useClueActions } from "../ActionForm-c5hLIfQ-.js";
|
|
7
7
|
import { memo, useRef, useMemo, useEffect } from "react";
|
|
8
8
|
import { u as useContextSelector } from "../index-BDVjGvMI.js";
|
|
9
9
|
import { g as groupBy } from "../groupBy-DC2oOuBN.js";
|
|
@@ -7648,7 +7648,7 @@ var boundsStream$1 = {
|
|
|
7648
7648
|
boundsStream$1.lineEnd = boundsLineEnd;
|
|
7649
7649
|
if (areaRingSum$1 < 0) lambda0$1 = -(lambda1 = 180), phi0 = -(phi1 = 90);
|
|
7650
7650
|
else if (deltaSum > epsilon$1) phi1 = 90;
|
|
7651
|
-
else if (deltaSum < -
|
|
7651
|
+
else if (deltaSum < -epsilon$1) phi0 = -90;
|
|
7652
7652
|
range[0] = lambda0$1, range[1] = lambda1;
|
|
7653
7653
|
},
|
|
7654
7654
|
sphere: function() {
|
|
@@ -8096,7 +8096,7 @@ function polygonContains(polygon, point2) {
|
|
|
8096
8096
|
}
|
|
8097
8097
|
}
|
|
8098
8098
|
}
|
|
8099
|
-
return (angle2 < -
|
|
8099
|
+
return (angle2 < -epsilon$1 || angle2 < epsilon$1 && sum2 < -epsilon2) ^ winding & 1;
|
|
8100
8100
|
}
|
|
8101
8101
|
function clip(pointVisible, clipLine2, interpolate2, start2) {
|
|
8102
8102
|
return function(sink) {
|
|
@@ -8410,7 +8410,7 @@ function clipLine(a2, b, x02, y02, x12, y12) {
|
|
|
8410
8410
|
if (t12 < 1) b[0] = ax + t12 * dx, b[1] = ay + t12 * dy;
|
|
8411
8411
|
return true;
|
|
8412
8412
|
}
|
|
8413
|
-
var clipMax = 1e9, clipMin = -
|
|
8413
|
+
var clipMax = 1e9, clipMin = -clipMax;
|
|
8414
8414
|
function clipRectangle(x02, y02, x12, y12) {
|
|
8415
8415
|
function visible(x2, y2) {
|
|
8416
8416
|
return x02 <= x2 && x2 <= x12 && y02 <= y2 && y2 <= y12;
|
package/main.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A, u, u as u2 } from "./ActionForm-
|
|
1
|
+
import { A, u, u as u2 } from "./ActionForm-c5hLIfQ-.js";
|
|
2
2
|
import { default as default2 } from "./components/AnnotationDetailPopover.js";
|
|
3
3
|
import { default as default3 } from "./components/AnnotationDetails.js";
|
|
4
4
|
import { default as default4 } from "./components/AnnotationEntry.js";
|
|
@@ -17,7 +17,7 @@ import { SNACKBAR_EVENT_ID } from "./data/event.js";
|
|
|
17
17
|
import { b } from "./index-Dn2NHyXg.js";
|
|
18
18
|
import { ClueComponentContext, ClueComponentContext as ClueComponentContext2 } from "./hooks/ClueComponentContext.js";
|
|
19
19
|
import { ClueDatabaseContext, ClueDatabaseContext as ClueDatabaseContext2 } from "./hooks/ClueDatabaseContext.js";
|
|
20
|
-
import { C as C3, C as C4 } from "./ClueEnrichContext-
|
|
20
|
+
import { C as C3, C as C4 } from "./ClueEnrichContext-m-4vn9rz.js";
|
|
21
21
|
import { ClueProvider, ClueProvider as ClueProvider2 } from "./hooks/ClueProvider.js";
|
|
22
22
|
import { useClueActionsSelector, useClueEnrichSelector, useClueFetcherSelector, useClueActionsSelector as useClueActionsSelector2, useClueEnrichSelector as useClueEnrichSelector2, useClueFetcherSelector as useClueFetcherSelector2 } from "./hooks/selectors.js";
|
|
23
23
|
import { default as default15, default as default16 } from "./hooks/useClue.js";
|
package/package.json
CHANGED
|
@@ -45,15 +45,20 @@ const actions = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePrope
|
|
|
45
45
|
post: post$3,
|
|
46
46
|
uri: uri$c
|
|
47
47
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
48
|
-
|
|
48
|
+
const uri$b = (searchParams) => {
|
|
49
49
|
return joinUri(uri$a(), "login", searchParams);
|
|
50
|
-
}
|
|
51
|
-
|
|
50
|
+
};
|
|
51
|
+
const post$2 = (body) => {
|
|
52
52
|
return hpost(uri$b(), body);
|
|
53
|
-
}
|
|
54
|
-
|
|
53
|
+
};
|
|
54
|
+
const get$6 = (search) => {
|
|
55
|
+
const nonce = localStorage.getItem(`${MY_LOCAL_STORAGE_PREFIX}.${StorageKey.LOGIN_NONCE}`);
|
|
56
|
+
if (nonce) {
|
|
57
|
+
search.set("nonce", JSON.parse(nonce));
|
|
58
|
+
localStorage.removeItem(`${MY_LOCAL_STORAGE_PREFIX}.${StorageKey.LOGIN_NONCE}`);
|
|
59
|
+
}
|
|
55
60
|
return hget(uri$b(), search);
|
|
56
|
-
}
|
|
61
|
+
};
|
|
57
62
|
const login = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
58
63
|
__proto__: null,
|
|
59
64
|
get: get$6,
|
package/utils/constants.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export declare enum StorageKey {
|
|
|
14
14
|
FLATTEN_JSON = "flatten_json_view",
|
|
15
15
|
PAGE_COUNT = "page_count",
|
|
16
16
|
CLUE_CACHE = "results",
|
|
17
|
+
LOGIN_NONCE = "login_nonce",
|
|
17
18
|
COLOR_SCHEME = "color.scheme",
|
|
18
19
|
SHOW_DIRECTIONALITY = "show.directionality",
|
|
19
20
|
SHOW_CARDS = "show.cards",
|
package/utils/constants.js
CHANGED
|
@@ -14,6 +14,7 @@ var StorageKey = /* @__PURE__ */ ((StorageKey2) => {
|
|
|
14
14
|
StorageKey2["FLATTEN_JSON"] = "flatten_json_view";
|
|
15
15
|
StorageKey2["PAGE_COUNT"] = "page_count";
|
|
16
16
|
StorageKey2["CLUE_CACHE"] = "results";
|
|
17
|
+
StorageKey2["LOGIN_NONCE"] = "login_nonce";
|
|
17
18
|
StorageKey2["COLOR_SCHEME"] = "color.scheme";
|
|
18
19
|
StorageKey2["SHOW_DIRECTIONALITY"] = "show.directionality";
|
|
19
20
|
StorageKey2["SHOW_CARDS"] = "show.cards";
|