accounts 0.4.1 → 0.4.3

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 (76) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +38 -7
  3. package/dist/cli/Provider.d.ts +12 -0
  4. package/dist/cli/Provider.d.ts.map +1 -0
  5. package/dist/cli/Provider.js +19 -0
  6. package/dist/cli/Provider.js.map +1 -0
  7. package/dist/cli/adapter.d.ts +24 -0
  8. package/dist/cli/adapter.d.ts.map +1 -0
  9. package/dist/cli/adapter.js +173 -0
  10. package/dist/cli/adapter.js.map +1 -0
  11. package/dist/cli/index.d.ts +3 -0
  12. package/dist/cli/index.d.ts.map +1 -0
  13. package/dist/cli/index.js +3 -0
  14. package/dist/cli/index.js.map +1 -0
  15. package/dist/core/Dialog.d.ts.map +1 -1
  16. package/dist/core/Dialog.js +52 -10
  17. package/dist/core/Dialog.js.map +1 -1
  18. package/dist/core/IntersectionObserver.d.ts +3 -0
  19. package/dist/core/IntersectionObserver.d.ts.map +1 -0
  20. package/dist/core/IntersectionObserver.js +6 -0
  21. package/dist/core/IntersectionObserver.js.map +1 -0
  22. package/dist/core/Messenger.d.ts +14 -3
  23. package/dist/core/Messenger.d.ts.map +1 -1
  24. package/dist/core/Messenger.js +4 -4
  25. package/dist/core/Messenger.js.map +1 -1
  26. package/dist/core/Remote.d.ts +6 -3
  27. package/dist/core/Remote.d.ts.map +1 -1
  28. package/dist/core/Remote.js +3 -6
  29. package/dist/core/Remote.js.map +1 -1
  30. package/dist/core/adapters/local.d.ts.map +1 -1
  31. package/dist/core/adapters/local.js +2 -2
  32. package/dist/core/adapters/local.js.map +1 -1
  33. package/dist/index.d.ts +1 -0
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +1 -0
  36. package/dist/index.js.map +1 -1
  37. package/dist/react/Remote.d.ts +21 -0
  38. package/dist/react/Remote.d.ts.map +1 -0
  39. package/dist/react/Remote.js +51 -0
  40. package/dist/react/Remote.js.map +1 -0
  41. package/dist/react/index.d.ts +2 -0
  42. package/dist/react/index.d.ts.map +1 -0
  43. package/dist/react/index.js +2 -0
  44. package/dist/react/index.js.map +1 -0
  45. package/dist/server/CliAuth.d.ts +553 -0
  46. package/dist/server/CliAuth.d.ts.map +1 -0
  47. package/dist/server/CliAuth.js +446 -0
  48. package/dist/server/CliAuth.js.map +1 -0
  49. package/dist/server/Handler.d.ts +36 -2
  50. package/dist/server/Handler.d.ts.map +1 -1
  51. package/dist/server/Handler.js +84 -0
  52. package/dist/server/Handler.js.map +1 -1
  53. package/dist/server/index.d.ts +1 -0
  54. package/dist/server/index.d.ts.map +1 -1
  55. package/dist/server/index.js +1 -0
  56. package/dist/server/index.js.map +1 -1
  57. package/package.json +16 -1
  58. package/src/cli/Provider.test-d.ts +28 -0
  59. package/src/cli/Provider.test.ts +235 -0
  60. package/src/cli/Provider.ts +26 -0
  61. package/src/cli/adapter.ts +229 -0
  62. package/src/cli/index.ts +2 -0
  63. package/src/core/Dialog.ts +58 -11
  64. package/src/core/IntersectionObserver.ts +6 -0
  65. package/src/core/Messenger.ts +18 -8
  66. package/src/core/Provider.test.ts +12 -2
  67. package/src/core/Remote.ts +9 -10
  68. package/src/core/adapters/local.ts +7 -2
  69. package/src/index.ts +1 -0
  70. package/src/react/Remote.ts +94 -0
  71. package/src/react/index.ts +1 -0
  72. package/src/server/CliAuth.test-d.ts +56 -0
  73. package/src/server/CliAuth.test.ts +800 -0
  74. package/src/server/CliAuth.ts +634 -0
  75. package/src/server/Handler.ts +123 -1
  76. package/src/server/index.ts +1 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # accounts
2
2
 
