@particle-network/connectkit 2.0.14 → 2.0.16
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/dist/cjs/index.cjs +286 -291
- package/dist/cjs/index.cjs.map +4 -4
- package/dist/esm/index.mjs +105 -110
- package/dist/esm/index.mjs.map +4 -4
- package/dist/types/locales/index.d.ts +7 -7
- package/package.json +3 -3
package/dist/cjs/index.cjs
CHANGED
|
@@ -55,7 +55,7 @@ module.exports = __toCommonJS(src_exports);
|
|
|
55
55
|
var EmailRegExp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
|
|
56
56
|
|
|
57
57
|
// src/hooks/useIconColor.ts
|
|
58
|
-
var
|
|
58
|
+
var import_react51 = require("react");
|
|
59
59
|
|
|
60
60
|
// src/utils/theme.ts
|
|
61
61
|
function getSystemMode() {
|
|
@@ -67,13 +67,13 @@ function getSystemMode() {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
// src/hooks/useAppearance.ts
|
|
70
|
-
var
|
|
70
|
+
var import_react50 = require("react");
|
|
71
71
|
|
|
72
72
|
// src/context/index.tsx
|
|
73
|
-
var
|
|
73
|
+
var import_react49 = __toESM(require("react"), 1);
|
|
74
74
|
|
|
75
75
|
// src/components/connectModal/index.tsx
|
|
76
|
-
var
|
|
76
|
+
var import_react47 = require("react");
|
|
77
77
|
|
|
78
78
|
// src/actions/getAccount.ts
|
|
79
79
|
var import_viem = require("viem");
|
|
@@ -265,7 +265,7 @@ function useAccount() {
|
|
|
265
265
|
}
|
|
266
266
|
|
|
267
267
|
// src/hooks/useLocales.ts
|
|
268
|
-
var
|
|
268
|
+
var import_react2 = require("react");
|
|
269
269
|
|
|
270
270
|
// src/locales/en-US.json
|
|
271
271
|
var en_US_default = {
|
|
@@ -815,22 +815,20 @@ String.prototype.format = function(...values) {
|
|
|
815
815
|
return formatValue;
|
|
816
816
|
};
|
|
817
817
|
|
|
818
|
-
// src/hooks/
|
|
819
|
-
|
|
820
|
-
var useLanguage = () => {
|
|
818
|
+
// src/hooks/useLocales.ts
|
|
819
|
+
function useLocales() {
|
|
821
820
|
const { appearance } = useAppearance();
|
|
822
821
|
const language = (0, import_react2.useMemo)(() => {
|
|
823
822
|
return appearance?.language ?? "en-US";
|
|
824
823
|
}, [appearance.language]);
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
}, [language]);
|
|
824
|
+
const overrideLocales = (0, import_react2.useMemo)(() => {
|
|
825
|
+
return appearance.overrideLocales;
|
|
826
|
+
}, [appearance.overrideLocales]);
|
|
827
|
+
const translations = (0, import_react2.useMemo)(() => {
|
|
828
|
+
const locales = getLocale(language);
|
|
829
|
+
const overrideLanguage = overrideLocales?.[language];
|
|
830
|
+
return { ...locales, ...overrideLanguage };
|
|
831
|
+
}, [language, overrideLocales]);
|
|
834
832
|
if (!translations) {
|
|
835
833
|
throw new Error(`Missing translations for ${language}`);
|
|
836
834
|
}
|
|
@@ -860,7 +858,7 @@ var import_zustand5 = require("zustand");
|
|
|
860
858
|
|
|
861
859
|
// src/pages/captcha/index.tsx
|
|
862
860
|
var import_connector_core3 = require("@particle-network/connector-core");
|
|
863
|
-
var
|
|
861
|
+
var import_react8 = require("react");
|
|
864
862
|
|
|
865
863
|
// src/assets/icons.tsx
|
|
866
864
|
var import_framer_motion = require("framer-motion");
|
|
@@ -1500,7 +1498,7 @@ var CircleSpinner = ({
|
|
|
1500
1498
|
var circleSpinner_default = CircleSpinner;
|
|
1501
1499
|
|
|
1502
1500
|
// src/components/codeInput/index.tsx
|
|
1503
|
-
var
|
|
1501
|
+
var import_react3 = __toESM(require("react"), 1);
|
|
1504
1502
|
|
|
1505
1503
|
// src/components/codeInput/styles.ts
|
|
1506
1504
|
var import_styled_components2 = require("styled-components");
|
|
@@ -1604,7 +1602,7 @@ var propsMap = {
|
|
|
1604
1602
|
max: "9"
|
|
1605
1603
|
}
|
|
1606
1604
|
};
|
|
1607
|
-
var CodeInput = (0,
|
|
1605
|
+
var CodeInput = (0, import_react3.forwardRef)(
|
|
1608
1606
|
({
|
|
1609
1607
|
allowedCharacters = "alphanumeric",
|
|
1610
1608
|
ariaLabel,
|
|
@@ -1623,12 +1621,12 @@ var CodeInput = (0, import_react4.forwardRef)(
|
|
|
1623
1621
|
if (!allowedCharactersValues.some((value) => value === allowedCharacters)) {
|
|
1624
1622
|
throw new Error("Invalid value for allowedCharacters. Use alpha, numeric, or alphanumeric");
|
|
1625
1623
|
}
|
|
1626
|
-
const [focusIndex, setFocusIndex] =
|
|
1627
|
-
const [showFocusBorder, setShowFocusBorder] =
|
|
1628
|
-
const inputsRef = (0,
|
|
1624
|
+
const [focusIndex, setFocusIndex] = import_react3.default.useState(0);
|
|
1625
|
+
const [showFocusBorder, setShowFocusBorder] = import_react3.default.useState(false);
|
|
1626
|
+
const inputsRef = (0, import_react3.useRef)([]);
|
|
1629
1627
|
const inputProps = propsMap[allowedCharacters];
|
|
1630
|
-
const codeInputContainerRef = (0,
|
|
1631
|
-
(0,
|
|
1628
|
+
const codeInputContainerRef = (0, import_react3.useRef)(null);
|
|
1629
|
+
(0, import_react3.useImperativeHandle)(ref, () => ({
|
|
1632
1630
|
focus: () => {
|
|
1633
1631
|
if (inputsRef.current) {
|
|
1634
1632
|
inputsRef.current[0]?.focus();
|
|
@@ -1646,7 +1644,7 @@ var CodeInput = (0, import_react4.forwardRef)(
|
|
|
1646
1644
|
sendResult();
|
|
1647
1645
|
}
|
|
1648
1646
|
}));
|
|
1649
|
-
(0,
|
|
1647
|
+
(0, import_react3.useEffect)(() => {
|
|
1650
1648
|
if (code) {
|
|
1651
1649
|
for (let i = 0; i < inputsRef.current.length; i++) {
|
|
1652
1650
|
inputsRef.current[i].value = "";
|
|
@@ -2088,7 +2086,7 @@ var FlexBetween = import_styled_components3.styled.div`
|
|
|
2088
2086
|
`;
|
|
2089
2087
|
|
|
2090
2088
|
// src/components/reSend/index.tsx
|
|
2091
|
-
var
|
|
2089
|
+
var import_react4 = require("react");
|
|
2092
2090
|
|
|
2093
2091
|
// src/components/loadingSpinner/styles.ts
|
|
2094
2092
|
var import_framer_motion5 = require("framer-motion");
|
|
@@ -2175,11 +2173,11 @@ var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
|
2175
2173
|
var DownTime = 60;
|
|
2176
2174
|
var ReSend = ({ reSendCode }) => {
|
|
2177
2175
|
const locales = useLocales();
|
|
2178
|
-
const [downTimeStatus, setDownTimeStatus] = (0,
|
|
2176
|
+
const [downTimeStatus, setDownTimeStatus] = (0, import_react4.useState)(0 /* NotStarted */);
|
|
2179
2177
|
const { showError } = useModalError();
|
|
2180
|
-
const [downTime, setDownTime] = (0,
|
|
2181
|
-
const [loading, setLoading] = (0,
|
|
2182
|
-
const timerRef = (0,
|
|
2178
|
+
const [downTime, setDownTime] = (0, import_react4.useState)(DownTime);
|
|
2179
|
+
const [loading, setLoading] = (0, import_react4.useState)(false);
|
|
2180
|
+
const timerRef = (0, import_react4.useRef)(null);
|
|
2183
2181
|
const downTimeCount = () => {
|
|
2184
2182
|
setDownTime(DownTime);
|
|
2185
2183
|
setDownTimeStatus(1 /* InProgress */);
|
|
@@ -2210,7 +2208,7 @@ var ReSend = ({ reSendCode }) => {
|
|
|
2210
2208
|
setLoading(false);
|
|
2211
2209
|
}, 100);
|
|
2212
2210
|
};
|
|
2213
|
-
(0,
|
|
2211
|
+
(0, import_react4.useEffect)(() => {
|
|
2214
2212
|
downTimeCount();
|
|
2215
2213
|
return () => {
|
|
2216
2214
|
clearInterval(timerRef.current);
|
|
@@ -2292,12 +2290,12 @@ var useLastConnectorId = (0, import_zustand3.create)((set) => ({
|
|
|
2292
2290
|
}));
|
|
2293
2291
|
|
|
2294
2292
|
// src/hooks/useMutation.ts
|
|
2295
|
-
var
|
|
2293
|
+
var import_react5 = require("react");
|
|
2296
2294
|
var useMutation = (mutationFn, options) => {
|
|
2297
|
-
const [status, setStatus] = (0,
|
|
2298
|
-
const [data, setData] = (0,
|
|
2299
|
-
const [error, setError] = (0,
|
|
2300
|
-
const mutateAsync = (0,
|
|
2295
|
+
const [status, setStatus] = (0, import_react5.useState)("idle");
|
|
2296
|
+
const [data, setData] = (0, import_react5.useState)(null);
|
|
2297
|
+
const [error, setError] = (0, import_react5.useState)(null);
|
|
2298
|
+
const mutateAsync = (0, import_react5.useCallback)(
|
|
2301
2299
|
async (variables) => {
|
|
2302
2300
|
if (options?.onMutate) {
|
|
2303
2301
|
options.onMutate(variables);
|
|
@@ -2330,7 +2328,7 @@ var useMutation = (mutationFn, options) => {
|
|
|
2330
2328
|
},
|
|
2331
2329
|
[mutationFn, options]
|
|
2332
2330
|
);
|
|
2333
|
-
const mutate = (0,
|
|
2331
|
+
const mutate = (0, import_react5.useCallback)(
|
|
2334
2332
|
(variables) => {
|
|
2335
2333
|
mutateAsync(variables).catch(() => {
|
|
2336
2334
|
});
|
|
@@ -2380,7 +2378,7 @@ function useConnect(parameters) {
|
|
|
2380
2378
|
}
|
|
2381
2379
|
|
|
2382
2380
|
// src/hooks/useConnectors.ts
|
|
2383
|
-
var
|
|
2381
|
+
var import_react6 = require("react");
|
|
2384
2382
|
|
|
2385
2383
|
// src/actions/getConnectors.ts
|
|
2386
2384
|
var previousConnectors = [];
|
|
@@ -2403,7 +2401,7 @@ function watchConnectors(config, parameters) {
|
|
|
2403
2401
|
// src/hooks/useConnectors.ts
|
|
2404
2402
|
var useConnectors = () => {
|
|
2405
2403
|
const { config } = useContext();
|
|
2406
|
-
return (0,
|
|
2404
|
+
return (0, import_react6.useSyncExternalStore)(
|
|
2407
2405
|
(onChange) => watchConnectors(config, { onChange }),
|
|
2408
2406
|
() => getConnectors(config),
|
|
2409
2407
|
() => getConnectors(config)
|
|
@@ -2415,7 +2413,7 @@ function useConnector(id) {
|
|
|
2415
2413
|
}
|
|
2416
2414
|
|
|
2417
2415
|
// src/hooks/useRouter.ts
|
|
2418
|
-
var
|
|
2416
|
+
var import_react7 = require("react");
|
|
2419
2417
|
var useRouter = () => {
|
|
2420
2418
|
const { setOpen, open } = useModalState();
|
|
2421
2419
|
const setRoute = useRouteState((state) => state.setRoute);
|
|
@@ -2439,7 +2437,7 @@ var useRouter = () => {
|
|
|
2439
2437
|
}
|
|
2440
2438
|
setRoute({ path: validRoute, state });
|
|
2441
2439
|
};
|
|
2442
|
-
const close = (0,
|
|
2440
|
+
const close = (0, import_react7.useCallback)(() => {
|
|
2443
2441
|
setOpen(false);
|
|
2444
2442
|
}, [setOpen]);
|
|
2445
2443
|
return {
|
|
@@ -2542,8 +2540,8 @@ var Page = ({ value, type }) => {
|
|
|
2542
2540
|
const connector = useConnector((0, import_connector_core3.isEVMChain)(config.chains[0]) ? "particleEVM" : "particleSolana");
|
|
2543
2541
|
const { connectAsync } = useConnect();
|
|
2544
2542
|
const { appearance } = useAppearance();
|
|
2545
|
-
const [loading, setLoading] = (0,
|
|
2546
|
-
const emailCaptchaWrapperRef = (0,
|
|
2543
|
+
const [loading, setLoading] = (0, import_react8.useState)(false);
|
|
2544
|
+
const emailCaptchaWrapperRef = (0, import_react8.useRef)(null);
|
|
2547
2545
|
const walletConnector = useWalletConnector("particleAuth");
|
|
2548
2546
|
const { navigate } = useRouter();
|
|
2549
2547
|
const loginHandler = async (params) => {
|
|
@@ -2644,7 +2642,7 @@ var captcha_default = Page;
|
|
|
2644
2642
|
|
|
2645
2643
|
// src/pages/connecting/index.tsx
|
|
2646
2644
|
var import_framer_motion9 = require("framer-motion");
|
|
2647
|
-
var
|
|
2645
|
+
var import_react13 = require("react");
|
|
2648
2646
|
|
|
2649
2647
|
// src/components/squircleSpinner/index.tsx
|
|
2650
2648
|
var import_framer_motion7 = require("framer-motion");
|
|
@@ -2761,7 +2759,7 @@ var SquircleSpinner = ({ logo, connecting = true }) => {
|
|
|
2761
2759
|
var squircleSpinner_default = SquircleSpinner;
|
|
2762
2760
|
|
|
2763
2761
|
// src/assets/wallets.tsx
|
|
2764
|
-
var
|
|
2762
|
+
var import_react9 = require("react");
|
|
2765
2763
|
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
2766
2764
|
var Injected = ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
2767
2765
|
"path",
|
|
@@ -2794,10 +2792,10 @@ var Coinbase = ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("
|
|
|
2794
2792
|
] });
|
|
2795
2793
|
var Trust = ({ ...props }) => {
|
|
2796
2794
|
const { currentMode } = useIconColor_default();
|
|
2797
|
-
const id = (0,
|
|
2795
|
+
const id = (0, import_react9.useMemo)(() => {
|
|
2798
2796
|
return Math.random().toString(36).substring(7);
|
|
2799
2797
|
}, []);
|
|
2800
|
-
const id2 = (0,
|
|
2798
|
+
const id2 = (0, import_react9.useMemo)(() => {
|
|
2801
2799
|
return Math.random().toString(36).substring(7);
|
|
2802
2800
|
}, []);
|
|
2803
2801
|
return currentMode === "light" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "22", height: "24", viewBox: "0 0 22 24", fill: "none", ...props, children: [
|
|
@@ -3813,7 +3811,7 @@ var MetaMask = ({ ...props }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("
|
|
|
3813
3811
|
)
|
|
3814
3812
|
] });
|
|
3815
3813
|
var OKX = ({ ...props }) => {
|
|
3816
|
-
const id1 = (0,
|
|
3814
|
+
const id1 = (0, import_react9.useMemo)(() => {
|
|
3817
3815
|
return `okx_${Math.random().toString(36).substring(7)}_1`;
|
|
3818
3816
|
}, []);
|
|
3819
3817
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", ...props, children: [
|
|
@@ -3859,22 +3857,22 @@ var OKX = ({ ...props }) => {
|
|
|
3859
3857
|
] });
|
|
3860
3858
|
};
|
|
3861
3859
|
var BitKeep = ({ ...props }) => {
|
|
3862
|
-
const id1 = (0,
|
|
3860
|
+
const id1 = (0, import_react9.useMemo)(() => {
|
|
3863
3861
|
return `bitKeep_${Math.random().toString(36).substring(7)}_1`;
|
|
3864
3862
|
}, []);
|
|
3865
|
-
const id2 = (0,
|
|
3863
|
+
const id2 = (0, import_react9.useMemo)(() => {
|
|
3866
3864
|
return `bitKeep_${Math.random().toString(36).substring(7)}_2`;
|
|
3867
3865
|
}, []);
|
|
3868
|
-
const id3 = (0,
|
|
3866
|
+
const id3 = (0, import_react9.useMemo)(() => {
|
|
3869
3867
|
return `bitKeep_${Math.random().toString(36).substring(7)}_3`;
|
|
3870
3868
|
}, []);
|
|
3871
|
-
const id4 = (0,
|
|
3869
|
+
const id4 = (0, import_react9.useMemo)(() => {
|
|
3872
3870
|
return `bitKeep_${Math.random().toString(36).substring(7)}_4`;
|
|
3873
3871
|
}, []);
|
|
3874
|
-
const id5 = (0,
|
|
3872
|
+
const id5 = (0, import_react9.useMemo)(() => {
|
|
3875
3873
|
return `bitKeep_${Math.random().toString(36).substring(7)}_5`;
|
|
3876
3874
|
}, []);
|
|
3877
|
-
const id6 = (0,
|
|
3875
|
+
const id6 = (0, import_react9.useMemo)(() => {
|
|
3878
3876
|
return `bitKeep_${Math.random().toString(36).substring(7)}_6`;
|
|
3879
3877
|
}, []);
|
|
3880
3878
|
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", ...props, children: [
|
|
@@ -4993,10 +4991,10 @@ var isPasskeySmartWallet = (id) => {
|
|
|
4993
4991
|
};
|
|
4994
4992
|
|
|
4995
4993
|
// src/hooks/useIsMobile.ts
|
|
4996
|
-
var
|
|
4994
|
+
var import_react10 = require("react");
|
|
4997
4995
|
function useIsMobile() {
|
|
4998
|
-
const [mobile, setMobile] = (0,
|
|
4999
|
-
(0,
|
|
4996
|
+
const [mobile, setMobile] = (0, import_react10.useState)(isMobile());
|
|
4997
|
+
(0, import_react10.useEffect)(() => {
|
|
5000
4998
|
const handleResize = () => {
|
|
5001
4999
|
setMobile(isMobile());
|
|
5002
5000
|
};
|
|
@@ -5007,13 +5005,13 @@ function useIsMobile() {
|
|
|
5007
5005
|
}
|
|
5008
5006
|
|
|
5009
5007
|
// src/hooks/useWalletConnectModal.tsx
|
|
5010
|
-
var
|
|
5008
|
+
var import_react11 = require("react");
|
|
5011
5009
|
function useWalletConnectModal() {
|
|
5012
5010
|
const { connectAsync } = useConnect();
|
|
5013
5011
|
const { config } = useContext();
|
|
5014
5012
|
const walletConnector = useWalletConnector("evmWallet");
|
|
5015
5013
|
const { updateLastConnectorId } = useLastConnectorId();
|
|
5016
|
-
const [error, setError] = (0,
|
|
5014
|
+
const [error, setError] = (0, import_react11.useState)();
|
|
5017
5015
|
const openW3m = async () => {
|
|
5018
5016
|
setError(void 0);
|
|
5019
5017
|
if (walletConnector && walletConnector.w3mConnector) {
|
|
@@ -5040,20 +5038,20 @@ function useWalletConnectModal() {
|
|
|
5040
5038
|
}
|
|
5041
5039
|
|
|
5042
5040
|
// src/hooks/useWalletConnectUri.ts
|
|
5043
|
-
var
|
|
5041
|
+
var import_react12 = require("react");
|
|
5044
5042
|
function useWalletConnectUri(connectorId) {
|
|
5045
5043
|
const connector = useConnector("walletConnect");
|
|
5046
5044
|
const { connectAsync } = useConnect();
|
|
5047
5045
|
const { updateLastConnectorId } = useLastConnectorId();
|
|
5048
|
-
const [uri, setUri] = (0,
|
|
5049
|
-
const [error, setError] = (0,
|
|
5050
|
-
const handleMessage = (0,
|
|
5046
|
+
const [uri, setUri] = (0, import_react12.useState)();
|
|
5047
|
+
const [error, setError] = (0, import_react12.useState)();
|
|
5048
|
+
const handleMessage = (0, import_react12.useCallback)((message) => {
|
|
5051
5049
|
const { type, data } = message;
|
|
5052
5050
|
if (type === "display_uri") {
|
|
5053
5051
|
setUri(data);
|
|
5054
5052
|
}
|
|
5055
5053
|
}, []);
|
|
5056
|
-
const connectWalletConnect = (0,
|
|
5054
|
+
const connectWalletConnect = (0, import_react12.useCallback)(
|
|
5057
5055
|
async (connector2) => {
|
|
5058
5056
|
setError(void 0);
|
|
5059
5057
|
try {
|
|
@@ -5067,7 +5065,7 @@ function useWalletConnectUri(connectorId) {
|
|
|
5067
5065
|
},
|
|
5068
5066
|
[connectAsync, connectorId, updateLastConnectorId]
|
|
5069
5067
|
);
|
|
5070
|
-
const requestUri = (0,
|
|
5068
|
+
const requestUri = (0, import_react12.useCallback)(() => {
|
|
5071
5069
|
if (connector) {
|
|
5072
5070
|
connectWalletConnect(connector);
|
|
5073
5071
|
connector.emitter.on("message", handleMessage);
|
|
@@ -5237,7 +5235,7 @@ var Page2 = ({
|
|
|
5237
5235
|
passkeyParams
|
|
5238
5236
|
}) => {
|
|
5239
5237
|
const locales = useLocales();
|
|
5240
|
-
const [status, setStatus] = (0,
|
|
5238
|
+
const [status, setStatus] = (0, import_react13.useState)(States.CONNECTING);
|
|
5241
5239
|
const controller = (0, import_framer_motion9.useAnimationControls)();
|
|
5242
5240
|
const { config } = useContext();
|
|
5243
5241
|
const {
|
|
@@ -5250,7 +5248,7 @@ var Page2 = ({
|
|
|
5250
5248
|
const { updateLastConnectorId } = useLastConnectorId();
|
|
5251
5249
|
const { openW3m, error: openW3mError } = useWalletConnectModal();
|
|
5252
5250
|
const { isConnected } = useAccount();
|
|
5253
|
-
const handleError = (0,
|
|
5251
|
+
const handleError = (0, import_react13.useCallback)((error) => {
|
|
5254
5252
|
if (error) {
|
|
5255
5253
|
if (error.code) {
|
|
5256
5254
|
switch (error.code) {
|
|
@@ -5278,7 +5276,7 @@ var Page2 = ({
|
|
|
5278
5276
|
}
|
|
5279
5277
|
}
|
|
5280
5278
|
}, []);
|
|
5281
|
-
const connectCallback = (0,
|
|
5279
|
+
const connectCallback = (0, import_react13.useMemo)(
|
|
5282
5280
|
() => ({
|
|
5283
5281
|
onMutate: ({ connector }) => {
|
|
5284
5282
|
if (connector) {
|
|
@@ -5294,10 +5292,10 @@ var Page2 = ({
|
|
|
5294
5292
|
[handleError]
|
|
5295
5293
|
);
|
|
5296
5294
|
const { connect: connect2 } = useConnect(connectCallback);
|
|
5297
|
-
const isPasskey = (0,
|
|
5295
|
+
const isPasskey = (0, import_react13.useMemo)(() => {
|
|
5298
5296
|
return wallet.connector.id === "passkeySmartWallet";
|
|
5299
5297
|
}, [wallet]);
|
|
5300
|
-
const walletInfo = (0,
|
|
5298
|
+
const walletInfo = (0, import_react13.useMemo)(() => {
|
|
5301
5299
|
let icon = wallet.icon;
|
|
5302
5300
|
if (authParams?.socialType) {
|
|
5303
5301
|
const Icon10 = getSocialIcon(authParams.socialType);
|
|
@@ -5315,7 +5313,7 @@ var Page2 = ({
|
|
|
5315
5313
|
passkey
|
|
5316
5314
|
};
|
|
5317
5315
|
}, [wallet, authParams, passkeyParams, isPasskey]);
|
|
5318
|
-
const suggestedExtension = (0,
|
|
5316
|
+
const suggestedExtension = (0, import_react13.useMemo)(() => {
|
|
5319
5317
|
return wallet?.downloadUrls ? {
|
|
5320
5318
|
name: Object.keys(wallet?.downloadUrls)[0],
|
|
5321
5319
|
label: Object.keys(wallet.downloadUrls)[0].charAt(0).toUpperCase() + Object.keys(wallet.downloadUrls)[0].slice(1),
|
|
@@ -5348,29 +5346,29 @@ var Page2 = ({
|
|
|
5348
5346
|
setStatus(States.UNAVAILABLE);
|
|
5349
5347
|
}
|
|
5350
5348
|
};
|
|
5351
|
-
(0,
|
|
5349
|
+
(0, import_react13.useEffect)(() => {
|
|
5352
5350
|
const connectTimeout = setTimeout(onConnect, 200);
|
|
5353
5351
|
return () => {
|
|
5354
5352
|
clearTimeout(connectTimeout);
|
|
5355
5353
|
};
|
|
5356
5354
|
}, []);
|
|
5357
|
-
(0,
|
|
5355
|
+
(0, import_react13.useEffect)(() => {
|
|
5358
5356
|
if (uri && isMobile2 && wallet.connector.chainType === "evm" && wallet.getWalletConnectDeeplink) {
|
|
5359
5357
|
const url = wallet.getWalletConnectDeeplink(uri);
|
|
5360
5358
|
openMobileUrl(url);
|
|
5361
5359
|
}
|
|
5362
5360
|
}, [uri]);
|
|
5363
|
-
(0,
|
|
5361
|
+
(0, import_react13.useEffect)(() => {
|
|
5364
5362
|
if (isMobile2 && requestWCUriError) {
|
|
5365
5363
|
handleError(requestWCUriError);
|
|
5366
5364
|
}
|
|
5367
5365
|
}, [requestWCUriError, handleError]);
|
|
5368
|
-
(0,
|
|
5366
|
+
(0, import_react13.useEffect)(() => {
|
|
5369
5367
|
if (isMobile2 && isWalletConnect(wallet.connector.id) && openW3mError) {
|
|
5370
5368
|
handleError(openW3mError);
|
|
5371
5369
|
}
|
|
5372
5370
|
}, [openW3mError, handleError]);
|
|
5373
|
-
(0,
|
|
5371
|
+
(0, import_react13.useEffect)(() => {
|
|
5374
5372
|
return () => {
|
|
5375
5373
|
if (!isConnected) {
|
|
5376
5374
|
config.setState((x) => ({
|
|
@@ -5380,7 +5378,7 @@ var Page2 = ({
|
|
|
5380
5378
|
}
|
|
5381
5379
|
};
|
|
5382
5380
|
}, [isConnected]);
|
|
5383
|
-
const connectingH = (0,
|
|
5381
|
+
const connectingH = (0, import_react13.useMemo)(() => {
|
|
5384
5382
|
const walletName = walletInfo.shortName || walletInfo.name || "Wallet";
|
|
5385
5383
|
if (status == States.CONNECTED) {
|
|
5386
5384
|
return locales.connectingConnected;
|
|
@@ -5402,7 +5400,7 @@ var Page2 = ({
|
|
|
5402
5400
|
}
|
|
5403
5401
|
return locales.connectingRequest;
|
|
5404
5402
|
}, [status, locales, walletInfo, suggestedExtension]);
|
|
5405
|
-
const connectingP = (0,
|
|
5403
|
+
const connectingP = (0, import_react13.useMemo)(() => {
|
|
5406
5404
|
const walletName = walletInfo.shortName || walletInfo.name || "Wallet";
|
|
5407
5405
|
if (status == States.CONNECTED) {
|
|
5408
5406
|
return locales.connectingConnectedDesc;
|
|
@@ -5433,7 +5431,7 @@ var Page2 = ({
|
|
|
5433
5431
|
}
|
|
5434
5432
|
return locales.connectingRequestDesc;
|
|
5435
5433
|
}, [status, locales, walletInfo, suggestedExtension]);
|
|
5436
|
-
(0,
|
|
5434
|
+
(0, import_react13.useEffect)(() => {
|
|
5437
5435
|
if (connectingH) {
|
|
5438
5436
|
toggleAnim();
|
|
5439
5437
|
}
|
|
@@ -5514,7 +5512,7 @@ var connecting_default = Page2;
|
|
|
5514
5512
|
|
|
5515
5513
|
// src/components/socialLogin/index.tsx
|
|
5516
5514
|
var import_connector_core4 = require("@particle-network/connector-core");
|
|
5517
|
-
var
|
|
5515
|
+
var import_react14 = require("react");
|
|
5518
5516
|
|
|
5519
5517
|
// src/assets/toggle.tsx
|
|
5520
5518
|
var import_framer_motion10 = require("framer-motion");
|
|
@@ -5948,14 +5946,14 @@ var SocialLogin = ({ expandList }) => {
|
|
|
5948
5946
|
const evmWalletConnector = useWalletConnector("evmWallet");
|
|
5949
5947
|
const { lastConnectorId } = useLastConnectorId();
|
|
5950
5948
|
const connectWallet = useConnectWithWallet();
|
|
5951
|
-
const recentConnectSocialAuthType = (0,
|
|
5949
|
+
const recentConnectSocialAuthType = (0, import_react14.useMemo)(() => {
|
|
5952
5950
|
if (lastConnectorId !== "particleSolana" && lastConnectorId !== "particleEVM") {
|
|
5953
5951
|
return lastConnectorId;
|
|
5954
5952
|
}
|
|
5955
5953
|
const lastAuthType = walletConnector.auth.getLatestAuthType();
|
|
5956
5954
|
return lastAuthType;
|
|
5957
5955
|
}, [lastConnectorId, walletConnector.auth]);
|
|
5958
|
-
const authTypes = (0,
|
|
5956
|
+
const authTypes = (0, import_react14.useMemo)(() => {
|
|
5959
5957
|
if (!walletConnector) {
|
|
5960
5958
|
return [];
|
|
5961
5959
|
}
|
|
@@ -5968,15 +5966,15 @@ var SocialLogin = ({ expandList }) => {
|
|
|
5968
5966
|
}
|
|
5969
5967
|
return walletConnector.supportAuthTypes;
|
|
5970
5968
|
}, [walletConnector, evmWalletConnector, appearance.collapsePasskeyButton, config.plugins]);
|
|
5971
|
-
const socialAuthTypes2 = (0,
|
|
5969
|
+
const socialAuthTypes2 = (0, import_react14.useMemo)(() => {
|
|
5972
5970
|
return authTypes.filter((item) => isSocialAuthType(item) || item === "passkeySmartWallet");
|
|
5973
5971
|
}, [authTypes]);
|
|
5974
|
-
const _expandList = (0,
|
|
5972
|
+
const _expandList = (0, import_react14.useMemo)(() => {
|
|
5975
5973
|
const evmConnector = config.getWalletConnector("evmWallet");
|
|
5976
5974
|
const solanaConnector = config.getWalletConnector("solanaWallet");
|
|
5977
5975
|
return expandList || !authTypes.includes("email") && !authTypes.includes("phone") && !evmConnector && !solanaConnector;
|
|
5978
5976
|
}, [expandList, authTypes, config]);
|
|
5979
|
-
const renderAuthTypes = (0,
|
|
5977
|
+
const renderAuthTypes = (0, import_react14.useMemo)(() => {
|
|
5980
5978
|
if (_expandList) {
|
|
5981
5979
|
return socialAuthTypes2;
|
|
5982
5980
|
}
|
|
@@ -6008,7 +6006,7 @@ var SocialLogin = ({ expandList }) => {
|
|
|
6008
6006
|
navigate("login-passkey" /* LoginPasskey */);
|
|
6009
6007
|
}
|
|
6010
6008
|
};
|
|
6011
|
-
const felxRow = (0,
|
|
6009
|
+
const felxRow = (0, import_react14.useMemo)(() => {
|
|
6012
6010
|
if (_expandList) {
|
|
6013
6011
|
return false;
|
|
6014
6012
|
}
|
|
@@ -6016,7 +6014,7 @@ var SocialLogin = ({ expandList }) => {
|
|
|
6016
6014
|
}, [_expandList, socialAuthTypes2]);
|
|
6017
6015
|
return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(SocialLoginContainer, { $felxRow: felxRow, children: renderAuthTypes.map((authType, index) => {
|
|
6018
6016
|
const Icon10 = getSocialIcon(authType);
|
|
6019
|
-
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
6017
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_react14.Fragment, { children: [
|
|
6020
6018
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(SocialItem, { $felxRow: felxRow, onClick: () => onSocialLogin(authType), children: [
|
|
6021
6019
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon10, {}),
|
|
6022
6020
|
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", { children: authType === "passkeySmartWallet" ? "Passkey" : authType }),
|
|
@@ -6032,7 +6030,7 @@ var SocialLogin = ({ expandList }) => {
|
|
|
6032
6030
|
var socialLogin_default = SocialLogin;
|
|
6033
6031
|
|
|
6034
6032
|
// src/components/wallets/index.tsx
|
|
6035
|
-
var
|
|
6033
|
+
var import_react15 = require("react");
|
|
6036
6034
|
|
|
6037
6035
|
// src/components/button/styles.ts
|
|
6038
6036
|
var import_framer_motion13 = require("framer-motion");
|
|
@@ -6161,7 +6159,7 @@ var Wallets = ({ expandList }) => {
|
|
|
6161
6159
|
const { lastConnectorId } = useLastConnectorId();
|
|
6162
6160
|
const connectWallet = useConnectWithWallet();
|
|
6163
6161
|
const { appearance } = useAppearance();
|
|
6164
|
-
const walletData = (0,
|
|
6162
|
+
const walletData = (0, import_react15.useMemo)(() => {
|
|
6165
6163
|
const _wallets = wallets.filter(
|
|
6166
6164
|
(wallet) => wallet.connector.type !== "particleAuth" && wallet.connector.id !== "passkeySmartWallet"
|
|
6167
6165
|
);
|
|
@@ -6223,7 +6221,7 @@ var Wallets = ({ expandList }) => {
|
|
|
6223
6221
|
});
|
|
6224
6222
|
return datas;
|
|
6225
6223
|
}, [locales, wallets, appearance?.recommendedWallets, lastConnectorId]);
|
|
6226
|
-
const renderWallets = (0,
|
|
6224
|
+
const renderWallets = (0, import_react15.useMemo)(() => {
|
|
6227
6225
|
if (expandList) {
|
|
6228
6226
|
return walletData;
|
|
6229
6227
|
}
|
|
@@ -6235,7 +6233,7 @@ var Wallets = ({ expandList }) => {
|
|
|
6235
6233
|
}
|
|
6236
6234
|
return walletData;
|
|
6237
6235
|
}, [walletData, expandList, appearance?.collapseWalletList]);
|
|
6238
|
-
const displayActionBtn = (0,
|
|
6236
|
+
const displayActionBtn = (0, import_react15.useMemo)(() => {
|
|
6239
6237
|
return !expandList && (appearance?.collapseWalletList || walletData.length > 3);
|
|
6240
6238
|
}, [expandList, appearance?.collapseWalletList, walletData]);
|
|
6241
6239
|
const onWalletClick = (data) => {
|
|
@@ -6285,7 +6283,7 @@ var Connectors = ({ type = "wallet" }) => {
|
|
|
6285
6283
|
var connectors_default = Connectors;
|
|
6286
6284
|
|
|
6287
6285
|
// src/pages/downloadApp/index.tsx
|
|
6288
|
-
var
|
|
6286
|
+
var import_react17 = require("react");
|
|
6289
6287
|
|
|
6290
6288
|
// src/assets/browser/android.tsx
|
|
6291
6289
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
@@ -6980,7 +6978,7 @@ var import_framer_motion15 = require("framer-motion");
|
|
|
6980
6978
|
|
|
6981
6979
|
// src/components/CustomQRCode/QRCode.tsx
|
|
6982
6980
|
var import_qrcode = __toESM(require("qrcode"), 1);
|
|
6983
|
-
var
|
|
6981
|
+
var import_react16 = require("react");
|
|
6984
6982
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
6985
6983
|
var generateMatrix = (value, errorCorrectionLevel) => {
|
|
6986
6984
|
const arr = Array.prototype.slice.call(import_qrcode.default.create(value, { errorCorrectionLevel }).modules.data, 0);
|
|
@@ -7000,7 +6998,7 @@ function QRCode({
|
|
|
7000
6998
|
}) {
|
|
7001
6999
|
const logoSize = clearArea ? 76 : 0;
|
|
7002
7000
|
const size = sizeProp - 10 * 2;
|
|
7003
|
-
const dots = (0,
|
|
7001
|
+
const dots = (0, import_react16.useMemo)(() => {
|
|
7004
7002
|
const dots2 = [];
|
|
7005
7003
|
const matrix = generateMatrix(uri, ecl);
|
|
7006
7004
|
const cellSize = size / matrix.length;
|
|
@@ -7426,8 +7424,8 @@ var Tip = (0, import_styled_components13.styled)(Subtitle)`
|
|
|
7426
7424
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
7427
7425
|
var Page3 = ({ wallet }) => {
|
|
7428
7426
|
const locales = useLocales();
|
|
7429
|
-
const [viewType, setViewType] = (0,
|
|
7430
|
-
const downloadUrls = (0,
|
|
7427
|
+
const [viewType, setViewType] = (0, import_react17.useState)();
|
|
7428
|
+
const downloadUrls = (0, import_react17.useMemo)(() => {
|
|
7431
7429
|
if (wallet?.downloadUrls) {
|
|
7432
7430
|
return Object.keys(wallet.downloadUrls).map((key) => {
|
|
7433
7431
|
const url = wallet?.downloadUrls?.[key] || "";
|
|
@@ -7450,7 +7448,7 @@ var Page3 = ({ wallet }) => {
|
|
|
7450
7448
|
return [];
|
|
7451
7449
|
}
|
|
7452
7450
|
}, [wallet, locales]);
|
|
7453
|
-
(0,
|
|
7451
|
+
(0, import_react17.useEffect)(() => {
|
|
7454
7452
|
const { website } = wallet?.downloadUrls || {};
|
|
7455
7453
|
if (downloadUrls?.length) {
|
|
7456
7454
|
setViewType("List" /* List */);
|
|
@@ -7520,8 +7518,6 @@ var TipText = import_styled_components14.styled.div`
|
|
|
7520
7518
|
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
7521
7519
|
var LoginPasskey = () => {
|
|
7522
7520
|
const locales = useLocales();
|
|
7523
|
-
const { appearance } = useAppearance();
|
|
7524
|
-
const language = useLanguage();
|
|
7525
7521
|
const { navigate } = useRouter();
|
|
7526
7522
|
const connectWallet = useConnectWithWallet();
|
|
7527
7523
|
const wallet = useWalletProps("passkeySmartWallet");
|
|
@@ -7549,9 +7545,9 @@ var LoginPasskey = () => {
|
|
|
7549
7545
|
};
|
|
7550
7546
|
return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(PageContent, { children: [
|
|
7551
7547
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(IconWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(PasskeyIcon, {}) }),
|
|
7552
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TipText, { children:
|
|
7548
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(TipText, { children: locales.usePasskeyToLoginSmartAccount }),
|
|
7553
7549
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_jsx_runtime27.Fragment, { children: [
|
|
7554
|
-
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(button_default, { style: { marginTop: 16 }, onClick: onRegistration, children:
|
|
7550
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(button_default, { style: { marginTop: 16 }, onClick: onRegistration, children: locales.createNewPasskey }),
|
|
7555
7551
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
7556
7552
|
button_default,
|
|
7557
7553
|
{
|
|
@@ -7560,7 +7556,7 @@ var LoginPasskey = () => {
|
|
|
7560
7556
|
},
|
|
7561
7557
|
onClick: onAuthentication,
|
|
7562
7558
|
color: "secondary",
|
|
7563
|
-
children:
|
|
7559
|
+
children: locales.loginWithPasskey
|
|
7564
7560
|
}
|
|
7565
7561
|
)
|
|
7566
7562
|
] })
|
|
@@ -7691,7 +7687,7 @@ var passkeySetup_default = Signup;
|
|
|
7691
7687
|
var import_connector_core5 = require("@particle-network/connector-core");
|
|
7692
7688
|
|
|
7693
7689
|
// src/components/copyToClipboard/index.tsx
|
|
7694
|
-
var
|
|
7690
|
+
var import_react18 = require("react");
|
|
7695
7691
|
|
|
7696
7692
|
// src/components/copyToClipboard/CopyToClipboardIcon.tsx
|
|
7697
7693
|
var import_framer_motion17 = require("framer-motion");
|
|
@@ -7799,8 +7795,8 @@ var OffsetContainer = import_styled_components17.styled.div`
|
|
|
7799
7795
|
// src/components/copyToClipboard/index.tsx
|
|
7800
7796
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
7801
7797
|
var CopyToClipboard = ({ string, children, variant }) => {
|
|
7802
|
-
const [clipboard, setClipboard] = (0,
|
|
7803
|
-
const [className, setClassName] = (0,
|
|
7798
|
+
const [clipboard, setClipboard] = (0, import_react18.useState)(false);
|
|
7799
|
+
const [className, setClassName] = (0, import_react18.useState)("copied-0");
|
|
7804
7800
|
let timeout;
|
|
7805
7801
|
function copyToClipboard(str) {
|
|
7806
7802
|
if (navigator.clipboard && window.isSecureContext) {
|
|
@@ -7883,11 +7879,11 @@ var CopyToClipboard = ({ string, children, variant }) => {
|
|
|
7883
7879
|
var copyToClipboard_default = CopyToClipboard;
|
|
7884
7880
|
|
|
7885
7881
|
// src/hooks/useAddress.ts
|
|
7886
|
-
var
|
|
7882
|
+
var import_react20 = require("react");
|
|
7887
7883
|
var import_viem2 = require("viem");
|
|
7888
7884
|
|
|
7889
7885
|
// src/hooks/useDisconnect.ts
|
|
7890
|
-
var
|
|
7886
|
+
var import_react19 = require("react");
|
|
7891
7887
|
|
|
7892
7888
|
// src/actions/disconnect.ts
|
|
7893
7889
|
async function disconnect(config, parameters = {}) {
|
|
@@ -7937,7 +7933,7 @@ async function disconnect(config, parameters = {}) {
|
|
|
7937
7933
|
// src/hooks/useDisconnect.ts
|
|
7938
7934
|
function useDisconnect(parameters) {
|
|
7939
7935
|
const { config } = useContext();
|
|
7940
|
-
const mutationFn = (0,
|
|
7936
|
+
const mutationFn = (0, import_react19.useCallback)(async (parameters2) => {
|
|
7941
7937
|
await disconnect(config, parameters2 ?? void 0);
|
|
7942
7938
|
}, []);
|
|
7943
7939
|
const { status, data, error, mutate, mutateAsync } = useMutation(mutationFn, parameters);
|
|
@@ -7971,8 +7967,8 @@ var useAddress = () => {
|
|
|
7971
7967
|
const smartAccount = useSmartAccount();
|
|
7972
7968
|
const { disconnect: disconnect2 } = useDisconnect();
|
|
7973
7969
|
const { showError } = useModalError();
|
|
7974
|
-
const [address, setAddress] = (0,
|
|
7975
|
-
(0,
|
|
7970
|
+
const [address, setAddress] = (0, import_react20.useState)();
|
|
7971
|
+
(0, import_react20.useEffect)(() => {
|
|
7976
7972
|
if (smartAccount && eoaAddress && eoaAddress.startsWith("0x")) {
|
|
7977
7973
|
setAddress(void 0);
|
|
7978
7974
|
if (chain) {
|
|
@@ -8096,7 +8092,7 @@ var Page4 = () => {
|
|
|
8096
8092
|
var receive_default = Page4;
|
|
8097
8093
|
|
|
8098
8094
|
// src/pages/selectChain/index.tsx
|
|
8099
|
-
var
|
|
8095
|
+
var import_react21 = require("react");
|
|
8100
8096
|
|
|
8101
8097
|
// src/assets/chains/eth.tsx
|
|
8102
8098
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
@@ -8183,7 +8179,7 @@ var Page5 = ({ walletData }) => {
|
|
|
8183
8179
|
const locales = useLocales();
|
|
8184
8180
|
const connectWallet = useConnectWithWallet();
|
|
8185
8181
|
return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(PageContent, { style: { marginTop: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Wrapper, { children: [
|
|
8186
|
-
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(WalletIconContainer2, { children: !!walletData?.props?.[0]?.icon && (0,
|
|
8182
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(WalletIconContainer2, { children: !!walletData?.props?.[0]?.icon && (0, import_react21.cloneElement)(walletData?.props?.[0].icon, {}) }),
|
|
8187
8183
|
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
8188
8184
|
Title,
|
|
8189
8185
|
{
|
|
@@ -8218,7 +8214,7 @@ var Page5 = ({ walletData }) => {
|
|
|
8218
8214
|
var selectChain_default = Page5;
|
|
8219
8215
|
|
|
8220
8216
|
// src/pages/signup/index.tsx
|
|
8221
|
-
var
|
|
8217
|
+
var import_react26 = __toESM(require("react"), 1);
|
|
8222
8218
|
|
|
8223
8219
|
// src/assets/logo.svg
|
|
8224
8220
|
var logo_default = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA5IiBoZWlnaHQ9IjQxIiB2aWV3Qm94PSIwIDAgMjA5IDQxIiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8ZyBjbGlwLXBhdGg9InVybCgjY2xpcDBfMF82NzY2KSI+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNTkuOTMwMSAyMi40NzlDNTkuODE0OSAyMy43MDk1IDU5LjE1NiAyNC44MjUzIDU4LjEzMTkgMjUuNTI0M0M1Ni45MzUzIDI2LjMyNjEgNTUuNTEyNyAyNi43MjY1IDU0LjA3MTQgMjYuNjY3MkM1Mi40NjA1IDI2Ljc1MDQgNTAuODc2MSAyNi4yMzQgNDkuNjI2OCAyNS4yMTg1QzQ4LjUxNTggMjQuMjQwNyA0Ny45MDcgMjIuODE2NSA0Ny45Njk0IDIxLjM0MThDNDcuOTA2NyAxOS44NjU0IDQ4LjUxNTQgMTguNDM5NCA0OS42MjY4IDE3LjQ1OTRDNTAuODc1MiAxNi40NDI1IDUyLjQ1OTcgMTUuOTI1MyA1NC4wNzA4IDE2LjAwODdDNTUuNDkzNyAxNS45NTI3IDU2Ljg5OTUgMTYuMzMzNyA1OC4wOTczIDE3LjEwMDFDNTkuMTAxNiAxNy43MzQ4IDU5Ljc2MTMgMTguNzg5OCA1OS44ODk4IDE5Ljk2N0w1Ny4xMTAyIDE5Ljk2N0M1Ni45NjY5IDE5LjM4NCA1Ni41OTkgMTguODgwNiA1Ni4wODYgMTguNTY1NEM1NS40NzAyIDE4LjIyNDYgNTQuNzcxMyAxOC4wNjEyIDU0LjA2NzUgMTguMDkzM0M1My4xNzkgMTguMDQ1NCA1Mi4zMDkgMTguMzU5MSA1MS42NTc0IDE4Ljk2MjNDNTEuMDQ4MSAxOS42MDA2IDUwLjczMDQgMjAuNDYwOCA1MC43NzkxIDIxLjMzOTlDNTAuNzMxMyAyMi4yMTczIDUxLjA0OTggMjMuMDc1NCA1MS42NTkzIDIzLjcxMTFDNTIuMzEyNyAyNC4zMTM2IDUzLjE4NCAyNC42MjYxIDU0LjA3MzMgMjQuNTc2OUM1NC44MjUxIDI0LjYxMjkgNTUuNTY5OSAyNC40MTk1IDU2LjIwODIgMjQuMDIyN0M1Ni43MzQgMjMuNjcxOSA1Ny4wNzQ5IDIzLjEwNTggNTcuMTM3NyAyMi40NzlMNTkuOTMwMSAyMi40NzlaTTIyLjIyODEgMTYuMjc1N1YyNi4zOTc3TDI0Ljc3NCAyNi4zOTcxVjIyLjY2NzZMMjcuNzE4NyAyMi42Njc2QzI4LjIzMDMgMjIuNjAyMyAyOC43NDUzIDIyLjc1OTQgMjkuMTMyMiAyMy4wOTg5QzI5LjQzNjkgMjMuNjU3MSAyOS41NjI5IDI0LjI5NDYgMjkuNDkzMyAyNC45MjYxVjI1LjYxMDNDMjkuNDkyNCAyNS43NTMzIDI5LjUwOTggMjUuODk1OSAyOS41NDUxIDI2LjAzNDZDMjkuNTc3OCAyNi4xNjI2IDI5LjYzIDI2LjI4NDkgMjkuNyAyNi4zOTcxSDMyLjU1NzdDMzIuMjU1MSAyNi4wNTAxIDMyLjA3NjMgMjUuMjQ5MyAzMi4wMjEyIDIzLjk5NDZDMzIuMDE3IDIzLjg3NjEgMzIuMDEyNSAyMy43ODI3IDMyLjAwNzggMjMuNzE0M0MzMi4wMjIxIDIzLjIwODcgMzEuOTEyMyAyMi43MDcyIDMxLjY4NzcgMjIuMjUzNUMzMS40NDg5IDIxLjkzMzYgMzEuMTE5NyAyMS42OTE4IDMwLjc0MjIgMjEuNTU5QzMxLjI1MyAyMS4zNzI4IDMxLjY4OTYgMjEuMDI3MSAzMS45ODY3IDIwLjU3MzVDMzIuMjg5OCAyMC4xMDQ2IDMyLjQ0NTggMTkuNTU2NiAzMi40MzQ4IDE4Ljk5OTJDMzIuNDk0OCAxOC4xOTM1IDMyLjEzMTUgMTcuNDE0MiAzMS40NzQ1IDE2LjkzOTVDMzAuNTYyIDE2LjQzMDUgMjkuNTE5MyAxNi4xOTk2IDI4LjQ3NiAxNi4yNzU3SDIyLjIyODFaTTAgMTYuMjc1N1YyNi4zOTc3SDIuNTUxMDJWMjMuMTYwN0w2LjAyMzg2IDIzLjE2MDdDNy4wMjg4OCAyMy4yMjEgOC4wMTg5OSAyMi44OTY0IDguNzkxMjYgMjIuMjUzNUM5LjQ3NTc1IDIxLjU5NSA5LjgzODQyIDIwLjY3MjcgOS43ODQ3OCAxOS43MjY4QzkuODM4MDcgMTguNzc4MyA5LjQ3NTY2IDE3Ljg1MzQgOC43OTEyNiAxNy4xOTEyQzguMDIxMTggMTYuNTQzNiA3LjAzMDI0IDE2LjIxNTggNi4wMjM4NiAxNi4yNzU3SDBaTTQuODg4ODcgMjEuMTgyNUgyLjU1MTAyVjE4LjM1SDUuMDUyNzVDNS42Mzk1IDE4LjI5NjIgNi4yMjk3NyAxOC40MDUxIDYuNzU4MTIgMTguNjY0N0M3LjA4MzM4IDE4LjkzNDEgNy4yNTE1OSAxOS4zNDc2IDcuMjA2MjMgMTkuNzY2M0M3LjI0NTY0IDIwLjE5NjIgNy4wNDgyNSAyMC42MTM3IDYuNjkwMjcgMjAuODU3NkM2LjEyODE4IDIxLjExOTMgNS41MDc0NyAyMS4yMzEyIDQuODg4ODcgMjEuMTgyNVpNMTQuMjExNSAyMi4yMDk1SDE2LjkwMDFMMTUuNTM0IDE5LjA4MTRMMTQuMjExNSAyMi4yMDk1Wk0xNC40OTU3IDE2LjI3NTdMOS42NzI3NSAyNi4zOTc3TDEyLjQyNTQgMjYuMzk3N0wxMy4zNDAyIDI0LjI1NThIMTcuODE3NUwxOC43NDU3IDI2LjM5NzdIMjEuNTc4NEwxNi45NDM2IDE2LjI3NTdIMTQuNDk1N1pNMjQuNzc0IDIwLjU5NDVIMjcuNjU0N0MyOC4yMDQ3IDIwLjYzNTcgMjguNzU2NCAyMC41NDA1IDI5LjI2MDIgMjAuMzE3NEMyOS41NzQ5IDIwLjEyMzUgMjkuNzU0IDE5Ljc3MDggMjkuNzI0MyAxOS40MDM4QzI5Ljc1NzggMTkuMDU3NCAyOS41ODk1IDE4LjcyMjMgMjkuMjkxIDE4LjU0MTJDMjguNzM0MSAxOC4zMzE2IDI4LjEzNzUgMTguMjQ3NCAyNy41NDQgMTguMjk0NkgyNC43NzY2TDI0Ljc3NCAyMC41OTQ1Wk0zOS4wNzk2IDE4LjMyMlYyNi4zOTc3SDM2LjU0OVYxOC4zMjJIMzMuMDY5OFYxNi4yNzU3SDQyLjU1OTVWMTguMzIySDM5LjA3OTZaTTQzLjY1OTMgMTYuMjc1N1YyNi4zOTc3SDQ2LjIxMDNWMTYuMjc1N0g0My42NTkzWk02MS42MzU1IDE2LjI3NTdWMjYuNDAwM0w2OS40MTk4IDI2LjM5NzdWMjQuMjY5Mkg2NC4xODY1VjE2LjI3NTdINjEuNjM1NVpNNzAuOTc0MSAyNi40MDAzVjE2LjI3NTdIODAuMDAwM1YxOC4zMjJINzMuNTI1MVYyMC4wMzMySDc5LjI5NDhWMjIuMDkyOUg3My41MjUxVjI0LjI2OTJIODAuMDAyOFYyNi4zOTc3TDcwLjk3NDEgMjYuNDAwM1pNODYuODA0NSAxNi4yNzU3VjI2LjQwMDNMODkuMjM4MyAyNi4zOTc3VjE5LjE5MUw5NC4zNjg2IDI2LjM5NzdIOTcuNDYzMVYxNi4yNzU3SDk1LjAxNTFWMjMuNDExMUw4OS45MzM2IDE2LjI3NTdIODYuODA0NVpNOTkuNzQ2NSAyNi40MDAzVjE2LjI3NTdIMTA4Ljc3M1YxOC4zMjJIMTAyLjI5N1YyMC4wMzMySDEwOC4wNjdWMjIuMDkyOUgxMDIuMjk3VjI0LjI2OTJIMTA4Ljc3N1YyNi4zOTc3TDk5Ljc0NjUgMjYuNDAwM1pNMTE1LjIzMiAyNi4zOTc3VjE4LjMyMkgxMTguNzExVjE3LjE5OEwxMjEuNjU1IDI2LjM5NzdIMTI0LjE2N0wxMjYuNzE4IDE5LjAyNzJMMTI5LjE1IDI2LjM5NzdIMTMxLjc0M0wxMzUuMDM3IDE2LjI3NTdIMTMyLjM4OUwxMzAuMzA2IDIzLjA5MjVMMTI3Ljk5NSAxNi4yNzU3SDEyNS40ODVMMTIzLjA5MiAyMy4wOTI1TDEyMS4wNjQgMTYuMjc1N0gxMTguNzExVjE3LjE5OEwxMTguNDE2IDE2LjI3NTdIMTA5LjIyMVYxOC4zMjJIMTEyLjcwMVYyNi4zOTc3SDExNS4yMzJaTTE0My45MDMgMjMuNzExOEMxNDMuMjUzIDI0LjMxMzQgMTQyLjM4NSAyNC42MjYgMTQxLjQ5OSAyNC41Nzc2TDE0MS41MDEgMjQuNTc2OUMxNDAuNjExIDI0LjYyNjYgMTM5LjczOSAyNC4zMTQxIDEzOS4wODUgMjMuNzExMUMxMzguNDc2IDIzLjA3NTQgMTM4LjE1NyAyMi4yMTczIDEzOC4yMDUgMjEuMzM5OUMxMzguMTU3IDIwLjQ1ODcgMTM4LjQ3NiAxOS41OTY5IDEzOS4wODkgMTguOTU4NEMxNDAuNDgyIDE3LjgwMDggMTQyLjUwOCAxNy43OTk1IDE0My45MDIgMTguOTU1M0MxNDQuNTEyIDE5LjU5NjQgMTQ0LjgyOSAyMC40NTkyIDE0NC43OCAyMS4zNDA1QzE0NC44MjggMjIuMjE3NCAxNDQuNTEgMjMuMDc1MiAxNDMuOTAzIDIzLjcxMThaTTEzNS40MDEgMjEuMzM5OUMxMzUuMzM5IDE5Ljg2NDEgMTM1Ljk0OCAxOC40Mzg5IDEzNy4wNTkgMTcuNDU5NEMxMzkuNjk5IDE1LjUyNTkgMTQzLjI5NiAxNS41MjU5IDE0NS45MzYgMTcuNDU5NEMxNDcuMDQzIDE4LjQ0MTEgMTQ3LjY0OSAxOS44NjU1IDE0Ny41ODcgMjEuMzM5OUMxNDcuNjQ5IDIyLjgxMzIgMTQ3LjA0NCAyNC4yMzY2IDE0NS45MzYgMjUuMjE2NkMxNDMuMjk1IDI3LjE0NjUgMTM5LjcgMjcuMTQ2NSAxMzcuMDU5IDI1LjIxNjZDMTM1Ljk0OCAyNC4yMzg3IDEzNS4zMzkgMjIuODE0NiAxMzUuNDAxIDIxLjMzOTlaTTE1NC43NjUgMjAuNTkzOUgxNTEuODg1TDE1MS44ODMgMTguMjk0TDE1NC42NTUgMTguMjk0QzE1NS4yNDggMTguMjQ2OCAxNTUuODQ1IDE4LjMzMSAxNTYuNDAyIDE4LjU0MDVDMTU2LjcgMTguNzIxNyAxNTYuODY4IDE5LjA1NjcgMTU2LjgzNSAxOS40MDMxQzE1Ni44NjUgMTkuNzcwMiAxNTYuNjg1IDIwLjEyMjkgMTU2LjM3MSAyMC4zMTY3QzE1NS44NjcgMjAuNTM5OSAxNTUuMzE1IDIwLjYzNTEgMTU0Ljc2NSAyMC41OTM5Wk0xNDkuMzM0IDI2LjM5NzFWMTYuMjc1N0gxNTUuNTg1QzE1Ni42MjcgMTYuMiAxNTcuNjY5IDE2LjQzMDkgMTU4LjU4MSAxNi45Mzk1QzE1OS4yMzggMTcuNDE0MiAxNTkuNjAxIDE4LjE5MzUgMTU5LjU0MiAxOC45OTkyQzE1OS41NTIgMTkuNTU2NiAxNTkuMzk2IDIwLjEwNDYgMTU5LjA5MyAyMC41NzM1QzE1OC43OTcgMjEuMDI2NSAxNTguMzYyIDIxLjM3MjIgMTU3Ljg1MiAyMS41NTlDMTU4LjIzIDIxLjY5MTggMTU4LjU1OSAyMS45MzM2IDE1OC43OTggMjIuMjUzNUMxNTkuMDIyIDIyLjcwNzIgMTU5LjEzMiAyMy4yMDg3IDE1OS4xMTggMjMuNzE0M0MxNTkuMTIyIDIzLjc4MjcgMTU5LjEyNyAyMy44NzYxIDE1OS4xMzEgMjMuOTk0NkMxNTkuMTg2IDI1LjI0OTMgMTU5LjM2NSAyNi4wNTAxIDE1OS42NjggMjYuMzk3MUgxNTYuODA3QzE1Ni43MzcgMjYuMjg0OSAxNTYuNjg1IDI2LjE2MjYgMTU2LjY1MiAyNi4wMzQ2QzE1Ni42MTcgMjUuODk1OSAxNTYuNTk5IDI1Ljc1MzMgMTU2LjYgMjUuNjEwM1YyNC45MjYxQzE1Ni42NyAyNC4yOTQ2IDE1Ni41NDQgMjMuNjU3MSAxNTYuMjM5IDIzLjA5ODlDMTU1Ljg1MiAyMi43NTk0IDE1NS4zMzcgMjIuNjAyMyAxNTQuODI2IDIyLjY2NzZMMTUxLjg4MSAyMi42Njc2VjI2LjM5NzFMMTQ5LjMzNCAyNi4zOTcxWk0xNjEuMzg4IDE2LjI3NTdWMjYuMzk3MUwxNjMuOTM5IDI2LjM5NzdWMjIuODkzN0wxNjUuMjMyIDIxLjc1NzhMMTY4LjkyNiAyNi4zOTc3SDE3Mi4wNDhMMTY3LjAyIDIwLjIwNEwxNzEuNDk3IDE2LjI3NTdIMTY4LjIxN0wxNjMuOTM5IDIwLjE2MTlWMTYuMjc1N0gxNjEuMzg4WiIgZmlsbD0idXJsKCNwYWludDBfbGluZWFyXzBfNjc2NikiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xODMuODc2IDEuMDgxNzRDMTgzLjAyOCAyLjI1Njg5IDE4My4yODUgMy44OTEyMiAxODQuNDUyIDQuNzUzMjlIMTg0LjQ0NUMxODUuMDA0IDUuMTY0MTQgMTg1LjcwNiA1LjMzMzk4IDE4Ni4zOTIgNS4yMjQ1OEMxODcuMDc4IDUuMTE1MTggMTg3LjY5MSA0LjczNTczIDE4OC4wOTQgNC4xNzE2MkMxODguOTQxIDIuOTk2NDggMTg4LjY4NCAxLjM2MjE1IDE4Ny41MTcgMC41MDAwOEMxODYuOTU5IDAuMDkxNjQ2MyAxODYuMjU5IC0wLjA3Njc1NjQgMTg1LjU3NCAwLjAzMjU3MDJDMTg0Ljg5IDAuMTQxODk3IDE4NC4yNzggMC41MTk4MjIgMTgzLjg3NiAxLjA4MTc0Wk0xODkuNDgxIDQuMjU5NTRDMTg4LjYzNCAzLjA4NDMxIDE4OC44OTEgMS40NTAyNiAxOTAuMDU4IDAuNTg3OTk4QzE5MC42MTcgMC4xNzc0ODkgMTkxLjMxOCAwLjAwNzg2Mzc1IDE5Mi4wMDUgMC4xMTcyNDdDMTkyLjY5MSAwLjIyNjYzIDE5My4zMDQgMC42MDU4NDUgMTkzLjcwNiAxLjE2OTY2QzE5NC41NTMgMi4zNDQ4OSAxOTQuMjk3IDMuOTc4OTUgMTkzLjEzIDQuODQxMjFDMTkyLjU3MSA1LjI1MTg5IDE5MS44NyA1LjQyMTYyIDE5MS4xODMgNS4zMTIyM0MxOTAuNDk3IDUuMjAyODQgMTg5Ljg4NCA0LjgyMzUgMTg5LjQ4MSA0LjI1OTU0Wk0xNzguMTQzIDMuNDc1OTJDMTc3LjY5NCA0Ljg1MDc1IDE3OC40NDIgNi4zMjg3NCAxNzkuODE5IDYuNzg4NzlMMTc5LjgxNyA2Ljc4ODc3QzE4MC4wNzggNi44NzQ0NSAxODAuMzUxIDYuOTE4MTIgMTgwLjYyNiA2LjkxODEyQzE4MS43NjIgNi45MTM2OCAxODIuNzY1IDYuMTc5MjcgMTgzLjEwNyA1LjEwMTE0QzE4My41NTcgMy43MjY0NyAxODIuODA5IDIuMjQ4MzEgMTgxLjQzMiAxLjc4ODI3QzE4MC43NzEgMS41NzQzMyAxODAuMDUyIDEuNjMyMzEgMTc5LjQzNCAxLjk0OTNDMTc4LjgxNiAyLjI2NjI5IDE3OC4zNTEgMi44MTU5NyAxNzguMTQzIDMuNDc1OTJaTTE5NC40MTQgNS4zNTUzNEMxOTMuOTY2IDMuOTgwNTEgMTk0LjcxMyAyLjUwMjUyIDE5Ni4wOSAyLjA0MjQ3QzE5Ni43NTEgMS44Mjg3MyAxOTcuNDcxIDEuODg2ODEgMTk4LjA4OCAyLjIwMzc4QzE5OC43MDYgMi41MjA3NSAxOTkuMTcxIDMuMDcwMzIgMTk5LjM3OSAzLjczMDEyQzE5OS44MjggNS4xMDQ5NSAxOTkuMDggNi41ODI5NCAxOTcuNzAzIDcuMDQyOTlDMTk3LjQ0MyA3LjEyNzg1IDE5Ny4xNyA3LjE3MDg3IDE5Ni44OTYgNy4xNzA0QzE5NS43NjEgNy4xNjYwMyAxOTQuNzU4IDYuNDMyNTkgMTk0LjQxNCA1LjM1NTM0Wk0xNzYuMDM1IDQuOTEwMDFDMTc0LjU4NSA0LjkxODQzIDE3My40MTYgNi4wOTU1MyAxNzMuNDI2IDcuNTM4NjRDMTczLjQxNiA4Ljk4MTc1IDE3NC41ODUgMTAuMTU4OSAxNzYuMDM1IDEwLjE2NzNDMTc3LjQ5NCAxMC4xNjczIDE3OC42NzYgOC45OTA0IDE3OC42NzYgNy41Mzg2NEMxNzguNjc2IDYuMDg2ODkgMTc3LjQ5NCA0LjkxMDAxIDE3Ni4wMzUgNC45MTAwMVpNMTk4Ljc0MSA3LjkzM0MxOTguNzI4IDYuODY3MDIgMTk5LjM2NCA1Ljg5ODc5IDIwMC4zNDkgNS40ODE4N0MyMDEuMzM1IDUuMDY0OTUgMjAyLjQ3NyA1LjI4MTkyIDIwMy4yMzkgNi4wMzExM0MyMDQuMDAxIDYuNzgwMzQgMjA0LjIzMyA3LjkxMzQyIDIwMy44MjYgOC44OTk1OUMyMDMuNDE5IDkuODg1NzUgMjAyLjQ1NCAxMC41Mjk3IDIwMS4zODMgMTAuNTI5OEMxOTkuOTMzIDEwLjUzODYgMTk4Ljc1IDkuMzc1ODYgMTk4Ljc0MiA3LjkzM0gxOTguNzQxWk0xODkuMzQxIDcuNzcyNDVDMTg4LjY0MiA4LjI5MDUgMTg4LjQ4OCA5LjI2OTc5IDE4OC45OTQgOS45NzU1MUMxODkuMjM2IDEwLjMxMzUgMTg5LjYwMyAxMC41NDA4IDE5MC4wMTQgMTAuNjA2NUMxOTAuNDI2IDEwLjY3MjEgMTkwLjg0NiAxMC41NzA2IDE5MS4xODIgMTAuMzI0NkMxOTEuODgxIDkuODA2NTkgMTkyLjAzNSA4LjgyNzMgMTkxLjUyOCA4LjEyMTU4QzE5MS4yODcgNy43ODM4OSAxOTAuOTE5IDcuNTU2NzYgMTkwLjUwOCA3LjQ5MTEzQzE5MC4wOTcgNy40MjU0OSAxODkuNjc2IDcuNTI2ODQgMTg5LjM0MSA3Ljc3MjQ1Wk0xODUuODEgMTAuMzM1NUMxODUuMTExIDkuODE3NDIgMTg0Ljk1NyA4LjgzODEzIDE4NS40NjMgOC4xMzI0MUMxODUuNzA1IDcuNzk0NzIgMTg2LjA3MiA3LjU2NzU5IDE4Ni40ODMgNy41MDE5NkMxODYuODk1IDcuNDM2MzIgMTg3LjMxNSA3LjUzNzY3IDE4Ny42NTEgNy43ODMyOEMxODguMzQ5IDguMzAxMzMgMTg4LjUwMyA5LjI4MDYyIDE4Ny45OTcgOS45ODYzNEMxODcuNzU2IDEwLjMyNDMgMTg3LjM4OCAxMC41NTE3IDE4Ni45NzcgMTAuNjE3M0MxODYuNTY1IDEwLjY4MyAxODYuMTQ1IDEwLjU4MTQgMTg1LjgxIDEwLjMzNTVaTTE5My4xNCA4LjYzNzYyQzE5Mi4zMTQgOC45MTM1NSAxOTEuODY1IDkuNzk5OTYgMTkyLjEzNCAxMC42MjQ3QzE5Mi4zNCAxMS4yNzE1IDE5Mi45NDIgMTEuNzEyIDE5My42MjMgMTEuNzE0OEMxOTMuNzg4IDExLjcxNDcgMTkzLjk1MSAxMS42ODg0IDE5NC4xMDggMTEuNjM3QzE5NC45MzQgMTEuMzYxMSAxOTUuMzgyIDEwLjQ3NDcgMTk1LjExNCA5LjY0OTk2QzE5NC45ODkgOS4yNTM5OCAxOTQuNzEgOC45MjQxOSAxOTQuMzM5IDguNzM0MDRDMTkzLjk2OCA4LjU0Mzg5IDE5My41MzcgOC41MDkxNyAxOTMuMTQgOC42Mzc2MlpNMTgyLjg5MSAxMS42Njk1QzE4Mi4wNjUgMTEuMzkzMyAxODEuNjE3IDEwLjUwNjYgMTgxLjg4NiA5LjY4MTgxQzE4Mi4wMTEgOS4yODU4MyAxODIuMjkgOC45NTYwNCAxODIuNjYxIDguNzY1ODlDMTgzLjAzMSA4LjU3NTc0IDE4My40NjMgOC41NDEwMiAxODMuODYgOC42Njk0OEMxODQuNjg2IDguOTQ1MTIgMTg1LjEzNSA5LjgzMTc5IDE4NC44NjUgMTAuNjU2NkMxODQuNjYgMTEuMzAzMyAxODQuMDU4IDExLjc0MzkgMTgzLjM3NiAxMS43NDY2QzE4My4yMTEgMTEuNzQ2OCAxODMuMDQ4IDExLjcyMDggMTgyLjg5MSAxMS42Njk1Wk0yMDIuMTIyIDExLjc0MDlDMjAxLjY3MyAxMy4xMTU3IDIwMi40MjEgMTQuNTkzNyAyMDMuNzk4IDE1LjA1MzdMMjAzLjgwMSAxNS4wNTM3QzIwNC4wNiAxNS4xMzg5IDIwNC4zMzIgMTUuMTgyNSAyMDQuNjA0IDE1LjE4MzFDMjA1Ljc0MSAxNS4xNzg2IDIwNi43NDQgMTQuNDQ0MiAyMDcuMDg2IDEzLjM2NjFDMjA3LjUzNiAxMS45OTE0IDIwNi43ODggMTAuNTEzMyAyMDUuNDExIDEwLjA1MzJDMjA0Ljc1IDkuODM5NDcgMjA0LjAzMSA5Ljg5NzUzIDIwMy40MTMgMTAuMjE0NUMyMDIuNzk1IDEwLjUzMTUgMjAyLjMzIDExLjA4MSAyMDIuMTIyIDExLjc0MDlaTTE5Ny4wODIgMTQuNjAzM0MxOTYuODEzIDE1LjQyODEgMTk3LjI2MiAxNi4zMTQ1IDE5OC4wODggMTYuNTkwNEwxOTguMDg4IDE2LjU5MDVDMTk4LjI0NCAxNi42NDE1IDE5OC40MDcgMTYuNjY3NSAxOTguNTcxIDE2LjY2NzVDMTk5LjI1MyAxNi42NjQ4IDE5OS44NTQgMTYuMjI0MiAyMDAuMDYgMTUuNTc3NEMyMDAuMzI5IDE0Ljc1MjcgMTk5Ljg4MSAxMy44NjYgMTk5LjA1NCAxMy41OTA0QzE5OC42NTggMTMuNDYyMyAxOTguMjI2IDEzLjQ5NzMgMTk3Ljg1NiAxMy42ODc2QzE5Ny40ODYgMTMuODc3OCAxOTcuMjA3IDE0LjIwNzUgMTk3LjA4MiAxNC42MDMzWk0xODIuNjE0IDE1Ljg0NzZDMTgyLjYyMiAxNS4zOTIgMTgyLjk5OCAxNS4wMjc5IDE4My40NTYgMTUuMDMyOEMxODMuOTEzIDE1LjAzNzcgMTg0LjI4MSAxNS40MDk3IDE4NC4yNzkgMTUuODY1M0MxODQuMjc2IDE2LjMyMSAxODMuOTA1IDE2LjY4OTEgMTgzLjQ0NyAxNi42ODkyQzE4My4yMjQgMTYuNjg3MyAxODMuMDExIDE2LjU5NzMgMTgyLjg1NSAxNi40Mzg5QzE4Mi42OTkgMTYuMjgwNSAxODIuNjEyIDE2LjA2NjkgMTgyLjYxNCAxNS44NDVWMTUuODQ3NlpNMjA0LjcyNCAyMC4wNzg1QzIwMy41NTcgMTkuMjE2NCAyMDMuMyAxNy41ODIxIDIwNC4xNDcgMTYuNDA2OUMyMDQuNTUgMTUuODQzMSAyMDUuMTYzIDE1LjQ2MzkgMjA1Ljg0OSAxNS4zNTQ1QzIwNi41MzUgMTUuMjQ1MSAyMDcuMjM3IDE1LjQxNDggMjA3Ljc5NiAxNS44MjUzQzIwOC45NjMgMTYuNjg3MyAyMDkuMjIgMTguMzIxNyAyMDguMzcyIDE5LjQ5NjhDMjA3Ljk3IDIwLjA2MDkgMjA3LjM1NyAyMC40NDA0IDIwNi42NzEgMjAuNTQ5OEMyMDUuOTg0IDIwLjY1OTIgMjA1LjI4MyAyMC40ODkzIDIwNC43MjQgMjAuMDc4NVpNMTkzLjQ2NSAyMC40NTA1QzE5My4wOTEgMjAuNzI2MSAxOTMuMDA5IDIxLjI0OTIgMTkzLjI4IDIxLjYyNTNDMTkzLjQwOSAyMS44MDU1IDE5My42MDUgMjEuOTI2NiAxOTMuODI0IDIxLjk2MTZDMTk0LjA0MyAyMS45OTY2IDE5NC4yNjggMjEuOTQyNCAxOTQuNDQ2IDIxLjgxMTRDMTk0LjgyIDIxLjUzNTYgMTk0LjkwMiAyMS4wMTI4IDE5NC42MzIgMjAuNjM2NkMxOTQuNTAzIDIwLjQ1NjQgMTk0LjMwNyAyMC4zMzUzIDE5NC4wODcgMjAuMzAwM0MxOTMuODY4IDIwLjI2NTMgMTkzLjY0NCAyMC4zMTk0IDE5My40NjUgMjAuNDUwNVpNMTk4LjQxNyAyMi45NTM3QzE5Ny45MSAyMi4yNDc5IDE5OC4wNjQgMjEuMjY4NiAxOTguNzYzIDIwLjc1MDZDMTk5LjA5OCAyMC41MDQ4IDE5OS41MTkgMjAuNDAzNCAxOTkuOTMgMjAuNDY5QzIwMC4zNDIgMjAuNTM0NiAyMDAuNzA5IDIwLjc2MTkgMjAwLjk1IDIxLjA5OTdDMjAxLjQ1NyAyMS44MDU0IDIwMS4zMDMgMjIuNzg0NyAyMDAuNjA0IDIzLjMwMjhDMjAwLjI2OSAyMy41NDg2IDE5OS44NDggMjMuNjUgMTk5LjQzNyAyMy41ODQ0QzE5OS4wMjYgMjMuNTE4NyAxOTguNjU4IDIzLjI5MTUgMTk4LjQxNyAyMi45NTM3Wk0yMDQuMDYyIDI1LjE0NDZDMjAzLjIxNCAyMy45Njk1IDIwMy40NzEgMjIuMzM1MSAyMDQuNjM4IDIxLjQ3MzFDMjA1LjE5NyAyMS4wNjM2IDIwNS44OTggMjAuODk0NiAyMDYuNTgzIDIxLjAwMzlDMjA3LjI2OCAyMS4xMTMzIDIwNy44ODEgMjEuNDkxOCAyMDguMjgzIDIyLjA1NDdDMjA5LjEzIDIzLjIzIDIwOC44NzQgMjQuODY0IDIwNy43MDcgMjUuNzI2M0MyMDcuMTQ4IDI2LjEzNzEgMjA2LjQ0NyAyNi4zMDcgMjA1Ljc2IDI2LjE5NzZDMjA1LjA3NCAyNi4wODgyIDIwNC40NjEgMjUuNzA4NyAyMDQuMDU4IDI1LjE0NDZMMjA0LjA2MiAyNS4xNDQ2Wk0xOTguMTIgMjMuOTEyNUMxOTcuMjk0IDI0LjE4ODQgMTk2Ljg0NSAyNS4wNzQ4IDE5Ny4xMTQgMjUuODk5NkMxOTcuMzIgMjYuNTQ2NSAxOTcuOTIyIDI2Ljk4NzIgMTk4LjYwNCAyNi45ODk2QzE5OC43NjggMjYuOTg5NSAxOTguOTMxIDI2Ljk2MzIgMTk5LjA4OCAyNi45MTE5QzE5OS45MTMgMjYuNjM1NyAyMDAuMzYyIDI1Ljc0OTQgMjAwLjA5MyAyNC45MjQ4QzE5OS45NjggMjQuNTI5IDE5OS42ODkgMjQuMTk5MyAxOTkuMzE4IDI0LjAwOTJDMTk4Ljk0OCAyMy44MTkgMTk4LjUxNiAyMy43ODQyIDE5OC4xMiAyMy45MTI1Wk0xODguMzczIDI3LjAyMjFDMTg3Ljk5OSAyNi43NDY0IDE4Ny45MTcgMjYuMjIzNSAxODguMTg4IDI1Ljg0NzNDMTg4LjMxNiAyNS42NjcyIDE4OC41MTIgMjUuNTQ2IDE4OC43MzIgMjUuNTExQzE4OC45NTEgMjUuNDc2MSAxODkuMTc1IDI1LjUzMDIgMTg5LjM1NCAyNS42NjEzQzE4OS43MjggMjUuOTM3IDE4OS44MSAyNi40NTk5IDE4OS41MzkgMjYuODM2MUMxODkuNDEgMjcuMDE2MiAxODkuMjE0IDI3LjEzNzQgMTg4Ljk5NSAyNy4xNzI0QzE4OC43NzYgMjcuMjA3MyAxODguNTUyIDI3LjE1MzIgMTg4LjM3MyAyNy4wMjIxWk0xODYuNDQzIDI1LjY3NjZDMTg2LjA2OSAyNS45NTE1IDE4NS45ODUgMjYuNDc0NSAxODYuMjU2IDI2Ljg1MTRMMTg2LjI1OCAyNi44NTE0QzE4Ni4zODYgMjcuMDMxNyAxODYuNTgyIDI3LjE1MyAxODYuODAyIDI3LjE4OEMxODcuMDIxIDI3LjIyMjkgMTg3LjI0NiAyNy4xNjg3IDE4Ny40MjUgMjcuMDM3NEMxODcuNzk4IDI2Ljc2MTcgMTg3Ljg4IDI2LjIzODggMTg3LjYxIDI1Ljg2MjZDMTg3LjQ4MSAyNS42ODI1IDE4Ny4yODUgMjUuNTYxMyAxODcuMDY2IDI1LjUyNjNDMTg2Ljg0NiAyNS40OTE0IDE4Ni42MjIgMjUuNTQ1NSAxODYuNDQzIDI1LjY3NjZaTTIwMS44NzEgMjkuNzU1OUMyMDEuNDIyIDI4LjM4MTIgMjAyLjE2OSAyNi45MDMgMjAzLjU0NiAyNi40NDNDMjA0LjIwNyAyNi4yMjkxIDIwNC45MjcgMjYuMjg3IDIwNS41NDUgMjYuNjA0QzIwNi4xNjIgMjYuOTIxIDIwNi42MjcgMjcuNDcwNyAyMDYuODM1IDI4LjEzMDZDMjA3LjI4NCAyOS41MDU1IDIwNi41MzYgMzAuOTgzNSAyMDUuMTYgMzEuNDQzNUMyMDQuODk5IDMxLjUyODQgMjA0LjYyNiAzMS41NzE0IDIwNC4zNTIgMzEuNTcwOUMyMDMuMjE3IDMxLjU2NjMgMjAyLjIxNCAzMC44MzI5IDIwMS44NzEgMjkuNzU1OVpNMTkyLjE5NiAyOS45MDgxQzE5MS45MjcgMzAuNzMyOSAxOTIuMzc2IDMxLjYxOTMgMTkzLjIwMiAzMS44OTUyQzE5My4zNTggMzEuOTQ2NSAxOTMuNTIyIDMxLjk3MjggMTkzLjY4NiAzMS45NzI5QzE5NC4zNjggMzEuOTcwNCAxOTQuOTcgMzEuNTI5OCAxOTUuMTc1IDMwLjg4MjlDMTk1LjQ0NCAzMC4wNTgxIDE5NC45OTUgMjkuMTcxNyAxOTQuMTY5IDI4Ljg5NThDMTkzLjc3MyAyOC43Njc1IDE5My4zNDEgMjguODAyMyAxOTIuOTcxIDI4Ljk5MjVDMTkyLjYgMjkuMTgyNiAxOTIuMzIxIDI5LjUxMjMgMTkyLjE5NiAyOS45MDgxWk0xODEuOTQ4IDMwLjkxNDdDMTgxLjY3OSAzMC4wOSAxODIuMTI4IDI5LjIwMzYgMTgyLjk1NCAyOC45Mjc2QzE4My4zNSAyOC43OTk2IDE4My43ODIgMjguODM0NyAxODQuMTUzIDI5LjAyNTFDMTg0LjUyMyAyOS4yMTU0IDE4NC44MDIgMjkuNTQ1MyAxODQuOTI3IDI5Ljk0MTJDMTg1LjE5NiAzMC43NjYgMTg0Ljc0NyAzMS42NTI0IDE4My45MjEgMzEuOTI4M0MxODMuNzY1IDMxLjk3OTcgMTgzLjYwMSAzMi4wMDYgMTgzLjQzNiAzMi4wMDYxQzE4Mi43NTUgMzIuMDAyOSAxODIuMTUzIDMxLjU2MTggMTgxLjk0OCAzMC45MTQ3Wk0xODkuMDY0IDMwLjU3ODNDMTg4LjU1OSAzMS4yODM2IDE4OC43MTMgMzIuMjYxIDE4OS40MSAzMi43Nzg4TDE4OS40MSAzMi43ODE0QzE4OS43NDYgMzMuMDI3MyAxOTAuMTY2IDMzLjEyODkgMTkwLjU3OCAzMy4wNjMzQzE5MC45ODkgMzIuOTk3NiAxOTEuMzU3IDMyLjc3MDMgMTkxLjU5OCAzMi40MzIzQzE5Mi4xMDQgMzEuNzI2NiAxOTEuOTUgMzAuNzQ3MyAxOTEuMjUxIDMwLjIyOTJDMTkwLjkxNiAyOS45ODM0IDE5MC40OTYgMjkuODgyIDE5MC4wODQgMjkuOTQ3NkMxODkuNjczIDMwLjAxMzMgMTg5LjMwNSAzMC4yNDA1IDE4OS4wNjQgMzAuNTc4M1pNMTg1LjUzMiAzMi40NDEyQzE4NS4wMjYgMzEuNzM1NSAxODUuMTggMzAuNzU2MiAxODUuODc5IDMwLjIzODFDMTg2LjIxNCAyOS45OTI0IDE4Ni42MzUgMjkuODkwOSAxODcuMDQ2IDI5Ljk1NjVDMTg3LjQ1NyAzMC4wMjIyIDE4Ny44MjUgMzAuMjQ5NCAxODguMDY2IDMwLjU4NzNDMTg4LjU3NSAzMS4yOTI1IDE4OC40MjEgMzIuMjczNCAxODcuNzIgMzIuNzkwM0MxODcuMzg0IDMzLjAzNjMgMTg2Ljk2NCAzMy4xMzc4IDE4Ni41NTIgMzMuMDcyMkMxODYuMTQxIDMzLjAwNjUgMTg1Ljc3NCAzMi43NzkyIDE4NS41MzIgMzIuNDQxMlpNMTc1LjY0MSAzMC40NjYyQzE3NC4xOTEgMzAuNDU3IDE3My4wMDggMzEuNjE5OSAxNzMgMzMuMDYzQzE3My4wMDggMzQuNTA2MSAxNzQuMTkxIDM1LjY2ODkgMTc1LjY0MSAzNS42NTk4QzE3Ny4wODIgMzUuNjU5OCAxNzguMjUxIDM0LjQ5NzEgMTc4LjI1MSAzMy4wNjNDMTc4LjI1MSAzMS42Mjg4IDE3Ny4wODIgMzAuNDY2MiAxNzUuNjQxIDMwLjQ2NjJaTTE5OC4zOCAzMy40NjE4QzE5OC4zOTggMzIuMDMxOSAxOTkuNTc0IDMwLjg4NTMgMjAxLjAxMSAzMC44OTdDMjAyLjQ0NyAzMC45MDg2IDIwMy42MDQgMzIuMDc0MiAyMDMuNTk5IDMzLjUwNDFDMjAzLjU5MyAzNC45MzQxIDIwMi40MjYgMzYuMDkwMyAyMDAuOTkgMzYuMDkwNEMxOTkuNTM5IDM2LjA4MiAxOTguMzcxIDM0LjkwNDkgMTk4LjM4IDMzLjQ2MThaTTE3OS4zMjEgMzMuOTU0OUMxNzcuOTQ0IDM0LjQxNDkgMTc3LjE5NiAzNS44OTMxIDE3Ny42NDYgMzcuMjY3OEMxNzcuOTg5IDM4LjM0NDkgMTc4Ljk5MSAzOS4wNzg0IDE4MC4xMjcgMzkuMDgyOEMxODAuNDAxIDM5LjA4MzMgMTgwLjY3NCAzOS4wNDAzIDE4MC45MzQgMzguOTU1NEMxODIuMzExIDM4LjQ5NTQgMTgzLjA1OSAzNy4wMTc0IDE4Mi42MSAzNS42NDI2QzE4Mi40MDIgMzQuOTgyNyAxODEuOTM3IDM0LjQzMzEgMTgxLjMxOSAzNC4xMTYyQzE4MC43MDEgMzMuNzk5MiAxNzkuOTgyIDMzLjc0MTIgMTc5LjMyMSAzMy45NTQ5Wk0xOTUuNTk3IDM5LjIwOTZDMTk0LjIyMSAzOC43NDk2IDE5My40NzMgMzcuMjcxNiAxOTMuOTIyIDM1Ljg5NjhDMTk0LjEzIDM1LjIzNzUgMTk0LjU5NCAzNC42ODg1IDE5NS4yMTIgMzQuMzcxN0MxOTUuODI5IDM0LjA1NDkgMTk2LjU0OCAzMy45OTY2IDE5Ny4yMDggMzQuMjA5N0MxOTguNTg1IDM0LjY2OTggMTk5LjMzMyAzNi4xNDc5IDE5OC44ODMgMzcuNTIyNkMxOTguNTQxIDM4LjYwMDcgMTk3LjUzOCAzOS4zMzUyIDE5Ni40MDIgMzkuMzM5NkMxOTYuMTI4IDM5LjMzODkgMTk1Ljg1NyAzOS4yOTUxIDE5NS41OTcgMzkuMjA5NlpNMTgzLjg5OSAzNi4xNTczQzE4Mi43MzIgMzcuMDE5NCAxODIuNDc1IDM4LjY1MzcgMTgzLjMyMyAzOS44Mjg5SDE4My4zMTlDMTgzLjcyMiA0MC4zOTMgMTg0LjMzNSA0MC43NzI0IDE4NS4wMjEgNDAuODgxOEMxODUuNzA3IDQwLjk5MTIgMTg2LjQwOSA0MC44MjE0IDE4Ni45NjggNDAuNDEwNUMxODguMTM1IDM5LjU0ODUgMTg4LjM5MiAzNy45MTQxIDE4Ny41NDQgMzYuNzM5QzE4Ny4xNDIgMzYuMTc2MSAxODYuNTI5IDM1Ljc5NzUgMTg1Ljg0NCAzNS42ODgyQzE4NS4xNTkgMzUuNTc4OCAxODQuNDU4IDM1Ljc0NzggMTgzLjg5OSAzNi4xNTczWk0xODguOTMyIDM2LjgyNjNDMTg4LjA4NCAzOC4wMDE0IDE4OC4zNDEgMzkuNjM1NyAxODkuNTA4IDQwLjQ5NzhDMTkwLjA2NyA0MC45MDc2IDE5MC43NjggNDEuMDc2OSAxOTEuNDUzIDQwLjk2NzVDMTkyLjEzOSA0MC44NTgxIDE5Mi43NTEgNDAuNDc5MyAxOTMuMTUzIDM5LjkxNjJDMTk0LjAwMSAzOC43NDEgMTkzLjc0NCAzNy4xMDY3IDE5Mi41NzcgMzYuMjQ0NkMxOTIuMDE4IDM1LjgzNTEgMTkxLjMxNyAzNS42NjYxIDE5MC42MzIgMzUuNzc1NUMxODkuOTQ3IDM1Ljg4NDggMTg5LjMzNCAzNi4yNjM0IDE4OC45MzIgMzYuODI2M1pNMTc5Ljk1MyAyNi44NzExQzE3OS4zNjEgMjcuMTIxOSAxNzguOTggMjcuNzAzOCAxNzguOTg4IDI4LjM0NDFDMTc4Ljk5NCAyOS4yMTAzIDE3OS43MDQgMjkuOTA4IDE4MC41NzQgMjkuOTAyNEMxODEuMjE4IDI5LjkwMjMgMTgxLjc5NyAyOS41MTU0IDE4Mi4wNDIgMjguOTIzQzE4Mi4yODYgMjguMzMwNiAxODIuMTQ3IDI3LjY1IDE4MS42ODkgMjcuMjAwMUMxODEuMjMxIDI2Ljc1MDMgMTgwLjU0NSAyNi42MjAzIDE3OS45NTMgMjYuODcxMVpNMTk0Ljk3IDI4LjI5NUMxOTQuOTgxIDI3LjQzNzEgMTk1LjY4NyAyNi43NDk3IDE5Ni41NDkgMjYuNzU3MUMxOTcuNDExIDI2Ljc2NDYgMTk4LjEwNSAyNy40NjQyIDE5OC4xMDEgMjguMzIyMUMxOTguMDk3IDI5LjE4MDEgMTk3LjM5NyAyOS44NzM2IDE5Ni41MzUgMjkuODczN0MxOTUuNjY1IDI5Ljg2ODEgMTk0Ljk2NCAyOS4xNjEzIDE5NC45NyAyOC4yOTVaTTE4NC4yOTUgMjYuMDMwMkMxODQuMTUxIDI1LjU5MDIgMTg0LjM5MSAyNS4xMTcyIDE4NC44MzEgMjQuOTdDMTg1LjA0MyAyNC45MDE0IDE4NS4yNzMgMjQuOTE5OCAxODUuNDcxIDI1LjAyMTRDMTg1LjY2OSAyNS4xMjI5IDE4NS44MTcgMjUuMjk4OSAxODUuODg0IDI1LjUxMDNDMTg2LjAyNyAyNS45NTAzIDE4NS43ODggMjYuNDIzMiAxODUuMzQ3IDI2LjU3MDRDMTg1LjI2NSAyNi41OTc2IDE4NS4xNzggMjYuNjExNSAxODUuMDkxIDI2LjYxMThDMTg0LjcyNyAyNi42MTEyIDE4NC40MDUgMjYuMzc1OSAxODQuMjk1IDI2LjAzMDJaTTE4OS45MDQgMjUuNDY1N0MxODkuNzYgMjUuOTA1NyAxOTAgMjYuMzc4NiAxOTAuNDQgMjYuNTI1OEwxOTAuNDM4IDI2LjUyNThDMTkwLjUyMiAyNi41NTM0IDE5MC42MSAyNi41NjczIDE5MC42OTggMjYuNTY3MkMxOTEuMDYyIDI2LjU2NTggMTkxLjM4MyAyNi4zMzA3IDE5MS40OTMgMjUuOTg1NkMxOTEuNjM2IDI1LjU0NTYgMTkxLjM5NyAyNS4wNzI2IDE5MC45NTYgMjQuOTI1NEMxOTAuNzQ1IDI0Ljg1NjggMTkwLjUxNCAyNC44NzUyIDE5MC4zMTcgMjQuOTc2OEMxOTAuMTE5IDI1LjA3ODMgMTg5Ljk3IDI1LjI1NDQgMTg5LjkwNCAyNS40NjU3Wk0xODMuMTg1IDIzLjg1MjRDMTgyLjg3IDIzLjk4NjkgMTgyLjY2NyAyNC4yOTc4IDE4Mi42NzMgMjQuNjM5NEMxODIuNjc3IDI1LjEwMDMgMTgzLjA1NSAyNS40NzA4IDE4My41MTggMjUuNDY3NkMxODMuODYyIDI1LjQ2NzYgMTg0LjE3MSAyNS4yNjEgMTg0LjMwMSAyNC45NDQ5QzE4NC40MzEgMjQuNjI4OCAxODQuMzU2IDI0LjI2NTggMTg0LjExMSAyNC4wMjYyQzE4My44NjcgMjMuNzg2NiAxODMuNTAxIDIzLjcxNzkgMTgzLjE4NSAyMy44NTI0Wk0xOTEuNDE1IDI0LjU3QzE5MS40MjMgMjQuMTE0NCAxOTEuNzk5IDIzLjc1MDMgMTkyLjI1NiAyMy43NTUyQzE5Mi43MTQgMjMuNzYgMTkzLjA4MiAyNC4xMzIxIDE5My4wOCAyNC41ODc3QzE5My4wNzcgMjUuMDQzNCAxOTIuNzA1IDI1LjQxMTUgMTkyLjI0OCAyNS40MTE1QzE5MS43ODQgMjUuNDA3IDE5MS40MTIgMjUuMDMwMiAxOTEuNDE2IDI0LjU2OTNMMTkxLjQxNSAyNC41N1pNMTkzLjExNCAyMi4xODY2QzE5Mi42NzQgMjIuMzMzOCAxOTIuNDM1IDIyLjgwNjkgMTkyLjU3OSAyMy4yNDY3TDE5Mi41NzkgMjMuMjQ2MUMxOTIuNjg5IDIzLjU5MTkgMTkzLjAxMSAyMy44Mjc0IDE5My4zNzUgMjMuODI4NEMxOTMuNDYyIDIzLjgyODEgMTkzLjU0OCAyMy44MTQxIDE5My42MzEgMjMuNzg3QzE5NC4wNzIgMjMuNjM5OCAxOTQuMzExIDIzLjE2NjcgMTk0LjE2NyAyMi43MjY4QzE5NC4xIDIyLjUxNTUgMTkzLjk1MiAyMi4zMzk0IDE5My43NTQgMjIuMjM3OUMxOTMuNTU2IDIyLjEzNjQgMTkzLjMyNiAyMi4xMTc5IDE5My4xMTQgMjIuMTg2NlpNMTk4LjQwNiAxNy41NDQ4QzE5Ny45IDE4LjI1MDUgMTk4LjA1NCAxOS4yMjk4IDE5OC43NTMgMTkuNzQ3OEMxOTkuMDg4IDE5Ljk5MzYgMTk5LjUwOSAyMC4wOTUxIDE5OS45MiAyMC4wMjk0QzIwMC4zMzEgMTkuOTYzOCAyMDAuNjk5IDE5LjczNjUgMjAwLjk0IDE5LjM5ODdDMjAxLjQ0NyAxOC42OTMgMjAxLjI5MyAxNy43MTM3IDIwMC41OTQgMTcuMTk1NkMyMDAuMjU4IDE2Ljk0OTkgMTk5LjgzOCAxNi44NDg0IDE5OS40MjcgMTYuOTE0QzE5OS4wMTUgMTYuOTc5NyAxOTguNjQ4IDE3LjIwNjkgMTk4LjQwNiAxNy41NDQ4Wk0xOTMuNDQ5IDE5Ljg2NzZDMTkzLjA3NiAxOS41OTE5IDE5Mi45OTMgMTkuMDY5IDE5My4yNjQgMTguNjkyOEMxOTMuMzkzIDE4LjUxMjcgMTkzLjU4OSAxOC4zOTE1IDE5My44MDggMTguMzU2NUMxOTQuMDI3IDE4LjMyMTYgMTk0LjI1MiAxOC4zNzU3IDE5NC40MyAxOC41MDY4QzE5NC44MDQgMTguNzgyMyAxOTQuODg3IDE5LjMwNTQgMTk0LjYxNiAxOS42ODE2QzE5NC40ODcgMTkuODYxOSAxOTQuMjkxIDE5Ljk4MzIgMTk0LjA3MSAyMC4wMTgyQzE5My44NTIgMjAuMDUzMSAxOTMuNjI3IDE5Ljk5ODkgMTkzLjQ0OCAxOS44Njc2SDE5My40NDlaTTE5Mi41MzQgMTcuMDgxQzE5Mi4zOTEgMTcuNTIwOSAxOTIuNjMgMTcuOTkzOSAxOTMuMDcxIDE4LjE0MTFWMTguMTM5MkMxOTMuMTU1IDE4LjE2NjggMTkzLjI0MyAxOC4xODA4IDE5My4zMzEgMTguMTgwNkMxOTMuNjk1IDE4LjE3ODkgMTk0LjAxNiAxNy45NDM4IDE5NC4xMjUgMTcuNTk4OUMxOTQuMjY3IDE3LjE1OSAxOTQuMDI3IDE2LjY4NzEgMTkzLjU4NyAxNi41NDA3QzE5My4zNzUgMTYuNDcyIDE5My4xNDUgMTYuNDkwNSAxOTIuOTQ3IDE2LjU5MkMxOTIuNzQ5IDE2LjY5MzUgMTkyLjYwMSAxNi44Njk2IDE5Mi41MzQgMTcuMDgxWk0xOTEuMzM0IDE1Ljc3M0MxOTEuMzI5IDE1LjQzMTUgMTkxLjUzMSAxNS4xMjA1IDE5MS44NDcgMTQuOTg2QzE5Mi4xNjIgMTQuODUxNSAxOTIuNTI4IDE0LjkyMDIgMTkyLjc3MyAxNS4xNTk4QzE5My4wMTcgMTUuMzk5NCAxOTMuMDkyIDE1Ljc2MjQgMTkyLjk2MiAxNi4wNzg1QzE5Mi44MzIgMTYuMzk0NyAxOTIuNTIzIDE2LjYwMTIgMTkyLjE4IDE2LjYwMTJDMTkxLjcxNyAxNi42MDQ0IDE5MS4zMzggMTYuMjMzOSAxOTEuMzM0IDE1Ljc3M1pNMTg0LjIwNSAxNC40Mjc1QzE4NC4wNjEgMTQuODY3MyAxODQuMyAxNS4zNDAxIDE4NC43NCAxNS40ODc2TDE4NC43NDQgMTUuNDg3NkMxODQuODI2IDE1LjUxNDYgMTg0LjkxMiAxNS41Mjg2IDE4NC45OTggMTUuNTI5QzE4NS4zNjIgMTUuNTI3NiAxODUuNjgzIDE1LjI5MjUgMTg1Ljc5MyAxNC45NDc0QzE4NS45MzcgMTQuNTA3NSAxODUuNjk4IDE0LjAzNDQgMTg1LjI1NyAxMy44ODcyQzE4NS4wNDYgMTMuODE4NiAxODQuODE1IDEzLjgzNyAxODQuNjE3IDEzLjkzODVDMTg0LjQyIDE0LjA0MDEgMTg0LjI3MSAxNC4yMTYxIDE4NC4yMDUgMTQuNDI3NVpNMTg5LjgxMSAxNC45MDI4QzE4OS42NjcgMTQuNDYyOSAxODkuOTA2IDEzLjk4OTggMTkwLjM0NyAxMy44NDI2QzE5MC41NTggMTMuNzc0IDE5MC43ODkgMTMuNzkyNCAxOTAuOTg3IDEzLjg5MzlDMTkxLjE4NCAxMy45OTU1IDE5MS4zMzMgMTQuMTcxNSAxOTEuMzk5IDE0LjM4MjlDMTkxLjU0MyAxNC44MjI3IDE5MS4zMDQgMTUuMjk1OCAxOTAuODY0IDE1LjQ0M0MxOTAuNzgxIDE1LjQ3MDIgMTkwLjY5NCAxNS40ODQxIDE5MC42MDcgMTUuNDg0NEMxOTAuMjQ0IDE1LjQ4MjQgMTg5LjkyNCAxNS4yNDc0IDE4OS44MTQgMTQuOTAyOEgxODkuODExWk0xODYuMzQgMTQuNzUyNEMxODUuOTY3IDE0LjQ3NjcgMTg1Ljg4NCAxMy45NTM4IDE4Ni4xNTUgMTMuNTc3NkMxODYuMjg1IDEzLjM5ODMgMTg2LjQ4IDEzLjI3NzkgMTg2LjY5OSAxMy4yNDI5QzE4Ni45MTggMTMuMjA4IDE4Ny4xNDIgMTMuMjYxNSAxODcuMzIyIDEzLjM5MTZDMTg3LjY5NSAxMy42NjcxIDE4Ny43NzggMTQuMTkwMiAxODcuNTA3IDE0LjU2NjRDMTg3LjM3OCAxNC43NDY1IDE4Ny4xODIgMTQuODY3NyAxODYuOTYzIDE0LjkwMjZDMTg2Ljc0MyAxNC45Mzc2IDE4Ni41MTkgMTQuODgzNSAxODYuMzQgMTQuNzUyNFpNMTg4LjI3NiAxMy4zNzY5QzE4Ny45MDIgMTMuNjUxNSAxODcuODE4IDE0LjE3NDIgMTg4LjA4OCAxNC41NTExTDE4OC4wOTEgMTQuNTUxN0MxODguMjIgMTQuNzMxOSAxODguNDE2IDE0Ljg1MyAxODguNjM1IDE0Ljg4OEMxODguODU0IDE0LjkyMyAxODkuMDc5IDE0Ljg2ODggMTg5LjI1NyAxNC43Mzc4QzE4OS42MzEgMTQuNDYyIDE4OS43MTMgMTMuOTM5MiAxODkuNDQyIDEzLjU2M0MxODkuMzEzIDEzLjM4MzcgMTg5LjExNyAxMy4yNjMyIDE4OC44OTggMTMuMjI4M0MxODguNjc5IDEzLjE5MzQgMTg4LjQ1NSAxMy4yNDY5IDE4OC4yNzYgMTMuMzc2OVpNMTc4Ljk1OSAxMi4yNjc4QzE3OC45NyAxMS40MDk5IDE3OS42NzYgMTAuNzIyNCAxODAuNTM4IDEwLjcyOTlDMTgxLjQgMTAuNzM3MyAxODIuMDk0IDExLjQzNjkgMTgyLjA5IDEyLjI5NDlDMTgyLjA4NiAxMy4xNTI4IDE4MS4zODYgMTMuODQ2NCAxODAuNTI0IDEzLjg0NjVDMTc5LjY1NCAxMy44NDA4IDE3OC45NTMgMTMuMTM0IDE3OC45NTkgMTIuMjY3OFpNMTk1Ljg2NyAxMC43NDU2QzE5NS4yNzUgMTAuOTk2NCAxOTQuODk0IDExLjU3ODMgMTk0LjkwMiAxMi4yMTg3QzE5NC45MDggMTMuMDg0OSAxOTUuNjE4IDEzLjc4MjcgMTk2LjQ4OCAxMy43NzdDMTk3LjEzMSAxMy43NzcyIDE5Ny43MTEgMTMuMzkwNSAxOTcuOTU2IDEyLjc5ODFDMTk4LjIgMTIuMjA1NyAxOTguMDYxIDExLjUyNSAxOTcuNjAzIDExLjA3NUMxOTcuMTQ1IDEwLjYyNSAxOTYuNDU5IDEwLjQ5NDkgMTk1Ljg2NyAxMC43NDU2WiIgZmlsbD0idXJsKCNwYWludDFfbGluZWFyXzBfNjc2NikiLz4KPC9nPgo8ZGVmcz4KPGxpbmVhckdyYWRpZW50IGlkPSJwYWludDBfbGluZWFyXzBfNjc2NiIgeDE9IjE4Ny41NCIgeTE9IjE2IiB4Mj0iMTY4LjY5IiB5Mj0iLTM4LjcwNzQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KPHN0b3Agc3RvcC1jb2xvcj0iIzg2NERFQiIvPgo8c3RvcCBvZmZzZXQ9IjAuNjg5NjU1IiBzdG9wLWNvbG9yPSIjRTY0QkUwIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iI0YzNTBEQSIvPgo8L2xpbmVhckdyYWRpZW50Pgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MV9saW5lYXJfMF82NzY2IiB4MT0iMjA5LjE3NCIgeTE9IjAuNjg5NjI4IiB4Mj0iMTczLjI5OSIgeTI9IjAuMTYxNjg1IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiM4NjRERUIiLz4KPHN0b3Agb2Zmc2V0PSIwLjY4OTY1NSIgc3RvcC1jb2xvcj0iI0U2NEJFMCIvPgo8c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNGMzUwREEiLz4KPC9saW5lYXJHcmFkaWVudD4KPGNsaXBQYXRoIGlkPSJjbGlwMF8wXzY3NjYiPgo8cmVjdCB3aWR0aD0iMjA4Ljg3MiIgaGVpZ2h0PSI0MSIgZmlsbD0id2hpdGUiLz4KPC9jbGlwUGF0aD4KPC9kZWZzPgo8L3N2Zz4K";
|
|
@@ -8265,7 +8261,7 @@ var Divider = ({ children, style }) => {
|
|
|
8265
8261
|
var divider_default = Divider;
|
|
8266
8262
|
|
|
8267
8263
|
// src/components/emailLogin/index.tsx
|
|
8268
|
-
var
|
|
8264
|
+
var import_react22 = require("react");
|
|
8269
8265
|
|
|
8270
8266
|
// src/components/emailLogin/styles.ts
|
|
8271
8267
|
var import_styled_components20 = require("styled-components");
|
|
@@ -8346,13 +8342,13 @@ var StyleInputError = import_styled_components20.styled.div`
|
|
|
8346
8342
|
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
8347
8343
|
var EmailLogin = () => {
|
|
8348
8344
|
const { navigate } = useRouter();
|
|
8349
|
-
const inputRef = (0,
|
|
8345
|
+
const inputRef = (0, import_react22.useRef)(null);
|
|
8350
8346
|
const locales = useLocales();
|
|
8351
8347
|
const { appearance } = useAppearance();
|
|
8352
|
-
const [emailError, setEmailError] = (0,
|
|
8353
|
-
const [emailValue, setEmailValue] = (0,
|
|
8354
|
-
const [isFocus, setIsFocus] = (0,
|
|
8355
|
-
const [loading, setLoading] = (0,
|
|
8348
|
+
const [emailError, setEmailError] = (0, import_react22.useState)("");
|
|
8349
|
+
const [emailValue, setEmailValue] = (0, import_react22.useState)("");
|
|
8350
|
+
const [isFocus, setIsFocus] = (0, import_react22.useState)(false);
|
|
8351
|
+
const [loading, setLoading] = (0, import_react22.useState)(false);
|
|
8356
8352
|
const walletConnector = useWalletConnector("particleAuth");
|
|
8357
8353
|
const sendCode = async () => {
|
|
8358
8354
|
try {
|
|
@@ -8379,10 +8375,10 @@ var EmailLogin = () => {
|
|
|
8379
8375
|
}
|
|
8380
8376
|
setLoading(false);
|
|
8381
8377
|
};
|
|
8382
|
-
const buttonDisabled = (0,
|
|
8378
|
+
const buttonDisabled = (0, import_react22.useMemo)(() => {
|
|
8383
8379
|
return !emailValue || !EmailRegExp.test(emailValue) || loading;
|
|
8384
8380
|
}, [emailValue, loading]);
|
|
8385
|
-
const hideContinueButton = (0,
|
|
8381
|
+
const hideContinueButton = (0, import_react22.useMemo)(() => {
|
|
8386
8382
|
return appearance?.hideContinueButton;
|
|
8387
8383
|
}, [appearance?.hideContinueButton]);
|
|
8388
8384
|
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(EmailLoginContainer, { children: [
|
|
@@ -8452,14 +8448,13 @@ var PasskeyButtons = () => {
|
|
|
8452
8448
|
const { navigate } = useRouter();
|
|
8453
8449
|
const locales = useLocales();
|
|
8454
8450
|
const { appearance } = useAppearance();
|
|
8455
|
-
const language = useLanguage();
|
|
8456
8451
|
const connectWallet = useConnectWithWallet();
|
|
8457
8452
|
const wallet = useWalletProps("passkeySmartWallet");
|
|
8458
8453
|
const login = () => {
|
|
8459
8454
|
navigate("login-passkey" /* LoginPasskey */);
|
|
8460
8455
|
};
|
|
8461
8456
|
if (appearance.collapsePasskeyButton) {
|
|
8462
|
-
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(button_default, { style: { marginTop: 16 }, onClick: login, children:
|
|
8457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(button_default, { style: { marginTop: 16 }, onClick: login, children: locales.continueWithSmartWalletPasskey });
|
|
8463
8458
|
}
|
|
8464
8459
|
return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)("div", { children: [
|
|
8465
8460
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
@@ -8478,7 +8473,7 @@ var PasskeyButtons = () => {
|
|
|
8478
8473
|
});
|
|
8479
8474
|
}
|
|
8480
8475
|
},
|
|
8481
|
-
children:
|
|
8476
|
+
children: locales.createNewPasskey
|
|
8482
8477
|
}
|
|
8483
8478
|
),
|
|
8484
8479
|
/* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
@@ -8495,7 +8490,7 @@ var PasskeyButtons = () => {
|
|
|
8495
8490
|
}
|
|
8496
8491
|
});
|
|
8497
8492
|
},
|
|
8498
|
-
children:
|
|
8493
|
+
children: locales.loginWithPasskey
|
|
8499
8494
|
}
|
|
8500
8495
|
)
|
|
8501
8496
|
] });
|
|
@@ -8504,12 +8499,12 @@ var passkeyButtons_default = PasskeyButtons;
|
|
|
8504
8499
|
|
|
8505
8500
|
// src/components/phoneLogin/index.tsx
|
|
8506
8501
|
var import_unicode = __toESM(require("country-flag-icons/unicode"), 1);
|
|
8507
|
-
var
|
|
8502
|
+
var import_react25 = require("react");
|
|
8508
8503
|
|
|
8509
8504
|
// src/hooks/useClickAway.ts
|
|
8510
|
-
var
|
|
8505
|
+
var import_react23 = require("react");
|
|
8511
8506
|
var useClickAway = (callback, refs) => {
|
|
8512
|
-
(0,
|
|
8507
|
+
(0, import_react23.useEffect)(() => {
|
|
8513
8508
|
const handleClickOutside = (event) => {
|
|
8514
8509
|
if (refs.every((ref) => ref.current && !ref.current.contains(event.target))) {
|
|
8515
8510
|
callback();
|
|
@@ -9382,14 +9377,14 @@ var StyleHoverBg = import_styled_components22.styled.div`
|
|
|
9382
9377
|
`;
|
|
9383
9378
|
|
|
9384
9379
|
// src/components/dropdown/index.tsx
|
|
9385
|
-
var
|
|
9380
|
+
var import_react24 = require("react");
|
|
9386
9381
|
var import_react_dom = require("react-dom");
|
|
9387
9382
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
9388
|
-
var Dropdown = (0,
|
|
9383
|
+
var Dropdown = (0, import_react24.forwardRef)((props, ref) => {
|
|
9389
9384
|
const { trigger, content, dropdownWidth, dropdownHeight, offsetX = 0, offsetY = 0, onChange } = props;
|
|
9390
|
-
const [isOpen, setIsOpen] = (0,
|
|
9391
|
-
const triggerRef = (0,
|
|
9392
|
-
const dropdownRef = (0,
|
|
9385
|
+
const [isOpen, setIsOpen] = (0, import_react24.useState)(false);
|
|
9386
|
+
const triggerRef = (0, import_react24.useRef)(null);
|
|
9387
|
+
const dropdownRef = (0, import_react24.useRef)(null);
|
|
9393
9388
|
const updateDropdownPosition = () => {
|
|
9394
9389
|
if (triggerRef.current && dropdownRef.current) {
|
|
9395
9390
|
const rect = triggerRef.current.getBoundingClientRect();
|
|
@@ -9402,7 +9397,7 @@ var Dropdown = (0, import_react25.forwardRef)((props, ref) => {
|
|
|
9402
9397
|
dropdownRef.current.style.left = `${rect.left}px`;
|
|
9403
9398
|
}
|
|
9404
9399
|
};
|
|
9405
|
-
(0,
|
|
9400
|
+
(0, import_react24.useEffect)(() => {
|
|
9406
9401
|
if (isOpen) {
|
|
9407
9402
|
updateDropdownPosition();
|
|
9408
9403
|
window.addEventListener("scroll", updateDropdownPosition, true);
|
|
@@ -9424,7 +9419,7 @@ var Dropdown = (0, import_react25.forwardRef)((props, ref) => {
|
|
|
9424
9419
|
toggleDropdown();
|
|
9425
9420
|
}
|
|
9426
9421
|
};
|
|
9427
|
-
(0,
|
|
9422
|
+
(0, import_react24.useImperativeHandle)(ref, () => ({
|
|
9428
9423
|
toggleDropdown
|
|
9429
9424
|
}));
|
|
9430
9425
|
return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_jsx_runtime38.Fragment, { children: [
|
|
@@ -9648,23 +9643,23 @@ var PhoneInputItem = () => {
|
|
|
9648
9643
|
const { appearance } = useAppearance();
|
|
9649
9644
|
const { navigate } = useRouter();
|
|
9650
9645
|
const locales = useLocales();
|
|
9651
|
-
const [countryData, setCountryData] = (0,
|
|
9652
|
-
const [phoneValue, setPhoneValue] = (0,
|
|
9653
|
-
const [visbSelectCountry, setVisbSelectCountry] = (0,
|
|
9654
|
-
const [searchValue, setSearchValue] = (0,
|
|
9655
|
-
const [phoneError, setPhoneError] = (0,
|
|
9656
|
-
const [loading, setLoading] = (0,
|
|
9657
|
-
const [listPosition, setListPosition] = (0,
|
|
9658
|
-
const [listMaxHeight, setListMaxHeight] = (0,
|
|
9659
|
-
const [hoverIndex, setHoverIndex] = (0,
|
|
9660
|
-
const [inputFocus, setInputFocus] = (0,
|
|
9661
|
-
const clickRef = (0,
|
|
9662
|
-
const searchInputRef = (0,
|
|
9663
|
-
const countryListWrapRef = (0,
|
|
9664
|
-
const footerRef = (0,
|
|
9665
|
-
const phoneContainerRef = (0,
|
|
9666
|
-
const timer = (0,
|
|
9667
|
-
const dropdownRef = (0,
|
|
9646
|
+
const [countryData, setCountryData] = (0, import_react25.useState)([]);
|
|
9647
|
+
const [phoneValue, setPhoneValue] = (0, import_react25.useState)("");
|
|
9648
|
+
const [visbSelectCountry, setVisbSelectCountry] = (0, import_react25.useState)(false);
|
|
9649
|
+
const [searchValue, setSearchValue] = (0, import_react25.useState)("");
|
|
9650
|
+
const [phoneError, setPhoneError] = (0, import_react25.useState)("");
|
|
9651
|
+
const [loading, setLoading] = (0, import_react25.useState)(false);
|
|
9652
|
+
const [listPosition, setListPosition] = (0, import_react25.useState)("bottom");
|
|
9653
|
+
const [listMaxHeight, setListMaxHeight] = (0, import_react25.useState)(300);
|
|
9654
|
+
const [hoverIndex, setHoverIndex] = (0, import_react25.useState)(-1);
|
|
9655
|
+
const [inputFocus, setInputFocus] = (0, import_react25.useState)(false);
|
|
9656
|
+
const clickRef = (0, import_react25.useRef)(null);
|
|
9657
|
+
const searchInputRef = (0, import_react25.useRef)(null);
|
|
9658
|
+
const countryListWrapRef = (0, import_react25.useRef)(null);
|
|
9659
|
+
const footerRef = (0, import_react25.useRef)(null);
|
|
9660
|
+
const phoneContainerRef = (0, import_react25.useRef)(null);
|
|
9661
|
+
const timer = (0, import_react25.useRef)();
|
|
9662
|
+
const dropdownRef = (0, import_react25.useRef)(null);
|
|
9668
9663
|
const walletConnector = useWalletConnector("particleAuth");
|
|
9669
9664
|
const sendCode = async () => {
|
|
9670
9665
|
try {
|
|
@@ -9703,7 +9698,7 @@ var PhoneInputItem = () => {
|
|
|
9703
9698
|
}
|
|
9704
9699
|
setLoading(false);
|
|
9705
9700
|
};
|
|
9706
|
-
const countriesList = (0,
|
|
9701
|
+
const countriesList = (0, import_react25.useMemo)(() => {
|
|
9707
9702
|
let filterCountryCodes = countryCodes;
|
|
9708
9703
|
if (appearance?.filterCountryCallingCode) {
|
|
9709
9704
|
filterCountryCodes = appearance?.filterCountryCallingCode(countryCodes);
|
|
@@ -9714,15 +9709,15 @@ var PhoneInputItem = () => {
|
|
|
9714
9709
|
return defaultCountriesData.find((item) => item[1]?.toLowerCase() === countryCode?.toLowerCase());
|
|
9715
9710
|
}).filter((item) => !!item);
|
|
9716
9711
|
}, []);
|
|
9717
|
-
const searclCountriesList = (0,
|
|
9712
|
+
const searclCountriesList = (0, import_react25.useMemo)(() => {
|
|
9718
9713
|
return countriesList.filter((item) => {
|
|
9719
9714
|
return item.join("+").toLowerCase().includes(searchValue.toLowerCase());
|
|
9720
9715
|
});
|
|
9721
9716
|
}, [countriesList, searchValue]);
|
|
9722
|
-
const hideContinueButton = (0,
|
|
9717
|
+
const hideContinueButton = (0, import_react25.useMemo)(() => {
|
|
9723
9718
|
return appearance?.hideContinueButton;
|
|
9724
9719
|
}, [appearance]);
|
|
9725
|
-
const disabled = (0,
|
|
9720
|
+
const disabled = (0, import_react25.useMemo)(() => {
|
|
9726
9721
|
try {
|
|
9727
9722
|
if (!countryData[1] || !countryData[2] || !phoneValue) {
|
|
9728
9723
|
return true;
|
|
@@ -9733,19 +9728,19 @@ var PhoneInputItem = () => {
|
|
|
9733
9728
|
}
|
|
9734
9729
|
return true;
|
|
9735
9730
|
}, [countryData, phoneValue, locales]);
|
|
9736
|
-
const hoverBgColor = (0,
|
|
9731
|
+
const hoverBgColor = (0, import_react25.useMemo)(() => {
|
|
9737
9732
|
const color = appearance.theme?.["--pcm-accent-color"] || "#A257FA";
|
|
9738
9733
|
return hexToRgbaColor(color, 0.1);
|
|
9739
9734
|
}, [appearance]);
|
|
9740
9735
|
useClickAway_default(() => {
|
|
9741
9736
|
setVisbSelectCountry(false);
|
|
9742
9737
|
}, [clickRef, countryListWrapRef]);
|
|
9743
|
-
(0,
|
|
9738
|
+
(0, import_react25.useEffect)(() => {
|
|
9744
9739
|
if (visbSelectCountry) {
|
|
9745
9740
|
setSearchValue("");
|
|
9746
9741
|
}
|
|
9747
9742
|
}, [visbSelectCountry]);
|
|
9748
|
-
(0,
|
|
9743
|
+
(0, import_react25.useEffect)(() => {
|
|
9749
9744
|
const language = navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;
|
|
9750
9745
|
const locales2 = language?.split("-");
|
|
9751
9746
|
const region = (locales2 || []).length > 1 ? locales2?.[1] : locales2?.[0];
|
|
@@ -9760,7 +9755,7 @@ var PhoneInputItem = () => {
|
|
|
9760
9755
|
}
|
|
9761
9756
|
}
|
|
9762
9757
|
}, [countriesList]);
|
|
9763
|
-
(0,
|
|
9758
|
+
(0, import_react25.useEffect)(() => {
|
|
9764
9759
|
const { topDistance, bottomDistance } = getElementDimensionsRelativeToParent(phoneContainerRef) || {};
|
|
9765
9760
|
if (bottomDistance && topDistance && bottomDistance > topDistance || (bottomDistance || 0) > 200) {
|
|
9766
9761
|
setListPosition("bottom");
|
|
@@ -9993,11 +9988,11 @@ var SwitchEmailOrPhone = ({
|
|
|
9993
9988
|
};
|
|
9994
9989
|
var Signup2 = () => {
|
|
9995
9990
|
const { config } = useContext();
|
|
9996
|
-
const [toggleEmailOrPhone, setToggleEmailOrPhone] = (0,
|
|
9991
|
+
const [toggleEmailOrPhone, setToggleEmailOrPhone] = (0, import_react26.useState)("email" /* Email */);
|
|
9997
9992
|
const locales = useLocales();
|
|
9998
9993
|
const { appearance } = useAppearance();
|
|
9999
9994
|
const { currentMode } = useIconColor_default();
|
|
10000
|
-
const connectorsOrder = (0,
|
|
9995
|
+
const connectorsOrder = (0, import_react26.useMemo)(() => {
|
|
10001
9996
|
let orders = appearance?.connectorsOrder;
|
|
10002
9997
|
if (!orders) {
|
|
10003
9998
|
orders = [
|
|
@@ -10028,13 +10023,13 @@ var Signup2 = () => {
|
|
|
10028
10023
|
fillConnectorsOrder(enablePasskey, "passkey" /* Passkey */, orders);
|
|
10029
10024
|
return orders;
|
|
10030
10025
|
}, [appearance?.connectorsOrder, appearance.collapsePasskeyButton, config.walletConnectors]);
|
|
10031
|
-
(0,
|
|
10026
|
+
(0, import_react26.useEffect)(() => {
|
|
10032
10027
|
const connectorType = connectorsOrder.find((item) => item === "email" /* Email */ || item === "phone" /* Phone */);
|
|
10033
10028
|
if (connectorType) {
|
|
10034
10029
|
setToggleEmailOrPhone(connectorType);
|
|
10035
10030
|
}
|
|
10036
10031
|
}, [connectorsOrder]);
|
|
10037
|
-
const connectorComponents = (0,
|
|
10032
|
+
const connectorComponents = (0, import_react26.useMemo)(() => {
|
|
10038
10033
|
if (appearance?.splitEmailAndPhone) {
|
|
10039
10034
|
return {
|
|
10040
10035
|
email: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(emailLogin_default, {}),
|
|
@@ -10054,7 +10049,7 @@ var Signup2 = () => {
|
|
|
10054
10049
|
};
|
|
10055
10050
|
}, [appearance?.splitEmailAndPhone, toggleEmailOrPhone]);
|
|
10056
10051
|
const switchEmailOrPhoneComponent = /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(SwitchEmailOrPhone, { toggleEmailOrPhone, setToggleEmailOrPhone });
|
|
10057
|
-
const content = (0,
|
|
10052
|
+
const content = (0, import_react26.useMemo)(() => {
|
|
10058
10053
|
const emailIndex = connectorsOrder.indexOf("email" /* Email */);
|
|
10059
10054
|
const phoneIndex = connectorsOrder.indexOf("phone" /* Phone */);
|
|
10060
10055
|
const collapseEmailAndPhone = !appearance?.splitEmailAndPhone && emailIndex != -1 && phoneIndex != -1;
|
|
@@ -10067,14 +10062,14 @@ var Signup2 = () => {
|
|
|
10067
10062
|
}
|
|
10068
10063
|
const component = connectorComponents[connector];
|
|
10069
10064
|
const dividerStartIndex = collapseEmailAndPhone && emailOrPhoneIndex === 0 ? 1 : 0;
|
|
10070
|
-
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
10065
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_react26.default.Fragment, { children: [
|
|
10071
10066
|
index > dividerStartIndex && connectorsOrder.length !== 1 && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(divider_default, { children: locales.or }),
|
|
10072
10067
|
component,
|
|
10073
10068
|
collapseEmailAndPhone && showSwitchConnector === connector && switchEmailOrPhoneComponent
|
|
10074
10069
|
] }, `${connector}-${index}`);
|
|
10075
10070
|
});
|
|
10076
10071
|
}, [connectorComponents, connectorsOrder, appearance?.splitEmailAndPhone, switchEmailOrPhoneComponent]);
|
|
10077
|
-
const logoUrl = (0,
|
|
10072
|
+
const logoUrl = (0, import_react26.useMemo)(() => {
|
|
10078
10073
|
if (!appearance?.logo) {
|
|
10079
10074
|
return logo_default;
|
|
10080
10075
|
}
|
|
@@ -10095,15 +10090,15 @@ var signup_default = Signup2;
|
|
|
10095
10090
|
|
|
10096
10091
|
// src/pages/walletInfo/index.tsx
|
|
10097
10092
|
var import_connector_core12 = require("@particle-network/connector-core");
|
|
10098
|
-
var
|
|
10093
|
+
var import_react36 = require("react");
|
|
10099
10094
|
|
|
10100
10095
|
// src/components/chainDropdown/index.tsx
|
|
10101
10096
|
var import_connector_core8 = require("@particle-network/connector-core");
|
|
10102
10097
|
var import_framer_motion21 = require("framer-motion");
|
|
10103
|
-
var
|
|
10098
|
+
var import_react31 = require("react");
|
|
10104
10099
|
|
|
10105
10100
|
// src/hooks/useChainId.ts
|
|
10106
|
-
var
|
|
10101
|
+
var import_react27 = require("react");
|
|
10107
10102
|
|
|
10108
10103
|
// src/actions/getChainId.ts
|
|
10109
10104
|
function getChainId(config) {
|
|
@@ -10119,7 +10114,7 @@ function watchChainId(config, parameters) {
|
|
|
10119
10114
|
// src/hooks/useChainId.ts
|
|
10120
10115
|
function useChainId() {
|
|
10121
10116
|
const { config } = useContext();
|
|
10122
|
-
return (0,
|
|
10117
|
+
return (0, import_react27.useSyncExternalStore)(
|
|
10123
10118
|
(onChange) => watchChainId(config, { onChange }),
|
|
10124
10119
|
() => getChainId(config),
|
|
10125
10120
|
() => getChainId(config)
|
|
@@ -10127,11 +10122,11 @@ function useChainId() {
|
|
|
10127
10122
|
}
|
|
10128
10123
|
|
|
10129
10124
|
// src/hooks/useChains.ts
|
|
10130
|
-
var
|
|
10125
|
+
var import_react28 = require("react");
|
|
10131
10126
|
var useChains = () => {
|
|
10132
10127
|
const { config } = useContext();
|
|
10133
10128
|
const { connector } = useAccount();
|
|
10134
|
-
const chains2 = (0,
|
|
10129
|
+
const chains2 = (0, import_react28.useMemo)(() => {
|
|
10135
10130
|
const walletConnectorType = connector?.walletConnectorType;
|
|
10136
10131
|
if (walletConnectorType) {
|
|
10137
10132
|
const walletConnector = config.getWalletConnector(walletConnectorType);
|
|
@@ -10145,7 +10140,7 @@ var useChains = () => {
|
|
|
10145
10140
|
};
|
|
10146
10141
|
|
|
10147
10142
|
// src/hooks/useConnections.ts
|
|
10148
|
-
var
|
|
10143
|
+
var import_react29 = require("react");
|
|
10149
10144
|
|
|
10150
10145
|
// src/actions/getConnections.ts
|
|
10151
10146
|
var previousConnections = [];
|
|
@@ -10180,7 +10175,7 @@ function watchConnections(config, parameters) {
|
|
|
10180
10175
|
// src/hooks/useConnections.ts
|
|
10181
10176
|
function useConnections() {
|
|
10182
10177
|
const { config } = useContext();
|
|
10183
|
-
return (0,
|
|
10178
|
+
return (0, import_react29.useSyncExternalStore)(
|
|
10184
10179
|
(onChange) => watchConnections(config, { onChange }),
|
|
10185
10180
|
() => getConnections(config),
|
|
10186
10181
|
() => getConnections(config)
|
|
@@ -10259,14 +10254,14 @@ var useSwitchChain = (parameters) => {
|
|
|
10259
10254
|
};
|
|
10260
10255
|
|
|
10261
10256
|
// src/hooks/useWalletConnections.tsx
|
|
10262
|
-
var
|
|
10257
|
+
var import_react30 = require("react");
|
|
10263
10258
|
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
10264
10259
|
var useWalletConnections = () => {
|
|
10265
10260
|
const connections = useConnections();
|
|
10266
10261
|
const wallets = useWalletsProps_default();
|
|
10267
10262
|
const { config } = useContext();
|
|
10268
10263
|
const { lastConnectorId } = useLastConnectorId();
|
|
10269
|
-
const walletConnections = (0,
|
|
10264
|
+
const walletConnections = (0, import_react30.useMemo)(() => {
|
|
10270
10265
|
const props = [];
|
|
10271
10266
|
for (const connection of connections) {
|
|
10272
10267
|
const id = connection.connector.id;
|
|
@@ -10321,22 +10316,22 @@ var ChainDropdown = ({
|
|
|
10321
10316
|
const connectors = useConnectors();
|
|
10322
10317
|
const { connectAsync } = useConnect();
|
|
10323
10318
|
const connections = useConnections();
|
|
10324
|
-
const [hoverIndex, setHoverIndex] = (0,
|
|
10325
|
-
const [targetChainId, setTargetChainId] = (0,
|
|
10326
|
-
const dropdownRef = (0,
|
|
10327
|
-
const timer = (0,
|
|
10328
|
-
const dropdownWrapperRef = (0,
|
|
10329
|
-
const selectedItemRef = (0,
|
|
10330
|
-
const isParticle = (0,
|
|
10319
|
+
const [hoverIndex, setHoverIndex] = (0, import_react31.useState)(-1);
|
|
10320
|
+
const [targetChainId, setTargetChainId] = (0, import_react31.useState)();
|
|
10321
|
+
const dropdownRef = (0, import_react31.useRef)(null);
|
|
10322
|
+
const timer = (0, import_react31.useRef)();
|
|
10323
|
+
const dropdownWrapperRef = (0, import_react31.useRef)(null);
|
|
10324
|
+
const selectedItemRef = (0, import_react31.useRef)(null);
|
|
10325
|
+
const isParticle = (0, import_react31.useMemo)(() => {
|
|
10331
10326
|
return Boolean(walletConnection && walletConnection.walletProps.connector.walletConnectorType === "particleAuth");
|
|
10332
10327
|
}, [walletConnection]);
|
|
10333
|
-
const currentChainId = (0,
|
|
10328
|
+
const currentChainId = (0, import_react31.useMemo)(() => {
|
|
10334
10329
|
return supportChain ? chainId : -1;
|
|
10335
10330
|
}, [chainId, supportChain]);
|
|
10336
|
-
const switchSuccess = (0,
|
|
10331
|
+
const switchSuccess = (0, import_react31.useMemo)(() => {
|
|
10337
10332
|
return targetChainId === currentChainId;
|
|
10338
10333
|
}, [targetChainId, currentChainId]);
|
|
10339
|
-
const currentChainType = (0,
|
|
10334
|
+
const currentChainType = (0, import_react31.useMemo)(() => {
|
|
10340
10335
|
if (chainList && chainList?.length && currentChainId) {
|
|
10341
10336
|
const chain = chainList.find((item) => item.id === currentChainId);
|
|
10342
10337
|
if (chain) {
|
|
@@ -10347,18 +10342,18 @@ var ChainDropdown = ({
|
|
|
10347
10342
|
return "";
|
|
10348
10343
|
}
|
|
10349
10344
|
}, [chainList, currentChainId]);
|
|
10350
|
-
(0,
|
|
10345
|
+
(0, import_react31.useEffect)(() => {
|
|
10351
10346
|
if (switchSuccess && visible) {
|
|
10352
10347
|
setVisible(false);
|
|
10353
10348
|
setTargetChainId(void 0);
|
|
10354
10349
|
}
|
|
10355
10350
|
}, [switchSuccess, visible, setVisible]);
|
|
10356
|
-
(0,
|
|
10351
|
+
(0, import_react31.useEffect)(() => {
|
|
10357
10352
|
}, [currentChainId]);
|
|
10358
10353
|
useClickAway_default(() => {
|
|
10359
10354
|
setVisible(false);
|
|
10360
10355
|
}, [dropdownRef, ...clickAwayElements]);
|
|
10361
|
-
(0,
|
|
10356
|
+
(0, import_react31.useEffect)(() => {
|
|
10362
10357
|
setTimeout(() => {
|
|
10363
10358
|
if (visible && dropdownWrapperRef.current && selectedItemRef.current) {
|
|
10364
10359
|
const dropdownWrapper = dropdownWrapperRef.current;
|
|
@@ -10572,7 +10567,7 @@ var StyleSwitchNetwork = import_styled_components25.styled.div`
|
|
|
10572
10567
|
|
|
10573
10568
|
// src/components/refreshIcon/index.tsx
|
|
10574
10569
|
var import_framer_motion22 = require("framer-motion");
|
|
10575
|
-
var
|
|
10570
|
+
var import_react32 = require("react");
|
|
10576
10571
|
var import_styled_components26 = require("styled-components");
|
|
10577
10572
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
10578
10573
|
var StyleRefreshIcon = import_styled_components26.styled.div`
|
|
@@ -10590,8 +10585,8 @@ var StyleRefreshIcon = import_styled_components26.styled.div`
|
|
|
10590
10585
|
`;
|
|
10591
10586
|
var RefreshIcon = ({ spin, ...props }) => {
|
|
10592
10587
|
const controls = (0, import_framer_motion22.useAnimation)();
|
|
10593
|
-
const [isSpinning, setIsSpinning] = (0,
|
|
10594
|
-
(0,
|
|
10588
|
+
const [isSpinning, setIsSpinning] = (0, import_react32.useState)(false);
|
|
10589
|
+
(0, import_react32.useEffect)(() => {
|
|
10595
10590
|
let animation;
|
|
10596
10591
|
const startSpinning = async () => {
|
|
10597
10592
|
if (isSpinning) {
|
|
@@ -10650,17 +10645,17 @@ var RefreshIcon = ({ spin, ...props }) => {
|
|
|
10650
10645
|
var refreshIcon_default = RefreshIcon;
|
|
10651
10646
|
|
|
10652
10647
|
// src/hooks/useEmbeddedWallet.ts
|
|
10653
|
-
var
|
|
10648
|
+
var import_react33 = require("react");
|
|
10654
10649
|
var useEmbeddedWallet = () => {
|
|
10655
10650
|
const { config } = useContext();
|
|
10656
|
-
const walletPlugin = (0,
|
|
10651
|
+
const walletPlugin = (0, import_react33.useMemo)(() => {
|
|
10657
10652
|
const plugin = config.plugins.find((plugin2) => plugin2.id === "wallet");
|
|
10658
10653
|
if (plugin) {
|
|
10659
10654
|
return plugin;
|
|
10660
10655
|
}
|
|
10661
10656
|
return void 0;
|
|
10662
10657
|
}, []);
|
|
10663
|
-
const isCanOpen = (0,
|
|
10658
|
+
const isCanOpen = (0, import_react33.useMemo)(() => {
|
|
10664
10659
|
return walletPlugin?.getPlugin().walletOptions.widgetIntegration !== "embedded";
|
|
10665
10660
|
}, [walletPlugin]);
|
|
10666
10661
|
if (!walletPlugin) {
|
|
@@ -10675,19 +10670,19 @@ var useEmbeddedWallet = () => {
|
|
|
10675
10670
|
};
|
|
10676
10671
|
|
|
10677
10672
|
// src/hooks/useParticleAuth.ts
|
|
10678
|
-
var
|
|
10673
|
+
var import_react34 = require("react");
|
|
10679
10674
|
var useParticleAuth = () => {
|
|
10680
10675
|
const { connector } = useAccount();
|
|
10681
|
-
const isParticle = (0,
|
|
10676
|
+
const isParticle = (0, import_react34.useMemo)(() => {
|
|
10682
10677
|
return connector?.walletConnectorType === "particleAuth";
|
|
10683
10678
|
}, [connector]);
|
|
10684
|
-
const particle = (0,
|
|
10679
|
+
const particle = (0, import_react34.useMemo)(() => {
|
|
10685
10680
|
if (isParticle && "particle" in window && window.particle?._internal) {
|
|
10686
10681
|
return window?.particle;
|
|
10687
10682
|
}
|
|
10688
10683
|
return null;
|
|
10689
10684
|
}, [isParticle]);
|
|
10690
|
-
const createParticleMethod = (0,
|
|
10685
|
+
const createParticleMethod = (0, import_react34.useCallback)(
|
|
10691
10686
|
(methodName) => {
|
|
10692
10687
|
return (...args) => {
|
|
10693
10688
|
if (!isParticle || !particle || !particle._internal || !particle._internal[methodName]) {
|
|
@@ -10742,7 +10737,7 @@ function usePublicClient(parameters = {}) {
|
|
|
10742
10737
|
}
|
|
10743
10738
|
|
|
10744
10739
|
// src/context/web3Provider/index.tsx
|
|
10745
|
-
var
|
|
10740
|
+
var import_react35 = __toESM(require("react"), 1);
|
|
10746
10741
|
|
|
10747
10742
|
// src/actions/getSolanaWalletClient.ts
|
|
10748
10743
|
var import_connector_core10 = require("@particle-network/connector-core");
|
|
@@ -10879,12 +10874,12 @@ var mapWalletClient = async (parameters) => {
|
|
|
10879
10874
|
|
|
10880
10875
|
// src/context/web3Provider/index.tsx
|
|
10881
10876
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
10882
|
-
var Web3Context = (0,
|
|
10877
|
+
var Web3Context = (0, import_react35.createContext)(null);
|
|
10883
10878
|
var Web3Provder = ({ children }) => {
|
|
10884
10879
|
const connections = useConnections();
|
|
10885
10880
|
const { config } = useContext();
|
|
10886
10881
|
const { data: wallets, mutate: connectionMutate } = useMutation(mapWalletClient);
|
|
10887
|
-
(0,
|
|
10882
|
+
(0, import_react35.useEffect)(() => {
|
|
10888
10883
|
connectionMutate({ connections, config });
|
|
10889
10884
|
}, [connections]);
|
|
10890
10885
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
@@ -10898,7 +10893,7 @@ var Web3Provder = ({ children }) => {
|
|
|
10898
10893
|
);
|
|
10899
10894
|
};
|
|
10900
10895
|
var useWeb3Context = () => {
|
|
10901
|
-
const context =
|
|
10896
|
+
const context = import_react35.default.useContext(Web3Context);
|
|
10902
10897
|
if (!context)
|
|
10903
10898
|
throw Error("Web3 Hook must be inside a Provider.");
|
|
10904
10899
|
return context;
|
|
@@ -11103,13 +11098,13 @@ var Page6 = () => {
|
|
|
11103
11098
|
onSettled(data, error) {
|
|
11104
11099
|
}
|
|
11105
11100
|
});
|
|
11106
|
-
const [refreshBalance, setRefreshBalance] = (0,
|
|
11107
|
-
const [chainDropdownVisible, setChainDropdownVisible] = (0,
|
|
11108
|
-
const [balance, setBalance] = (0,
|
|
11109
|
-
const timer = (0,
|
|
11110
|
-
const walletInfoLeftRef = (0,
|
|
11111
|
-
const [disconnectLoading, setDisconnectLoading] = (0,
|
|
11112
|
-
const currentChainType = (0,
|
|
11101
|
+
const [refreshBalance, setRefreshBalance] = (0, import_react36.useState)(false);
|
|
11102
|
+
const [chainDropdownVisible, setChainDropdownVisible] = (0, import_react36.useState)(false);
|
|
11103
|
+
const [balance, setBalance] = (0, import_react36.useState)(null);
|
|
11104
|
+
const timer = (0, import_react36.useRef)();
|
|
11105
|
+
const walletInfoLeftRef = (0, import_react36.useRef)(null);
|
|
11106
|
+
const [disconnectLoading, setDisconnectLoading] = (0, import_react36.useState)(false);
|
|
11107
|
+
const currentChainType = (0, import_react36.useMemo)(() => {
|
|
11113
11108
|
if (chainList && chainList?.length && currentChainId) {
|
|
11114
11109
|
const chain2 = chainList.find((item) => item.id === currentChainId);
|
|
11115
11110
|
if (chain2) {
|
|
@@ -11120,7 +11115,7 @@ var Page6 = () => {
|
|
|
11120
11115
|
return "";
|
|
11121
11116
|
}
|
|
11122
11117
|
}, [chainList, currentChainId]);
|
|
11123
|
-
const supportChain = (0,
|
|
11118
|
+
const supportChain = (0, import_react36.useMemo)(() => {
|
|
11124
11119
|
return chains2.some((item) => item.id === chain?.id);
|
|
11125
11120
|
}, [chain, chains2]);
|
|
11126
11121
|
const getBalance = async () => {
|
|
@@ -11139,7 +11134,7 @@ var Page6 = () => {
|
|
|
11139
11134
|
});
|
|
11140
11135
|
}
|
|
11141
11136
|
};
|
|
11142
|
-
const isParticle = (0,
|
|
11137
|
+
const isParticle = (0, import_react36.useMemo)(() => {
|
|
11143
11138
|
return Boolean(walletConnection && walletConnection.walletProps.connector.walletConnectorType === "particleAuth");
|
|
11144
11139
|
}, [walletConnection]);
|
|
11145
11140
|
const getCachedBalance = () => {
|
|
@@ -11147,19 +11142,19 @@ var Page6 = () => {
|
|
|
11147
11142
|
return localStorage.getItem(key) || "0";
|
|
11148
11143
|
};
|
|
11149
11144
|
const { appearance } = useAppearance();
|
|
11150
|
-
const buyUrl = (0,
|
|
11145
|
+
const buyUrl = (0, import_react36.useMemo)(() => {
|
|
11151
11146
|
if (address) {
|
|
11152
11147
|
return getBuyUrl(currentChainId, address, "", appearance.mode);
|
|
11153
11148
|
}
|
|
11154
11149
|
return void 0;
|
|
11155
11150
|
}, [address, currentChainId, appearance.mode]);
|
|
11156
|
-
(0,
|
|
11151
|
+
(0, import_react36.useEffect)(() => {
|
|
11157
11152
|
if (address && chain && client && primaryWallet) {
|
|
11158
11153
|
setBalance(getCachedBalance());
|
|
11159
11154
|
getBalance();
|
|
11160
11155
|
}
|
|
11161
11156
|
}, [address, client, chain, primaryWallet]);
|
|
11162
|
-
(0,
|
|
11157
|
+
(0, import_react36.useEffect)(() => {
|
|
11163
11158
|
if (chain?.id && address) {
|
|
11164
11159
|
setBalance(getCachedBalance());
|
|
11165
11160
|
}
|
|
@@ -11422,10 +11417,10 @@ var walletInfo_default = Page6;
|
|
|
11422
11417
|
|
|
11423
11418
|
// src/pages/walletInfo/title.tsx
|
|
11424
11419
|
var import_connector_core13 = require("@particle-network/connector-core");
|
|
11425
|
-
var
|
|
11420
|
+
var import_react39 = require("react");
|
|
11426
11421
|
|
|
11427
11422
|
// src/components/walletAAIcon/index.tsx
|
|
11428
|
-
var
|
|
11423
|
+
var import_react37 = require("react");
|
|
11429
11424
|
|
|
11430
11425
|
// src/assets/aa.tsx
|
|
11431
11426
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
@@ -11640,13 +11635,13 @@ var StyleCMWrapper = import_styled_components28.styled.div`
|
|
|
11640
11635
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
11641
11636
|
var WalletIcon2 = ({ size = 20, aaName = "" }) => {
|
|
11642
11637
|
const [walletConnection] = useWalletConnections();
|
|
11643
|
-
const cmSize = (0,
|
|
11638
|
+
const cmSize = (0, import_react37.useMemo)(() => {
|
|
11644
11639
|
return Math.floor(size / 1.6);
|
|
11645
11640
|
}, [size]);
|
|
11646
11641
|
const AAIcon = getAAIcon(aaName);
|
|
11647
11642
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StyleWalletIconContainer, { width: size, height: size, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(StyleAAWrapper, { children: [
|
|
11648
11643
|
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(AAIcon, {}),
|
|
11649
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StyleCMWrapper, { width: cmSize, height: cmSize, children: walletConnection?.walletProps.icon && (0,
|
|
11644
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(StyleCMWrapper, { width: cmSize, height: cmSize, children: walletConnection?.walletProps.icon && (0, import_react37.cloneElement)(walletConnection?.walletProps.icon, {
|
|
11650
11645
|
width: cmSize,
|
|
11651
11646
|
height: cmSize
|
|
11652
11647
|
}) })
|
|
@@ -11655,11 +11650,11 @@ var WalletIcon2 = ({ size = 20, aaName = "" }) => {
|
|
|
11655
11650
|
var walletAAIcon_default = WalletIcon2;
|
|
11656
11651
|
|
|
11657
11652
|
// src/components/walletIcon/index.tsx
|
|
11658
|
-
var
|
|
11653
|
+
var import_react38 = require("react");
|
|
11659
11654
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
11660
11655
|
var WalletIcon3 = ({ size = 20 }) => {
|
|
11661
11656
|
const [walletConnection] = useWalletConnections();
|
|
11662
|
-
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(StyleWalletIconContainer, { width: size, height: size, children: walletConnection?.walletProps.icon && (0,
|
|
11657
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(StyleWalletIconContainer, { width: size, height: size, children: walletConnection?.walletProps.icon && (0, import_react38.cloneElement)(walletConnection?.walletProps.icon, {
|
|
11663
11658
|
width: size,
|
|
11664
11659
|
height: size
|
|
11665
11660
|
}) });
|
|
@@ -11674,7 +11669,7 @@ var Title2 = () => {
|
|
|
11674
11669
|
const smartAccount = useSmartAccount();
|
|
11675
11670
|
const address = useAddress();
|
|
11676
11671
|
const aaIconName = smartAccount?.smartAccountContract?.name?.toUpperCase();
|
|
11677
|
-
const blockExplorerUrl = (0,
|
|
11672
|
+
const blockExplorerUrl = (0, import_react39.useMemo)(() => {
|
|
11678
11673
|
if (!currentChainId || !address || !chainList) {
|
|
11679
11674
|
return "";
|
|
11680
11675
|
}
|
|
@@ -11707,7 +11702,7 @@ var Title2 = () => {
|
|
|
11707
11702
|
var title_default = Title2;
|
|
11708
11703
|
|
|
11709
11704
|
// src/pages/walletconnect/index.tsx
|
|
11710
|
-
var
|
|
11705
|
+
var import_react40 = require("react");
|
|
11711
11706
|
|
|
11712
11707
|
// src/pages/walletconnect/styles.ts
|
|
11713
11708
|
var import_framer_motion23 = require("framer-motion");
|
|
@@ -11771,10 +11766,10 @@ var Page7 = ({ wallet }) => {
|
|
|
11771
11766
|
const { uri: walletConnectUri = "", requestUri, error } = useWalletConnectUri(wallet?.connector?.id);
|
|
11772
11767
|
const { config } = useContext();
|
|
11773
11768
|
const { isConnected } = useAccount();
|
|
11774
|
-
(0,
|
|
11769
|
+
(0, import_react40.useEffect)(() => {
|
|
11775
11770
|
requestUri();
|
|
11776
11771
|
}, []);
|
|
11777
|
-
(0,
|
|
11772
|
+
(0, import_react40.useEffect)(() => {
|
|
11778
11773
|
return () => {
|
|
11779
11774
|
if (!isConnected) {
|
|
11780
11775
|
config.setState((x) => ({
|
|
@@ -11784,7 +11779,7 @@ var Page7 = ({ wallet }) => {
|
|
|
11784
11779
|
}
|
|
11785
11780
|
};
|
|
11786
11781
|
}, [isConnected]);
|
|
11787
|
-
const visiableWalletButton = (0,
|
|
11782
|
+
const visiableWalletButton = (0, import_react40.useMemo)(() => {
|
|
11788
11783
|
if (mobile || wallet?.id === "walletConnect") {
|
|
11789
11784
|
return false;
|
|
11790
11785
|
} else {
|
|
@@ -11934,18 +11929,18 @@ var useRouteState = (0, import_zustand5.create)((set) => ({
|
|
|
11934
11929
|
|
|
11935
11930
|
// src/components/modal/index.tsx
|
|
11936
11931
|
var import_framer_motion24 = require("framer-motion");
|
|
11937
|
-
var
|
|
11932
|
+
var import_react46 = require("react");
|
|
11938
11933
|
var import_react_transition_state = __toESM(require("react-transition-state"), 1);
|
|
11939
11934
|
var import_resize_observer_polyfill = __toESM(require("resize-observer-polyfill"), 1);
|
|
11940
11935
|
|
|
11941
11936
|
// src/components/focusTrap/index.tsx
|
|
11942
|
-
var
|
|
11937
|
+
var import_react42 = require("react");
|
|
11943
11938
|
|
|
11944
11939
|
// src/hooks/useFocusTrap.ts
|
|
11945
|
-
var
|
|
11940
|
+
var import_react41 = require("react");
|
|
11946
11941
|
var KEYCODE_TAB = 9;
|
|
11947
11942
|
function useFocusTrap() {
|
|
11948
|
-
const elRef = (0,
|
|
11943
|
+
const elRef = (0, import_react41.useRef)(null);
|
|
11949
11944
|
function handleFocus(e) {
|
|
11950
11945
|
if (!elRef.current)
|
|
11951
11946
|
return;
|
|
@@ -11974,7 +11969,7 @@ function useFocusTrap() {
|
|
|
11974
11969
|
}
|
|
11975
11970
|
}
|
|
11976
11971
|
}
|
|
11977
|
-
(0,
|
|
11972
|
+
(0, import_react41.useEffect)(() => {
|
|
11978
11973
|
if (elRef.current) {
|
|
11979
11974
|
elRef.current.addEventListener("keydown", handleFocus);
|
|
11980
11975
|
elRef.current.focus({ preventScroll: true });
|
|
@@ -11992,7 +11987,7 @@ function useFocusTrap() {
|
|
|
11992
11987
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
11993
11988
|
function FocusTrap(props) {
|
|
11994
11989
|
const elRef = useFocusTrap();
|
|
11995
|
-
(0,
|
|
11990
|
+
(0, import_react42.useEffect)(() => {
|
|
11996
11991
|
if (!elRef.current)
|
|
11997
11992
|
return;
|
|
11998
11993
|
elRef.current.focus({ preventScroll: true });
|
|
@@ -12001,7 +11996,7 @@ function FocusTrap(props) {
|
|
|
12001
11996
|
}
|
|
12002
11997
|
|
|
12003
11998
|
// src/components/footer/index.tsx
|
|
12004
|
-
var
|
|
11999
|
+
var import_react43 = require("react");
|
|
12005
12000
|
|
|
12006
12001
|
// src/assets/powerdBy.tsx
|
|
12007
12002
|
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
@@ -12056,7 +12051,7 @@ var FooterContainer = import_styled_components30.styled.div`
|
|
|
12056
12051
|
// src/components/footer/index.tsx
|
|
12057
12052
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
12058
12053
|
var Footer = () => {
|
|
12059
|
-
const onClick = (0,
|
|
12054
|
+
const onClick = (0, import_react43.useCallback)(() => {
|
|
12060
12055
|
window.open("https://particle.network", "_blank");
|
|
12061
12056
|
}, []);
|
|
12062
12057
|
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(FooterContainer, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(PowerdBy, { onClick }) });
|
|
@@ -12064,9 +12059,9 @@ var Footer = () => {
|
|
|
12064
12059
|
var footer_default = Footer;
|
|
12065
12060
|
|
|
12066
12061
|
// src/components/lockBody/index.tsx
|
|
12067
|
-
var
|
|
12062
|
+
var import_react44 = require("react");
|
|
12068
12063
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
12069
|
-
var useIsomorphicLayoutEffect = typeof window !== "undefined" ?
|
|
12064
|
+
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react44.useLayoutEffect : import_react44.useEffect;
|
|
12070
12065
|
var LockBody = ({ children }) => {
|
|
12071
12066
|
useIsomorphicLayoutEffect(() => {
|
|
12072
12067
|
const original = {
|
|
@@ -12094,11 +12089,11 @@ var LockBody = ({ children }) => {
|
|
|
12094
12089
|
var lockBody_default = LockBody;
|
|
12095
12090
|
|
|
12096
12091
|
// src/components/portal/index.tsx
|
|
12097
|
-
var
|
|
12092
|
+
var import_react45 = require("react");
|
|
12098
12093
|
var import_react_dom2 = require("react-dom");
|
|
12099
12094
|
|
|
12100
12095
|
// src/version.ts
|
|
12101
|
-
var version = "2.0.
|
|
12096
|
+
var version = "2.0.16";
|
|
12102
12097
|
|
|
12103
12098
|
// src/components/portal/index.tsx
|
|
12104
12099
|
var Portal = (props) => {
|
|
@@ -12107,9 +12102,9 @@ var Portal = (props) => {
|
|
|
12107
12102
|
...props
|
|
12108
12103
|
};
|
|
12109
12104
|
const { selector, children } = props;
|
|
12110
|
-
const ref = (0,
|
|
12111
|
-
const [mounted, setMounted] = (0,
|
|
12112
|
-
(0,
|
|
12105
|
+
const ref = (0, import_react45.useRef)(null);
|
|
12106
|
+
const [mounted, setMounted] = (0, import_react45.useState)(false);
|
|
12107
|
+
(0, import_react45.useEffect)(() => {
|
|
12113
12108
|
const selectorPrefixed = "#" + selector?.replace(/^#/, "");
|
|
12114
12109
|
ref.current = document.querySelector(selectorPrefixed);
|
|
12115
12110
|
if (!ref.current) {
|
|
@@ -12144,11 +12139,11 @@ var Modal = (props) => {
|
|
|
12144
12139
|
});
|
|
12145
12140
|
const mounted = !(state === "exited" || state === "unmounted");
|
|
12146
12141
|
const rendered = state === "preEnter" || state !== "exiting";
|
|
12147
|
-
(0,
|
|
12142
|
+
(0, import_react46.useEffect)(() => {
|
|
12148
12143
|
setOpen(open);
|
|
12149
12144
|
}, [open]);
|
|
12150
|
-
const ref = (0,
|
|
12151
|
-
const [dimensions, setDimensions] = (0,
|
|
12145
|
+
const ref = (0, import_react46.useRef)(null);
|
|
12146
|
+
const [dimensions, setDimensions] = (0, import_react46.useState)({
|
|
12152
12147
|
width: void 0,
|
|
12153
12148
|
height: void 0
|
|
12154
12149
|
});
|
|
@@ -12162,24 +12157,24 @@ var Modal = (props) => {
|
|
|
12162
12157
|
height: `${roundToEven(bounds?.height)}px`
|
|
12163
12158
|
});
|
|
12164
12159
|
};
|
|
12165
|
-
const contentRef = (0,
|
|
12160
|
+
const contentRef = (0, import_react46.useCallback)((node) => {
|
|
12166
12161
|
if (!node)
|
|
12167
12162
|
return;
|
|
12168
12163
|
ref.current = node;
|
|
12169
12164
|
updateBounds(node);
|
|
12170
12165
|
}, []);
|
|
12171
|
-
const dimensionsCSS = (0,
|
|
12166
|
+
const dimensionsCSS = (0, import_react46.useMemo)(
|
|
12172
12167
|
() => ({
|
|
12173
12168
|
"--height": dimensions.height,
|
|
12174
12169
|
"--width": dimensions.width
|
|
12175
12170
|
}),
|
|
12176
12171
|
[dimensions]
|
|
12177
12172
|
);
|
|
12178
|
-
(0,
|
|
12173
|
+
(0, import_react46.useEffect)(() => {
|
|
12179
12174
|
if (ref.current)
|
|
12180
12175
|
updateBounds(ref.current);
|
|
12181
12176
|
}, [route.path]);
|
|
12182
|
-
(0,
|
|
12177
|
+
(0, import_react46.useEffect)(() => {
|
|
12183
12178
|
const element = ref.current;
|
|
12184
12179
|
if (!element)
|
|
12185
12180
|
return;
|
|
@@ -12195,7 +12190,7 @@ var Modal = (props) => {
|
|
|
12195
12190
|
resizeObserver.unobserve(element);
|
|
12196
12191
|
};
|
|
12197
12192
|
}, [ref.current]);
|
|
12198
|
-
(0,
|
|
12193
|
+
(0, import_react46.useEffect)(() => {
|
|
12199
12194
|
if (!mounted) {
|
|
12200
12195
|
setDimensions({
|
|
12201
12196
|
width: void 0,
|
|
@@ -12276,27 +12271,27 @@ var ConnectModal = () => {
|
|
|
12276
12271
|
const locales = useLocales();
|
|
12277
12272
|
const { hideError } = useModalError();
|
|
12278
12273
|
const { isConnected } = useAccount();
|
|
12279
|
-
(0,
|
|
12274
|
+
(0, import_react47.useEffect)(() => {
|
|
12280
12275
|
setOpen(false);
|
|
12281
12276
|
}, [isConnected, setOpen]);
|
|
12282
|
-
(0,
|
|
12277
|
+
(0, import_react47.useEffect)(() => {
|
|
12283
12278
|
hideError();
|
|
12284
12279
|
}, [route, hideError]);
|
|
12285
12280
|
const {
|
|
12286
12281
|
element: PageElement,
|
|
12287
12282
|
title,
|
|
12288
12283
|
state
|
|
12289
|
-
} = (0,
|
|
12284
|
+
} = (0, import_react47.useMemo)(() => {
|
|
12290
12285
|
const page = getPage(route.path);
|
|
12291
12286
|
return { ...page, state: route.state };
|
|
12292
12287
|
}, [route]);
|
|
12293
|
-
const onClose = (0,
|
|
12288
|
+
const onClose = (0, import_react47.useCallback)(() => {
|
|
12294
12289
|
setOpen(false);
|
|
12295
12290
|
}, [setOpen]);
|
|
12296
|
-
const onBack = (0,
|
|
12291
|
+
const onBack = (0, import_react47.useCallback)(() => {
|
|
12297
12292
|
navigate("signup" /* Signup */);
|
|
12298
12293
|
}, [navigate]);
|
|
12299
|
-
const isCanBack = (0,
|
|
12294
|
+
const isCanBack = (0, import_react47.useMemo)(() => route.path !== "signup" /* Signup */ && route.path !== "wallet-info" /* WalletInfo */, [route.path]);
|
|
12300
12295
|
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
12301
12296
|
modal_default,
|
|
12302
12297
|
{
|
|
@@ -12311,7 +12306,7 @@ var ConnectModal = () => {
|
|
|
12311
12306
|
var connectModal_default = ConnectModal;
|
|
12312
12307
|
|
|
12313
12308
|
// src/context/modalProvider/index.tsx
|
|
12314
|
-
var
|
|
12309
|
+
var import_react48 = __toESM(require("react"), 1);
|
|
12315
12310
|
|
|
12316
12311
|
// src/actions/filterConnectors.ts
|
|
12317
12312
|
var filterConnectors = (connectors) => {
|
|
@@ -12440,7 +12435,7 @@ function hydrate(config, parameters) {
|
|
|
12440
12435
|
|
|
12441
12436
|
// src/context/modalProvider/index.tsx
|
|
12442
12437
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
12443
|
-
var ModalContext = (0,
|
|
12438
|
+
var ModalContext = (0, import_react48.createContext)(null);
|
|
12444
12439
|
var reconnectConfigUid;
|
|
12445
12440
|
var ModalProvider = (props) => {
|
|
12446
12441
|
const { reconnectOnMount } = props;
|
|
@@ -12461,9 +12456,9 @@ var ModalProvider = (props) => {
|
|
|
12461
12456
|
const aaPlugin = config.plugins.find((plugin) => plugin.id === "aa");
|
|
12462
12457
|
setSmartAccount(aaPlugin?.smartAccount ?? null);
|
|
12463
12458
|
};
|
|
12464
|
-
(0,
|
|
12459
|
+
(0, import_react48.useEffect)(() => {
|
|
12465
12460
|
}, [account]);
|
|
12466
|
-
const reconnectRef = (0,
|
|
12461
|
+
const reconnectRef = (0, import_react48.useRef)(false);
|
|
12467
12462
|
const { onMount } = hydrate(config, {
|
|
12468
12463
|
reconnectOnMount
|
|
12469
12464
|
});
|
|
@@ -12472,20 +12467,20 @@ var ModalProvider = (props) => {
|
|
|
12472
12467
|
reconnectConfigUid = config.uid;
|
|
12473
12468
|
onMount();
|
|
12474
12469
|
}
|
|
12475
|
-
(0,
|
|
12470
|
+
(0, import_react48.useEffect)(() => {
|
|
12476
12471
|
if (config.uid !== reconnectConfigUid) {
|
|
12477
12472
|
reconnectConfigUid = config.uid;
|
|
12478
12473
|
onMount();
|
|
12479
12474
|
}
|
|
12480
12475
|
}, [config.uid, onMount]);
|
|
12481
|
-
const walletPlugin = (0,
|
|
12476
|
+
const walletPlugin = (0, import_react48.useMemo)(() => {
|
|
12482
12477
|
const plugin = config.plugins.find((plugin2) => plugin2.id === "wallet");
|
|
12483
12478
|
if (plugin) {
|
|
12484
12479
|
return plugin;
|
|
12485
12480
|
}
|
|
12486
12481
|
return void 0;
|
|
12487
12482
|
}, [config.plugins]);
|
|
12488
|
-
(0,
|
|
12483
|
+
(0, import_react48.useEffect)(() => {
|
|
12489
12484
|
if (walletPlugin) {
|
|
12490
12485
|
const aaPlugin = config.plugins.find((plugin) => plugin.id === "aa");
|
|
12491
12486
|
const erc4337 = aaPlugin ? aaPlugin.erc4337 : void 0;
|
|
@@ -12494,7 +12489,7 @@ var ModalProvider = (props) => {
|
|
|
12494
12489
|
});
|
|
12495
12490
|
}
|
|
12496
12491
|
}, [walletPlugin, config.plugins]);
|
|
12497
|
-
(0,
|
|
12492
|
+
(0, import_react48.useEffect)(() => {
|
|
12498
12493
|
if (walletPlugin) {
|
|
12499
12494
|
const walletOption = getWalletOption(appearance);
|
|
12500
12495
|
walletPlugin.overrideWalletOption({
|
|
@@ -12503,7 +12498,7 @@ var ModalProvider = (props) => {
|
|
|
12503
12498
|
});
|
|
12504
12499
|
}
|
|
12505
12500
|
}, [appearance, walletPlugin]);
|
|
12506
|
-
(0,
|
|
12501
|
+
(0, import_react48.useEffect)(() => {
|
|
12507
12502
|
handlePlugin(connections, config.plugins);
|
|
12508
12503
|
}, [connections, config.plugins]);
|
|
12509
12504
|
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(ModalContext.Provider, { value: {}, children: props.children });
|
|
@@ -12511,14 +12506,14 @@ var ModalProvider = (props) => {
|
|
|
12511
12506
|
|
|
12512
12507
|
// src/context/index.tsx
|
|
12513
12508
|
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
12514
|
-
var Context = (0,
|
|
12509
|
+
var Context = (0, import_react49.createContext)(null);
|
|
12515
12510
|
var ConnectKitProvider = (parameters) => {
|
|
12516
|
-
if (
|
|
12511
|
+
if (import_react49.default.useContext(Context)) {
|
|
12517
12512
|
throw new Error("Multiple, nested usages of ConnectKitProvider detected. Please use only one.");
|
|
12518
12513
|
}
|
|
12519
12514
|
const { children, config, reconnectOnMount = true } = parameters;
|
|
12520
12515
|
const { appearance } = useAppearance(config);
|
|
12521
|
-
const { AuthCoreContextProvider, authOptions } = (0,
|
|
12516
|
+
const { AuthCoreContextProvider, authOptions } = (0, import_react49.useMemo)(() => {
|
|
12522
12517
|
const authWalletConnector = config.getWalletConnector("particleAuth");
|
|
12523
12518
|
const aaPlugin = config.plugins.find((plugin) => plugin.id === "aa");
|
|
12524
12519
|
const erc4337 = aaPlugin ? aaPlugin.erc4337 : void 0;
|
|
@@ -12527,7 +12522,7 @@ var ConnectKitProvider = (parameters) => {
|
|
|
12527
12522
|
theme = getSystemMode();
|
|
12528
12523
|
}
|
|
12529
12524
|
return {
|
|
12530
|
-
AuthCoreContextProvider: authWalletConnector?.AuthCoreContextProvider ??
|
|
12525
|
+
AuthCoreContextProvider: authWalletConnector?.AuthCoreContextProvider ?? import_react49.default.Fragment,
|
|
12531
12526
|
authOptions: authWalletConnector ? {
|
|
12532
12527
|
options: {
|
|
12533
12528
|
themeType: theme,
|
|
@@ -12547,7 +12542,7 @@ var ConnectKitProvider = (parameters) => {
|
|
|
12547
12542
|
options: config.options,
|
|
12548
12543
|
config
|
|
12549
12544
|
};
|
|
12550
|
-
return (0,
|
|
12545
|
+
return (0, import_react49.createElement)(
|
|
12551
12546
|
Context.Provider,
|
|
12552
12547
|
{ value },
|
|
12553
12548
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_jsx_runtime58.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(AuthCoreContextProvider, { ...authOptions, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Web3Provder, { children: [
|
|
@@ -12557,7 +12552,7 @@ var ConnectKitProvider = (parameters) => {
|
|
|
12557
12552
|
);
|
|
12558
12553
|
};
|
|
12559
12554
|
var useContext = () => {
|
|
12560
|
-
const context =
|
|
12555
|
+
const context = import_react49.default.useContext(Context);
|
|
12561
12556
|
if (!context)
|
|
12562
12557
|
throw Error("ConnectKit Hook must be inside a Provider.");
|
|
12563
12558
|
return context;
|
|
@@ -12577,13 +12572,13 @@ function useAppearance(config) {
|
|
|
12577
12572
|
const { config: globalConfig } = useContext();
|
|
12578
12573
|
config = globalConfig;
|
|
12579
12574
|
}
|
|
12580
|
-
const setAppearance = (0,
|
|
12575
|
+
const setAppearance = (0, import_react50.useCallback)(
|
|
12581
12576
|
(value) => {
|
|
12582
12577
|
config.appearanceStore.setState(value || {}, true);
|
|
12583
12578
|
},
|
|
12584
12579
|
[config.appearanceStore]
|
|
12585
12580
|
);
|
|
12586
|
-
const appearance = (0,
|
|
12581
|
+
const appearance = (0, import_react50.useSyncExternalStore)(
|
|
12587
12582
|
config.appearanceStore.subscribe,
|
|
12588
12583
|
() => getAppearance(config),
|
|
12589
12584
|
() => getAppearance(config)
|
|
@@ -12596,23 +12591,23 @@ function useAppearance(config) {
|
|
|
12596
12591
|
|
|
12597
12592
|
// src/hooks/useIconColor.ts
|
|
12598
12593
|
var useIconColor = () => {
|
|
12599
|
-
const [currentMode, setCurrentMode] = (0,
|
|
12594
|
+
const [currentMode, setCurrentMode] = (0, import_react51.useState)();
|
|
12600
12595
|
const { appearance } = useAppearance();
|
|
12601
|
-
(0,
|
|
12596
|
+
(0, import_react51.useEffect)(() => {
|
|
12602
12597
|
if (appearance?.mode && appearance?.mode !== "auto") {
|
|
12603
12598
|
setCurrentMode(appearance?.mode);
|
|
12604
12599
|
} else {
|
|
12605
12600
|
setCurrentMode(getSystemMode());
|
|
12606
12601
|
}
|
|
12607
12602
|
}, [appearance?.mode]);
|
|
12608
|
-
const foreground = (0,
|
|
12603
|
+
const foreground = (0, import_react51.useMemo)(() => {
|
|
12609
12604
|
if (currentMode === "dark") {
|
|
12610
12605
|
return "#000000";
|
|
12611
12606
|
} else {
|
|
12612
12607
|
return "#ffffff";
|
|
12613
12608
|
}
|
|
12614
12609
|
}, [currentMode]);
|
|
12615
|
-
const background = (0,
|
|
12610
|
+
const background = (0, import_react51.useMemo)(() => {
|
|
12616
12611
|
if (currentMode === "dark") {
|
|
12617
12612
|
return "#ffffff";
|
|
12618
12613
|
} else {
|
|
@@ -12911,14 +12906,14 @@ function getSocialIcon(authType) {
|
|
|
12911
12906
|
}
|
|
12912
12907
|
|
|
12913
12908
|
// src/components/connectButton/index.tsx
|
|
12914
|
-
var
|
|
12909
|
+
var import_react54 = require("react");
|
|
12915
12910
|
|
|
12916
12911
|
// src/components/connectedWidget/index.tsx
|
|
12917
12912
|
var import_connector_core14 = require("@particle-network/connector-core");
|
|
12918
|
-
var
|
|
12913
|
+
var import_react53 = require("react");
|
|
12919
12914
|
|
|
12920
12915
|
// src/components/horizontalResizeAnimation/index.tsx
|
|
12921
|
-
var
|
|
12916
|
+
var import_react52 = require("react");
|
|
12922
12917
|
var import_styled_components31 = require("styled-components");
|
|
12923
12918
|
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
12924
12919
|
var AnimationContainer = import_styled_components31.styled.div`
|
|
@@ -12934,10 +12929,10 @@ var HorizontalResizeAnimation = ({
|
|
|
12934
12929
|
style,
|
|
12935
12930
|
...props
|
|
12936
12931
|
}) => {
|
|
12937
|
-
const containerRef = (0,
|
|
12938
|
-
const contentRef = (0,
|
|
12939
|
-
const [width, setWidth] = (0,
|
|
12940
|
-
(0,
|
|
12932
|
+
const containerRef = (0, import_react52.useRef)(null);
|
|
12933
|
+
const contentRef = (0, import_react52.useRef)(null);
|
|
12934
|
+
const [width, setWidth] = (0, import_react52.useState)(0);
|
|
12935
|
+
(0, import_react52.useEffect)(() => {
|
|
12941
12936
|
if (containerRef.current && contentRef.current) {
|
|
12942
12937
|
requestAnimationFrame(() => {
|
|
12943
12938
|
const newWidth = contentRef.current?.offsetWidth || 0;
|
|
@@ -12959,12 +12954,12 @@ var ConnectedWidget = () => {
|
|
|
12959
12954
|
const chains2 = useChains();
|
|
12960
12955
|
const smartAccount = useSmartAccount();
|
|
12961
12956
|
const aaIconName = smartAccount?.smartAccountContract?.name?.toUpperCase();
|
|
12962
|
-
const [chainDropdownVisible, setChainDropdownVisible] = (0,
|
|
12963
|
-
const leftRef = (0,
|
|
12964
|
-
const supportChain = (0,
|
|
12957
|
+
const [chainDropdownVisible, setChainDropdownVisible] = (0, import_react53.useState)(false);
|
|
12958
|
+
const leftRef = (0, import_react53.useRef)(null);
|
|
12959
|
+
const supportChain = (0, import_react53.useMemo)(() => {
|
|
12965
12960
|
return chains2.some((item) => item.id === chain?.id);
|
|
12966
12961
|
}, [chain, chains2]);
|
|
12967
|
-
const chainName = (0,
|
|
12962
|
+
const chainName = (0, import_react53.useMemo)(() => {
|
|
12968
12963
|
const chainName2 = getChainDisplayName(chain);
|
|
12969
12964
|
const maxChainNameLength = window.screen.width < 400 ? 9 : 18;
|
|
12970
12965
|
return chainName2?.length > maxChainNameLength ? `${chainName2.slice(0, maxChainNameLength)}...` : chainName2;
|
|
@@ -13056,10 +13051,10 @@ var ConnectButton = (props) => {
|
|
|
13056
13051
|
const { label } = props;
|
|
13057
13052
|
const { isConnected, status } = useAccount();
|
|
13058
13053
|
const { navigate } = useRouter();
|
|
13059
|
-
const [loading, setLoading] = (0,
|
|
13054
|
+
const [loading, setLoading] = (0, import_react54.useState)(true);
|
|
13060
13055
|
const { appearance } = useAppearance();
|
|
13061
13056
|
const locales = useLocales();
|
|
13062
|
-
(0,
|
|
13057
|
+
(0, import_react54.useEffect)(() => {
|
|
13063
13058
|
setLoading(false);
|
|
13064
13059
|
}, [status]);
|
|
13065
13060
|
if (loading) {
|