@reef-knot/core-react 2.1.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_tslib.js +13 -1
- package/dist/components/AutoConnect.d.ts +2 -4
- package/dist/components/AutoConnect.d.ts.map +1 -1
- package/dist/components/AutoConnect.js +1 -3
- package/dist/context/index.d.ts +2 -1
- package/dist/context/index.d.ts.map +1 -1
- package/dist/context/reefKnot.d.ts.map +1 -1
- package/dist/context/reefKnot.js +3 -3
- package/dist/context/reefKnotModalContext.d.ts +43 -0
- package/dist/context/reefKnotModalContext.d.ts.map +1 -0
- package/dist/context/reefKnotModalContext.js +69 -0
- package/dist/helpers/index.d.ts +1 -0
- package/dist/helpers/index.d.ts.map +1 -1
- package/dist/helpers/useLocalStorage.d.ts +2 -0
- package/dist/helpers/useLocalStorage.d.ts.map +1 -0
- package/dist/helpers/useLocalStorage.js +29 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useAutoConnect.js +2 -5
- package/dist/hooks/useAutoConnectCheck.d.ts +2 -1
- package/dist/hooks/useAutoConnectCheck.d.ts.map +1 -1
- package/dist/hooks/useAutoConnectCheck.js +18 -6
- package/dist/hooks/useConnect.d.ts +6 -0
- package/dist/hooks/useConnect.d.ts.map +1 -0
- package/dist/hooks/useConnect.js +34 -0
- package/dist/hooks/useDisconnect.d.ts +1 -0
- package/dist/hooks/useDisconnect.d.ts.map +1 -1
- package/dist/hooks/useDisconnect.js +17 -12
- package/dist/hooks/useEagerConnect.d.ts +3 -9
- package/dist/hooks/useEagerConnect.d.ts.map +1 -1
- package/dist/hooks/useEagerConnect.js +44 -51
- package/dist/hooks/useReefKnotModal.d.ts +2 -0
- package/dist/hooks/useReefKnotModal.d.ts.map +1 -0
- package/dist/hooks/useReefKnotModal.js +10 -0
- package/dist/index.js +4 -1
- package/package.json +3 -3
- package/dist/context/acceptTermsModal.d.ts +0 -17
- package/dist/context/acceptTermsModal.d.ts.map +0 -1
- package/dist/context/acceptTermsModal.js +0 -32
package/dist/_virtual/_tslib.js
CHANGED
|
@@ -13,6 +13,18 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
|
13
13
|
PERFORMANCE OF THIS SOFTWARE.
|
|
14
14
|
***************************************************************************** */
|
|
15
15
|
|
|
16
|
+
function __rest(s, e) {
|
|
17
|
+
var t = {};
|
|
18
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
19
|
+
t[p] = s[p];
|
|
20
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
21
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
22
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
23
|
+
t[p[i]] = s[p[i]];
|
|
24
|
+
}
|
|
25
|
+
return t;
|
|
26
|
+
}
|
|
27
|
+
|
|
16
28
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
17
29
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
18
30
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -28,4 +40,4 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
|
|
|
28
40
|
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
29
41
|
};
|
|
30
42
|
|
|
31
|
-
export { __awaiter };
|
|
43
|
+
export { __awaiter, __rest };
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { Chain } from 'wagmi';
|
|
3
2
|
import type { WalletAdapterData } from '@reef-knot/types';
|
|
4
|
-
export declare const AutoConnect: ({
|
|
5
|
-
children: React.ReactNode;
|
|
3
|
+
export declare const AutoConnect: ({ autoConnect, }: {
|
|
6
4
|
autoConnect: boolean;
|
|
7
5
|
walletDataList: WalletAdapterData[];
|
|
8
6
|
chains: Chain[];
|
|
9
|
-
}) =>
|
|
7
|
+
}) => null;
|
|
10
8
|
//# sourceMappingURL=AutoConnect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoConnect.d.ts","sourceRoot":"","sources":["../../src/components/AutoConnect.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AutoConnect.d.ts","sourceRoot":"","sources":["../../src/components/AutoConnect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,WAAW;iBAGT,OAAO;oBACJ,iBAAiB,EAAE;YAC3B,KAAK,EAAE;UAIhB,CAAC"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
1
|
import { useAutoConnect } from '../hooks/useAutoConnect.js';
|
|
3
2
|
|
|
4
3
|
const AutoConnect = ({
|
|
5
|
-
children,
|
|
6
4
|
autoConnect
|
|
7
5
|
}) => {
|
|
8
6
|
useAutoConnect(autoConnect);
|
|
9
|
-
return
|
|
7
|
+
return null;
|
|
10
8
|
};
|
|
11
9
|
|
|
12
10
|
export { AutoConnect };
|
package/dist/context/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AACtE,YAAY,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reefKnot.d.ts","sourceRoot":"","sources":["../../src/context/reefKnot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAMrC,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,qCAA4C,CAAC;AAEzE,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,oBAAoB,
|
|
1
|
+
{"version":3,"file":"reefKnot.d.ts","sourceRoot":"","sources":["../../src/context/reefKnot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,EAAE,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAMrC,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,YAAY,EAAE,KAAK,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5B,cAAc,EAAE,iBAAiB,EAAE,CAAC;IACpC,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,qCAA4C,CAAC;AAEzE,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAsC7C,CAAC"}
|
package/dist/context/reefKnot.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import React, { createContext, useMemo } from 'react';
|
|
2
2
|
import { WCWarnBannerContextProvider } from '@reef-knot/ui-react';
|
|
3
3
|
import { getWalletDataList } from '../walletData/index.js';
|
|
4
|
-
import { AcceptTermsModalContextProvider } from './acceptTermsModal.js';
|
|
5
4
|
import { AutoConnect } from '../components/AutoConnect.js';
|
|
5
|
+
import { ReefKnotModalContextProvider } from './reefKnotModalContext.js';
|
|
6
6
|
|
|
7
7
|
const ReefKnotContext = createContext({});
|
|
8
8
|
const ReefKnot = ({
|
|
@@ -26,11 +26,11 @@ const ReefKnot = ({
|
|
|
26
26
|
}), [rpc, walletDataList, chains]);
|
|
27
27
|
return React.createElement(ReefKnotContext.Provider, {
|
|
28
28
|
value: contextValue
|
|
29
|
-
}, React.createElement(
|
|
29
|
+
}, React.createElement(ReefKnotModalContextProvider, null, React.createElement(WCWarnBannerContextProvider, null, React.createElement(AutoConnect, {
|
|
30
30
|
autoConnect: autoConnect,
|
|
31
31
|
walletDataList: walletDataList,
|
|
32
32
|
chains: chains
|
|
33
|
-
}, children)))
|
|
33
|
+
}), children)));
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
export { ReefKnot, ReefKnotContext };
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
type RequirementsData = {
|
|
3
|
+
icon?: ReactNode;
|
|
4
|
+
title?: string;
|
|
5
|
+
text?: ReactNode;
|
|
6
|
+
};
|
|
7
|
+
type ModalTypes = {
|
|
8
|
+
type: 'wallet' | 'ledger';
|
|
9
|
+
props?: undefined;
|
|
10
|
+
} | {
|
|
11
|
+
type: 'eager';
|
|
12
|
+
props: {
|
|
13
|
+
tryConnection: () => Promise<any>;
|
|
14
|
+
initialError?: Error;
|
|
15
|
+
};
|
|
16
|
+
} | {
|
|
17
|
+
type: 'requirements';
|
|
18
|
+
props: RequirementsData;
|
|
19
|
+
};
|
|
20
|
+
type ModalResult = {
|
|
21
|
+
success: boolean;
|
|
22
|
+
};
|
|
23
|
+
type ModalStateEntry = {
|
|
24
|
+
onClose: (props: ModalResult) => void;
|
|
25
|
+
} & ModalTypes;
|
|
26
|
+
type ModalOpenParams = {
|
|
27
|
+
onClose?: (props: ModalResult) => void;
|
|
28
|
+
} & ModalTypes;
|
|
29
|
+
type AsyncModalOpenParams = Omit<ModalOpenParams, 'onClose'>;
|
|
30
|
+
export type ReefKnotModalContextValue = {
|
|
31
|
+
openModal: (params: ModalOpenParams) => void;
|
|
32
|
+
openModalAsync: (params: AsyncModalOpenParams) => Promise<ModalResult>;
|
|
33
|
+
forceCloseAllModals: () => void;
|
|
34
|
+
closeModal: (result: ModalResult) => void;
|
|
35
|
+
modalStack: ModalStateEntry[];
|
|
36
|
+
currentModal: ModalStateEntry | undefined;
|
|
37
|
+
termsChecked: boolean;
|
|
38
|
+
setTermsChecked: (isChecked: boolean) => void;
|
|
39
|
+
};
|
|
40
|
+
export declare const ReefKnotModalContext: React.Context<ReefKnotModalContextValue | null>;
|
|
41
|
+
export declare const ReefKnotModalContextProvider: ({ children, }: React.PropsWithChildren) => React.JSX.Element;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=reefKnotModalContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reefKnotModalContext.d.ts","sourceRoot":"","sources":["../../src/context/reefKnotModalContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAM3E,KAAK,gBAAgB,GAAG;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEF,KAAK,UAAU,GACX;IACE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE;QACL,aAAa,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;QAClC,YAAY,CAAC,EAAE,KAAK,CAAC;KACtB,CAAC;CACH,GACD;IACE,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEN,KAAK,WAAW,GAAG;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACvC,GAAG,UAAU,CAAC;AAEf,KAAK,eAAe,GAAG;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACxC,GAAG,UAAU,CAAC;AAEf,KAAK,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;AAE7D,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAC7C,cAAc,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACvE,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,YAAY,EAAE,eAAe,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,CAAC;AAIF,eAAO,MAAM,oBAAoB,iDACsB,CAAC;AAGxD,eAAO,MAAM,4BAA4B,kBAEtC,MAAM,iBAAiB,sBA0DzB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { __rest, __awaiter } from '../_virtual/_tslib.js';
|
|
2
|
+
import React, { createContext, useState, useMemo } from 'react';
|
|
3
|
+
import { useLocalStorage } from '../helpers/useLocalStorage.js';
|
|
4
|
+
import { LS_KEY_TERMS_ACCEPTANCE } from '../constants/localStorage.js';
|
|
5
|
+
|
|
6
|
+
const NOOP = () => {};
|
|
7
|
+
const ReefKnotModalContext = createContext(null);
|
|
8
|
+
ReefKnotModalContext.displayName = 'ReefKnotModalContext';
|
|
9
|
+
const ReefKnotModalContextProvider = ({
|
|
10
|
+
children
|
|
11
|
+
}) => {
|
|
12
|
+
const [termsChecked, setTermsChecked] = useLocalStorage(LS_KEY_TERMS_ACCEPTANCE, false);
|
|
13
|
+
const [modalStack, updateModalStack] = useState([]);
|
|
14
|
+
const stableCallbacks = useMemo(() => ({
|
|
15
|
+
openModal: _a => {
|
|
16
|
+
var {
|
|
17
|
+
onClose = NOOP
|
|
18
|
+
} = _a,
|
|
19
|
+
props = __rest(_a, ["onClose"]);
|
|
20
|
+
updateModalStack(old => [...old, Object.assign(Object.assign({}, props), {
|
|
21
|
+
onClose
|
|
22
|
+
})]);
|
|
23
|
+
},
|
|
24
|
+
openModalAsync: ({
|
|
25
|
+
type,
|
|
26
|
+
props
|
|
27
|
+
}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
return new Promise(resolve => {
|
|
29
|
+
updateModalStack(old => [
|
|
30
|
+
// for some reason TS cannot match type and props here
|
|
31
|
+
...old, {
|
|
32
|
+
type,
|
|
33
|
+
props: props,
|
|
34
|
+
onClose: resolve
|
|
35
|
+
}]);
|
|
36
|
+
});
|
|
37
|
+
}),
|
|
38
|
+
closeModal: result => {
|
|
39
|
+
updateModalStack(old => {
|
|
40
|
+
const modal = old.pop();
|
|
41
|
+
modal === null || modal === void 0 ? void 0 : modal.onClose(result);
|
|
42
|
+
return [...old];
|
|
43
|
+
});
|
|
44
|
+
},
|
|
45
|
+
forceCloseAllModals: () => {
|
|
46
|
+
updateModalStack(old => {
|
|
47
|
+
let modal = old.pop();
|
|
48
|
+
while (modal) {
|
|
49
|
+
modal === null || modal === void 0 ? void 0 : modal.onClose({
|
|
50
|
+
success: false
|
|
51
|
+
});
|
|
52
|
+
modal = old.pop();
|
|
53
|
+
}
|
|
54
|
+
return [];
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
}), []);
|
|
58
|
+
const contextValue = useMemo(() => Object.assign({
|
|
59
|
+
modalStack,
|
|
60
|
+
currentModal: modalStack[modalStack.length - 1],
|
|
61
|
+
termsChecked,
|
|
62
|
+
setTermsChecked
|
|
63
|
+
}, stableCallbacks), [stableCallbacks, termsChecked, modalStack, setTermsChecked]);
|
|
64
|
+
return React.createElement(ReefKnotModalContext.Provider, {
|
|
65
|
+
value: contextValue
|
|
66
|
+
}, children);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export { ReefKnotModalContext, ReefKnotModalContextProvider };
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocalStorage.d.ts","sourceRoot":"","sources":["../../src/helpers/useLocalStorage.ts"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,wBAapC,CAAC,WAW3B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
|
|
3
|
+
function useLocalStorage(key, initialValue) {
|
|
4
|
+
// State to store our value
|
|
5
|
+
// Pass initial state function to useState so logic is only executed once
|
|
6
|
+
const [storedValue, setStoredValue] = useState(() => {
|
|
7
|
+
var _a;
|
|
8
|
+
let item;
|
|
9
|
+
if (typeof window !== 'undefined') {
|
|
10
|
+
item = (_a = window.localStorage) === null || _a === void 0 ? void 0 : _a.getItem(key);
|
|
11
|
+
}
|
|
12
|
+
// Parse stored json or if none return initialValue
|
|
13
|
+
return item ? JSON.parse(item) : initialValue;
|
|
14
|
+
});
|
|
15
|
+
// Return a wrapped version of useState's setter function that persists the new value to localStorage.
|
|
16
|
+
const setValue = value => {
|
|
17
|
+
// Allow value to be a function, so we have same API as useState
|
|
18
|
+
const valueToStore = value instanceof Function ? value(storedValue) : value;
|
|
19
|
+
// Save state
|
|
20
|
+
setStoredValue(valueToStore);
|
|
21
|
+
// Save to local storage
|
|
22
|
+
if (typeof window !== 'undefined') {
|
|
23
|
+
window.localStorage.setItem(key, JSON.stringify(valueToStore));
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
return [storedValue, setValue];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { useLocalStorage };
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC"}
|
|
@@ -20,13 +20,10 @@ const useAutoConnect = autoConnectEnabled => {
|
|
|
20
20
|
isAutoConnectCalled.current = true;
|
|
21
21
|
// Try to eagerly connect wallets that are meant to be used only with auto-connection.
|
|
22
22
|
// For example, wallets with dApp browsers, or using iframes to open dApps.
|
|
23
|
-
const
|
|
24
|
-
connectResult,
|
|
25
|
-
connectError
|
|
26
|
-
} = yield eagerConnect();
|
|
23
|
+
const connectResult = yield eagerConnect();
|
|
27
24
|
// If still not connected and there were no errors and the terms of service are accepted,
|
|
28
25
|
// call the default wagmi autoConnect method, which attempts to connect to the last used connector.
|
|
29
|
-
if (!connectResult &&
|
|
26
|
+
if (!connectResult && checkTermsAccepted()) {
|
|
30
27
|
yield client.autoConnect();
|
|
31
28
|
}
|
|
32
29
|
}), [autoConnectEnabled, client, eagerConnect, isConnected]);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export declare const useAutoConnectCheck: () => {
|
|
2
|
-
|
|
2
|
+
checkIfShouldAutoConnect: () => Promise<boolean>;
|
|
3
|
+
getAutoConnectOnlyConnectors: () => import("@wagmi/connectors/dist/base-84a689bb").C<any, any, any>[];
|
|
3
4
|
};
|
|
4
5
|
//# sourceMappingURL=useAutoConnectCheck.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAutoConnectCheck.d.ts","sourceRoot":"","sources":["../../src/hooks/useAutoConnectCheck.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB
|
|
1
|
+
{"version":3,"file":"useAutoConnectCheck.d.ts","sourceRoot":"","sources":["../../src/hooks/useAutoConnectCheck.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB;;;CAyB/B,CAAC"}
|
|
@@ -1,18 +1,30 @@
|
|
|
1
|
+
import { __awaiter } from '../_virtual/_tslib.js';
|
|
1
2
|
import { useReefKnotContext } from './useReefKnotContext.js';
|
|
2
3
|
|
|
3
4
|
const useAutoConnectCheck = () => {
|
|
4
5
|
const {
|
|
5
6
|
walletDataList
|
|
6
7
|
} = useReefKnotContext();
|
|
7
|
-
const
|
|
8
|
-
autoConnectOnly
|
|
9
|
-
}) => autoConnectOnly);
|
|
10
|
-
const isAutoConnectionSuitable = autoConnectOnlyAdapters.some(adapter => {
|
|
8
|
+
const checkIfShouldAutoConnect = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
11
9
|
var _a;
|
|
12
|
-
|
|
10
|
+
const autoConnectOnlyAdapters = walletDataList.filter(({
|
|
11
|
+
autoConnectOnly
|
|
12
|
+
}) => autoConnectOnly);
|
|
13
|
+
for (const adapter of autoConnectOnlyAdapters) {
|
|
14
|
+
// Try to detect at least one wallet, marked as for auto connection only
|
|
15
|
+
if (yield (_a = adapter.detector) === null || _a === void 0 ? void 0 : _a.call(adapter)) return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
13
18
|
});
|
|
19
|
+
const getAutoConnectOnlyConnectors = () => {
|
|
20
|
+
const autoConnectOnlyAdapters = walletDataList.filter(({
|
|
21
|
+
autoConnectOnly
|
|
22
|
+
}) => autoConnectOnly);
|
|
23
|
+
return autoConnectOnlyAdapters.map(adapter => adapter.connector);
|
|
24
|
+
};
|
|
14
25
|
return {
|
|
15
|
-
|
|
26
|
+
checkIfShouldAutoConnect,
|
|
27
|
+
getAutoConnectOnlyConnectors
|
|
16
28
|
};
|
|
17
29
|
};
|
|
18
30
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useConnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useConnect.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU;;;;CActB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { __awaiter } from '../_virtual/_tslib.js';
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
import { useAutoConnectCheck } from './useAutoConnectCheck.js';
|
|
4
|
+
import { useEagerConnect } from './useEagerConnect.js';
|
|
5
|
+
import { useReefKnotModal } from './useReefKnotModal.js';
|
|
6
|
+
|
|
7
|
+
const useConnect = () => {
|
|
8
|
+
const {
|
|
9
|
+
openModalAsync
|
|
10
|
+
} = useReefKnotModal();
|
|
11
|
+
const {
|
|
12
|
+
checkIfShouldAutoConnect
|
|
13
|
+
} = useAutoConnectCheck();
|
|
14
|
+
const {
|
|
15
|
+
eagerConnect
|
|
16
|
+
} = useEagerConnect();
|
|
17
|
+
const connect = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
18
|
+
if (yield checkIfShouldAutoConnect()) {
|
|
19
|
+
const result = yield eagerConnect();
|
|
20
|
+
return {
|
|
21
|
+
success: !!result
|
|
22
|
+
};
|
|
23
|
+
} else {
|
|
24
|
+
return openModalAsync({
|
|
25
|
+
type: 'wallet'
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}), [checkIfShouldAutoConnect, eagerConnect, openModalAsync]);
|
|
29
|
+
return {
|
|
30
|
+
connect
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { useConnect };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDisconnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useDisconnect.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB;;
|
|
1
|
+
{"version":3,"file":"useDisconnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useDisconnect.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,kBAAkB;;CAU9B,CAAC;AAEF,eAAO,MAAM,aAAa;wBACL,IAAI;iCACM,MAAM,OAAO;CAoB3C,CAAC"}
|
|
@@ -1,38 +1,43 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
2
|
import { useDisconnect as useDisconnect$1, useAccount } from 'wagmi';
|
|
3
|
-
import { AcceptTermsModalContext } from '../context/acceptTermsModal.js';
|
|
4
3
|
import { useAutoConnectCheck } from './useAutoConnectCheck.js';
|
|
4
|
+
import { useReefKnotModal } from './useReefKnotModal.js';
|
|
5
5
|
|
|
6
6
|
const useForceDisconnect = () => {
|
|
7
7
|
const {
|
|
8
8
|
disconnect
|
|
9
9
|
} = useDisconnect$1();
|
|
10
10
|
const {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
-
} = useContext(AcceptTermsModalContext);
|
|
11
|
+
forceCloseAllModals
|
|
12
|
+
} = useReefKnotModal();
|
|
15
13
|
const forceDisconnect = useCallback(() => {
|
|
14
|
+
forceCloseAllModals();
|
|
16
15
|
disconnect();
|
|
17
|
-
|
|
18
|
-
}, [disconnect, setVisible]);
|
|
16
|
+
}, [disconnect, forceCloseAllModals]);
|
|
19
17
|
return {
|
|
20
18
|
forceDisconnect
|
|
21
19
|
};
|
|
22
20
|
};
|
|
23
21
|
const useDisconnect = () => {
|
|
24
22
|
const {
|
|
25
|
-
isConnected
|
|
23
|
+
isConnected,
|
|
24
|
+
connector
|
|
26
25
|
} = useAccount();
|
|
27
26
|
const {
|
|
28
27
|
disconnect
|
|
29
28
|
} = useDisconnect$1();
|
|
30
29
|
const {
|
|
31
|
-
|
|
30
|
+
getAutoConnectOnlyConnectors
|
|
32
31
|
} = useAutoConnectCheck();
|
|
33
|
-
const
|
|
32
|
+
const checkIfDisconnectMakesSense = () => {
|
|
33
|
+
// It doesn't make sense to offer a user the ability to disconnect if the user is not connected yet,
|
|
34
|
+
// or if the user was connected automatically
|
|
35
|
+
const autoConnectOnlyConnectors = getAutoConnectOnlyConnectors();
|
|
36
|
+
return isConnected && autoConnectOnlyConnectors.some(c => c.id === (connector === null || connector === void 0 ? void 0 : connector.id));
|
|
37
|
+
};
|
|
34
38
|
return {
|
|
35
|
-
disconnect:
|
|
39
|
+
disconnect: checkIfDisconnectMakesSense() ? disconnect : undefined,
|
|
40
|
+
checkIfDisconnectMakesSense
|
|
36
41
|
};
|
|
37
42
|
};
|
|
38
43
|
|
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
import { Chain } from 'wagmi';
|
|
2
2
|
import type { ConnectResult } from '@wagmi/core';
|
|
3
3
|
import { WalletAdapterData } from '@reef-knot/types';
|
|
4
|
-
import {
|
|
5
|
-
export declare const connectEagerly: (adapters: WalletAdapterData[],
|
|
6
|
-
connectResult: ConnectResult | null;
|
|
7
|
-
connectError?: Error | undefined;
|
|
8
|
-
}>;
|
|
4
|
+
import { ReefKnotModalContextValue } from '../context';
|
|
5
|
+
export declare const connectEagerly: (adapters: WalletAdapterData[], openModalAsync: ReefKnotModalContextValue['openModalAsync'], supportedChains: Chain[]) => Promise<ConnectResult | null>;
|
|
9
6
|
export declare const useEagerConnect: () => {
|
|
10
|
-
eagerConnect: () => Promise<
|
|
11
|
-
connectResult: ConnectResult | null;
|
|
12
|
-
connectError?: Error | undefined;
|
|
13
|
-
}>;
|
|
7
|
+
eagerConnect: () => Promise<ConnectResult<import("@wagmi/core/dist/index-35b6525c").P> | null>;
|
|
14
8
|
};
|
|
15
9
|
//# sourceMappingURL=useEagerConnect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useEagerConnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useEagerConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"useEagerConnect.d.ts","sourceRoot":"","sources":["../../src/hooks/useEagerConnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,aAAa,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAIrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAgCvD,eAAO,MAAM,cAAc,aACf,iBAAiB,EAAE,kBACb,yBAAyB,CAAC,gBAAgB,CAAC,mBAC1C,KAAK,EAAE,KACvB,QAAQ,aAAa,GAAG,IAAI,CA2C9B,CAAC;AAEF,eAAO,MAAM,eAAe;;CAY3B,CAAC"}
|
|
@@ -1,23 +1,15 @@
|
|
|
1
1
|
import { __awaiter } from '../_virtual/_tslib.js';
|
|
2
2
|
import { connect, disconnect } from 'wagmi/actions';
|
|
3
|
-
import {
|
|
4
|
-
import { AcceptTermsModalContext } from '../context/acceptTermsModal.js';
|
|
3
|
+
import { useCallback } from 'react';
|
|
5
4
|
import { getUnsupportedChainError } from '../helpers/getUnsupportedChainError.js';
|
|
6
5
|
import { checkTermsAccepted } from '../helpers/checkTermsAccepted.js';
|
|
7
6
|
import { useReefKnotContext } from './useReefKnotContext.js';
|
|
7
|
+
import { useReefKnotModal } from './useReefKnotModal.js';
|
|
8
8
|
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
try {
|
|
14
|
-
connectResult = yield connect({
|
|
15
|
-
connector
|
|
16
|
-
});
|
|
17
|
-
} catch (e) {
|
|
18
|
-
connectResult = null; // ensure that connectResult is empty in case of an error
|
|
19
|
-
connectError = e;
|
|
20
|
-
}
|
|
9
|
+
const connectToAdapter = (connector, supportedChains) => __awaiter(void 0, void 0, void 0, function* () {
|
|
10
|
+
const connectResult = yield connect({
|
|
11
|
+
connector
|
|
12
|
+
});
|
|
21
13
|
if (connectResult === null || connectResult === void 0 ? void 0 : connectResult.chain.unsupported) {
|
|
22
14
|
// No errors during connection, but the chain is unsupported.
|
|
23
15
|
// This case is considered as error for now, and we explicitly call disconnect() here.
|
|
@@ -25,8 +17,7 @@ const connectAndHandleErrors = (connector, supportedChains, acceptTermsModal) =>
|
|
|
25
17
|
// web3-react logic was: if a chain is unsupported – break the connection, throw an error
|
|
26
18
|
// wagmi logic is: if a chain is unsupported – connect anyway, without errors, set `chain.unsupported` flag to true.
|
|
27
19
|
// So, here we are trying to mimic the legacy logic, because we are not ready to rework it yet.
|
|
28
|
-
|
|
29
|
-
connectError = getUnsupportedChainError(supportedChains);
|
|
20
|
+
const connectError = getUnsupportedChainError(supportedChains);
|
|
30
21
|
yield disconnect();
|
|
31
22
|
// A user may change a chain in a wallet app, prepare for that event.
|
|
32
23
|
// There is a strong recommendation in the MetaMask documentation
|
|
@@ -37,62 +28,64 @@ const connectAndHandleErrors = (connector, supportedChains, acceptTermsModal) =>
|
|
|
37
28
|
var _a;
|
|
38
29
|
return (_a = globalThis.window) === null || _a === void 0 ? void 0 : _a.location.reload();
|
|
39
30
|
});
|
|
31
|
+
throw connectError;
|
|
40
32
|
}
|
|
41
|
-
|
|
42
|
-
(_a = acceptTermsModal.setError) === null || _a === void 0 ? void 0 : _a.call(acceptTermsModal, connectError);
|
|
43
|
-
(_b = acceptTermsModal.setVisible) === null || _b === void 0 ? void 0 : _b.call(acceptTermsModal, true);
|
|
44
|
-
} else {
|
|
45
|
-
(_c = acceptTermsModal.setVisible) === null || _c === void 0 ? void 0 : _c.call(acceptTermsModal, false);
|
|
46
|
-
(_d = acceptTermsModal.setError) === null || _d === void 0 ? void 0 : _d.call(acceptTermsModal, undefined);
|
|
47
|
-
}
|
|
48
|
-
return {
|
|
49
|
-
connectResult,
|
|
50
|
-
connectError
|
|
51
|
-
};
|
|
33
|
+
return connectResult;
|
|
52
34
|
});
|
|
53
|
-
const connectEagerly = (adapters,
|
|
54
|
-
var
|
|
35
|
+
const connectEagerly = (adapters, openModalAsync, supportedChains) => __awaiter(void 0, void 0, void 0, function* () {
|
|
36
|
+
var _a;
|
|
55
37
|
const isTermsAccepted = checkTermsAccepted();
|
|
56
|
-
let connectResult = null;
|
|
57
|
-
let connectError;
|
|
58
|
-
const continueConnection = connector => __awaiter(void 0, void 0, void 0, function* () {
|
|
59
|
-
({
|
|
60
|
-
connectResult,
|
|
61
|
-
connectError
|
|
62
|
-
} = yield connectAndHandleErrors(connector, supportedChains, acceptTermsModal));
|
|
63
|
-
});
|
|
64
38
|
for (const adapter of adapters) {
|
|
65
|
-
if ((
|
|
39
|
+
if (yield (_a = adapter.detector) === null || _a === void 0 ? void 0 : _a.call(adapter)) {
|
|
66
40
|
// wallet is detected
|
|
41
|
+
let connectionResult = null;
|
|
42
|
+
const tryConnection = () => connectToAdapter(adapter.connector, supportedChains).then(result => {
|
|
43
|
+
connectionResult = result;
|
|
44
|
+
return result;
|
|
45
|
+
});
|
|
46
|
+
// if terms are not accepted, show modal and wait for user to try to connect from it
|
|
67
47
|
if (!isTermsAccepted) {
|
|
68
48
|
// Terms of service were not accepted previously.
|
|
69
49
|
// So, for legal reasons, we must ask a user to accept the terms before connecting.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
50
|
+
yield openModalAsync({
|
|
51
|
+
type: 'eager',
|
|
52
|
+
props: {
|
|
53
|
+
tryConnection
|
|
54
|
+
}
|
|
55
|
+
});
|
|
73
56
|
} else {
|
|
74
|
-
|
|
57
|
+
// happy path - try connection
|
|
58
|
+
try {
|
|
59
|
+
yield tryConnection();
|
|
60
|
+
} catch (e) {
|
|
61
|
+
// when failed open terms modal,allow user to see error and retry from it
|
|
62
|
+
yield openModalAsync({
|
|
63
|
+
type: 'eager',
|
|
64
|
+
props: {
|
|
65
|
+
tryConnection,
|
|
66
|
+
initialError: e
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
75
70
|
}
|
|
76
|
-
|
|
71
|
+
// TS doesn't know we assigned in tryConnection
|
|
72
|
+
return connectionResult;
|
|
77
73
|
}
|
|
78
74
|
}
|
|
79
|
-
return
|
|
80
|
-
connectResult,
|
|
81
|
-
connectError
|
|
82
|
-
};
|
|
75
|
+
return null;
|
|
83
76
|
});
|
|
84
77
|
const useEagerConnect = () => {
|
|
85
78
|
const {
|
|
86
|
-
|
|
87
|
-
} =
|
|
79
|
+
openModalAsync
|
|
80
|
+
} = useReefKnotModal();
|
|
88
81
|
const {
|
|
89
82
|
walletDataList,
|
|
90
83
|
chains
|
|
91
84
|
} = useReefKnotContext();
|
|
92
85
|
const autoConnectOnlyAdapters = walletDataList.filter(adapter => adapter.autoConnectOnly);
|
|
93
86
|
const eagerConnect = useCallback(() => {
|
|
94
|
-
return connectEagerly(autoConnectOnlyAdapters,
|
|
95
|
-
}, [
|
|
87
|
+
return connectEagerly(autoConnectOnlyAdapters, openModalAsync, chains);
|
|
88
|
+
}, [openModalAsync, autoConnectOnlyAdapters, chains]);
|
|
96
89
|
return {
|
|
97
90
|
eagerConnect
|
|
98
91
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useReefKnotModal.d.ts","sourceRoot":"","sources":["../../src/hooks/useReefKnotModal.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB,2EAO5B,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useContext } from 'react';
|
|
2
|
+
import { ReefKnotModalContext } from '../context/reefKnotModalContext.js';
|
|
3
|
+
|
|
4
|
+
const useReefKnotModal = () => {
|
|
5
|
+
const value = useContext(ReefKnotModalContext);
|
|
6
|
+
if (!value) throw new Error('useReefKnotModal was called outside of the ReefKnotModalContext');
|
|
7
|
+
return value;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { useReefKnotModal };
|
package/dist/index.js
CHANGED
|
@@ -5,10 +5,13 @@ export { useAutoConnectCheck } from './hooks/useAutoConnectCheck.js';
|
|
|
5
5
|
export { connectEagerly, useEagerConnect } from './hooks/useEagerConnect.js';
|
|
6
6
|
export { useDisconnect, useForceDisconnect } from './hooks/useDisconnect.js';
|
|
7
7
|
export { useConnectorInfo } from './hooks/useConnectorInfo.js';
|
|
8
|
+
export { useConnect } from './hooks/useConnect.js';
|
|
9
|
+
export { useReefKnotModal } from './hooks/useReefKnotModal.js';
|
|
8
10
|
export { ReefKnot, ReefKnotContext } from './context/reefKnot.js';
|
|
9
|
-
export {
|
|
11
|
+
export { ReefKnotModalContextProvider } from './context/reefKnotModalContext.js';
|
|
10
12
|
export { LS_KEY_TERMS_ACCEPTANCE } from './constants/localStorage.js';
|
|
11
13
|
export { holesky } from './chains/holesky.js';
|
|
12
14
|
export { getUnsupportedChainError } from './helpers/getUnsupportedChainError.js';
|
|
13
15
|
export { checkTermsAccepted } from './helpers/checkTermsAccepted.js';
|
|
14
16
|
export { browser, device, isMobile, isMobileOrTablet, isTablet, os } from './helpers/userAgents.js';
|
|
17
|
+
export { useLocalStorage } from './helpers/useLocalStorage.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reef-knot/core-react",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.1.0",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"@reef-knot/ledger-connector": "^3.0.0",
|
|
44
|
-
"@reef-knot/wallets-list": "^1.
|
|
45
|
-
"@reef-knot/types": "^1.
|
|
44
|
+
"@reef-knot/wallets-list": "^1.13.1",
|
|
45
|
+
"@reef-knot/types": "^1.7.0",
|
|
46
46
|
"@reef-knot/ui-react": "^1.0.8",
|
|
47
47
|
"@types/ua-parser-js": "^0.7.36",
|
|
48
48
|
"eslint-config-custom": "*",
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export type AcceptTermsModal = {
|
|
3
|
-
isVisible: boolean;
|
|
4
|
-
setVisible: React.Dispatch<React.SetStateAction<boolean>>;
|
|
5
|
-
onContinue: () => void;
|
|
6
|
-
setOnContinue: React.Dispatch<React.SetStateAction<() => void>>;
|
|
7
|
-
error?: Error;
|
|
8
|
-
setError: React.Dispatch<React.SetStateAction<Error | undefined>>;
|
|
9
|
-
};
|
|
10
|
-
export type AcceptTermsModalContextValue = {
|
|
11
|
-
acceptTermsModal: AcceptTermsModal;
|
|
12
|
-
};
|
|
13
|
-
export declare const AcceptTermsModalContext: React.Context<AcceptTermsModalContextValue>;
|
|
14
|
-
export declare const AcceptTermsModalContextProvider: ({ children, }: {
|
|
15
|
-
children: React.ReactNode;
|
|
16
|
-
}) => React.JSX.Element;
|
|
17
|
-
//# sourceMappingURL=acceptTermsModal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"acceptTermsModal.d.ts","sourceRoot":"","sources":["../../src/context/acceptTermsModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAChE,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAKF,eAAO,MAAM,uBAAuB,6CAKF,CAAC;AAEnC,eAAO,MAAM,+BAA+B;cAGhC,MAAM,SAAS;uBA+B1B,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import React, { createContext, useState, useMemo } from 'react';
|
|
2
|
-
|
|
3
|
-
const isVisibleDefaultValue = false;
|
|
4
|
-
const onContinueDefaultValue = () => void 0;
|
|
5
|
-
const AcceptTermsModalContext = createContext({
|
|
6
|
-
acceptTermsModal: {
|
|
7
|
-
isVisible: isVisibleDefaultValue,
|
|
8
|
-
onContinue: onContinueDefaultValue
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const AcceptTermsModalContextProvider = ({
|
|
12
|
-
children
|
|
13
|
-
}) => {
|
|
14
|
-
const [isAcceptTermsModalVisible, setIsAcceptTermsModalVisible] = useState(isVisibleDefaultValue);
|
|
15
|
-
const [onAcceptTermsModalContinue, setOnAcceptTermsModalContinue] = useState(() => onContinueDefaultValue);
|
|
16
|
-
const [error, setError] = useState(undefined);
|
|
17
|
-
const contextValue = useMemo(() => ({
|
|
18
|
-
acceptTermsModal: {
|
|
19
|
-
isVisible: isAcceptTermsModalVisible,
|
|
20
|
-
setVisible: setIsAcceptTermsModalVisible,
|
|
21
|
-
onContinue: onAcceptTermsModalContinue,
|
|
22
|
-
setOnContinue: setOnAcceptTermsModalContinue,
|
|
23
|
-
error,
|
|
24
|
-
setError
|
|
25
|
-
}
|
|
26
|
-
}), [error, isAcceptTermsModalVisible, onAcceptTermsModalContinue]);
|
|
27
|
-
return React.createElement(AcceptTermsModalContext.Provider, {
|
|
28
|
-
value: contextValue
|
|
29
|
-
}, children);
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export { AcceptTermsModalContext, AcceptTermsModalContextProvider };
|