3
+ ## 0.4.3
4
+
5
+ ### Patch Changes
6
+
7
+ - 75e4cf2: Fixed iframe dialog being silently removed by React 19 hydration in Next.js App Router. A `MutationObserver` now detects removal and re-appends the dialog with a fresh messenger bridge.
8
+
9
+ ## 0.4.2
10
+
11
+ ### Patch Changes
12
+
13
+ - bf06710: Added CLI adapter & provider via an `accounts/cli` entrypoint.
14
+ - 4a52018: Added `accounts/react` entrypoint with `Remote.useState` and `Remote.useEnsureVisibility` hooks. Exposed `trustedHosts` on the `Remote` type.
15
+
3
16
  ## 0.4.1
4
17
 
5
18
  ### Patch Changes
package/README.md CHANGED
@@ -58,22 +58,50 @@ export const wagmiConfig = createConfig({
58
58
  })
59
59
  ```
60
60
 
61
+ ### CLI
62
+
63
+ Use the `accounts/cli` entrypoint when an external CLI already owns the local key material and only needs the Tempo Wallet browser flow to authenticate the user and authorize that key.
64
+
65
+ ```ts
66
+ import { Provider } from 'accounts/cli'
67
+
68
+ const provider = Provider.create({
69
+ serviceUrl: 'https://wallet.example.com/cli-auth',
70
+ })
71
+
72
+ const { accounts } = await provider.request({
73
+ method: 'wallet_connect',
74
+ params: [
75
+ {
76
+ capabilities: {
77
+ authorizeAccessKey: {
78
+ expiry: Math.floor(Date.now() / 1000) + 3600,
79
+ publicKey: '0x...',
80
+ },
81
+ },
82
+ },
83
+ ],
84
+ })
85
+ ```
86
+
61
87
  ## Adapters
62
88
 
63
89
  | Adapter | Description |
64
90
  | ------------------------ | ---------------------------------------------------------------------------------- |
65
91
  | `dialog` / `tempoWallet` | Adapter for the Tempo Wallet dialog (an embedded iframe/popup dialog). |
66
92
  | `webAuthn` | App-bound passkey accounts using WebAuthn registration and authentication flows. |
93
+ | `cli` | Device-code based adapter for CLI authentication and access key authorization. |
67
94
  | `local` | Key agnostic adapter to define arbitrary account/key types and signing mechanisms. |
68
95
 
69
96
  ## Development
70
97
 
71
98
  ```sh
72
- pnpm dev # start embed + embed-ref + playground dev servers
73
- pnpm dev:embed # start Tempo Wallet embed only
74
- pnpm dev:embed-ref # start reference embed implementation only (port 5174)
99
+ pnpm dev # start dialog + dialog-ref + playground dev servers
100
+ pnpm demo:cli-auth # run the CLI smoke-test client from playground/scripts
101
+ pnpm dev:dialog # start Tempo Wallet dialog only
102
+ pnpm dev:dialog-ref # start reference dialog implementation only (port 5174)
75
103
  pnpm dev:playground # start playground app only
76
- pnpm dev:hosts # start embed + playground instances on different TLDs
104
+ pnpm dev:hosts # start dialog + playground instances on different TLDs
77
105
  pnpm build # build library
78
106
  pnpm check # lint + format
79
107
  pnpm check:types # type checks
@@ -86,11 +114,14 @@ pnpm test # run tests
86
114
  > - `https://playground.a:5173`
87
115
  > - `https://playground.b:5175`
88
116
 
89
- ### Embed Reference Implementation
117
+ ### Reference Implementations
90
118
 
91
- The `embed-ref/` directory contains a minimal, unstyled reference implementation of the embed dialog app. It demonstrates how to build a custom embed using the Account SDK's `Remote` API.
119
+ The `ref-impls/` directory contains reference implementations for building on the Account SDK:
92
120
 
93
- Select `dialogRefImpl` in the playground's adapter dropdown to test against it.
121
+ | Directory | Description |
122
+ | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
123
+ | `ref-impls/dialog/` | Minimal, unstyled embed dialog app demonstrating how to build a custom embed using the `Remote` API. Select `dialogRefImpl` in the playground's adapter dropdown to test against it. |
124
+ | `ref-impls/cli-auth/` | Cloudflare Workers server demonstrating device-code based CLI authentication and access key authorization. |
94
125
 
95
126
  ## License
96
127
 
