@openreceive/browser 0.2.4 → 0.3.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/README.md +2 -2
- package/dist/{chunk-GA4FMG7L.js → chunk-JR3DCSHN.js} +598 -87
- package/dist/headless.d.ts +294 -113
- package/dist/headless.js +53 -221
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/{status-D3VhJsUp.d.ts → status-BZEGi6Ca.d.ts} +183 -2
- package/dist/styles.css +1 -1
- package/package.json +3 -3
|
@@ -102,6 +102,7 @@ declare const OPENRECEIVE_DEFAULT_POLL_INTERVAL_MS: 3000;
|
|
|
102
102
|
*/
|
|
103
103
|
declare const OPENRECEIVE_DEFAULT_PREFIX: "/openreceive";
|
|
104
104
|
declare const OPENRECEIVE_COPY_FEEDBACK_MS: 1800;
|
|
105
|
+
declare const OPENRECEIVE_PROVIDER_PREVIEW_LIMIT: 4;
|
|
105
106
|
declare const OPENRECEIVE_CHECKOUT_ELEMENT_TAG_NAME: "openreceive-checkout";
|
|
106
107
|
declare const OPENRECEIVE_THEME_TOGGLE_ELEMENT_TAG_NAME: "openreceive-theme-toggle";
|
|
107
108
|
declare const OPENRECEIVE_CHECKOUT_ELEMENT_EVENTS: {
|
|
@@ -174,6 +175,8 @@ declare const OPENRECEIVE_CHECKOUT_DATA_ATTRIBUTES: {
|
|
|
174
175
|
readonly meta: "data-openreceive-meta";
|
|
175
176
|
readonly state: "data-openreceive-state";
|
|
176
177
|
readonly actions: "data-openreceive-actions";
|
|
178
|
+
/** What the payer is buying, when the host's amount hook named it. */
|
|
179
|
+
readonly orderDescription: "data-openreceive-order-description";
|
|
177
180
|
readonly theme: "data-openreceive-theme";
|
|
178
181
|
readonly themeToggle: "data-openreceive-theme-toggle";
|
|
179
182
|
};
|
|
@@ -183,6 +186,7 @@ declare const OPENRECEIVE_CHECKOUT_DATA_SELECTORS: {
|
|
|
183
186
|
readonly meta: "[data-openreceive-meta]";
|
|
184
187
|
readonly state: "[data-openreceive-state]";
|
|
185
188
|
readonly actions: "[data-openreceive-actions]";
|
|
189
|
+
readonly orderDescription: "[data-openreceive-order-description]";
|
|
186
190
|
readonly theme: "[data-openreceive-theme]";
|
|
187
191
|
readonly themeToggle: "[data-openreceive-theme-toggle]";
|
|
188
192
|
};
|
|
@@ -190,6 +194,17 @@ declare const OPENRECEIVE_CHECKOUT_ELEMENT_PARTS: {
|
|
|
190
194
|
readonly copy: "copy";
|
|
191
195
|
readonly startOver: "start-over";
|
|
192
196
|
};
|
|
197
|
+
/**
|
|
198
|
+
* Named slots the checkout element projects host light-DOM children into.
|
|
199
|
+
*
|
|
200
|
+
* `order` is the element's answer to React's render-prop `children`: a line-item
|
|
201
|
+
* strip, a thumbnail, a "you are buying" summary, drawn from the order
|
|
202
|
+
* OpenReceive does not own. It is projected through a `<slot>` in the shadow
|
|
203
|
+
* root, so it survives every re-render of the shell's `innerHTML` untouched.
|
|
204
|
+
*/
|
|
205
|
+
declare const OPENRECEIVE_CHECKOUT_ELEMENT_SLOTS: {
|
|
206
|
+
readonly order: "order";
|
|
207
|
+
};
|
|
193
208
|
declare const OPENRECEIVE_CHECKOUT_ELEMENT_PART_SELECTORS: {
|
|
194
209
|
readonly copy: "[part=\"copy\"]";
|
|
195
210
|
readonly startOver: "[part=\"start-over\"]";
|
|
@@ -253,12 +268,31 @@ declare const OPENRECEIVE_CHECKOUT_ELEMENT_ATTRIBUTES: {
|
|
|
253
268
|
* push/replace the URL via the History API.
|
|
254
269
|
*/
|
|
255
270
|
readonly routeReference: "route-reference";
|
|
271
|
+
/**
|
|
272
|
+
* Does a payer who closes this tab have a URL that brings them back to this
|
|
273
|
+
* checkout? Only the refund screen's copy depends on it — see
|
|
274
|
+
* `SwapDisplayModel.refundReturnLabel`. Unset, the element infers it from
|
|
275
|
+
* `sync-url` / `route-reference`; set it when the host owns a per-order route
|
|
276
|
+
* of its own, which the element cannot see.
|
|
277
|
+
*/
|
|
278
|
+
readonly resumable: "resumable";
|
|
256
279
|
/**
|
|
257
280
|
* Base URL of an external bolt11 decoder. When set, the checkout shows a
|
|
258
281
|
* "Decode" link to `{decode-link-url}?invoice={bolt11}`. Omitted (the
|
|
259
282
|
* default), no decode link is rendered and the invoice never leaves the page.
|
|
260
283
|
*/
|
|
261
284
|
readonly decodeLinkUrl: "decode-link-url";
|
|
285
|
+
/**
|
|
286
|
+
* Where this app serves the packages' `dist/assets` trees, as one base URL —
|
|
287
|
+
* the string form of the `resolveAssetUrl` seam, so plain markup and the
|
|
288
|
+
* Vue/Svelte/Angular wrappers can reach it (a function cannot cross an HTML
|
|
289
|
+
* attribute). Every packaged key is a relative path under one `assets/` root,
|
|
290
|
+
* so the value is joined to it directly: `asset-base-url="/openreceive-assets"`
|
|
291
|
+
* makes `assets/icons/btc.svg` load from
|
|
292
|
+
* `/openreceive-assets/assets/icons/btc.svg`. A `resolveAssetUrl` passed to
|
|
293
|
+
* `defineElements` wins over it.
|
|
294
|
+
*/
|
|
295
|
+
readonly assetBaseUrl: "asset-base-url";
|
|
262
296
|
/** `polling="false"` renders the snapshot without status polling (no POST /payments/check). */
|
|
263
297
|
readonly polling: "polling";
|
|
264
298
|
/** Status poll cadence in milliseconds; defaults to OPENRECEIVE_DEFAULT_POLL_INTERVAL_MS. */
|
|
@@ -390,6 +424,15 @@ interface SwapFeeBreakdown {
|
|
|
390
424
|
/** The fee as a percentage of the cart total, e.g. "5.9%", when computable. */
|
|
391
425
|
readonly feePercent?: string;
|
|
392
426
|
}
|
|
427
|
+
/** One value the payer has to reproduce, with the affordance that lets them. */
|
|
428
|
+
interface SwapCopyRow {
|
|
429
|
+
readonly label: string;
|
|
430
|
+
readonly value: string;
|
|
431
|
+
/** The untruncated string a copy button writes, when it differs from `value`. */
|
|
432
|
+
readonly copyValue?: string;
|
|
433
|
+
/** Render the value in a selectable field rather than a code block. */
|
|
434
|
+
readonly selectable: boolean;
|
|
435
|
+
}
|
|
393
436
|
/**
|
|
394
437
|
* How a deposit on this rail can actually go missing, which is what decides how
|
|
395
438
|
* loud the deposit panel should be.
|
|
@@ -448,7 +491,22 @@ interface SwapDisplayModel {
|
|
|
448
491
|
readonly networkWarning: string;
|
|
449
492
|
readonly depositAddress: string;
|
|
450
493
|
readonly depositMemo?: string;
|
|
494
|
+
/**
|
|
495
|
+
* BARE, with no asset symbol appended: it pastes into a wallet's amount field,
|
|
496
|
+
* where "0.032664 SOL" is not a number. Join the symbol at the point of
|
|
497
|
+
* display if a sentence needs it.
|
|
498
|
+
*/
|
|
451
499
|
readonly depositAmount: string;
|
|
500
|
+
/**
|
|
501
|
+
* Every value the payer must reproduce, as labelled rows: the deposit address,
|
|
502
|
+
* the memo where the rail has one, and the amount. The amount is the one that
|
|
503
|
+
* gets left out and the one that costs money — on token rails (USDT_TRON,
|
|
504
|
+
* USDT_ETH, USDC_ETH) the QR encodes the bare address and carries NO amount,
|
|
505
|
+
* so the payer types it off the screen, and a short send against a fixed-rate
|
|
506
|
+
* swap order is an underpayment: `refund_required`, a refund form, and a payer
|
|
507
|
+
* who has to come back.
|
|
508
|
+
*/
|
|
509
|
+
readonly copyRows: readonly SwapCopyRow[];
|
|
452
510
|
readonly providerStateLabel: string;
|
|
453
511
|
readonly providerStateDetail: string;
|
|
454
512
|
readonly state: "creating" | "deposit" | "progress" | "settled" | "expired" | "refund_required" | "refund_pending" | "refunded" | "attention" | "failed";
|
|
@@ -467,6 +525,18 @@ interface SwapDisplayModel {
|
|
|
467
525
|
* refund_address.
|
|
468
526
|
*/
|
|
469
527
|
readonly refundAllowed: boolean;
|
|
528
|
+
/**
|
|
529
|
+
* What to tell the payer about getting BACK to this refund screen, already
|
|
530
|
+
* decided from whether the host said the checkout is resumable.
|
|
531
|
+
*
|
|
532
|
+
* `checkoutLabels.refundReturnWarning` — "Bookmark this page…" — is only true
|
|
533
|
+
* if the checkout HAS a URL. A swap checkout that lives at one route with no
|
|
534
|
+
* per-order path (a single-page shop, a modal) sends that payer back to an
|
|
535
|
+
* empty checkout and their deposit is unreachable through the UI. So the
|
|
536
|
+
* choice is made here, from one declared fact, rather than left to every host
|
|
537
|
+
* to notice: render this string, never either label directly.
|
|
538
|
+
*/
|
|
539
|
+
readonly refundReturnLabel: string;
|
|
470
540
|
readonly refundTxId?: string;
|
|
471
541
|
readonly refundReason?: string;
|
|
472
542
|
readonly depositReceivedAmount?: string;
|
|
@@ -490,6 +560,11 @@ interface CheckoutInvoiceSnapshot {
|
|
|
490
560
|
readonly expires_at?: number;
|
|
491
561
|
readonly settled_at?: number;
|
|
492
562
|
readonly swap?: CheckoutInvoiceSwapSnapshot;
|
|
563
|
+
/**
|
|
564
|
+
* What the payer is buying, carried through from the snapshot. Data, not a
|
|
565
|
+
* derived label, so it survives `normalizeCheckoutState`.
|
|
566
|
+
*/
|
|
567
|
+
readonly description?: string;
|
|
493
568
|
}
|
|
494
569
|
interface CheckoutPaymentMethod {
|
|
495
570
|
readonly pay_in_asset: string;
|
|
@@ -524,6 +599,13 @@ interface CheckoutSnapshot {
|
|
|
524
599
|
readonly active?: CheckoutInvoiceSnapshot;
|
|
525
600
|
readonly invoices: readonly CheckoutInvoiceSnapshot[];
|
|
526
601
|
readonly payment_methods?: readonly CheckoutPaymentMethod[];
|
|
602
|
+
/**
|
|
603
|
+
* What the payer is buying, in the host's own words — one display string the
|
|
604
|
+
* host returned from `amountFor` / `amount_for`. OpenReceive owns no line
|
|
605
|
+
* items, so this is the whole of what it carries; a richer summary is the
|
|
606
|
+
* host's own markup (React `children`, the element's `order` slot).
|
|
607
|
+
*/
|
|
608
|
+
readonly description?: string;
|
|
527
609
|
}
|
|
528
610
|
interface CheckoutElementAttributeOptions {
|
|
529
611
|
/**
|
|
@@ -558,11 +640,24 @@ interface CheckoutElementAttributeOptions {
|
|
|
558
640
|
* Order id from the app router (e.g. Next.js). When set, skip History API URL sync.
|
|
559
641
|
*/
|
|
560
642
|
readonly routeReference?: string;
|
|
643
|
+
/**
|
|
644
|
+
* Does a payer who closes this tab have a URL that brings them back? Emitted
|
|
645
|
+
* in every mode, because the refund screen it governs shows in every mode.
|
|
646
|
+
*/
|
|
647
|
+
readonly resumable?: boolean;
|
|
561
648
|
/**
|
|
562
649
|
* Base URL of an external bolt11 decoder. Omitted (the default), the element
|
|
563
650
|
* renders no "Decode" link and the invoice is never sent to a third party.
|
|
564
651
|
*/
|
|
565
652
|
readonly decodeLinkUrl?: string;
|
|
653
|
+
/**
|
|
654
|
+
* Where this app serves the packages' `dist/assets` trees, as one base URL.
|
|
655
|
+
* The string form of the `resolveAssetUrl` seam: every packaged asset key is a
|
|
656
|
+
* relative path under one `assets/` root, so the value is joined to it
|
|
657
|
+
* directly. Emitted as the element's `asset-base-url` attribute, which is how
|
|
658
|
+
* the Vue/Svelte/Angular wrappers reach a seam a function cannot cross.
|
|
659
|
+
*/
|
|
660
|
+
readonly assetBaseUrl?: string;
|
|
566
661
|
/** False renders the snapshot without status polling (no POST /payments/check). */
|
|
567
662
|
readonly polling?: boolean;
|
|
568
663
|
/** Status poll cadence in milliseconds; defaults to OPENRECEIVE_DEFAULT_POLL_INTERVAL_MS. */
|
|
@@ -737,12 +832,49 @@ interface CheckoutControllerOptions extends Omit<CheckoutWatcherOptions, "onStat
|
|
|
737
832
|
* to render a snapshot without polling.
|
|
738
833
|
*/
|
|
739
834
|
readonly prefix?: string;
|
|
835
|
+
/**
|
|
836
|
+
* False renders the snapshot without a status fetcher of its own. `prefix`
|
|
837
|
+
* still names the mount, so the swap-refund calls keep working — polling and
|
|
838
|
+
* "where the routes live" are two questions.
|
|
839
|
+
*/
|
|
840
|
+
readonly polling?: boolean;
|
|
740
841
|
readonly fetch?: typeof globalThis.fetch;
|
|
741
842
|
readonly statusHeaders?: Readonly<Record<string, string>>;
|
|
742
843
|
readonly clipboard?: Pick<Clipboard, "writeText">;
|
|
743
844
|
readonly open?: (uri: string) => void;
|
|
744
845
|
}
|
|
745
|
-
|
|
846
|
+
/**
|
|
847
|
+
* The two-step swap refund, and the staging that makes it survive polling. The
|
|
848
|
+
* controller implements it; a renderer that is handed one (React's
|
|
849
|
+
* `PaymentWizard`) takes exactly this much of it.
|
|
850
|
+
*/
|
|
851
|
+
interface SwapRefundStaging {
|
|
852
|
+
/**
|
|
853
|
+
* Step one: post `/swaps/status` and hold the address the payer typed so the
|
|
854
|
+
* panel can show it back for confirmation. It touches no refund route —
|
|
855
|
+
* nothing is submitted until {@link confirmSwapRefund}.
|
|
856
|
+
*
|
|
857
|
+
* The staged address is folded into every later snapshot, so polling cannot
|
|
858
|
+
* wipe what the payer is reviewing. `attemptId` is
|
|
859
|
+
* `SwapDisplayModel.attemptId`; the payment hash is resolved from the
|
|
860
|
+
* snapshot already in hand.
|
|
861
|
+
*/
|
|
862
|
+
stageSwapRefund(options: {
|
|
863
|
+
readonly attemptId: string;
|
|
864
|
+
readonly refundAddress: string;
|
|
865
|
+
}): Promise<CheckoutInvoiceSnapshot>;
|
|
866
|
+
/** Step two: the only call that posts `/swaps/refunds`. */
|
|
867
|
+
confirmSwapRefund(options: {
|
|
868
|
+
readonly attemptId: string;
|
|
869
|
+
readonly refundAddress: string;
|
|
870
|
+
}): Promise<CheckoutInvoiceSnapshot>;
|
|
871
|
+
/**
|
|
872
|
+
* Drop the staged address. The payer leaving the swap for Lightning is the one
|
|
873
|
+
* exit that is not a submitted refund.
|
|
874
|
+
*/
|
|
875
|
+
clearSwapRefundStaging(): void;
|
|
876
|
+
}
|
|
877
|
+
interface CheckoutController extends SwapRefundStaging {
|
|
746
878
|
start(): CheckoutState;
|
|
747
879
|
stop(): void;
|
|
748
880
|
getState(): CheckoutState | undefined;
|
|
@@ -863,6 +995,8 @@ interface WizardRouteAssetDisplay {
|
|
|
863
995
|
readonly label: string;
|
|
864
996
|
readonly subtitle: string;
|
|
865
997
|
readonly icon: string;
|
|
998
|
+
/** The packaged key behind `icon`, for a host serving the files itself. */
|
|
999
|
+
readonly iconPath: string;
|
|
866
1000
|
readonly selected: boolean;
|
|
867
1001
|
}
|
|
868
1002
|
interface WizardProviderTutorialDisplay {
|
|
@@ -893,7 +1027,18 @@ interface WizardRouteDisplay {
|
|
|
893
1027
|
readonly key: string;
|
|
894
1028
|
readonly title: string;
|
|
895
1029
|
readonly subtitle: string;
|
|
1030
|
+
/**
|
|
1031
|
+
* The providers to draw — every one the route has, or the first
|
|
1032
|
+
* `providerPreviewLimit` of them.
|
|
1033
|
+
*/
|
|
896
1034
|
readonly providers: readonly WizardProviderDisplay[];
|
|
1035
|
+
/**
|
|
1036
|
+
* How many the route has in total, before any preview limit. The registry
|
|
1037
|
+
* carries ~37 wallets for Lightning, so a host that renders them beside a QR
|
|
1038
|
+
* needs a limit and a "show all N" affordance; this is the N, and
|
|
1039
|
+
* {@link WizardRouteDisplay.providers}.length is what it is showing.
|
|
1040
|
+
*/
|
|
1041
|
+
readonly providerCount: number;
|
|
897
1042
|
}
|
|
898
1043
|
/**
|
|
899
1044
|
* One display row for post-settlement transaction details. Values are already
|
|
@@ -975,6 +1120,42 @@ declare function copyInvoice(options: CopyInvoiceOptions): Promise<void>;
|
|
|
975
1120
|
* that decision — see docs/guides/headless-checkout.md.
|
|
976
1121
|
*/
|
|
977
1122
|
declare function openWallet(options: OpenWalletOptions): string;
|
|
1123
|
+
/**
|
|
1124
|
+
* A QR that follows a changing payload, without every host rewriting the same
|
|
1125
|
+
* effect.
|
|
1126
|
+
*
|
|
1127
|
+
* {@link createQrSvg} and {@link createQrPayloadSvg} are ASYNC, and that is the
|
|
1128
|
+
* trap: `dangerouslySetInnerHTML={{ __html: createQrSvg(invoice) }}` type-checks
|
|
1129
|
+
* (React types `__html` as `string | TrustedHTML`, and `TrustedHTML` is an empty
|
|
1130
|
+
* interface every object satisfies) and paints the literal text
|
|
1131
|
+
* "[object Promise]" inside the QR box. Resolving it by hand then needs the
|
|
1132
|
+
* other half nobody writes the first time: a slow encode that lands AFTER the
|
|
1133
|
+
* payload changed must not paint the old QR over the new one.
|
|
1134
|
+
*
|
|
1135
|
+
* So: call `show`/`showPayload` whenever the payload changes and render what
|
|
1136
|
+
* `onValue` last handed you. Only the newest call can publish — an earlier
|
|
1137
|
+
* encode still in flight is dropped, resolved or rejected. `stop()` drops the
|
|
1138
|
+
* one in flight, for a host going away. Same shape as
|
|
1139
|
+
* {@link createTickingValueController}: DOM-free, framework-free, one
|
|
1140
|
+
* implementation instead of one per renderer.
|
|
1141
|
+
*/
|
|
1142
|
+
interface QrSvgControllerOptions {
|
|
1143
|
+
/** The newest encoded SVG. Not called for a superseded or stopped encode. */
|
|
1144
|
+
onValue(svg: string): void;
|
|
1145
|
+
/** Encode failures, on the same terms. */
|
|
1146
|
+
onError?(error: unknown): void;
|
|
1147
|
+
readonly encoder?: QrEncoder;
|
|
1148
|
+
readonly width?: number;
|
|
1149
|
+
}
|
|
1150
|
+
interface QrSvgController {
|
|
1151
|
+
/** Encode a bolt11, as the `lightning:` URI a wallet expects. */
|
|
1152
|
+
show(invoice: string): void;
|
|
1153
|
+
/** Encode a payload verbatim — a swap deposit URI, say. */
|
|
1154
|
+
showPayload(payload: string): void;
|
|
1155
|
+
/** Publish nothing further; the encode in flight is abandoned. */
|
|
1156
|
+
stop(): void;
|
|
1157
|
+
}
|
|
1158
|
+
declare function createQrSvgController(options: QrSvgControllerOptions): QrSvgController;
|
|
978
1159
|
|
|
979
1160
|
declare function createCheckoutController(options: CheckoutControllerOptions): CheckoutController;
|
|
980
1161
|
|
|
@@ -1071,4 +1252,4 @@ declare function deriveStatus(invoice: StatusInvoiceLike, options?: {
|
|
|
1071
1252
|
readonly now?: UnixSeconds;
|
|
1072
1253
|
}): Status;
|
|
1073
1254
|
|
|
1074
|
-
export { type
|
|
1255
|
+
export { type CheckoutStatusRefresh as $, type ThemeToggleElementAttributes as A, type BrowserLoggerOption as B, type CheckoutInvoiceSnapshot as C, type StoredThemeModelOptions as D, type ThemeModel as E, type ThemeModelOptions as F, type ReadThemePreferenceOptions as G, type ThemeControlTargets as H, type ThemeStorageOptions as I, type PaymentWizardControllerOptions as J, type PaymentWizardController as K, type PaymentWizardSelection as L, type PaymentWizardModel as M, type WizardRouteDisplay as N, type PaymentWizardSelectionAction as O, type ParseOpenReceiveOptionalIntegerOptions as P, type BrowserLogContext as Q, type ResolvedTheme as R, type SwapDisplayModel as S, type ThemePreference as T, type UnixSeconds as U, type BrowserLogger as V, type WizardRouteAssetDisplay as W, BrowserRequestError as X, type CheckoutController as Y, type CheckoutControllerOptions as Z, type CheckoutPhase as _, type PaymentMethod as a, createGuestOrderFetcher as a$, OPENRECEIVE_CHECKOUT_DATA_ATTRIBUTES as a0, OPENRECEIVE_CHECKOUT_DATA_SELECTORS as a1, OPENRECEIVE_CHECKOUT_ELEMENT_ATTRIBUTES as a2, OPENRECEIVE_CHECKOUT_ELEMENT_EVENTS as a3, OPENRECEIVE_CHECKOUT_ELEMENT_PARTS as a4, OPENRECEIVE_CHECKOUT_ELEMENT_PART_SELECTORS as a5, OPENRECEIVE_CHECKOUT_ELEMENT_SLOTS as a6, OPENRECEIVE_CHECKOUT_ELEMENT_TAG_NAME as a7, OPENRECEIVE_COPY_FEEDBACK_MS as a8, OPENRECEIVE_DEFAULT_POLL_INTERVAL_MS as a9, createQrSvgController as aA, createStatusFetcher as aB, createThemeChangeEvent as aC, deriveCheckoutStateLabels as aD, deriveStatus as aE, enterCheckoutResumePath as aF, escapeHtml as aG, formatAmountCaption as aH, formatDepositAmount as aI, formatFiatAmount as aJ, formatMsats as aK, formatSwapLimit as aL, formatUnixTime as aM, openWallet as aN, prepareCheckout as aO, requestCheckout as aP, type BrowserLogLevel as aQ, type BrowserLogEntry as aR, type CopyInvoiceOptions as aS, type GuestCheckoutResumeController as aT, type GuestCheckoutResumeOptions as aU, type OpenWalletOptions as aV, type PrepareCheckoutOptions as aW, type QrOptions as aX, type RequestCheckoutOptions as aY, type StatusInvoiceLike as aZ, createGuestCheckoutResume as a_, OPENRECEIVE_DEFAULT_PREFIX as aa, OPENRECEIVE_PAYMENT_WIZARD_ATTRIBUTES as ab, OPENRECEIVE_PAYMENT_WIZARD_SELECTORS as ac, OPENRECEIVE_PROVIDER_PREVIEW_LIMIT as ad, OPENRECEIVE_THEME_STORAGE_KEY as ae, OPENRECEIVE_THEME_TOGGLE_ELEMENT_ATTRIBUTES as af, OPENRECEIVE_THEME_TOGGLE_ELEMENT_EVENTS as ag, OPENRECEIVE_THEME_TOGGLE_ELEMENT_PARTS as ah, OPENRECEIVE_THEME_TOGGLE_ELEMENT_PART_SELECTORS as ai, OPENRECEIVE_THEME_TOGGLE_ELEMENT_TAG_NAME as aj, type QrEncoder as ak, type QrSvgController as al, type QrSvgControllerOptions as am, type Status as an, type SwapCopyRow as ao, type SwapRefundStaging as ap, type WizardProviderDisplay as aq, assertDisplayInvoice as ar, copyInvoice as as, createCheckoutActionEvent as at, createCheckoutController as au, createCheckoutErrorEvent as av, createCheckoutProviderCopyEvent as aw, createCheckoutStateEvent as ax, createQrPayloadSvg as ay, createQrSvg as az, type PaymentMethodOption as b, createLightningUri as b0, createQrPngDataUrl as b1, type TickingValueOptions as c, type TickingValueController as d, type TransientFeedbackOptions as e, type TransientFeedbackController as f, type CheckoutSnapshot as g, type SwapDepositRisk as h, type CheckoutState as i, type TransactionDetailsInput as j, type TransactionDetailRow as k, type CreateCheckoutStateOptions as l, type CheckoutStatusModelInput as m, type CheckoutStatusModel as n, type CheckoutPaymentMethod as o, type ThemeAttributeTarget as p, type CheckoutElementAttributes as q, type CheckoutElementAttributeOptions as r, type CheckoutElementEventHandlers as s, type CheckoutElementListeners as t, type CreateCheckoutShellOptions as u, type CheckoutShellElements as v, type CheckoutShellOptions as w, type CheckoutShellModel as x, type CreateOpenReceiveThemeToggleElementOptions as y, type ThemeToggleElementAttributeOptions as z };
|