@wirexapp/card-sdk-core 1.1.0-beta.0 → 1.1.0-beta.1
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/CHANGELOG.md +11 -0
- package/dist/protocol.d.ts +5 -0
- package/dist/protocol.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/walletElement.d.ts +0 -67
- package/dist/walletElement.d.ts.map +0 -1
- package/dist/walletElement.js +0 -119
- package/dist/walletElement.js.map +0 -1
- package/dist/walletPopup.d.ts +0 -32
- package/dist/walletPopup.d.ts.map +0 -1
- package/dist/walletPopup.js +0 -210
- package/dist/walletPopup.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# @wirexapp/card-sdk-core
|
|
2
2
|
|
|
3
|
+
## 1.1.0-beta.1
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Wallet checkout polish: loading skeleton + popup page padding; the popup
|
|
8
|
+
carries `appearance` in the URL fragment so the pre-quote skeleton renders
|
|
9
|
+
themed; privacy-only legal line with a partner-configurable
|
|
10
|
+
`branding.privacyUrl` (https-only, validated in-frame, Wirex policy
|
|
11
|
+
fallback); Google Pay button draws the design pill radius natively; fee row
|
|
12
|
+
rounds up to the minor unit (host-app parity).
|
|
13
|
+
|
|
3
14
|
## 0.1.0-beta.4
|
|
4
15
|
|
|
5
16
|
### Minor Changes
|
package/dist/protocol.d.ts
CHANGED
|
@@ -351,6 +351,11 @@ export interface PciWalletBrandingConfig {
|
|
|
351
351
|
processingDisclosure?: {
|
|
352
352
|
partnerName: string;
|
|
353
353
|
};
|
|
354
|
+
/** The partner's own privacy-policy URL for the legal line under the wallet
|
|
355
|
+
* button ("By paying you agree to the Privacy statement"). HTTPS only —
|
|
356
|
+
* validated in-frame; anything else (or omission) falls back to the Wirex
|
|
357
|
+
* privacy policy. */
|
|
358
|
+
privacyUrl?: string;
|
|
354
359
|
}
|
|
355
360
|
export interface PciWalletCheckoutInitConfig {
|
|
356
361
|
mode: 'wallet-checkout';
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirexapp/card-sdk-core",
|
|
3
|
-
"version": "1.1.0-beta.
|
|
3
|
+
"version": "1.1.0-beta.1",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Shared foundation of the Wirex PCI card SDK: postMessage protocol, frame channel, frame-URL building, collect machinery. CHD-free.",
|
|
6
6
|
"license": "UNLICENSED",
|
package/dist/walletElement.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import type { PciAppearance, PciFrameStrings, PciWalletAvailability, PciWalletBrandingConfig, PciWalletButtonAppearance, PciWalletCheckoutState, PciWalletPaymentTokenDto, PciWalletProviderConfig, PciWalletQuote } from './protocol.js';
|
|
2
|
-
export type PciWalletPaymentToken = PciWalletPaymentTokenDto;
|
|
3
|
-
export interface PciWalletTopUpElementConfig {
|
|
4
|
-
/** From your estimate call (a wallet `payment_method`, no card id). */
|
|
5
|
-
quote: PciWalletQuote;
|
|
6
|
-
/** The provider block of the app config's `topup` section, selected by the
|
|
7
|
-
* ESTIMATE's `provider` field — passed to the frame verbatim. */
|
|
8
|
-
walletConfig: PciWalletProviderConfig;
|
|
9
|
-
appearance?: PciAppearance;
|
|
10
|
-
buttons?: PciWalletButtonAppearance;
|
|
11
|
-
/** Logo slot + partner processing disclosure; see PciWalletBrandingConfig. */
|
|
12
|
-
branding?: PciWalletBrandingConfig;
|
|
13
|
-
strings?: PciFrameStrings;
|
|
14
|
-
/** Review screen rendered, buttons live. */
|
|
15
|
-
onReady?: () => void;
|
|
16
|
-
onStateChange?: (state: PciWalletCheckoutState) => void;
|
|
17
|
-
/** The user dismissed the wallet sheet — nothing was tokenized. */
|
|
18
|
-
onCancel?: () => void;
|
|
19
|
-
/** The sheet opened but produced no token (e.g. merchant validation
|
|
20
|
-
* failure). `reason` is a stable slug for messaging/analytics. */
|
|
21
|
-
onAttemptFailed?: (reason: string) => void;
|
|
22
|
-
/** The quote expired in view. Re-estimate through your backend and call
|
|
23
|
-
* `update()` with the fresh quote — no remount needed. */
|
|
24
|
-
onEstimationExpired?: () => void;
|
|
25
|
-
/**
|
|
26
|
-
* The payment sheet authorized. Relay `walletPaymentToken` VERBATIM as the
|
|
27
|
-
* execute call's `wallet_payment_token` (never parse, reshape or log it).
|
|
28
|
-
* The sheet has already closed successfully — its success means
|
|
29
|
-
* "tokenized"; the execute response and your status feed own the top-up
|
|
30
|
-
* outcome. `three_ds_state` is never present on a wallet top-up.
|
|
31
|
-
*/
|
|
32
|
-
onToken: (token: PciWalletPaymentToken) => void;
|
|
33
|
-
/** DEV ONLY: arm the frame's diagnostics channel — in-frame JS errors and
|
|
34
|
-
* console output arrive in `onDebug`. Never enable in production. */
|
|
35
|
-
debug?: boolean;
|
|
36
|
-
onDebug?: (level: 'log' | 'warn' | 'error', message: string) => void;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* The wallet checkout element — review screen + wallet buttons in one
|
|
40
|
-
* Wirex-served iframe. `mount()` resolves when the frame has rendered the
|
|
41
|
-
* quote; payment attempts are user-gesture-driven inside the frame and
|
|
42
|
-
* surface through the config callbacks.
|
|
43
|
-
*/
|
|
44
|
-
export declare class PciWalletTopUpElement {
|
|
45
|
-
private readonly config;
|
|
46
|
-
private readonly channel;
|
|
47
|
-
/** One token per payment attempt; re-armed when a new sheet opens. */
|
|
48
|
-
private attemptSettled;
|
|
49
|
-
constructor(frameUrl: string, config: PciWalletTopUpElementConfig);
|
|
50
|
-
mount(container: HTMLElement): Promise<void>;
|
|
51
|
-
/** Re-arm a mounted element with a fresh quote (typically after
|
|
52
|
-
* `onEstimationExpired`) — re-renders in place. Pass `walletConfig` when
|
|
53
|
-
* the fresh estimate's `provider` selects a different config block. */
|
|
54
|
-
update(quote: PciWalletQuote, walletConfig?: PciWalletProviderConfig): Promise<void>;
|
|
55
|
-
destroy(): void;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Phase-A availability probe: mounts a hidden probe frame that runs
|
|
59
|
-
* `ApplePaySession.canMakePayments()` / Google Pay `isReadyToPay()`
|
|
60
|
-
* (cryptogram-only) and reports booleans. No transaction context, no backend
|
|
61
|
-
* calls. Pass the provider's wallet config when you have it (app config's
|
|
62
|
-
* `topup` block, `default_provider` entry) so the Google check mirrors the
|
|
63
|
-
* real tokenization parameters. Callers cache the result per page session —
|
|
64
|
-
* see `checkWalletAvailability` in `@wirexapp/card-wallet-topup-web`.
|
|
65
|
-
*/
|
|
66
|
-
export declare const probeWalletAvailability: (frameUrl: string, config?: PciWalletProviderConfig) => Promise<PciWalletAvailability>;
|
|
67
|
-
//# sourceMappingURL=walletElement.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"walletElement.d.ts","sourceRoot":"","sources":["../src/walletElement.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,sBAAsB,EACtB,wBAAwB,EACxB,uBAAuB,EACvB,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAE7D,MAAM,WAAW,2BAA2B;IAC1C,uEAAuE;IACvE,KAAK,EAAE,cAAc,CAAC;IACtB;sEACkE;IAClE,YAAY,EAAE,uBAAuB,CAAC;IACtC,UAAU,CAAC,EAAE,aAAa,CAAC;IAC3B,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,uBAAuB,CAAC;IACnC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACxD,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;uEACmE;IACnE,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C;+DAC2D;IAC3D,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAChD;0EACsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACtE;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkB;IAC1C,sEAAsE;IACtE,OAAO,CAAC,cAAc,CAAS;gBAEnB,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,2BAA2B;IAgC3D,KAAK,CAAC,SAAS,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBlD;;4EAEwE;IAClE,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1F,OAAO,IAAI,IAAI;CAGhB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,GAClC,UAAU,MAAM,EAChB,SAAS,uBAAuB,KAC/B,OAAO,CAAC,qBAAqB,CAqB/B,CAAC"}
|
package/dist/walletElement.js
DELETED
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet top-up (Apple Pay / Google Pay) host-side machinery: the checkout
|
|
3
|
-
* element that mounts the Wirex-hosted wallet frame, and the availability
|
|
4
|
-
* probe. Design: docs/WALLET-TOPUP-DESIGN.md, on the confirmed backend
|
|
5
|
-
* contract ("Wallet Top-Ups Integration").
|
|
6
|
-
*
|
|
7
|
-
* Unlike collect/reveal this is not CHD isolation — wallet tokens are
|
|
8
|
-
* encrypted, gateway-bound blobs. The frame exists for Apple Pay's origin
|
|
9
|
-
* binding: the wallet JS must run on a Wirex-registered domain, so partners
|
|
10
|
-
* skip Apple onboarding entirely. The frame TOKENIZES AND RETURNS: the sheet's
|
|
11
|
-
* encrypted payload arrives in `onToken`, and the HOST calls the execute
|
|
12
|
-
* endpoint with it (`wallet_payment_token`). There is no 3DS on this path.
|
|
13
|
-
*/
|
|
14
|
-
import { PciFrameChannel } from './frameChannel.js';
|
|
15
|
-
/**
|
|
16
|
-
* The wallet checkout element — review screen + wallet buttons in one
|
|
17
|
-
* Wirex-served iframe. `mount()` resolves when the frame has rendered the
|
|
18
|
-
* quote; payment attempts are user-gesture-driven inside the frame and
|
|
19
|
-
* surface through the config callbacks.
|
|
20
|
-
*/
|
|
21
|
-
export class PciWalletTopUpElement {
|
|
22
|
-
constructor(frameUrl, config) {
|
|
23
|
-
/** One token per payment attempt; re-armed when a new sheet opens. */
|
|
24
|
-
this.attemptSettled = false;
|
|
25
|
-
this.config = config;
|
|
26
|
-
this.channel = new PciFrameChannel(frameUrl, {}, { allowPayment: true });
|
|
27
|
-
this.channel.onMessage(message => {
|
|
28
|
-
switch (message.type) {
|
|
29
|
-
case 'wallet-state':
|
|
30
|
-
if (message.state === 'sheet-open')
|
|
31
|
-
this.attemptSettled = false;
|
|
32
|
-
this.config.onStateChange?.(message.state);
|
|
33
|
-
break;
|
|
34
|
-
case 'wallet-debug':
|
|
35
|
-
this.config.onDebug?.(message.level, message.message);
|
|
36
|
-
break;
|
|
37
|
-
case 'wallet-cancelled':
|
|
38
|
-
this.config.onCancel?.();
|
|
39
|
-
break;
|
|
40
|
-
case 'wallet-attempt-failed':
|
|
41
|
-
this.config.onAttemptFailed?.(message.reason);
|
|
42
|
-
break;
|
|
43
|
-
case 'wallet-estimation-expired':
|
|
44
|
-
this.config.onEstimationExpired?.();
|
|
45
|
-
break;
|
|
46
|
-
case 'wallet-token':
|
|
47
|
-
if (this.attemptSettled)
|
|
48
|
-
break;
|
|
49
|
-
this.attemptSettled = true;
|
|
50
|
-
this.config.onToken(message.token);
|
|
51
|
-
break;
|
|
52
|
-
default:
|
|
53
|
-
break;
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
async mount(container) {
|
|
58
|
-
await this.channel.mount(container);
|
|
59
|
-
await this.channel.request({
|
|
60
|
-
type: 'init',
|
|
61
|
-
config: {
|
|
62
|
-
mode: 'wallet-checkout',
|
|
63
|
-
quote: this.config.quote,
|
|
64
|
-
config: this.config.walletConfig,
|
|
65
|
-
appearance: this.config.appearance,
|
|
66
|
-
buttons: this.config.buttons,
|
|
67
|
-
branding: this.config.branding,
|
|
68
|
-
strings: this.config.strings,
|
|
69
|
-
debug: this.config.debug,
|
|
70
|
-
},
|
|
71
|
-
});
|
|
72
|
-
this.config.onReady?.();
|
|
73
|
-
}
|
|
74
|
-
/** Re-arm a mounted element with a fresh quote (typically after
|
|
75
|
-
* `onEstimationExpired`) — re-renders in place. Pass `walletConfig` when
|
|
76
|
-
* the fresh estimate's `provider` selects a different config block. */
|
|
77
|
-
async update(quote, walletConfig) {
|
|
78
|
-
await this.channel.request({
|
|
79
|
-
type: 'wallet-update',
|
|
80
|
-
quote,
|
|
81
|
-
config: walletConfig ?? this.config.walletConfig,
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
destroy() {
|
|
85
|
-
this.channel.destroy();
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Phase-A availability probe: mounts a hidden probe frame that runs
|
|
90
|
-
* `ApplePaySession.canMakePayments()` / Google Pay `isReadyToPay()`
|
|
91
|
-
* (cryptogram-only) and reports booleans. No transaction context, no backend
|
|
92
|
-
* calls. Pass the provider's wallet config when you have it (app config's
|
|
93
|
-
* `topup` block, `default_provider` entry) so the Google check mirrors the
|
|
94
|
-
* real tokenization parameters. Callers cache the result per page session —
|
|
95
|
-
* see `checkWalletAvailability` in `@wirexapp/card-wallet-topup-web`.
|
|
96
|
-
*/
|
|
97
|
-
export const probeWalletAvailability = async (frameUrl, config) => {
|
|
98
|
-
// Zero-sized but not display:none/visibility:hidden — some wallet
|
|
99
|
-
// availability checks report unavailable inside hidden documents.
|
|
100
|
-
const container = document.createElement('div');
|
|
101
|
-
container.style.position = 'fixed';
|
|
102
|
-
container.style.width = '0';
|
|
103
|
-
container.style.height = '0';
|
|
104
|
-
container.style.overflow = 'hidden';
|
|
105
|
-
document.body.appendChild(container);
|
|
106
|
-
const channel = new PciFrameChannel(frameUrl, {}, { allowPayment: true });
|
|
107
|
-
try {
|
|
108
|
-
await channel.mount(container);
|
|
109
|
-
return await channel.request({
|
|
110
|
-
type: 'init',
|
|
111
|
-
config: { mode: 'wallet-probe', config },
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
finally {
|
|
115
|
-
channel.destroy();
|
|
116
|
-
container.remove();
|
|
117
|
-
}
|
|
118
|
-
};
|
|
119
|
-
//# sourceMappingURL=walletElement.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"walletElement.js","sourceRoot":"","sources":["../src/walletElement.ts"],"names":[],"mappings":"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"}
|
package/dist/walletPopup.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import type { PciWalletTopUpElementConfig } from './walletElement.js';
|
|
2
|
-
export interface PciWalletTopUpPopupConfig extends Omit<PciWalletTopUpElementConfig, 'quote' | 'walletConfig'> {
|
|
3
|
-
/** The quote may be OMITTED at open time: `window.open` must run
|
|
4
|
-
* synchronously inside the click handler, while the estimate is usually
|
|
5
|
-
* still in flight — open first, then call `arm(quote, walletConfig)` when
|
|
6
|
-
* the estimate lands. Providing both here arms immediately. */
|
|
7
|
-
quote?: PciWalletTopUpElementConfig['quote'];
|
|
8
|
-
walletConfig?: PciWalletTopUpElementConfig['walletConfig'];
|
|
9
|
-
/** The popup was closed (by the user or programmatically) without a token.
|
|
10
|
-
* Not fired after `onToken` — a token hand-off closes the popup too. */
|
|
11
|
-
onClose?: () => void;
|
|
12
|
-
/** The popup failed to boot: blocked by the browser (call `open` from a
|
|
13
|
-
* click handler), or the frame never became ready. */
|
|
14
|
-
onMountError?: (error: Error) => void;
|
|
15
|
-
}
|
|
16
|
-
export interface PciWalletTopUpPopup {
|
|
17
|
-
/** Deliver the quote when it wasn't available at open time (the estimate
|
|
18
|
-
* resolved after the click). First call initializes the checkout; later
|
|
19
|
-
* calls behave like `update`. No-op after the popup closed. */
|
|
20
|
-
arm(quote: PciWalletTopUpElementConfig['quote'], walletConfig: PciWalletTopUpElementConfig['walletConfig']): void;
|
|
21
|
-
/** Re-arm with a fresh quote (after `onEstimationExpired`) — re-renders in
|
|
22
|
-
* place, the popup stays open. */
|
|
23
|
-
update(quote: PciWalletTopUpElementConfig['quote'], walletConfig?: PciWalletTopUpElementConfig['walletConfig']): Promise<void>;
|
|
24
|
-
/** Close the popup. Fires `onClose` if nothing was tokenized yet. */
|
|
25
|
-
close(): void;
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* Opens the wallet checkout in a popup. MUST be called synchronously from a
|
|
29
|
-
* user gesture (click handler) or browsers will block the window.
|
|
30
|
-
*/
|
|
31
|
-
export declare const openWalletTopUpPopup: (frameUrl: string, config: PciWalletTopUpPopupConfig) => PciWalletTopUpPopup;
|
|
32
|
-
//# sourceMappingURL=walletPopup.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"walletPopup.d.ts","sourceRoot":"","sources":["../src/walletPopup.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAgBnE,MAAM,WAAW,yBAA0B,SAAQ,IAAI,CAAC,2BAA2B,EAAE,OAAO,GAAG,cAAc,CAAC;IAC5G;;;oEAGgE;IAChE,KAAK,CAAC,EAAE,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC,CAAC;IAC3D;6EACyE;IACzE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;2DACuD;IACvD,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC;;oEAEgE;IAChE,GAAG,CAAC,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAClH;uCACmC;IACnC,MAAM,CAAC,KAAK,EAAE,2BAA2B,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,EAAE,2BAA2B,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/H,qEAAqE;IACrE,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,EAChB,QAAQ,yBAAyB,KAChC,mBA8KF,CAAC"}
|
package/dist/walletPopup.js
DELETED
|
@@ -1,210 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wallet checkout POPUP (Mode B): the same wallet-checkout document, opened
|
|
3
|
-
* TOP-LEVEL on the frames domain via `window.open`, driven over
|
|
4
|
-
* `window.opener` postMessage with the same channel + origin checks as the
|
|
5
|
-
* iframe transport (`openerTransport` in the frame's bridge).
|
|
6
|
-
*
|
|
7
|
-
* Why this mode exists: Apple binds merchant sessions to the TOP-LEVEL
|
|
8
|
-
* page's domain. Embedded as an iframe, that is the PARTNER's domain — which
|
|
9
|
-
* must be registered + verified under Wirex's Apple merchant ID and host the
|
|
10
|
-
* domain-association file. In a popup the top-level domain is the frames
|
|
11
|
-
* origin itself, which is already verified — partners need NO Apple steps at
|
|
12
|
-
* all. The trade-off is the user briefly leaving the host page.
|
|
13
|
-
*
|
|
14
|
-
* The tokenize-and-return contract is unchanged: the sheet's encrypted
|
|
15
|
-
* payload arrives in `onToken` and the HOST calls execute; the popup closes
|
|
16
|
-
* itself once the token is handed off.
|
|
17
|
-
*/
|
|
18
|
-
import { PCI_PROTOCOL_VERSION } from './protocol.js';
|
|
19
|
-
const READY_TIMEOUT_MS = 15000;
|
|
20
|
-
const REQUEST_TIMEOUT_MS = 30000;
|
|
21
|
-
const CLOSE_POLL_MS = 400;
|
|
22
|
-
/** ~mobile-sheet proportions, centered by the browser. */
|
|
23
|
-
const POPUP_FEATURES = 'popup=yes,width=430,height=780,resizable=yes,scrollbars=yes';
|
|
24
|
-
/** The checkout renders on a transparent surface for iframes; a top-level
|
|
25
|
-
* popup needs an opaque ground. Overridable via appearance.surfaceColor. */
|
|
26
|
-
const POPUP_DEFAULT_SURFACE = '#141414';
|
|
27
|
-
const randomId = () => typeof crypto !== 'undefined' && 'randomUUID' in crypto
|
|
28
|
-
? crypto.randomUUID()
|
|
29
|
-
: `${Date.now()}-${Math.random().toString(36).slice(2)}`;
|
|
30
|
-
/**
|
|
31
|
-
* Opens the wallet checkout in a popup. MUST be called synchronously from a
|
|
32
|
-
* user gesture (click handler) or browsers will block the window.
|
|
33
|
-
*/
|
|
34
|
-
export const openWalletTopUpPopup = (frameUrl, config) => {
|
|
35
|
-
const frameOrigin = new URL(frameUrl, window.location.href).origin;
|
|
36
|
-
const channelId = randomId();
|
|
37
|
-
const url = `${frameUrl}#channel=${channelId}&parent=${encodeURIComponent(window.location.origin)}`;
|
|
38
|
-
const popup = window.open(url, '_blank', POPUP_FEATURES);
|
|
39
|
-
const pending = new Map();
|
|
40
|
-
let settled = false; // a token was handed off
|
|
41
|
-
let closed = false;
|
|
42
|
-
let closePoll = null;
|
|
43
|
-
let readyTimer = null;
|
|
44
|
-
/** One payment attempt per sheet opening (mirrors the element). */
|
|
45
|
-
let attemptSettled = false;
|
|
46
|
-
// Deferred-arm state: the frame may report ready before the host has a
|
|
47
|
-
// quote (estimate in flight), or the quote may arrive first — init is sent
|
|
48
|
-
// once BOTH are true.
|
|
49
|
-
let frameReady = false;
|
|
50
|
-
let initialized = false;
|
|
51
|
-
let armedQuote = config.quote ?? null;
|
|
52
|
-
let armedWalletConfig = config.walletConfig ?? null;
|
|
53
|
-
const cleanup = () => {
|
|
54
|
-
if (closed)
|
|
55
|
-
return;
|
|
56
|
-
closed = true;
|
|
57
|
-
if (closePoll)
|
|
58
|
-
clearInterval(closePoll);
|
|
59
|
-
if (readyTimer)
|
|
60
|
-
clearTimeout(readyTimer);
|
|
61
|
-
window.removeEventListener('message', onWindowMessage);
|
|
62
|
-
for (const [, entry] of pending) {
|
|
63
|
-
clearTimeout(entry.timer);
|
|
64
|
-
entry.reject(new Error('Wallet popup closed'));
|
|
65
|
-
}
|
|
66
|
-
pending.clear();
|
|
67
|
-
};
|
|
68
|
-
const closePopup = () => {
|
|
69
|
-
const wasSettled = settled;
|
|
70
|
-
cleanup();
|
|
71
|
-
if (popup && !popup.closed)
|
|
72
|
-
popup.close();
|
|
73
|
-
if (!wasSettled)
|
|
74
|
-
config.onClose?.();
|
|
75
|
-
};
|
|
76
|
-
const request = (message) => {
|
|
77
|
-
if (!popup || popup.closed || closed)
|
|
78
|
-
return Promise.reject(new Error('Wallet popup is not open'));
|
|
79
|
-
const requestId = randomId();
|
|
80
|
-
const promise = new Promise((resolve, reject) => {
|
|
81
|
-
const timer = setTimeout(() => {
|
|
82
|
-
pending.delete(requestId);
|
|
83
|
-
reject(new Error('Wallet popup request timed out'));
|
|
84
|
-
}, REQUEST_TIMEOUT_MS);
|
|
85
|
-
pending.set(requestId, { resolve: resolve, reject, timer });
|
|
86
|
-
});
|
|
87
|
-
popup.postMessage({ ...message, requestId, v: PCI_PROTOCOL_VERSION, channel: channelId }, frameOrigin);
|
|
88
|
-
return promise;
|
|
89
|
-
};
|
|
90
|
-
const sendInit = () => {
|
|
91
|
-
if (initialized || !frameReady || !armedQuote || !armedWalletConfig)
|
|
92
|
-
return;
|
|
93
|
-
initialized = true;
|
|
94
|
-
request({
|
|
95
|
-
type: 'init',
|
|
96
|
-
config: {
|
|
97
|
-
mode: 'wallet-checkout',
|
|
98
|
-
quote: armedQuote,
|
|
99
|
-
config: armedWalletConfig,
|
|
100
|
-
appearance: {
|
|
101
|
-
...config.appearance,
|
|
102
|
-
variables: { surfaceColor: POPUP_DEFAULT_SURFACE, ...config.appearance?.variables },
|
|
103
|
-
},
|
|
104
|
-
buttons: config.buttons,
|
|
105
|
-
branding: config.branding,
|
|
106
|
-
strings: config.strings,
|
|
107
|
-
debug: config.debug,
|
|
108
|
-
},
|
|
109
|
-
})
|
|
110
|
-
.then(() => config.onReady?.())
|
|
111
|
-
.catch((error) => config.onMountError?.(error));
|
|
112
|
-
};
|
|
113
|
-
const onWindowMessage = (event) => {
|
|
114
|
-
// Provenance: our popup window + the frames origin + our channel id.
|
|
115
|
-
if (!popup || event.source !== popup)
|
|
116
|
-
return;
|
|
117
|
-
if (event.origin !== frameOrigin)
|
|
118
|
-
return;
|
|
119
|
-
const message = event.data;
|
|
120
|
-
if (!message || message.v !== PCI_PROTOCOL_VERSION || message.channel !== channelId)
|
|
121
|
-
return;
|
|
122
|
-
switch (message.type) {
|
|
123
|
-
case 'ready':
|
|
124
|
-
if (readyTimer)
|
|
125
|
-
clearTimeout(readyTimer);
|
|
126
|
-
readyTimer = null;
|
|
127
|
-
frameReady = true;
|
|
128
|
-
sendInit();
|
|
129
|
-
break;
|
|
130
|
-
case 'result': {
|
|
131
|
-
const entry = pending.get(message.requestId);
|
|
132
|
-
if (!entry)
|
|
133
|
-
break;
|
|
134
|
-
pending.delete(message.requestId);
|
|
135
|
-
clearTimeout(entry.timer);
|
|
136
|
-
if (message.ok)
|
|
137
|
-
entry.resolve(message.data);
|
|
138
|
-
else
|
|
139
|
-
entry.reject(new Error(message.error?.message ?? 'Wallet popup request failed'));
|
|
140
|
-
break;
|
|
141
|
-
}
|
|
142
|
-
case 'wallet-state':
|
|
143
|
-
if (message.state === 'sheet-open')
|
|
144
|
-
attemptSettled = false;
|
|
145
|
-
config.onStateChange?.(message.state);
|
|
146
|
-
break;
|
|
147
|
-
case 'wallet-debug':
|
|
148
|
-
config.onDebug?.(message.level, message.message);
|
|
149
|
-
break;
|
|
150
|
-
case 'wallet-cancelled':
|
|
151
|
-
config.onCancel?.();
|
|
152
|
-
break;
|
|
153
|
-
case 'wallet-attempt-failed':
|
|
154
|
-
config.onAttemptFailed?.(message.reason);
|
|
155
|
-
break;
|
|
156
|
-
case 'wallet-estimation-expired':
|
|
157
|
-
config.onEstimationExpired?.();
|
|
158
|
-
break;
|
|
159
|
-
case 'wallet-token':
|
|
160
|
-
if (attemptSettled)
|
|
161
|
-
break;
|
|
162
|
-
attemptSettled = true;
|
|
163
|
-
settled = true;
|
|
164
|
-
// Hand the token to the host FIRST, then close — the host executes.
|
|
165
|
-
config.onToken(message.token);
|
|
166
|
-
closePopup();
|
|
167
|
-
break;
|
|
168
|
-
default:
|
|
169
|
-
break;
|
|
170
|
-
}
|
|
171
|
-
};
|
|
172
|
-
if (!popup) {
|
|
173
|
-
// Blocked: window.open returned null (not called from a user gesture, or
|
|
174
|
-
// a popup blocker). Report async so the caller's flow stays uniform.
|
|
175
|
-
setTimeout(() => config.onMountError?.(new Error('Wallet popup was blocked — open it from a click handler')), 0);
|
|
176
|
-
return {
|
|
177
|
-
arm: () => { },
|
|
178
|
-
update: () => Promise.reject(new Error('Wallet popup was blocked')),
|
|
179
|
-
close: () => { },
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
window.addEventListener('message', onWindowMessage);
|
|
183
|
-
readyTimer = setTimeout(() => {
|
|
184
|
-
config.onMountError?.(new Error('Wallet popup did not become ready in time'));
|
|
185
|
-
closePopup();
|
|
186
|
-
}, READY_TIMEOUT_MS);
|
|
187
|
-
closePoll = setInterval(() => {
|
|
188
|
-
if (popup.closed)
|
|
189
|
-
closePopup();
|
|
190
|
-
}, CLOSE_POLL_MS);
|
|
191
|
-
return {
|
|
192
|
-
arm: (quote, walletConfig) => {
|
|
193
|
-
if (closed)
|
|
194
|
-
return;
|
|
195
|
-
if (initialized) {
|
|
196
|
-
// Already armed once — behave like update (fresh estimate).
|
|
197
|
-
armedQuote = quote;
|
|
198
|
-
armedWalletConfig = walletConfig;
|
|
199
|
-
void request({ type: 'wallet-update', quote, config: walletConfig }).catch(() => undefined);
|
|
200
|
-
return;
|
|
201
|
-
}
|
|
202
|
-
armedQuote = quote;
|
|
203
|
-
armedWalletConfig = walletConfig;
|
|
204
|
-
sendInit();
|
|
205
|
-
},
|
|
206
|
-
update: (quote, walletConfig) => request({ type: 'wallet-update', quote, config: walletConfig ?? armedWalletConfig ?? undefined }).then(() => undefined),
|
|
207
|
-
close: closePopup,
|
|
208
|
-
};
|
|
209
|
-
};
|
|
210
|
-
//# sourceMappingURL=walletPopup.js.map
|
package/dist/walletPopup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"walletPopup.js","sourceRoot":"","sources":["../src/walletPopup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,oBAAoB,EAA0D,MAAM,YAAY,CAAC;AAG1G,MAAM,gBAAgB,GAAG,KAAM,CAAC;AAChC,MAAM,kBAAkB,GAAG,KAAM,CAAC;AAClC,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,0DAA0D;AAC1D,MAAM,cAAc,GAAG,6DAA6D,CAAC;AACrF;6EAC6E;AAC7E,MAAM,qBAAqB,GAAG,SAAS,CAAC;AAExC,MAAM,QAAQ,GAAG,GAAW,EAAE,CAC5B,OAAO,MAAM,KAAK,WAAW,IAAI,YAAY,IAAI,MAAM;IACrD,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;IACrB,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AA6B7D;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,QAAgB,EAChB,MAAiC,EACZ,EAAE;IACvB,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,GAAG,QAAQ,YAAY,SAAS,WAAW,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAEpG,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsH,CAAC;IAC9I,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,yBAAyB;IAC9C,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,SAAS,GAA0C,IAAI,CAAC;IAC5D,IAAI,UAAU,GAAyC,IAAI,CAAC;IAC5D,mEAAmE;IACnE,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,uEAAuE;IACvE,2EAA2E;IAC3E,sBAAsB;IACtB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,UAAU,GAAG,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC;IACtC,IAAI,iBAAiB,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC;IAEpD,MAAM,OAAO,GAAG,GAAS,EAAE;QACzB,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,SAAS;YAAE,aAAa,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,UAAU;YAAE,YAAY,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;YAChC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,GAAS,EAAE;QAC5B,MAAM,UAAU,GAAG,OAAO,CAAC;QAC3B,OAAO,EAAE,CAAC;QACV,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,KAAK,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC,UAAU;YAAE,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAI,OAAmE,EAAc,EAAE;QACrG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,MAAM;YAAE,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC,CAAC;QACnG,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC1B,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;YACtD,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,OAAkC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,WAAW,CAAC,EAAE,GAAG,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,WAAW,CAAC,CAAC;QACvG,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,IAAI,WAAW,IAAI,CAAC,UAAU,IAAI,CAAC,UAAU,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC5E,WAAW,GAAG,IAAI,CAAC;QACnB,OAAO,CAAC;YACN,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,iBAAiB;gBACzB,UAAU,EAAE;oBACV,GAAG,MAAM,CAAC,UAAU;oBACpB,SAAS,EAAE,EAAE,YAAY,EAAE,qBAAqB,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,SAAS,EAAE;iBACpF;gBACD,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,KAAK,EAAE,MAAM,CAAC,KAAK;aACpB;SAC4D,CAAC;aAC7D,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;aAC9B,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,KAAmB,EAAQ,EAAE;QACpD,qEAAqE;QACrE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK;YAAE,OAAO;QAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;YAAE,OAAO;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,IAA8E,CAAC;QACrG,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,KAAK,oBAAoB,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QAE5F,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,OAAO;gBACV,IAAI,UAAU;oBAAE,YAAY,CAAC,UAAU,CAAC,CAAC;gBACzC,UAAU,GAAG,IAAI,CAAC;gBAClB,UAAU,GAAG,IAAI,CAAC;gBAClB,QAAQ,EAAE,CAAC;gBACX,MAAM;YACR,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAC7C,IAAI,CAAC,KAAK;oBAAE,MAAM;gBAClB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAClC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,IAAI,OAAO,CAAC,EAAE;oBAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;;oBACvC,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,IAAI,6BAA6B,CAAC,CAAC,CAAC;gBACtF,MAAM;YACR,CAAC;YACD,KAAK,cAAc;gBACjB,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY;oBAAE,cAAc,GAAG,KAAK,CAAC;gBAC3D,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM;YACR,KAAK,cAAc;gBACjB,MAAM,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;gBACjD,MAAM;YACR,KAAK,kBAAkB;gBACrB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;gBACpB,MAAM;YACR,KAAK,uBAAuB;gBAC1B,MAAM,CAAC,eAAe,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,2BAA2B;gBAC9B,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAC/B,MAAM;YACR,KAAK,cAAc;gBACjB,IAAI,cAAc;oBAAE,MAAM;gBAC1B,cAAc,GAAG,IAAI,CAAC;gBACtB,OAAO,GAAG,IAAI,CAAC;gBACf,oEAAoE;gBACpE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAC9B,UAAU,EAAE,CAAC;gBACb,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,yEAAyE;QACzE,qEAAqE;QACrE,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjH,OAAO;YACL,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;YACb,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YACnE,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;SAChB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;IACpD,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;QAC3B,MAAM,CAAC,YAAY,EAAE,CAAC,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;QAC9E,UAAU,EAAE,CAAC;IACf,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACrB,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;QAC3B,IAAI,KAAK,CAAC,MAAM;YAAE,UAAU,EAAE,CAAC;IACjC,CAAC,EAAE,aAAa,CAAC,CAAC;IAElB,OAAO;QACL,GAAG,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAC3B,IAAI,MAAM;gBAAE,OAAO;YACnB,IAAI,WAAW,EAAE,CAAC;gBAChB,4DAA4D;gBAC5D,UAAU,GAAG,KAAK,CAAC;gBACnB,iBAAiB,GAAG,YAAY,CAAC;gBACjC,KAAK,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAGhE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gBAC1B,OAAO;YACT,CAAC;YACD,UAAU,GAAG,KAAK,CAAC;YACnB,iBAAiB,GAAG,YAAY,CAAC;YACjC,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CAC9B,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,IAAI,iBAAiB,IAAI,SAAS,EAG7F,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;QAC1B,KAAK,EAAE,UAAU;KAClB,CAAC;AACJ,CAAC,CAAC"}
|