@@ -0,0 +1,12 @@
1
+ import * as CoreProvider from '../core/Provider.js';
2
+ import { cli } from './adapter.js';
3
+ /**
4
+ * Creates a provider that bootstraps access-key authorization through the CLI
5
+ * device-code flow.
6
+ */
7
+ export declare function create(options: create.Options): create.ReturnType;
8
+ export declare namespace create {
9
+ type Options = Omit<CoreProvider.create.Options, 'adapter' | 'authorizeAccessKey'> & cli.Options;
10
+ type ReturnType = CoreProvider.create.ReturnType;
11
+ }
12
+ //# sourceMappingURL=Provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../src/cli/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC;;;GAGG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAYjE;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAY,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,GAAG,oBAAoB,CAAC,GACvF,GAAG,CAAC,OAAO,CAAA;IACb,KAAY,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,UAAU,CAAA;CACxD"}
@@ -0,0 +1,19 @@
1
+ import * as CoreProvider from '../core/Provider.js';
2
+ import { cli } from './adapter.js';
3
+ /**
4
+ * Creates a provider that bootstraps access-key authorization through the CLI
5
+ * device-code flow.
6
+ */
7
+ export function create(options) {
8
+ const { host, open, pollIntervalMs, timeoutMs, ...rest } = options;
9
+ return CoreProvider.create({
10
+ ...rest,
11
+ adapter: cli({
12
+ host,
13
+ ...(open ? { open } : {}),
14
+ ...(typeof pollIntervalMs !== 'undefined' ? { pollIntervalMs } : {}),
15
+ ...(typeof timeoutMs !== 'undefined' ? { timeoutMs } : {}),
16
+ }),
17
+ });
18
+ }
19
+ //# sourceMappingURL=Provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Provider.js","sourceRoot":"","sources":["../../src/cli/Provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAElC;;;GAGG;AACH,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC5C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAA;IAElE,OAAO,YAAY,CAAC,MAAM,CAAC;QACzB,GAAG,IAAI;QACP,OAAO,EAAE,GAAG,CAAC;YACX,IAAI;YACJ,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzB,GAAG,CAAC,OAAO,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,CAAC,OAAO,SAAS,KAAK,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC3D,CAAC;KACH,CAAC,CAAA;AACJ,CAAC"}
@@ -0,0 +1,24 @@
1
+ import * as Adapter from '../core/Adapter.js';
2
+ /**
3
+ * Creates a CLI bootstrap adapter backed by the device-code protocol.
4
+ *
5
+ * Only `wallet_connect` is supported in v1.
6
+ */
7
+ export declare function cli(options: cli.Options): Adapter.Adapter;
8
+ export declare namespace cli {
9
+ type Options = {
10
+ /** Host URL for the device-code flow. API calls are made under the same base path. */
11
+ host: string;
12
+ /** Provider display name. @default "Tempo CLI" */
13
+ name?: string | undefined;
14
+ /** Browser opener override. */
15
+ open?: ((url: string) => Promise<void> | void) | undefined;
16
+ /** Poll interval in milliseconds. @default 2000 */
17
+ pollIntervalMs?: number | undefined;
18
+ /** Reverse-DNS provider identifier. @default "xyz.tempo.cli" */
19
+ rdns?: string | undefined;
20
+ /** Poll timeout in milliseconds. @default 300000 */
21
+ timeoutMs?: number | undefined;
22
+ };
23
+ }
24
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAG7C;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAqGzD;AAED,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC;IAC3B,KAAY,OAAO,GAAG;QACpB,sFAAsF;QACtF,IAAI,EAAE,MAAM,CAAA;QACZ,kDAAkD;QAClD,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,+BAA+B;QAC/B,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAA;QAC1D,mDAAmD;QACnD,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACnC,gEAAgE;QAChE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACzB,oDAAoD;QACpD,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC/B,CAAA;CACF"}
@@ -0,0 +1,173 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { setTimeout as sleep } from 'node:timers/promises';
3
+ import { Base64, Hash, Hex, Provider as core_Provider, RpcResponse } from 'ox';
4
+ import * as z from 'zod/mini';
5
+ import * as Adapter from '../core/Adapter.js';
6
+ import * as CliAuth from '../server/CliAuth.js';
7
+ /**
8
+ * Creates a CLI bootstrap adapter backed by the device-code protocol.
9
+ *
10
+ * Only `wallet_connect` is supported in v1.
11
+ */
12
+ export function cli(options) {
13
+ const { name = 'Tempo CLI', rdns = 'xyz.tempo.cli' } = options;
14
+ return Adapter.define({ name, rdns }, () => ({
15
+ actions: {
16
+ async createAccount(params, request) {
17
+ return this.loadAccounts(params, request);
18
+ },
19
+ async loadAccounts(parameters) {
20
+ const { host, open = defaultOpen, pollIntervalMs = 2_000, timeoutMs = 5 * 60 * 1_000, } = options;
21
+ const authorizeAccessKey = parameters?.authorizeAccessKey;
22
+ if (!authorizeAccessKey?.publicKey)
23
+ throw new RpcResponse.InvalidParamsError({
24
+ message: '`wallet_connect` on the CLI adapter requires `capabilities.authorizeAccessKey.publicKey`.',
25
+ });
26
+ if (parameters?.digest)
27
+ throw unsupported('`wallet_connect` digest signing not supported by CLI adapter.');
28
+ const codeVerifier = createCodeVerifier();
29
+ const codeChallenge = createCodeChallenge(codeVerifier);
30
+ const created = await post({
31
+ body: {
32
+ codeChallenge,
33
+ ...(typeof authorizeAccessKey.expiry !== 'undefined'
34
+ ? { expiry: authorizeAccessKey.expiry }
35
+ : {}),
36
+ ...(authorizeAccessKey.keyType ? { keyType: authorizeAccessKey.keyType } : {}),
37
+ ...(authorizeAccessKey.limits ? { limits: authorizeAccessKey.limits } : {}),
38
+ pubKey: authorizeAccessKey.publicKey,
39
+ },
40
+ request: CliAuth.createRequest,
41
+ response: CliAuth.createResponse,
42
+ url: getApiUrl(host, 'code'),
43
+ });
44
+ const url = getBrowserUrl(host, created.code);
45
+ try {
46
+ await open(url);
47
+ }
48
+ catch (error) {
49
+ throw new OpenError(url, created.code, error);
50
+ }
51
+ const startedAt = Date.now();
52
+ while (Date.now() - startedAt < timeoutMs) {
53
+ const result = await post({
54
+ body: {
55
+ codeVerifier,
56
+ },
57
+ request: CliAuth.pollRequest,
58
+ response: CliAuth.pollResponse,
59
+ url: getApiUrl(host, `poll/${created.code}`),
60
+ });
61
+ if (result.status === 'pending') {
62
+ await sleep(pollIntervalMs);
63
+ continue;
64
+ }
65
+ if (result.status === 'expired')
66
+ throw new Error('Device code expired before authorization completed.');
67
+ return {
68
+ accounts: [
69
+ {
70
+ address: result.accountAddress,
71
+ capabilities: {},
72
+ },
73
+ ],
74
+ keyAuthorization: z.encode(CliAuth.keyAuthorization, result.keyAuthorization),
75
+ };
76
+ }
77
+ throw new TimeoutError(url, created.code);
78
+ },
79
+ async revokeAccessKey() {
80
+ throw unsupported('`wallet_revokeAccessKey` not supported by CLI adapter.');
81
+ },
82
+ async sendTransaction() {
83
+ throw unsupported('`eth_sendTransaction` not supported by CLI adapter.');
84
+ },
85
+ async sendTransactionSync() {
86
+ throw unsupported('`eth_sendTransactionSync` not supported by CLI adapter.');
87
+ },
88
+ async signPersonalMessage() {
89
+ throw unsupported('`personal_sign` not supported by CLI adapter.');
90
+ },
91
+ async signTransaction() {
92
+ throw unsupported('`eth_signTransaction` not supported by CLI adapter.');
93
+ },
94
+ async signTypedData() {
95
+ throw unsupported('`eth_signTypedData_v4` not supported by CLI adapter.');
96
+ },
97
+ },
98
+ }));
99
+ }
100
+ class OpenError extends Error {
101
+ code;
102
+ cause;
103
+ url;
104
+ constructor(url, code, cause) {
105
+ super(`Failed to open browser for device code ${formatCode(code)}. Open ${url} manually.`);
106
+ this.name = 'OpenError';
107
+ this.code = code;
108
+ this.cause = cause;
109
+ this.url = url;
110
+ }
111
+ }
112
+ class TimeoutError extends Error {
113
+ code;
114
+ url;
115
+ constructor(url, code) {
116
+ super(`Timed out waiting for device code ${formatCode(code)}. Continue at ${url}.`);
117
+ this.name = 'TimeoutError';
118
+ this.code = code;
119
+ this.url = url;
120
+ }
121
+ }
122
+ function createCodeChallenge(codeVerifier) {
123
+ return Base64.fromBytes(Hash.sha256(Hex.fromString(codeVerifier), { as: 'Bytes' }), {
124
+ pad: false,
125
+ url: true,
126
+ });
127
+ }
128
+ function createCodeVerifier() {
129
+ return Base64.fromBytes(Hex.toBytes(Hex.random(32)), { pad: false, url: true });
130
+ }
131
+ function formatCode(code) {
132
+ return code.length === 8 ? `${code.slice(0, 4)}-${code.slice(4)}` : code;
133
+ }
134
+ function defaultOpen(url) {
135
+ const command = process.platform === 'darwin'
136
+ ? { command: 'open', args: [url] }
137
+ : process.platform === 'win32'
138
+ ? { command: 'cmd', args: ['/c', 'start', '', url] }
139
+ : { command: 'xdg-open', args: [url] };
140
+ const child = spawn(command.command, command.args, {
141
+ detached: true,
142
+ stdio: 'ignore',
143
+ });
144
+ child.unref();
145
+ }
146
+ function getApiUrl(serviceUrl, path) {
147
+ const url = new URL(serviceUrl);
148
+ url.pathname = `${url.pathname.replace(/\/$/, '')}/${path.replace(/^\//, '')}`;
149
+ url.search = '';
150
+ return url.toString();
151
+ }
152
+ function getBrowserUrl(serviceUrl, code) {
153
+ const url = new URL(serviceUrl);
154
+ url.searchParams.set('code', code);
155
+ return url.toString();
156
+ }
157
+ async function post(options) {
158
+ const result = await fetch(options.url, {
159
+ body: JSON.stringify(z.encode(options.request, options.body)),
160
+ headers: { 'content-type': 'application/json' },
161
+ method: 'POST',
162
+ });
163
+ const json = (await result.json().catch(() => ({})));
164
+ if (!result.ok) {
165
+ const error = json.error;
166
+ throw new Error(typeof error === 'string' ? error : `Request failed: ${result.status}`);
167
+ }
168
+ return z.decode(options.response, json);
169
+ }
170
+ function unsupported(message) {
171
+ return new core_Provider.UnsupportedMethodError({ message });
172
+ }
173
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/cli/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,IAAI,aAAa,EAAE,WAAW,EAAE,MAAM,IAAI,CAAA;AAC9E,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAE/C;;;;GAIG;AACH,MAAM,UAAU,GAAG,CAAC,OAAoB;IACtC,MAAM,EAAE,IAAI,GAAG,WAAW,EAAE,IAAI,GAAG,eAAe,EAAE,GAAG,OAAO,CAAA;IAE9D,OAAO,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QAC3C,OAAO,EAAE;YACP,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO;gBACjC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;YAC3C,CAAC;YACD,KAAK,CAAC,YAAY,CAAC,UAAU;gBAC3B,MAAM,EACJ,IAAI,EACJ,IAAI,GAAG,WAAW,EAClB,cAAc,GAAG,KAAK,EACtB,SAAS,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,GAC3B,GAAG,OAAO,CAAA;gBACX,MAAM,kBAAkB,GAAG,UAAU,EAAE,kBAAkB,CAAA;gBAEzD,IAAI,CAAC,kBAAkB,EAAE,SAAS;oBAChC,MAAM,IAAI,WAAW,CAAC,kBAAkB,CAAC;wBACvC,OAAO,EACL,2FAA2F;qBAC9F,CAAC,CAAA;gBACJ,IAAI,UAAU,EAAE,MAAM;oBACpB,MAAM,WAAW,CAAC,+DAA+D,CAAC,CAAA;gBAEpF,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;gBACzC,MAAM,aAAa,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAA;gBACvD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC;oBACzB,IAAI,EAAE;wBACJ,aAAa;wBACb,GAAG,CAAC,OAAO,kBAAkB,CAAC,MAAM,KAAK,WAAW;4BAClD,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE;4BACvC,CAAC,CAAC,EAAE,CAAC;wBACP,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC9E,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC3E,MAAM,EAAE,kBAAkB,CAAC,SAAS;qBACY;oBAClD,OAAO,EAAE,OAAO,CAAC,aAAa;oBAC9B,QAAQ,EAAE,OAAO,CAAC,cAAc;oBAChC,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC;iBAC7B,CAAC,CAAA;gBACF,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;gBAE7C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;gBACjB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;gBAC/C,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;gBAE5B,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;oBAC1C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;wBACxB,IAAI,EAAE;4BACJ,YAAY;yBACkC;wBAChD,OAAO,EAAE,OAAO,CAAC,WAAW;wBAC5B,QAAQ,EAAE,OAAO,CAAC,YAAY;wBAC9B,GAAG,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;qBAC7C,CAAC,CAAA;oBAEF,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAChC,MAAM,KAAK,CAAC,cAAc,CAAC,CAAA;wBAC3B,SAAQ;oBACV,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;wBAC7B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;oBAExE,OAAO;wBACL,QAAQ,EAAE;4BACR;gCACE,OAAO,EAAE,MAAM,CAAC,cAAc;gCAC9B,YAAY,EAAE,EAAE;6BACjB;yBACF;wBACD,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;qBAC9E,CAAA;gBACH,CAAC;gBAED,MAAM,IAAI,YAAY,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAC3C,CAAC;YACD,KAAK,CAAC,eAAe;gBACnB,MAAM,WAAW,CAAC,wDAAwD,CAAC,CAAA;YAC7E,CAAC;YACD,KAAK,CAAC,eAAe;gBACnB,MAAM,WAAW,CAAC,qDAAqD,CAAC,CAAA;YAC1E,CAAC;YACD,KAAK,CAAC,mBAAmB;gBACvB,MAAM,WAAW,CAAC,yDAAyD,CAAC,CAAA;YAC9E,CAAC;YACD,KAAK,CAAC,mBAAmB;gBACvB,MAAM,WAAW,CAAC,+CAA+C,CAAC,CAAA;YACpE,CAAC;YACD,KAAK,CAAC,eAAe;gBACnB,MAAM,WAAW,CAAC,qDAAqD,CAAC,CAAA;YAC1E,CAAC;YACD,KAAK,CAAC,aAAa;gBACjB,MAAM,WAAW,CAAC,sDAAsD,CAAC,CAAA;YAC3E,CAAC;SACF;KACF,CAAC,CAAC,CAAA;AACL,CAAC;AAmBD,MAAM,SAAU,SAAQ,KAAK;IAC3B,IAAI,CAAQ;IACZ,KAAK,CAAsB;IAC3B,GAAG,CAAQ;IAEX,YAAY,GAAW,EAAE,IAAY,EAAE,KAAe;QACpD,KAAK,CAAC,0CAA0C,UAAU,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAA;QAC1F,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;CACF;AAED,MAAM,YAAa,SAAQ,KAAK;IAC9B,IAAI,CAAQ;IACZ,GAAG,CAAQ;IAEX,YAAY,GAAW,EAAE,IAAY;QACnC,KAAK,CAAC,qCAAqC,UAAU,CAAC,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAA;QACnF,IAAI,CAAC,IAAI,GAAG,cAAc,CAAA;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;CACF;AAED,SAAS,mBAAmB,CAAC,YAAoB;IAC/C,OAAO,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;QAClF,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,IAAI;KACV,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,kBAAkB;IACzB,OAAO,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;AACjF,CAAC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1E,CAAC;AAED,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,OAAO,GACX,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3B,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;QAClC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE;YACpD,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAA;IAE5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;QACjD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAA;IACF,KAAK,CAAC,KAAK,EAAE,CAAA;AACf,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAC/B,GAAG,CAAC,QAAQ,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAA;IAC9E,GAAG,CAAC,MAAM,GAAG,EAAE,CAAA;IACf,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB,EAAE,IAAY;IACrD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA;IAC/B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAClC,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC;AAED,KAAK,UAAU,IAAI,CAGjB,OAKD;IACC,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACtC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7D,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,MAAM,EAAE,MAAM;KACf,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAsB,CAAA;IAEzE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,KAAK,GAAI,IAA4B,CAAC,KAAK,CAAA;QACjD,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAA;IACzF,CAAC;IAED,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;AACzC,CAAC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,IAAI,aAAa,CAAC,sBAAsB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;AAC9D,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * as Provider from './Provider.js';
2
+ export { cli } from './adapter.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * as Provider from './Provider.js';
2
+ export { cli } from './adapter.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/core/Dialog.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC,mFAAmF;AACnF,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEnC,qDAAqD;AACrD,MAAM,MAAM,IAAI,GAAG;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,oDAAoD;IACpD,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,kDAAkD;IAClD,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,6DAA6D;IAC7D,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,CAAC,aAAa,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1E,CAAA;AAED,kDAAkD;AAClD,MAAM,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAA;AAElE,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,GAAG;QAChB,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,4BAA4B;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;KACnB,CAAA;CACF;AAED,eAAO,MAAM,WAAW;;;CAA8B,CAAA;AAEtD,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,CAItD;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,IAAI,OAAO,CAIlC;AAED,iFAAiF;AACjF,wBAAgB,MAAM,IAAI,MAAM,CA6M/B;AAED,kDAAkD;AAClD,wBAAgB,KAAK,CAAC,OAAO,GAAE,KAAK,CAAC,OAAY,GAAG,MAAM,CAoFzD;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,KAAK,OAAO,GAAG;QACb,sEAAsE;QACtE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KACrD,CAAA;CACF;AAED,mDAAmD;AACnD,wBAAgB,IAAI,IAAI,MAAM,CAO7B"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../src/core/Dialog.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC,mFAAmF;AACnF,MAAM,MAAM,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEnC,qDAAqD;AACrD,MAAM,MAAM,IAAI,GAAG;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,oDAAoD;IACpD,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,kDAAkD;IAClD,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,6DAA6D;IAC7D,YAAY,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,CAAC,aAAa,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1E,CAAA;AAED,kDAAkD;AAClD,MAAM,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,KAAK,QAAQ,CAAA;AAElE,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,GAAG;QAChB,iCAAiC;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,4BAA4B;QAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAA;KACnB,CAAA;CACF;AAED,eAAO,MAAM,WAAW;;;CAA8B,CAAA;AAEtD,2DAA2D;AAC3D,wBAAgB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,GAAG,MAAM,CAItD;AAED,gFAAgF;AAChF,wBAAgB,QAAQ,IAAI,OAAO,CAIlC;AAED,iFAAiF;AACjF,wBAAgB,MAAM,IAAI,MAAM,CA2P/B;AAED,kDAAkD;AAClD,wBAAgB,KAAK,CAAC,OAAO,GAAE,KAAK,CAAC,OAAY,GAAG,MAAM,CAoFzD;AAED,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B,KAAK,OAAO,GAAG;QACb,sEAAsE;QACtE,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KACrD,CAAA;CACF;AAED,mDAAmD;AACnD,wBAAgB,IAAI,IAAI,MAAM,CAO7B"}
@@ -1,3 +1,4 @@
1
+ import * as IO from './IntersectionObserver.js';
1
2
  import * as Messenger from './Messenger.js';
