@multiplatform.one/web3 7.17.0 → 7.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/dist/cjs/connectkit/components/Common/ConnectorList/index.cjs +33 -5
  2. package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js +38 -5
  3. package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
  4. package/dist/cjs/connectkit/components/ConnectButton/index.cjs +5 -0
  5. package/dist/cjs/connectkit/components/ConnectButton/index.native.js +5 -0
  6. package/dist/cjs/connectkit/components/ConnectButton/index.native.js.map +1 -1
  7. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.cjs +9 -4
  8. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +12 -7
  9. package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
  10. package/dist/cjs/connectkit/index.cjs +5 -0
  11. package/dist/cjs/connectkit/index.native.js +5 -0
  12. package/dist/cjs/connectkit/index.native.js.map +1 -1
  13. package/dist/cjs/connectkit/openConnector/context.cjs +146 -0
  14. package/dist/cjs/connectkit/openConnector/context.native.js +188 -0
  15. package/dist/cjs/connectkit/openConnector/context.native.js.map +1 -0
  16. package/dist/cjs/connectkit/openConnector/device.cjs +42 -0
  17. package/dist/cjs/connectkit/openConnector/device.native.js +51 -0
  18. package/dist/cjs/connectkit/openConnector/device.native.js.map +1 -0
  19. package/dist/cjs/connectkit/openConnector/index.cjs +35 -0
  20. package/dist/cjs/connectkit/openConnector/index.native.js +38 -0
  21. package/dist/cjs/connectkit/openConnector/index.native.js.map +1 -0
  22. package/dist/cjs/connectkit/openConnector/launcher.cjs +133 -0
  23. package/dist/cjs/connectkit/openConnector/launcher.native.js +158 -0
  24. package/dist/cjs/connectkit/openConnector/launcher.native.js.map +1 -0
  25. package/dist/cjs/connectkit/screens.cjs +1 -10
  26. package/dist/cjs/connectkit/screens.native.js +1 -12
  27. package/dist/cjs/connectkit/screens.native.js.map +1 -1
  28. package/dist/cjs/connectkit/siwe/connectIntent.cjs +9 -5
  29. package/dist/cjs/connectkit/siwe/connectIntent.native.js +10 -3
  30. package/dist/cjs/connectkit/siwe/connectIntent.native.js.map +1 -1
  31. package/dist/cjs/connectkit/useWeb3Modal.cjs +21 -0
  32. package/dist/cjs/connectkit/useWeb3Modal.native.js +22 -0
  33. package/dist/cjs/connectkit/useWeb3Modal.native.js.map +1 -1
  34. package/dist/cjs/connectkit/web3Bridge.cjs +4 -1
  35. package/dist/cjs/connectkit/web3Bridge.native.js +4 -1
  36. package/dist/cjs/connectkit/web3Bridge.native.js.map +1 -1
  37. package/dist/cjs/connectkit/web3Provider.native.js.map +1 -1
  38. package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs +34 -6
  39. package/dist/esm/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
  40. package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js +39 -6
  41. package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
  42. package/dist/esm/connectkit/components/ConnectButton/index.mjs +5 -0
  43. package/dist/esm/connectkit/components/ConnectButton/index.mjs.map +1 -1
  44. package/dist/esm/connectkit/components/ConnectButton/index.native.js +5 -0
  45. package/dist/esm/connectkit/components/ConnectButton/index.native.js.map +1 -1
  46. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +9 -4
  47. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
  48. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +12 -7
  49. package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
  50. package/dist/esm/connectkit/index.mjs +3 -1
  51. package/dist/esm/connectkit/index.mjs.map +1 -1
  52. package/dist/esm/connectkit/index.native.js +3 -1
  53. package/dist/esm/connectkit/index.native.js.map +1 -1
  54. package/dist/esm/connectkit/openConnector/context.mjs +118 -0
  55. package/dist/esm/connectkit/openConnector/context.mjs.map +1 -0
  56. package/dist/esm/connectkit/openConnector/context.native.js +146 -0
  57. package/dist/esm/connectkit/openConnector/context.native.js.map +1 -0
  58. package/dist/esm/connectkit/openConnector/device.mjs +16 -0
  59. package/dist/esm/connectkit/openConnector/device.mjs.map +1 -0
  60. package/dist/esm/connectkit/openConnector/device.native.js +22 -0
  61. package/dist/esm/connectkit/openConnector/device.native.js.map +1 -0
  62. package/dist/esm/connectkit/openConnector/index.mjs +4 -0
  63. package/dist/esm/connectkit/openConnector/index.mjs.map +1 -0
  64. package/dist/esm/connectkit/openConnector/index.native.js +4 -0
  65. package/dist/esm/connectkit/openConnector/index.native.js.map +1 -0
  66. package/dist/esm/connectkit/openConnector/launcher.mjs +106 -0
  67. package/dist/esm/connectkit/openConnector/launcher.mjs.map +1 -0
  68. package/dist/esm/connectkit/openConnector/launcher.native.js +128 -0
  69. package/dist/esm/connectkit/openConnector/launcher.native.js.map +1 -0
  70. package/dist/esm/connectkit/screens.mjs +2 -11
  71. package/dist/esm/connectkit/screens.mjs.map +1 -1
  72. package/dist/esm/connectkit/screens.native.js +2 -13
  73. package/dist/esm/connectkit/screens.native.js.map +1 -1
  74. package/dist/esm/connectkit/siwe/connectIntent.mjs +9 -6
  75. package/dist/esm/connectkit/siwe/connectIntent.mjs.map +1 -1
  76. package/dist/esm/connectkit/siwe/connectIntent.native.js +10 -4
  77. package/dist/esm/connectkit/siwe/connectIntent.native.js.map +1 -1
  78. package/dist/esm/connectkit/useWeb3Modal.mjs +22 -1
  79. package/dist/esm/connectkit/useWeb3Modal.mjs.map +1 -1
  80. package/dist/esm/connectkit/useWeb3Modal.native.js +23 -1
  81. package/dist/esm/connectkit/useWeb3Modal.native.js.map +1 -1
  82. package/dist/esm/connectkit/web3Bridge.mjs +4 -1
  83. package/dist/esm/connectkit/web3Bridge.mjs.map +1 -1
  84. package/dist/esm/connectkit/web3Bridge.native.js +4 -1
  85. package/dist/esm/connectkit/web3Bridge.native.js.map +1 -1
  86. package/dist/esm/connectkit/web3Provider.mjs.map +1 -1
  87. package/dist/esm/connectkit/web3Provider.native.js.map +1 -1
  88. package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs +34 -6
  89. package/dist/jsx/connectkit/components/Common/ConnectorList/index.mjs.map +1 -1
  90. package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js +38 -5
  91. package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
  92. package/dist/jsx/connectkit/components/ConnectButton/index.mjs +5 -0
  93. package/dist/jsx/connectkit/components/ConnectButton/index.mjs.map +1 -1
  94. package/dist/jsx/connectkit/components/ConnectButton/index.native.js +5 -0
  95. package/dist/jsx/connectkit/components/ConnectButton/index.native.js.map +1 -1
  96. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs +9 -4
  97. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.mjs.map +1 -1
  98. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +12 -7
  99. package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
  100. package/dist/jsx/connectkit/index.mjs +3 -1
  101. package/dist/jsx/connectkit/index.mjs.map +1 -1
  102. package/dist/jsx/connectkit/index.native.js +5 -0
  103. package/dist/jsx/connectkit/index.native.js.map +1 -1
  104. package/dist/jsx/connectkit/openConnector/context.mjs +118 -0
  105. package/dist/jsx/connectkit/openConnector/context.mjs.map +1 -0
  106. package/dist/jsx/connectkit/openConnector/context.native.js +188 -0
  107. package/dist/jsx/connectkit/openConnector/context.native.js.map +1 -0
  108. package/dist/jsx/connectkit/openConnector/device.mjs +16 -0
  109. package/dist/jsx/connectkit/openConnector/device.mjs.map +1 -0
  110. package/dist/jsx/connectkit/openConnector/device.native.js +51 -0
  111. package/dist/jsx/connectkit/openConnector/device.native.js.map +1 -0
  112. package/dist/jsx/connectkit/openConnector/index.mjs +4 -0
  113. package/dist/jsx/connectkit/openConnector/index.mjs.map +1 -0
  114. package/dist/jsx/connectkit/openConnector/index.native.js +38 -0
  115. package/dist/jsx/connectkit/openConnector/index.native.js.map +1 -0
  116. package/dist/jsx/connectkit/openConnector/launcher.mjs +106 -0
  117. package/dist/jsx/connectkit/openConnector/launcher.mjs.map +1 -0
  118. package/dist/jsx/connectkit/openConnector/launcher.native.js +158 -0
  119. package/dist/jsx/connectkit/openConnector/launcher.native.js.map +1 -0
  120. package/dist/jsx/connectkit/screens.mjs +2 -11
  121. package/dist/jsx/connectkit/screens.mjs.map +1 -1
  122. package/dist/jsx/connectkit/screens.native.js +1 -12
  123. package/dist/jsx/connectkit/screens.native.js.map +1 -1
  124. package/dist/jsx/connectkit/siwe/connectIntent.mjs +9 -6
  125. package/dist/jsx/connectkit/siwe/connectIntent.mjs.map +1 -1
  126. package/dist/jsx/connectkit/siwe/connectIntent.native.js +10 -3
  127. package/dist/jsx/connectkit/siwe/connectIntent.native.js.map +1 -1
  128. package/dist/jsx/connectkit/useWeb3Modal.mjs +22 -1
  129. package/dist/jsx/connectkit/useWeb3Modal.mjs.map +1 -1
  130. package/dist/jsx/connectkit/useWeb3Modal.native.js +22 -0
  131. package/dist/jsx/connectkit/useWeb3Modal.native.js.map +1 -1
  132. package/dist/jsx/connectkit/web3Bridge.mjs +4 -1
  133. package/dist/jsx/connectkit/web3Bridge.mjs.map +1 -1
  134. package/dist/jsx/connectkit/web3Bridge.native.js +4 -1
  135. package/dist/jsx/connectkit/web3Bridge.native.js.map +1 -1
  136. package/dist/jsx/connectkit/web3Provider.mjs.map +1 -1
  137. package/dist/jsx/connectkit/web3Provider.native.js.map +1 -1
  138. package/package.json +7 -6
  139. package/src/connectkit/components/Common/ConnectorList/index.tsx +30 -2
  140. package/src/connectkit/components/ConnectButton/index.tsx +5 -0
  141. package/src/connectkit/components/ConnectModal/ConnectWithInjector/index.tsx +13 -8
  142. package/src/connectkit/index.ts +8 -0
  143. package/src/connectkit/openConnector/context.tsx +176 -0
  144. package/src/connectkit/openConnector/device.spec.ts +86 -0
  145. package/src/connectkit/openConnector/device.ts +37 -0
  146. package/src/connectkit/openConnector/index.ts +18 -0
  147. package/src/connectkit/openConnector/launcher.spec.ts +325 -0
  148. package/src/connectkit/openConnector/launcher.ts +203 -0
  149. package/src/connectkit/openConnector/modal.spec.tsx +330 -0
  150. package/src/connectkit/screens.tsx +2 -11
  151. package/src/connectkit/siwe/connectIntent.spec.ts +90 -0
  152. package/src/connectkit/siwe/connectIntent.ts +19 -6
  153. package/src/connectkit/useWeb3Modal.ts +25 -1
  154. package/src/connectkit/web3Bridge.tsx +4 -1
  155. package/src/connectkit/web3Provider.tsx +4 -1
  156. package/types/connectkit/components/Common/ConnectorList/index.d.ts.map +1 -1
  157. package/types/connectkit/components/ConnectButton/index.d.ts.map +1 -1
  158. package/types/connectkit/components/ConnectModal/ConnectWithInjector/index.d.ts.map +1 -1
  159. package/types/connectkit/index.d.ts +2 -0
  160. package/types/connectkit/index.d.ts.map +1 -1
  161. package/types/connectkit/openConnector/context.d.ts +48 -0
  162. package/types/connectkit/openConnector/context.d.ts.map +1 -0
  163. package/types/connectkit/openConnector/device.d.ts +18 -0
  164. package/types/connectkit/openConnector/device.d.ts.map +1 -0
  165. package/types/connectkit/openConnector/index.d.ts +3 -0
  166. package/types/connectkit/openConnector/index.d.ts.map +1 -0
  167. package/types/connectkit/openConnector/launcher.d.ts +64 -0
  168. package/types/connectkit/openConnector/launcher.d.ts.map +1 -0
  169. package/types/connectkit/screens.d.ts.map +1 -1
  170. package/types/connectkit/siwe/connectIntent.d.ts +8 -3
  171. package/types/connectkit/siwe/connectIntent.d.ts.map +1 -1
  172. package/types/connectkit/useWeb3Modal.d.ts +16 -0
  173. package/types/connectkit/useWeb3Modal.d.ts.map +1 -1
  174. package/types/connectkit/web3Bridge.d.ts.map +1 -1
  175. package/types/connectkit/web3Provider.d.ts +4 -1
  176. package/types/connectkit/web3Provider.d.ts.map +1 -1