2
3
  export const defaultSize = { height: 440, width: 360 };
3
4
  /** Creates a dialog from metadata and a setup function. */
@@ -46,7 +47,6 @@ export function iframe() {
46
47
  padding: '0',
47
48
  position: 'fixed',
48
49
  });
49
- document.body.appendChild(root);
50
50
  const frame = document.createElement('iframe');
51
51
  frame.dataset.testid = 'tempo-wallet';
52
52
  frame.setAttribute('allow', [
@@ -76,14 +76,33 @@ export function iframe() {
76
76
  `;
77
77
  root.appendChild(style);
78
78
  root.appendChild(frame);
79
- const messenger = Messenger.bridge({
80
- from: Messenger.fromWindow(window, { targetOrigin: hostUrl.origin }),
81
- to: Messenger.fromWindow(frame.contentWindow, {
82
- targetOrigin: hostUrl.origin,
83
- }),
84
- waitForReady: true,
85
- });
86
- messenger.on('rpc-response', (response) => handleResponse(store, response));
79
+ function createMessenger() {
80
+ const m = Messenger.bridge({
81
+ from: Messenger.fromWindow(window, { targetOrigin: hostUrl.origin }),
82
+ to: Messenger.fromWindow(frame.contentWindow, {
83
+ targetOrigin: hostUrl.origin,
84
+ }),
85
+ waitForReady: true,
86
+ });
87
+ m.on('rpc-response', (response) => handleResponse(store, response));
88
+ return m;
89
+ }
90
+ document.body.appendChild(root);
91
+ let messenger = createMessenger();
92
+ // Re-mount if removed (e.g. React hydration clears non-server-rendered elements).
93
+ // The iframe reloads on re-append, so the messenger must be re-established.
94
+ new MutationObserver((mutations) => {
95
+ for (const mutation of mutations) {
96
+ for (const node of mutation.removedNodes) {
97
+ if (node !== root)
98
+ continue;
99
+ document.body.appendChild(root);
100
+ messenger.destroy();
101
+ messenger = createMessenger();
102
+ return;
103
+ }
104
+ }
105
+ }).observe(document.body, { childList: true });
87
106
  let savedOverflow = '';
88
107
  let opener = null;
89
108
  const onBlur = () => handleBlur(store);
@@ -151,6 +170,16 @@ export function iframe() {
151
170
  sibling.removeAttribute('inert');
152
171
  }
153
172
  };
173
+ messenger.on('switch-mode', () => {
174
+ hideDialog();
175
+ activatePage();
176
+ open = false;
177
+ const pending = store
178
+ .getState()
179
+ .requestQueue.filter((x) => x.status === 'pending');
180
+ if (pending.length > 0)
181
+ fallback.syncRequests(pending);
182
+ });
154
183
  return {
155
184
  close() {
156
185
  fallback.close();
@@ -180,7 +209,20 @@ export function iframe() {
180
209
  // Fall back to popup dialog.
181
210
  const unsupported = isSafari() &&
182
211
  requests.some((x) => ['wallet_connect', 'eth_requestAccounts'].includes(x.request.method));
183
- if (unsupported) {
212
+ const secure = await (async () => {
213
+ const { trustedHosts } = await messenger.waitForReady();
214
+ const ioSupported = IO.supported();
215
+ const trusted = Boolean(trustedHosts?.includes(window.location.hostname));
216
+ return ioSupported || trusted;
217
+ })();
218
+ if (unsupported || !secure) {
219
+ if (!secure)
220
+ console.warn([
221
+ `[accounts] Browser does not support IntersectionObserver v2 and "${window.location.hostname}" is not a trusted host.`,
222
+ 'Falling back to popup dialog.',
223
+ '',
224
+ 'To enable the iframe dialog, add your hostname to the trusted hosts list.',
225
+ ].join('\n'));
184
226
  fallback.syncRequests(requests);
185
227
  }
186
228
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/core/Dialog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../src/core/Dialog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Whether IntersectionObserver v2 (with `isVisible`) is supported. */
2
+ export declare const supported: () => boolean;
3
+ //# sourceMappingURL=IntersectionObserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntersectionObserver.d.ts","sourceRoot":"","sources":["../../src/core/IntersectionObserver.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,eAAO,MAAM,SAAS,eAI8B,CAAA"}
@@ -0,0 +1,6 @@
1
+ /** Whether IntersectionObserver v2 (with `isVisible`) is supported. */
2
+ export const supported = () => 'IntersectionObserver' in window &&
3
+ 'IntersectionObserverEntry' in window &&
4
+ 'intersectionRatio' in IntersectionObserverEntry.prototype &&
5
+ 'isVisible' in IntersectionObserverEntry.prototype;
6
+ //# sourceMappingURL=IntersectionObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntersectionObserver.js","sourceRoot":"","sources":["../../src/core/IntersectionObserver.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,EAAE,CAC5B,sBAAsB,IAAI,MAAM;IAChC,2BAA2B,IAAI,MAAM;IACrC,mBAAmB,IAAI,yBAAyB,CAAC,SAAS;IAC1D,WAAW,IAAI,yBAAyB,CAAC,SAAS,CAAA"}
@@ -13,18 +13,23 @@ export type Messenger = {
13
13
  payload: Payload<topic>;
14
14
  }>;
15
15
  };
16
+ /** Options sent with the `ready` signal from the remote frame. */
17
+ export type ReadyOptions = {
18
+ /** Hostnames trusted by the remote embed to render in an iframe. */
19
+ trustedHosts?: string[] | undefined;
20
+ };
16
21
  /** Bridge messenger that waits for a `ready` signal from the remote frame. */
17
22
  export type Bridge = Messenger & {
18
23
  /** Signal readiness (called by the remote frame). */
19
- ready: () => void;
24
+ ready: (options?: ReadyOptions | undefined) => void;
20
25
  /** Promise that resolves when the remote frame signals ready. */
21
- waitForReady: () => Promise<void>;
26
+ waitForReady: () => Promise<ReadyOptions>;
22
27
  };
23
28
  /** Message schema for cross-frame communication. */
24
29
  export type Schema = [
25
30
  {
26
31
  topic: 'ready';
27
- payload: undefined;
32
+ payload: ReadyOptions;
28
33
  },
29
34
  {
30
35
  topic: 'rpc-requests';
@@ -45,6 +50,12 @@ export type Schema = [
45
50
  {
46
51
  topic: 'close';
47
52
  payload: undefined;
53
+ },
54
+ {
55
+ topic: 'switch-mode';
56
+ payload: {
57
+ mode: 'popup';
58
+ };
48
59
  }
49
60
  ];
50
61
  /** Union of all topic strings. */
@@ -1 +1 @@
1
- {"version":3,"file":"Messenger.d.ts","sourceRoot":"","sources":["../../src/core/Messenger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Messenger.d.ts","sourceRoot":"","sources":["../../src/core/Messenger.ts"],"names":[],"mappings":"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"}
@@ -47,7 +47,7 @@ export function bridge(parameters) {
47
47
  const { from: from_, to, waitForReady = false } = parameters;
48
48
  let pending = false;
49
49
  const ready = withResolvers();
50
- from_.on('ready', ready.resolve);
50
+ from_.on('ready', (payload) => ready.resolve(payload ?? {}));
51
51
  const messenger = from({
52
52
  destroy() {
53
53
  from_.destroy();
@@ -67,8 +67,8 @@ export function bridge(parameters) {
67
67
  });
68
68
  return {
69
69
  ...messenger,
70
- ready() {
71
- void messenger.send('ready', undefined);
70
+ ready(options) {
71
+ void messenger.send('ready', options ?? {});
72
72
  },
73
73
  waitForReady() {
74
74
  return ready.promise;
@@ -87,7 +87,7 @@ export function noop() {
87
87
  },
88
88
  ready() { },
89
89
  waitForReady() {
90
- return Promise.resolve();
90
+ return Promise.resolve({});
91
91
  },
92
92
  };
93
93
  }