@@ -0,0 +1,146 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var context_exports = {};
24
+ __export(context_exports, {
25
+ ConnectorLauncherProvider: () => ConnectorLauncherProvider,
26
+ getMobileOptions: () => getMobileOptions,
27
+ resolveWallet: () => resolveWallet,
28
+ useConnectorLauncher: () => useConnectorLauncher
29
+ });
30
+ module.exports = __toCommonJS(context_exports);
31
+ var import_react = require("react");
32
+ var import_wagmi = require("wagmi");
33
+ var import_connectkit = require("@multiplatform.one/connectkit");
34
+ var import_useConnect = require("../hooks/useConnect.cjs");
35
+ var import_useConnectors = require("../hooks/useConnectors.cjs");
36
+ var import_useWallets = require("../wallets/useWallets.cjs");
37
+ var import_connectIntent = require("../siwe/connectIntent.cjs");
38
+ var import_device = require("./device.cjs");
39
+ var import_launcher = require("./launcher.cjs");
40
+ var import_jsx_runtime = require("react/jsx-runtime");
41
+ const ConnectorLauncherContext = (0, import_react.createContext)(null);
42
+ function useConnectorLauncher() {
43
+ return (0, import_react.useContext)(ConnectorLauncherContext);
44
+ }
45
+ function getMobileOptions(options) {
46
+ return options?.mobile ?? {};
47
+ }
48
+ function resolveWallet(wallets, connectors, id) {
49
+ const direct = wallets.find(wallet => wallet.id === id);
50
+ if (direct) return direct;
51
+ const connector = connectors.find(c => c.id === id);
52
+ if (!connector) return void 0;
53
+ const rdns = connector.rdns === void 0 ? [] : [connector.rdns].flat();
54
+ return wallets.find(wallet => rdns.includes(wallet.id));
55
+ }
56
+ const ConnectorLauncherProvider = ({
57
+ children
58
+ }) => {
59
+ const context = (0, import_connectkit.useContext)();
60
+ const wallets = (0, import_useWallets.useWallets)();
61
+ const {
62
+ connectAsync
63
+ } = (0, import_useConnect.useConnect)();
64
+ const connectors = (0, import_useConnectors.useConnectors)();
65
+ const depsRef = (0, import_react.useRef)(null);
66
+ depsRef.current = {
67
+ connect: connector => connectAsync({
68
+ connector
69
+ }),
70
+ showConnecting: walletId => {
71
+ context.setConnector({
72
+ id: walletId
73
+ });
74
+ context.setRoute(import_connectkit.routes.CONNECT);
75
+ context.setOpen(true);
76
+ },
77
+ showList: () => {
78
+ context.setRoute(import_connectkit.routes.CONNECTORS);
79
+ context.setOpen(true);
80
+ },
81
+ onFailed: () => (0, import_connectIntent.clearConnectIntent)()
82
+ };
83
+ const latest = (0, import_react.useRef)({
84
+ wallets,
85
+ connectors,
86
+ options: context.options
87
+ });
88
+ latest.current = {
89
+ wallets,
90
+ connectors,
91
+ options: context.options
92
+ };
93
+ const launcher = (0, import_react.useMemo)(() => (0, import_launcher.createConnectorLauncher)(() => depsRef.current), []);
94
+ (0, import_react.useEffect)(() => () => launcher.cancel(), [launcher]);
95
+ const pending = (0, import_react.useSyncExternalStore)(launcher.subscribe, launcher.pending, launcher.pending);
96
+ const {
97
+ open,
98
+ route
99
+ } = context;
100
+ const shownId = context.connector?.id;
101
+ (0, import_react.useEffect)(() => {
102
+ if (!pending) return;
103
+ if (!open || route !== import_connectkit.routes.CONNECT || shownId !== pending.walletId) launcher.cancel();
104
+ }, [launcher, pending, open, route, shownId]);
105
+ (0, import_wagmi.useAccountEffect)({
106
+ onConnect: () => launcher.cancel()
107
+ });
108
+ const openConnector = (0, import_react.useCallback)((id, options = {}) => {
109
+ const {
110
+ wallets: wallets2,
111
+ connectors: connectors2
112
+ } = latest.current;
113
+ const wallet = resolveWallet(wallets2, connectors2, id);
114
+ if (!wallet) {
115
+ context.log(`openConnector: no connector ${id}, showing the wallet list.`);
116
+ depsRef.current.showList();
117
+ return;
118
+ }
119
+ (0, import_connectIntent.setConnectIntent)();
120
+ launcher.open(wallet.id, wallet.connector, {
121
+ fallbackMs: options.fallbackMs ?? (0, import_device.defaultOpenConnectorFallbackMs)()
122
+ });
123
+ },
124
+ // context.log is stable enough for a debug line; the rest is read through refs.
125
+ // eslint-disable-next-line react-hooks/exhaustive-deps
126
+ [launcher]);
127
+ const openPreferredConnector = (0, import_react.useCallback)(() => {
128
+ const mobile = getMobileOptions(latest.current.options);
129
+ if (!mobile.preferredConnector || !(0, import_connectkit.isMobile)()) return false;
130
+ openConnector(mobile.preferredConnector, {
131
+ fallbackMs: mobile.fallbackMs
132
+ });
133
+ return true;
134
+ }, [openConnector]);
135
+ const value = (0, import_react.useMemo)(() => ({
136
+ openConnector,
137
+ openPreferredConnector,
138
+ pendingConnector: pending?.walletId ?? null,
139
+ pendingDeeplink: pending?.deeplink ?? null,
140
+ pending
141
+ }), [openConnector, openPreferredConnector, pending]);
142
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectorLauncherContext.Provider, {
143
+ value,
144
+ children
145
+ });
146
+ };
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var context_exports = {};
37
+ __export(context_exports, {
38
+ ConnectorLauncherProvider: () => ConnectorLauncherProvider,
39
+ getMobileOptions: () => getMobileOptions,
40
+ resolveWallet: () => resolveWallet,
41
+ useConnectorLauncher: () => useConnectorLauncher
42
+ });
43
+ module.exports = __toCommonJS(context_exports);
44
+ var import_jsx_runtime = require("react/jsx-runtime");
45
+ var import_react = __toESM(require("react"));
46
+ var import_wagmi = require("wagmi");
47
+ var import_connectkit = require("@multiplatform.one/connectkit");
48
+ var import_useConnect = require("../hooks/useConnect.native.js");
49
+ var import_useConnectors = require("../hooks/useConnectors.native.js");
50
+ var import_useWallets = require("../wallets/useWallets.native.js");
51
+ var import_connectIntent = require("../siwe/connectIntent.native.js");
52
+ var import_device = require("./device.native.js");
53
+ var import_launcher = require("./launcher.native.js");
54
+ var ConnectorLauncherContext = /* @__PURE__ */(0, import_react.createContext)(null);
55
+ function useConnectorLauncher() {
56
+ return (0, import_react.useContext)(ConnectorLauncherContext);
57
+ }
58
+ function getMobileOptions(options) {
59
+ var _ref;
60
+ return (_ref = options === null || options === void 0 ? void 0 : options.mobile) !== null && _ref !== void 0 ? _ref : {};
61
+ }
62
+ function resolveWallet(wallets, connectors, id) {
63
+ var direct = wallets.find(function (wallet) {
64
+ return wallet.id === id;
65
+ });
66
+ if (direct) return direct;
67
+ var connector = connectors.find(function (c) {
68
+ return c.id === id;
69
+ });
70
+ if (!connector) return void 0;
71
+ var rdns = connector.rdns === void 0 ? [] : [connector.rdns].flat();
72
+ return wallets.find(function (wallet) {
73
+ return rdns.includes(wallet.id);
74
+ });
75
+ }
76
+ var ConnectorLauncherProvider = function ConnectorLauncherProvider2(param) {
77
+ var {
78
+ children
79
+ } = param;
80
+ var _context_connector;
81
+ var context = (0, import_connectkit.useContext)();
82
+ var wallets = (0, import_useWallets.useWallets)();
83
+ var {
84
+ connectAsync
85
+ } = (0, import_useConnect.useConnect)();
86
+ var connectors = (0, import_useConnectors.useConnectors)();
87
+ var depsRef = (0, import_react.useRef)(null);
88
+ depsRef.current = {
89
+ connect: function connect(connector) {
90
+ return connectAsync({
91
+ connector
92
+ });
93
+ },
94
+ showConnecting: function showConnecting(walletId) {
95
+ context.setConnector({
96
+ id: walletId
97
+ });
98
+ context.setRoute(import_connectkit.routes.CONNECT);
99
+ context.setOpen(true);
100
+ },
101
+ showList: function showList() {
102
+ context.setRoute(import_connectkit.routes.CONNECTORS);
103
+ context.setOpen(true);
104
+ },
105
+ onFailed: function onFailed() {
106
+ return (0, import_connectIntent.clearConnectIntent)();
107
+ }
108
+ };
109
+ var latest = (0, import_react.useRef)({
110
+ wallets,
111
+ connectors,
112
+ options: context.options
113
+ });
114
+ latest.current = {
115
+ wallets,
116
+ connectors,
117
+ options: context.options
118
+ };
119
+ var launcher = (0, import_react.useMemo)(function () {
120
+ return (0, import_launcher.createConnectorLauncher)(function () {
121
+ return depsRef.current;
122
+ });
123
+ }, []);
124
+ (0, import_react.useEffect)(function () {
125
+ return function () {
126
+ return launcher.cancel();
127
+ };
128
+ }, [launcher]);
129
+ var pending = (0, import_react.useSyncExternalStore)(launcher.subscribe, launcher.pending, launcher.pending);
130
+ var {
131
+ open,
132
+ route
133
+ } = context;
134
+ var shownId = (_context_connector = context.connector) === null || _context_connector === void 0 ? void 0 : _context_connector.id;
135
+ (0, import_react.useEffect)(function () {
136
+ if (!pending) return;
137
+ if (!open || route !== import_connectkit.routes.CONNECT || shownId !== pending.walletId) launcher.cancel();
138
+ }, [launcher, pending, open, route, shownId]);
139
+ (0, import_wagmi.useAccountEffect)({
140
+ onConnect: function onConnect() {
141
+ return launcher.cancel();
142
+ }
143
+ });
144
+ var openConnector = (0, import_react.useCallback)(function (id) {
145
+ var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
146
+ var _options_fallbackMs;
147
+ var {
148
+ wallets: wallets2,
149
+ connectors: connectors2
150
+ } = latest.current;
151
+ var wallet = resolveWallet(wallets2, connectors2, id);
152
+ if (!wallet) {
153
+ context.log(`openConnector: no connector ${id}, showing the wallet list.`);
154
+ depsRef.current.showList();
155
+ return;
156
+ }
157
+ (0, import_connectIntent.setConnectIntent)();
158
+ launcher.open(wallet.id, wallet.connector, {
159
+ fallbackMs: (_options_fallbackMs = options.fallbackMs) !== null && _options_fallbackMs !== void 0 ? _options_fallbackMs : (0, import_device.defaultOpenConnectorFallbackMs)()
160
+ });
161
+ },
162
+ // context.log is stable enough for a debug line; the rest is read through refs.
163
+ // eslint-disable-next-line react-hooks/exhaustive-deps
164
+ [launcher]);
165
+ var openPreferredConnector = (0, import_react.useCallback)(function () {
166
+ var mobile = getMobileOptions(latest.current.options);
167
+ if (!mobile.preferredConnector || !(0, import_connectkit.isMobile)()) return false;
168
+ openConnector(mobile.preferredConnector, {
169
+ fallbackMs: mobile.fallbackMs
170
+ });
171
+ return true;
172
+ }, [openConnector]);
173
+ var value = (0, import_react.useMemo)(function () {
174
+ var _ref, _ref1;
175
+ return {
176
+ openConnector,
177
+ openPreferredConnector,
178
+ pendingConnector: (_ref = pending === null || pending === void 0 ? void 0 : pending.walletId) !== null && _ref !== void 0 ? _ref : null,
179
+ pendingDeeplink: (_ref1 = pending === null || pending === void 0 ? void 0 : pending.deeplink) !== null && _ref1 !== void 0 ? _ref1 : null,
180
+ pending
181
+ };
182
+ }, [openConnector, openPreferredConnector, pending]);
183
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ConnectorLauncherContext.Provider, {
184
+ value,
185
+ children
186
+ });
187
+ };
188
+ //# sourceMappingURL=context.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","context_exports","__export","ConnectorLauncherProvider","getMobileOptions","resolveWallet","useConnectorLauncher","module","exports","import_jsx_runtime","require","import_react","import_wagmi","import_connectkit","import_useConnect","import_useConnectors","import_useWallets","import_connectIntent","import_device","import_launcher","ConnectorLauncherContext","createContext","useContext","options","_ref","mobile","wallets","connectors","id","direct","find","wallet","connector","c","rdns","flat","includes","ConnectorLauncherProvider2","param","children","_context_connector","context","useWallets","connectAsync","useConnect","useConnectors","depsRef","useRef","current","connect","showConnecting","walletId","setConnector","setRoute","routes","CONNECT","setOpen","showList","CONNECTORS","onFailed","clearConnectIntent","latest","launcher","useMemo","createConnectorLauncher","useEffect","cancel"],"sources":["../../../../src/connectkit/openConnector/context.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;EAAA,OAAAA,EAAA;AAAA;AAAA,IAAAC,OAAA,GAAAA,CAAAC,GAAA,EAAAC,UAAA,EAAAC,MAAA,MAAAA,MAAA,GAAAF,GAAA,WAAAG,QAAA,CAAAC,YAAA,CAAAJ,GAAA,SAAAK,WAAA;AAAA;AAAA;AAAA;AAAA;AAAAJ,UAAA,KAAAD,GAAA,KAAAA,GAAA,CAAAM,UAAA,GAAAC,SAAA,CAAAL,MAAA;EAAAM,KAAA,EAAAR,GAAA;EAAAS,UAAA;AAAA,KAAAP,MAAA,EAAAF,GASA;AACA,IAAAU,YAAA,GAAAV,GAAA,IAKOK,WAAA,CAAAE,SAAA;EAAAC,KAAA;AAAA,IAAAR,GAAA;AAEP,IAAAW,eAAA,KAA2B;AAC3BC,QAAA,CAAAD,eAAA;EACAE,yBAA6C,EAAAA,CAAA,KAAAA,yBAAA;EAC7CC,gBAAA,EAAAA,CAAA,KAAAA,gBAAqD;EACrDC,aAAA,EAAAA,CAAA,KAA+CA,aAAA;EAC/CC,oBAKO,EAAAA,CAAA,KAAAA;AAkJH;AA/GJC,MAAM,CAAAC,OAAA,GAAAR,YAAA,CAAAC,eAA2B;AAG1B,IAAAQ,kBAAS,GAAAC,OAAsD;AACpE,IAAAC,YAAO,GAAAtB,OAAA,CAAAqB,OAAA,QAAgB;AACzB,IAAAE,YAAA,GAAAF,OAAA;AAEO,IAAAG,iBAAS,GAAAH,OAAiB,gCAAmD;AAClF,IAAAI,iBAAuD,GAAAJ,OAAW;AACpE,IAAAK,oBAAA,GAAAL,OAAA;AAOO,IAAAM,iBAAS,GACdN,OAAA,CACA,iCAEyB;AACzB,IAAAO,oBAAe,GAAQP,OAAM,kCAA2B;AACxD,IAAAQ,aAAY,GAAAR,OAAO;AACnB,IAAAS,eAAM,GAAYT,OAAA,uBAAiB,CAAM;AACzC,IAAAU,wBAAuB,sBAAAT,YAAA,CAAAU,aAAA;AACvB,SAAMf,oBAAiBA,CAAA;EACvB,OAAO,IAAAK,YAAc,CAAAW,UAAW,EAAAF,wBAAwB;AAC1D;AAEO,SAAMhB,iBAAAmB,OAAA,EAAsE;EACjF,IAAAC,IAAA;EACF,OAAM,CAAAA,IAAA,GAAAD,OAAA,aAAAA,OAAA,uBAAAA,OAAA,CAAAE,MAAA,cAAAD,IAAA,cAAAA,IAAA;AACJ;AACA,SAAMnB,aAAUA,CAAAqB,OAAA,EAAAC,UAAA,EAAAC,EAAA;EAChB,IAAAC,MAAQ,GAAAH,OAAA,CAAaI,IAAA,WAAIC,MAAA;IACzB,OAAMA,MAAA,CAAAH,EAAA,KAAaA,EAAA;EAEnB;EACA,IAAAC,MAAQ,SAAUA,MAAA;EAAA,IAChBG,SAAU,GAAAL,UAAc,CAAAG,IAAA,WAAeG,CAAA;IACvC,OAAAA,CAAA,CAAAL,EAAA,KAAgBA,EAAC;EACf;EACA,KAAAI,SAAQ,SAAS;EACjB,IAAAE,IAAA,GAAAF,SAAgB,CAAAE,IAAI,oBACtBF,SAAA,CAAAE,IAAA,EACAC,IAAA;EACE,OAAAT,OAAQ,CAAAI,IAAA,WAASC,MAAA;IACjB,OAAAG,IAAQ,CAAAE,QAAQ,CAAAL,MAAI,CAAAH,EAAA;EAAA,EACtB;AAAA;AACmC,IACrCzB,yBAAA,YAAAkC,2BAAAC,KAAA;EACA;IAAMC;EAAA,IAASD,KAAA;EACf,IAAAE,kBAAmB;EAEnB,IAAAC,OAAM,OAAA5B,iBAAW,CAAAS,UAAQ;EACzB,IAAAI,OAAA,OAAAV,iBAAgB,CAAA0B,UAAM,GAAS;EAC/B;IAAMC;EAAA,CAAU,OAAA7B,iBAAA,CAAA8B,UAAqB;EAIrC,IAAAjB,UAAc,OAAMZ,oBAAI,CAAA8B,aAAA;EACxB,IAAAC,OAAM,KAAU,EAAAnC,YAAQ,CAAAoC,MAAW;EACnCD,OAAA,CAAAE,OAAA;IACEC,OAAK,WAASA,QAAAjB,SAAA;MACd,OAAKW,YAAQ;QACXX;MAIJ;IAEA;IACEkB,cAAa,EAAiC,SAAMA,eAAAC,QAAA;MAClDV,OAAM,CAAEW,YAAA;QACRxB,EAAA,EAAMuB;MACN;MACEV,OAAA,CAAAY,QAAY,CAAAxC,iBAAA,CAAAyC,MAAA,CAAAC,OAAiC;MAC7Cd,OAAA,CAAAe,OAAQ,KAAQ;IAChB;IAAAC,QACF,WAAAA,SAAA;MAGAhB,OAAA,CAAAY,QAAA,CAAAxC,iBAAA,CAAAyC,MAAA,CAAAI,UAAiB;MACjBjB,OAAA,CAAAe,OAAc,MAAO;IAAsB;IACwBG,QAClE,WAAAA,SAAA;MACH,WAAA1C,oBAAA,CAAA2C,kBAAA;IAAA;EAAA;EAAA,IAGCC,MAAA,GAAQ,IAAAlD,YAAA,CAAAoC,MAAA;IACXrB,OAAA;IAEAC,UAAM;IACJJ,OAAM,EAAAkB,OAAS,CAAAlB;EACf;EACAsC,MAAA,CAAAb,OAAA,GAAc;IACdtB,OAAO;IACTC,UAAI;IAEJJ,OAAM,EAAAkB,OAAQ,CAAAlB;EAAA;EACL,IACLuC,QAAA,OAAAnD,YAAA,CAAAoD,OAAA;IAAA,OACA,IAAA5C,eAAA,CAAA6C,uBAAA;MACA,OAAAlB,OAAA,CAAAE,OAAkB;IAAqB,EACvC;EAAsC,KACtC;EAAA,EACF,EAAArC,YAAA,CAAAsD,SAAA;IACA,OAAC,YAAe;MAClB,OAAAH,QAAA,CAAAI,MAAA;IAEA;EAGF,I","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var device_exports = {};
24
+ __export(device_exports, {
25
+ defaultOpenConnectorFallbackMs: () => defaultOpenConnectorFallbackMs,
26
+ isTouchDevice: () => isTouchDevice
27
+ });
28
+ module.exports = __toCommonJS(device_exports);
29
+ var import_connectkit = require("@multiplatform.one/connectkit");
30
+ var import_launcher = require("./launcher.cjs");
31
+ function isTouchDevice(nav = typeof navigator === "undefined" ? null : navigator, matchMedia = typeof window === "undefined" || !window.matchMedia ? null : query => window.matchMedia(query)) {
32
+ if (!nav || (nav.maxTouchPoints ?? 0) < 2) return false;
33
+ if (/Macintosh/.test(nav.userAgent ?? "")) return true;
34
+ try {
35
+ return matchMedia?.("(pointer: coarse)").matches ?? false;
36
+ } catch {
37
+ return false;
38
+ }
39
+ }
40
+ function defaultOpenConnectorFallbackMs() {
41
+ return (0, import_connectkit.isMobile)() || isTouchDevice() ? import_launcher.DEFAULT_OPEN_CONNECTOR_FALLBACK_MS : import_launcher.DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS;
42
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var device_exports = {};
26
+ __export(device_exports, {
27
+ defaultOpenConnectorFallbackMs: () => defaultOpenConnectorFallbackMs,
28
+ isTouchDevice: () => isTouchDevice
29
+ });
30
+ module.exports = __toCommonJS(device_exports);
31
+ var import_connectkit = require("@multiplatform.one/connectkit");
32
+ var import_launcher = require("./launcher.native.js");
33
+ function isTouchDevice() {
34
+ var nav = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : typeof navigator === "undefined" ? null : navigator,
35
+ matchMedia = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : typeof window === "undefined" || !window.matchMedia ? null : function (query) {
36
+ return window.matchMedia(query);
37
+ };
38
+ var _nav_maxTouchPoints, _nav_userAgent;
39
+ if (!nav || ((_nav_maxTouchPoints = nav.maxTouchPoints) !== null && _nav_maxTouchPoints !== void 0 ? _nav_maxTouchPoints : 0) < 2) return false;
40
+ if (/Macintosh/.test((_nav_userAgent = nav.userAgent) !== null && _nav_userAgent !== void 0 ? _nav_userAgent : "")) return true;
41
+ try {
42
+ var _ref;
43
+ return (_ref = matchMedia === null || matchMedia === void 0 ? void 0 : matchMedia("(pointer: coarse)").matches) !== null && _ref !== void 0 ? _ref : false;
44
+ } catch (unused) {
45
+ return false;
46
+ }
47
+ }
48
+ function defaultOpenConnectorFallbackMs() {
49
+ return (0, import_connectkit.isMobile)() || isTouchDevice() ? import_launcher.DEFAULT_OPEN_CONNECTOR_FALLBACK_MS : import_launcher.DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS;
50
+ }
51
+ //# sourceMappingURL=device.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","device_exports","__export","defaultOpenConnectorFallbackMs","isTouchDevice","module","exports","import_connectkit","require","import_launcher","nav","arguments","length","navigator","matchMedia","window","query","_nav_maxTouchPoints","_nav_userAgent","maxTouchPoints","test","userAgent","_ref","matches","unused"],"sources":["../../../../src/connectkit/openConnector/device.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,cAAA;AAAAC,QAAA,CAAAD,cAAA;EAAAE,8BAAA,EAAAA,CAAA,KAAAA,8BAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAV,YAAyB,CAAAK,cAAA;AAEzB,IAAAM,iBAAA,GAGOC,OAAA;AAWA,IAAAC,eAAS,GAAAD,OACgB,uBAAO;AAKrC,SAAKJ,aAAYA,CAAA;EACjB,IAAIM,GAAA,GAAAC,SAAY,CAAAC,MAAS,QAAAD,SAAkB,QAAO,SAAAA,SAAA,aAAAE,SAAA,0BAAAA,SAAA;IAAAC,UAAA,GAAAH,SAAA,CAAAC,MAAA,QAAAD,SAAA,iBAAAA,SAAA,aAAAI,MAAA,qBAAAA,MAAA,CAAAD,UAAA,oBAAAE,KAAA;MAClD,OAAID,MAAA,CAAAD,UAAA,CAAAE,KAAA;IACF;EACF,IAAAC,mBAAQ,EAAAC,cAAA;EACN,KAAAR,GAAA,IAAO,EAAAO,mBAAA,GAAAP,GAAA,CAAAS,cAAA,cAAAF,mBAAA,cAAAA,mBAAA;EACT,gBAAAG,IAAA,EAAAF,cAAA,GAAAR,GAAA,CAAAW,SAAA,cAAAH,cAAA,cAAAA,cAAA;EACF;IAGO,IAAAI,IAAS;IACd,QAAAA,IAAO,GAAAR,UAAA,aAASA,UAAK,UAAc,IAC/B,SAAAA,UAAA,sBAAAS,OAAA,MACA,QAAAD,IAAA,cAAAA,IAAA;EACN,SAAAE,MAAA","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var openConnector_exports = {};
24
+ __export(openConnector_exports, {
25
+ ConnectorLauncherProvider: () => import_context.ConnectorLauncherProvider,
26
+ DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS: () => import_launcher.DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS,
27
+ DEFAULT_OPEN_CONNECTOR_FALLBACK_MS: () => import_launcher.DEFAULT_OPEN_CONNECTOR_FALLBACK_MS,
28
+ createConnectorLauncher: () => import_launcher.createConnectorLauncher,
29
+ getMobileOptions: () => import_context.getMobileOptions,
30
+ resolveWallet: () => import_context.resolveWallet,
31
+ useConnectorLauncher: () => import_context.useConnectorLauncher
32
+ });
33
+ module.exports = __toCommonJS(openConnector_exports);
34
+ var import_launcher = require("./launcher.cjs");
35
+ var import_context = require("./context.cjs");
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var openConnector_exports = {};
26
+ __export(openConnector_exports, {
27
+ ConnectorLauncherProvider: () => import_context.ConnectorLauncherProvider,
28
+ DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS: () => import_launcher.DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS,
29
+ DEFAULT_OPEN_CONNECTOR_FALLBACK_MS: () => import_launcher.DEFAULT_OPEN_CONNECTOR_FALLBACK_MS,
30
+ createConnectorLauncher: () => import_launcher.createConnectorLauncher,
31
+ getMobileOptions: () => import_context.getMobileOptions,
32
+ resolveWallet: () => import_context.resolveWallet,
33
+ useConnectorLauncher: () => import_context.useConnectorLauncher
34
+ });
35
+ module.exports = __toCommonJS(openConnector_exports);
36
+ var import_launcher = require("./launcher.native.js");
37
+ var import_context = require("./context.native.js");
38
+ //# sourceMappingURL=index.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","openConnector_exports","__export","ConnectorLauncherProvider","import_context","DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS","import_launcher","DEFAULT_OPEN_CONNECTOR_FALLBACK_MS","createConnectorLauncher","getMobileOptions","resolveWallet","useConnectorLauncher","module","exports","require"],"sources":["../../../../src/connectkit/openConnector/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,qBAAA;AAAAC,QAAA,CAAAD,qBAAA;EAAAE,yBAAA,EAAAA,CAAA,KAAAC,cAAA,CAAAD,yBAAA;EAAAE,0CAAA,EAAAA,CAAA,KAAAC,eAAA,CAAAD,0CAAA;EAAAE,kCAAA,EAAAA,CAAA,KAAAD,eAAA,CAAAC,kCAAA;EAAAC,uBAAA,EAAAA,CAAA,KAAAF,eAAA,CAAAE,uBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAL,cAAA,CAAAK,gBAAA;EAAAC,aAAA,EAAAA,CAAA,KAAAN,cAAA,CAAAM,aAAA;EAAAC,oBAAA,EAAAA,CAAA,KAAAP,cAAA,CAAAO;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAjB,YAQO,CAAAK,qBAAA;AACP,IAAAK,eAAA,GAQOQ,OAAA","ignoreList":[]}
@@ -0,0 +1,133 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all) __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
+ get: () => from[key],
15
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
+ });
17
+ }
18
+ return to;
19
+ };
20
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
+ value: true
22
+ }), mod);
23
+ var launcher_exports = {};
24
+ __export(launcher_exports, {
25
+ DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS: () => DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS,
26
+ DEFAULT_OPEN_CONNECTOR_FALLBACK_MS: () => DEFAULT_OPEN_CONNECTOR_FALLBACK_MS,
27
+ createConnectorLauncher: () => createConnectorLauncher
28
+ });
29
+ module.exports = __toCommonJS(launcher_exports);
30
+ const DEFAULT_OPEN_CONNECTOR_FALLBACK_MS = 6e3;
31
+ const DEFAULT_DESKTOP_OPEN_CONNECTOR_FALLBACK_MS = 3e4;
32
+ function createConnectorLauncher(getDeps) {
33
+ let session = null;
34
+ const listeners = /* @__PURE__ */new Set();
35
+ const emit = () => listeners.forEach(listener => listener());
36
+ const end = s => {
37
+ if (session !== s) return;
38
+ s.stop();
39
+ session = null;
40
+ emit();
41
+ };
42
+ const open = (walletId, connector, options = {}) => {
43
+ const deps = getDeps();
44
+ const current = session;
45
+ if (current && current.pending.connector.uid === connector.uid) {
46
+ deps.connect(connector).then(() => end(current), () => void 0);
47
+ deps.showConnecting(current.pending.walletId);
48
+ return;
49
+ }
50
+ if (current) end(current);
51
+ const win = deps.win ?? (typeof window !== "undefined" ? window : void 0);
52
+ const doc = deps.doc ?? (typeof document !== "undefined" ? document : void 0);
53
+ const fallbackMs = options.fallbackMs ?? 0;
54
+ let left = false;
55
+ let timer;
56
+ const disarm = () => {
57
+ if (timer !== void 0) clearTimeout(timer);
58
+ timer = void 0;
59
+ };
60
+ const arm = () => {
61
+ disarm();
62
+ if (fallbackMs <= 0) return;
63
+ timer = setTimeout(() => {
64
+ timer = void 0;
65
+ if (!left) fallBack();
66
+ }, fallbackMs);
67
+ };
68
+ const onLeave = () => {
69
+ left = true;
70
+ };
71
+ const onReturn = () => {
72
+ if (!left) return;
73
+ left = false;
74
+ arm();
75
+ };
76
+ const onVisibility = () => {
77
+ if (doc?.visibilityState === "hidden") onLeave();else onReturn();
78
+ };
79
+ const onMessage = message => {
80
+ if (session !== s || message.type !== "display_uri" || typeof message.data !== "string") {
81
+ return;
82
+ }
83
+ s.pending = {
84
+ ...s.pending,
85
+ deeplink: message.data
86
+ };
87
+ emit();
88
+ };
89
+ const s = {
90
+ pending: {
91
+ walletId,
92
+ connector
93
+ },
94
+ stop: () => {
95
+ disarm();
96
+ win?.removeEventListener("blur", onLeave);
97
+ win?.removeEventListener("pagehide", onLeave);
98
+ win?.removeEventListener("focus", onReturn);
99
+ win?.removeEventListener("pageshow", onReturn);
100
+ doc?.removeEventListener("visibilitychange", onVisibility);
101
+ connector.emitter?.off?.("message", onMessage);
102
+ }
103
+ };
104
+ session = s;
105
+ const fallBack = error => {
106
+ if (session !== s) return;
107
+ end(s);
108
+ if (error !== void 0) getDeps().onFailed?.(error);
109
+ getDeps().showList();
110
+ };
111
+ connector.emitter?.on?.("message", onMessage);
112
+ deps.connect(connector).then(() => end(s), error => fallBack(error ?? new Error("connect failed")));
113
+ win?.addEventListener("blur", onLeave);
114
+ win?.addEventListener("pagehide", onLeave);
115
+ win?.addEventListener("focus", onReturn);
116
+ win?.addEventListener("pageshow", onReturn);
117
+ doc?.addEventListener("visibilitychange", onVisibility);
118
+ arm();
119
+ deps.showConnecting(walletId);
120
+ emit();
121
+ };
122
+ return {
123
+ open,
124
+ pending: () => session?.pending ?? null,
125
+ subscribe: listener => {
126
+ listeners.add(listener);
127
+ return () => listeners.delete(listener);
128
+ },
129
+ cancel: () => {
130
+ if (session) end(session);
131
+ }
132
+ };
133
+ }