@pollar/react 0.11.5 → 0.12.0-rc.5
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 +14 -4
- package/dist/index.css +561 -178
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +344 -150
- package/dist/index.d.ts +344 -150
- package/dist/index.js +2275 -1148
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2271 -1150
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -3
package/dist/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import { pollarPaths, PollarClient, PollarClientConfig, PollarAdapters, OnStorageDegrade, WalletInfo, PollarLoginOptions, SessionsState, CosignState, PendingConfirmation, TransactionState, TxBuildBody, BuildOutcome, SubmitOutcome, SignOutcome, SendPaymentParams, StellarNetwork, WalletBalanceState, EnabledAssetsState, TrustlineOutcome, TxHistoryState, SwapVenue, SwapToken, SwapQuoteParams, SwapQuote, EarnProviderId, EarnOpportunity, EarnPositionParams, EarnPosition, EarnTxParams, PollarAdapter, PasskeyCeremony, PasskeySigner, WalletChain, CosignRequest, CosignVerification, CosignQuorumReport, CosignDevicesContent, KycStatus as KycStatus$1, RampQuote, WalletId, AuthState, KycProvider, KycStartResponse, RampDirection,
|
|
2
|
+
import { pollarPaths, PollarClient, PollarClientConfig, PollarAdapters, OnStorageDegrade, WalletInfo, CosignCustody, PollarLoginOptions, SessionsState, CosignState, RecoveryState, CustodyMigrationState, PendingConfirmation, TransactionState, TxBuildBody, BuildOutcome, SubmitOutcome, SignOutcome, SendPaymentParams, StellarNetwork, WalletBalanceState, EnabledAssetsState, TrustlineOutcome, TxHistoryState, SwapVenue, SwapToken, SwapQuoteParams, SwapQuote, EarnProviderId, EarnOpportunity, EarnPositionParams, EarnPosition, EarnTxParams, PollarAdapter, PasskeyCeremony, PasskeySigner, RecoveryPasskeyCeremony, WalletChain, CosignRequest, CosignVerification, CosignQuorumReport, CosignDevicesContent, KycStatus as KycStatus$1, RampQuoteRejection, RampQuoteRequirement, RampWalletStep, RampQuote, WalletId, AuthState, KycProvider, KycStartResponse, RampDirection, RampFiat, RampAsset, RampField, RampOrder, EnabledAssetRecord, WalletBalanceRecord, SwapProvider, DistributionRulesState, DistributionRule } from '@pollar/core';
|
|
3
3
|
export { AuthProviderContext, PollarAuthProvider, SessionsState } from '@pollar/core';
|
|
4
4
|
import { ReactNode, CSSProperties } from 'react';
|
|
5
5
|
|
|
@@ -43,8 +43,13 @@ interface PollarContextValue {
|
|
|
43
43
|
* creates none.
|
|
44
44
|
*/
|
|
45
45
|
hasWallet: boolean;
|
|
46
|
-
/**
|
|
47
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Create the signed-in user's wallet; see `PollarClient.createWallet`. An app
|
|
48
|
+
* whose custody mode is USER_CHOICE needs `custody`: the user's pick.
|
|
49
|
+
*/
|
|
50
|
+
createWallet: (options?: {
|
|
51
|
+
custody?: CosignCustody;
|
|
52
|
+
}) => Promise<WalletInfo>;
|
|
48
53
|
/**
|
|
49
54
|
* `true` once the server has confirmed the session (login / refresh /
|
|
50
55
|
* `/auth/session/resume`). `false` while a cold-start session is still
|
|
@@ -60,6 +65,30 @@ interface PollarContextValue {
|
|
|
60
65
|
cosign: CosignState;
|
|
61
66
|
/** Open the approval prompt of a co-signed wallet. Opens by itself when a request arrives. */
|
|
62
67
|
openCosignModal: () => void;
|
|
68
|
+
/**
|
|
69
|
+
* The approval a flow will ask for next (a ramp's swap after its approve),
|
|
70
|
+
* or null. While one is coming, the approval prompt stays open after a sent
|
|
71
|
+
* transaction and shows the next request when it arrives, instead of closing.
|
|
72
|
+
*/
|
|
73
|
+
setCosignNextStep: (next: string | null) => void;
|
|
74
|
+
/**
|
|
75
|
+
* The recovery state of the user's Turnkey wallet: null until read, or for a
|
|
76
|
+
* session without one. `recoveryLocked` is true while the wallet has no way
|
|
77
|
+
* to be recovered without this device: it signs nothing but its own setup.
|
|
78
|
+
*/
|
|
79
|
+
recovery: RecoveryState | null;
|
|
80
|
+
recoveryLocked: boolean;
|
|
81
|
+
/** Read the recovery state again (after a method changed elsewhere). */
|
|
82
|
+
refreshRecovery: () => void;
|
|
83
|
+
/** Open the recovery methods modal: passkeys, email, devices, export. */
|
|
84
|
+
openRecoveryModal: () => void;
|
|
85
|
+
/**
|
|
86
|
+
* Whether the user's wallet, one Pollar custodies, has to move to this
|
|
87
|
+
* device because the app keeps its wallets in Turnkey. While `required`, the
|
|
88
|
+
* provider shows the move and nothing else; null until read.
|
|
89
|
+
*/
|
|
90
|
+
custodyMigration: CustodyMigrationState | null;
|
|
91
|
+
refreshCustodyMigration: () => void;
|
|
63
92
|
/** Signing calls waiting for the user under `confirmation: 'prompt'`; the provider shows the first one. */
|
|
64
93
|
confirmations: PendingConfirmation[];
|
|
65
94
|
appConfig: PollarConfig;
|
|
@@ -277,6 +306,15 @@ declare const browserPasskeyCeremony: PasskeyCeremony;
|
|
|
277
306
|
* entry. The secp256r1 key never leaves the device.
|
|
278
307
|
*/
|
|
279
308
|
declare const browserPasskeySigner: PasskeySigner;
|
|
309
|
+
/**
|
|
310
|
+
* Browser passkey ceremonies for a Turnkey wallet's recovery: register a
|
|
311
|
+
* passkey as a way back in, and sign a Turnkey request with one to add a new
|
|
312
|
+
* device. rpId is the page's hostname, like the smart-wallet ceremony, so a
|
|
313
|
+
* passkey made on the app's domain recovers the wallet on that domain.
|
|
314
|
+
* `challenge` arrives base64url already: for `get()` it is what Turnkey checks
|
|
315
|
+
* (the hex SHA-256 of the request body).
|
|
316
|
+
*/
|
|
317
|
+
declare const browserRecoveryPasskey: RecoveryPasskeyCeremony;
|
|
280
318
|
|
|
281
319
|
/**
|
|
282
320
|
* The one place the widget decides whether a wallet can act on-chain, and what
|
|
@@ -299,14 +337,71 @@ declare function walletNotReadyReason(wallet: WalletInfo | null | undefined, cha
|
|
|
299
337
|
|
|
300
338
|
declare function WalletButton(): react_jsx_runtime.JSX.Element;
|
|
301
339
|
|
|
340
|
+
/** Per-app overrides for the modal chrome, configured in the dashboard's
|
|
341
|
+
* Branding screen. Every field is optional: absent means "use the value the
|
|
342
|
+
* theme derives", which is what every modal rendered before these existed. */
|
|
343
|
+
interface ModalStyleOverrides {
|
|
344
|
+
/** Card background. Overrides the theme's white / #1a1a1a. */
|
|
345
|
+
backgroundColor?: string | null | undefined;
|
|
346
|
+
/** Body text. Overrides the theme's #111827 / white. With a background or a
|
|
347
|
+
* text color set, borders, secondary ("muted") text and input fills are
|
|
348
|
+
* blended from the pair instead of taken from the theme. */
|
|
349
|
+
textColor?: string | null | undefined;
|
|
350
|
+
/** Fill of the SECONDARY buttons (the wallet / social / provider entries, the
|
|
351
|
+
* retry button). The primary button is the accent's job. Unset => the theme's
|
|
352
|
+
* own surface color, which is what these buttons always used. */
|
|
353
|
+
buttonColor?: string | null | undefined;
|
|
354
|
+
/** Radius of the modal card itself, in px. */
|
|
355
|
+
modalBorderRadius?: number | null | undefined;
|
|
356
|
+
/** Radius of the buttons inside the modal, in px. Independent of the card's. */
|
|
357
|
+
buttonBorderRadius?: number | null | undefined;
|
|
358
|
+
}
|
|
359
|
+
/** Text color that stays legible on `background`. The primary button's label was
|
|
360
|
+
* hardcoded white, which a light fill (the Amber accent preset, say) turns
|
|
361
|
+
* invisible - so it follows the fill's luminance instead. Unparseable colors
|
|
362
|
+
* keep white, the pre-existing behavior. */
|
|
363
|
+
declare function readableTextOn(background: string): string;
|
|
364
|
+
/** How much room a modal gives its header. 'hero' is the identity-forward set
|
|
365
|
+
* (login, KYC, ramp, the Privy sub-modal): roomier padding and a larger
|
|
366
|
+
* centered heading. 'compact' is every utility modal (send, balance, history,
|
|
367
|
+
* ...), which keeps the card's own 1.75rem padding. */
|
|
368
|
+
type ModalVariant = 'hero' | 'compact';
|
|
369
|
+
/** The app's Branding as inline CSS custom properties for a Pollar root (a modal
|
|
370
|
+
* card, the wallet button).
|
|
371
|
+
*
|
|
372
|
+
* Everything is written under the private `--pollar-brand-*` names, never the
|
|
373
|
+
* public `--pollar-*` ones: `shared.css` maps brand onto public inside a
|
|
374
|
+
* zero-specificity `:where()`, so a host stylesheet that sets a public variable
|
|
375
|
+
* on a Pollar root beats the Branding, and the Branding beats the theme
|
|
376
|
+
* defaults. An inline `--pollar-*` would beat every stylesheet instead.
|
|
377
|
+
*
|
|
378
|
+
* The palette (background, text, borders, status colors) is only written when
|
|
379
|
+
* the app pinned it: a dark theme, or a background or text color of its own.
|
|
380
|
+
* Left out, the light defaults in `shared.css` apply, and a host `html.dark`
|
|
381
|
+
* swaps them for the dark ones. */
|
|
382
|
+
declare function buildModalCssVars(theme: string, accentColor: string, overrides?: ModalStyleOverrides, variant?: ModalVariant): CSSProperties;
|
|
383
|
+
/** Everything a modal wrapper needs to dress itself from the app's branding:
|
|
384
|
+
* the theme pair its template already took, the overrides to forward to that
|
|
385
|
+
* template, and the inline style for the fixed overlay behind it. */
|
|
386
|
+
interface ModalChrome {
|
|
387
|
+
theme: string;
|
|
388
|
+
accentColor: string;
|
|
389
|
+
styleOverrides: ModalStyleOverrides;
|
|
390
|
+
overlayStyle: CSSProperties;
|
|
391
|
+
}
|
|
392
|
+
/** Resolve the branding config into the props/styles a modal wrapper applies.
|
|
393
|
+
* Called by every `.pollar-overlay` renderer so the z-index and the card
|
|
394
|
+
* overrides can't drift apart between modals. */
|
|
395
|
+
declare function modalChrome(styles: PollarStyles): ModalChrome;
|
|
396
|
+
|
|
302
397
|
interface WalletButtonTemplateProps {
|
|
303
398
|
walletAddress: string | null;
|
|
399
|
+
theme: string;
|
|
304
400
|
accentColor: string;
|
|
401
|
+
/** The app's Branding, as every modal template takes it. */
|
|
402
|
+
styleOverrides?: ModalStyleOverrides;
|
|
305
403
|
open: boolean;
|
|
306
404
|
copied: boolean;
|
|
307
|
-
dropdownBg: string;
|
|
308
|
-
dropdownBorder: string;
|
|
309
|
-
itemColor: string;
|
|
310
405
|
wrapperRef: React.RefObject<HTMLDivElement>;
|
|
311
406
|
isInProgress: boolean;
|
|
312
407
|
/** Show the "Create account" action (external wallet not yet on-chain, IMMEDIATE funding). */
|
|
@@ -318,6 +413,13 @@ interface WalletButtonTemplateProps {
|
|
|
318
413
|
* custom template written before this existed keeps compiling.
|
|
319
414
|
*/
|
|
320
415
|
notReadyReason?: string | null;
|
|
416
|
+
/**
|
|
417
|
+
* The wallet has no recovery method yet and signs nothing but its own setup.
|
|
418
|
+
* Shown at the top of the menu with a way to fix it. Optional for custom templates.
|
|
419
|
+
*/
|
|
420
|
+
recoveryLocked?: boolean;
|
|
421
|
+
/** Open the recovery methods; the item shows only when set. */
|
|
422
|
+
onRecovery?: () => void;
|
|
321
423
|
creatingAccount: boolean;
|
|
322
424
|
/**
|
|
323
425
|
* Signed in with no wallet yet (an app that creates wallets on demand, or
|
|
@@ -328,7 +430,13 @@ interface WalletButtonTemplateProps {
|
|
|
328
430
|
signedIn?: boolean;
|
|
329
431
|
creatingWallet?: boolean;
|
|
330
432
|
createWalletError?: string | null;
|
|
331
|
-
|
|
433
|
+
/**
|
|
434
|
+
* The app leaves the custody to the user (USER_CHOICE): Create wallet offers
|
|
435
|
+
* co-signed and self-custody, and calls `onCreateWallet` with the pick. A
|
|
436
|
+
* self-custody wallet is created only after the user accepts its risks.
|
|
437
|
+
*/
|
|
438
|
+
custodyChoice?: boolean;
|
|
439
|
+
onCreateWallet?: (custody?: CosignCustody) => void;
|
|
332
440
|
onToggleOpen: () => void;
|
|
333
441
|
onCreateAccount: () => void;
|
|
334
442
|
onCopy: () => void;
|
|
@@ -343,7 +451,7 @@ interface WalletButtonTemplateProps {
|
|
|
343
451
|
onLogout: () => void;
|
|
344
452
|
onLogin: () => void;
|
|
345
453
|
}
|
|
346
|
-
declare function WalletButtonTemplate({ walletAddress,
|
|
454
|
+
declare function WalletButtonTemplate({ walletAddress, theme, accentColor, styleOverrides, open, copied, wrapperRef, isInProgress, showCreateAccount, notReadyReason, recoveryLocked, onRecovery, creatingAccount, onToggleOpen, onCreateAccount, onCopy, onWalletBalance, onTxHistory, onSend, onReceive, onSessions, onKyc, onRamp, onDistributionRules, onLogout, onLogin, signedIn, creatingWallet, createWalletError, custodyChoice, onCreateWallet, }: WalletButtonTemplateProps): react_jsx_runtime.JSX.Element;
|
|
347
455
|
|
|
348
456
|
/**
|
|
349
457
|
* The chain a record lives on, with the legacy shape folded in: sessions and
|
|
@@ -418,7 +526,7 @@ interface UseCosignResult {
|
|
|
418
526
|
reject: (request: CosignRequest) => Promise<CosignRequest>;
|
|
419
527
|
/** The verification a UI can show before the user decides. */
|
|
420
528
|
verify: (request: CosignRequest) => Promise<CosignVerification>;
|
|
421
|
-
/** Read the sub-organization from Turnkey with the device key and record whether it is the
|
|
529
|
+
/** Read the sub-organization from Turnkey with the device key and record whether it is the quorum its custody promises. */
|
|
422
530
|
inspectQuorum: () => Promise<CosignQuorumReport>;
|
|
423
531
|
/** The user's enrolled devices and the quorum state as sdk-api records it. */
|
|
424
532
|
devices: () => Promise<CosignDevicesContent>;
|
|
@@ -426,6 +534,8 @@ interface UseCosignResult {
|
|
|
426
534
|
revokeDevice: (deviceId: string, options?: {
|
|
427
535
|
force?: boolean;
|
|
428
536
|
}) => Promise<CosignDevicesContent>;
|
|
537
|
+
/** Move the wallet between co-signed and self-custody; only an app in USER_CHOICE custody allows it. */
|
|
538
|
+
switchCustody: (to: CosignCustody) => Promise<CosignQuorumReport>;
|
|
429
539
|
}
|
|
430
540
|
/**
|
|
431
541
|
* The user's side of a Turnkey co-signed wallet, for an app that renders its
|
|
@@ -516,13 +626,43 @@ declare function RampWidget({ onClose }: RampWidgetProps): react_jsx_runtime.JSX
|
|
|
516
626
|
|
|
517
627
|
interface RouteDisplayProps {
|
|
518
628
|
quote: RampQuote;
|
|
629
|
+
/** The first quote: the most received (or least sent) for the amount. */
|
|
630
|
+
best?: boolean;
|
|
519
631
|
/** This route is the one being started - it owns the in-flight request. */
|
|
520
632
|
busy?: boolean;
|
|
521
633
|
/** Another route is starting, so this one is not selectable meanwhile. */
|
|
522
634
|
disabled?: boolean;
|
|
523
635
|
onSelect: (quote: RampQuote) => void;
|
|
524
636
|
}
|
|
525
|
-
declare function RouteDisplay({ quote, busy, disabled, onSelect }: RouteDisplayProps): react_jsx_runtime.JSX.Element;
|
|
637
|
+
declare function RouteDisplay({ quote, best, busy, disabled, onSelect }: RouteDisplayProps): react_jsx_runtime.JSX.Element;
|
|
638
|
+
/**
|
|
639
|
+
* A route that was planned and dropped, and what the user can do about it: a
|
|
640
|
+
* verification step opens from its button, a missing trustline is added from its own.
|
|
641
|
+
*/
|
|
642
|
+
declare function RejectedRouteDisplay({ rejection, disabled, trusting, walletBusy, custodyChoice, onVerify, onTrust, onWalletStep, }: {
|
|
643
|
+
rejection: RampQuoteRejection;
|
|
644
|
+
/** A route is starting, a trustline or a wallet is being added, so nothing else opens meanwhile. */
|
|
645
|
+
disabled?: boolean;
|
|
646
|
+
/** This row's trustline is being added. */
|
|
647
|
+
trusting?: boolean;
|
|
648
|
+
/** The wallet step this route asks for is running. */
|
|
649
|
+
walletBusy?: boolean;
|
|
650
|
+
/** The app leaves the custody to the user: a wallet set up or moved here asks which. */
|
|
651
|
+
custodyChoice?: boolean;
|
|
652
|
+
/** Without it, a verification step is described but offers no button. */
|
|
653
|
+
onVerify?: ((requirement: RampQuoteRequirement) => void) | undefined;
|
|
654
|
+
/** Without it, a missing trustline is described but offers no button. */
|
|
655
|
+
onTrust?: ((asset: {
|
|
656
|
+
code: string;
|
|
657
|
+
issuer: string;
|
|
658
|
+
}) => void) | undefined;
|
|
659
|
+
/**
|
|
660
|
+
* Runs the wallet step the route asks for (`rampWalletStep`: create, set up or move
|
|
661
|
+
* the wallet), with the user's custody pick when `custodyChoice`. An app that leaves
|
|
662
|
+
* the custody to the user creates the wallet from the wallet menu instead.
|
|
663
|
+
*/
|
|
664
|
+
onWalletStep?: ((step: RampWalletStep, custody?: CosignCustody) => void) | undefined;
|
|
665
|
+
}): react_jsx_runtime.JSX.Element;
|
|
526
666
|
|
|
527
667
|
interface WalletBalanceModalProps {
|
|
528
668
|
onClose: () => void;
|
|
@@ -565,6 +705,8 @@ interface SessionsModalProps {
|
|
|
565
705
|
declare function SessionsModal({ onClose }: SessionsModalProps): react_jsx_runtime.JSX.Element;
|
|
566
706
|
|
|
567
707
|
interface CosignModalProps {
|
|
708
|
+
/** The approval a flow asks for next (`setCosignNextStep`); the prompt waits for it instead of closing. */
|
|
709
|
+
nextStep?: string | null;
|
|
568
710
|
onClose: () => void;
|
|
569
711
|
}
|
|
570
712
|
/**
|
|
@@ -572,58 +714,24 @@ interface CosignModalProps {
|
|
|
572
714
|
* against Turnkey before enabling Approve, so the user only ever confirms a
|
|
573
715
|
* transaction the device checked itself.
|
|
574
716
|
*/
|
|
575
|
-
declare function CosignModal({ onClose }: CosignModalProps): react_jsx_runtime.JSX.Element;
|
|
717
|
+
declare function CosignModal({ nextStep, onClose }: CosignModalProps): react_jsx_runtime.JSX.Element;
|
|
576
718
|
|
|
577
|
-
interface
|
|
719
|
+
interface RecoveryModalProps {
|
|
578
720
|
onClose: () => void;
|
|
579
721
|
}
|
|
580
|
-
|
|
722
|
+
/**
|
|
723
|
+
* The recovery methods of a Turnkey wallet: add and remove passkeys, confirm
|
|
724
|
+
* an email, approve another device, export the recovery phrase, and, on a
|
|
725
|
+
* device that is not part of the wallet, get back in. Until one method exists
|
|
726
|
+
* the wallet signs nothing but its own setup, so this is also where a locked
|
|
727
|
+
* wallet sends the user.
|
|
728
|
+
*/
|
|
729
|
+
declare function RecoveryModal({ onClose }: RecoveryModalProps): react_jsx_runtime.JSX.Element;
|
|
581
730
|
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
* theme derives", which is what every modal rendered before these existed. */
|
|
585
|
-
interface ModalStyleOverrides {
|
|
586
|
-
/** Card background. Overrides the theme's white / #1a1a1a. */
|
|
587
|
-
backgroundColor?: string | null | undefined;
|
|
588
|
-
/** Body text. Overrides the theme's #111827 / white. Secondary ("muted") text
|
|
589
|
-
* keeps its theme color, so the two stay distinguishable. */
|
|
590
|
-
textColor?: string | null | undefined;
|
|
591
|
-
/** Fill of the SECONDARY buttons (the wallet / social / provider entries, the
|
|
592
|
-
* retry button). The primary button is the accent's job. Unset => the theme's
|
|
593
|
-
* own surface color, which is what these buttons always used. */
|
|
594
|
-
buttonColor?: string | null | undefined;
|
|
595
|
-
/** Radius of the modal card itself, in px. */
|
|
596
|
-
modalBorderRadius?: number | null | undefined;
|
|
597
|
-
/** Radius of the buttons inside the modal, in px. Independent of the card's. */
|
|
598
|
-
buttonBorderRadius?: number | null | undefined;
|
|
599
|
-
}
|
|
600
|
-
/** Text color that stays legible on `background`. The primary button's label was
|
|
601
|
-
* hardcoded white, which a light fill (the Amber accent preset, say) turns
|
|
602
|
-
* invisible - so it follows the fill's luminance instead. Unparseable colors
|
|
603
|
-
* keep white, the pre-existing behavior. */
|
|
604
|
-
declare function readableTextOn(background: string): string;
|
|
605
|
-
/** How much room a modal gives its header. 'hero' is the identity-forward set
|
|
606
|
-
* (login, KYC, ramp, the Privy sub-modal): roomier padding and a larger
|
|
607
|
-
* centered heading. 'compact' is every utility modal (send, balance, history,
|
|
608
|
-
* ...), which keeps the card's own 1.75rem padding. */
|
|
609
|
-
type ModalVariant = 'hero' | 'compact';
|
|
610
|
-
/** Theme-derived CSS custom properties shared by every Pollar modal, plus the
|
|
611
|
-
* per-app overrides on top. One definition so the whole modal family stays
|
|
612
|
-
* visually in lockstep - a var added here reaches all of them at once. */
|
|
613
|
-
declare function buildModalCssVars(theme: string, accentColor: string, overrides?: ModalStyleOverrides, variant?: ModalVariant): CSSProperties;
|
|
614
|
-
/** Everything a modal wrapper needs to dress itself from the app's branding:
|
|
615
|
-
* the theme pair its template already took, the overrides to forward to that
|
|
616
|
-
* template, and the inline style for the fixed overlay behind it. */
|
|
617
|
-
interface ModalChrome {
|
|
618
|
-
theme: string;
|
|
619
|
-
accentColor: string;
|
|
620
|
-
styleOverrides: ModalStyleOverrides;
|
|
621
|
-
overlayStyle: CSSProperties;
|
|
731
|
+
interface DistributionRulesModalProps {
|
|
732
|
+
onClose: () => void;
|
|
622
733
|
}
|
|
623
|
-
|
|
624
|
-
* Called by every `.pollar-overlay` renderer so the z-index and the card
|
|
625
|
-
* overrides can't drift apart between modals. */
|
|
626
|
-
declare function modalChrome(styles: PollarStyles): ModalChrome;
|
|
734
|
+
declare function DistributionRulesModal({ onClose }: DistributionRulesModalProps): react_jsx_runtime.JSX.Element;
|
|
627
735
|
|
|
628
736
|
type WalletAdapterEntry = {
|
|
629
737
|
id: WalletId;
|
|
@@ -687,7 +795,12 @@ interface KycModalTemplateProps {
|
|
|
687
795
|
reviewReason?: string | null;
|
|
688
796
|
/** The vendor approved and Pollar is still recording it (`kycStatus` stays `pending`). */
|
|
689
797
|
processing?: boolean;
|
|
798
|
+
/** The provider list is loading. */
|
|
690
799
|
isLoading: boolean;
|
|
800
|
+
/** The option whose session is opening: it shows a spinner and every option waits on it. */
|
|
801
|
+
startingProviderId?: string | null;
|
|
802
|
+
/** The option was named for the user (a ramp's step), so it opens without showing the list. */
|
|
803
|
+
directOpen?: boolean;
|
|
691
804
|
error?: string | null;
|
|
692
805
|
onSelectProvider: (provider: KycProvider) => void;
|
|
693
806
|
onDoneVerifying: () => void;
|
|
@@ -696,118 +809,105 @@ interface KycModalTemplateProps {
|
|
|
696
809
|
onRefresh: () => void;
|
|
697
810
|
onClose: () => void;
|
|
698
811
|
}
|
|
699
|
-
declare function KycModalTemplate({ theme, accentColor, styleOverrides, step, providers, selectedProvider, session, kycStatus, reviewReason, processing, isLoading, error, onSelectProvider, onDoneVerifying, onStartAgain, onRefresh, onClose, }: KycModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
812
|
+
declare function KycModalTemplate({ theme, accentColor, styleOverrides, step, providers, selectedProvider, session, kycStatus, reviewReason, processing, isLoading, startingProviderId, directOpen, error, onSelectProvider, onDoneVerifying, onStartAgain, onRefresh, onClose, }: KycModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
700
813
|
|
|
701
814
|
type RampStep = 'input' | 'loading_quote' | 'select_route' | 'contact' | 'status' | 'error';
|
|
702
|
-
/** A field a provider declares (via the quote) that the client must collect. */
|
|
703
|
-
interface RampFieldSpec {
|
|
704
|
-
key: string;
|
|
705
|
-
label: string;
|
|
706
|
-
type: 'text' | 'email' | 'tel' | 'select';
|
|
707
|
-
bankType?: 'CLABE' | 'PIX' | 'PSE' | 'ACH' | 'BREB';
|
|
708
|
-
/** For `type: 'select'` - dropdown choices (e.g. Stereum's Bolivian banks). */
|
|
709
|
-
options?: {
|
|
710
|
-
value: string;
|
|
711
|
-
label: string;
|
|
712
|
-
placeholder?: string;
|
|
713
|
-
}[];
|
|
714
|
-
/** Declared but not mandatory (Abroad's tax id). Blank must not block Continue. */
|
|
715
|
-
optional?: boolean;
|
|
716
|
-
/** Example of the expected shape, for formats a user cannot guess. */
|
|
717
|
-
placeholder?: string;
|
|
718
|
-
/**
|
|
719
|
-
* Key of a sibling `select` whose chosen option supplies the placeholder. One
|
|
720
|
-
* Pix field can then show a CPF mask, an email or a +55 number as the user
|
|
721
|
-
* switches kind, without this component knowing what a Pix key is.
|
|
722
|
-
*/
|
|
723
|
-
placeholderFrom?: string;
|
|
724
|
-
/** Secondary line under the field, for a rule the label has no room for. */
|
|
725
|
-
hint?: string;
|
|
726
|
-
}
|
|
727
815
|
interface RampWidgetTemplateProps {
|
|
728
816
|
theme: string;
|
|
729
817
|
accentColor: string;
|
|
730
818
|
/** Per-app modal chrome overrides (background, card + button radius). */
|
|
731
819
|
styleOverrides?: ModalStyleOverrides;
|
|
820
|
+
network: StellarNetwork;
|
|
732
821
|
step: RampStep;
|
|
733
|
-
/** Labels of the steps this run goes through
|
|
734
|
-
* providers that collect fields add a 'Details' step. */
|
|
822
|
+
/** Labels of the steps this run goes through: 'Details' only when the route asks for fields. */
|
|
735
823
|
flowSteps: string[];
|
|
736
|
-
/** Index into `flowSteps`, or -1
|
|
737
|
-
* (the error step) and the progress bar should be hidden. */
|
|
824
|
+
/** Index into `flowSteps`, or -1 outside the flow (the error step). */
|
|
738
825
|
flowStepIndex: number;
|
|
739
|
-
/** Quote whose start request is in flight, so its row can show it. */
|
|
740
|
-
startingQuoteId: string | null;
|
|
741
826
|
direction: RampDirection;
|
|
742
|
-
|
|
743
|
-
|
|
827
|
+
routesLoading: boolean;
|
|
828
|
+
countries: Array<{
|
|
829
|
+
country: string;
|
|
830
|
+
fiats: RampFiat[];
|
|
831
|
+
}>;
|
|
744
832
|
country: string;
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
833
|
+
fiats: RampFiat[];
|
|
834
|
+
fiat: RampFiat | null;
|
|
835
|
+
assets: RampAsset[];
|
|
836
|
+
asset: RampAsset | null;
|
|
837
|
+
amount: string;
|
|
838
|
+
/** What the wallet can spend of the asset being sold, as `useWalletAvailable` reads it; undefined hides it. */
|
|
839
|
+
sellAvailable?: string | null | undefined;
|
|
750
840
|
quotes: RampQuote[];
|
|
751
|
-
|
|
752
|
-
|
|
841
|
+
rejected: RampQuoteRejection[];
|
|
842
|
+
/** Quote whose order request is in flight, so its row can show it. */
|
|
843
|
+
startingQuoteId: string | null;
|
|
844
|
+
fields: RampField[];
|
|
845
|
+
fieldValues: Record<string, string>;
|
|
846
|
+
order: RampOrder | null;
|
|
847
|
+
/** Orders waiting on the user, to resume. */
|
|
848
|
+
pendingOrders: RampOrder[];
|
|
753
849
|
isLoading: boolean;
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
/**
|
|
776
|
-
|
|
850
|
+
refreshing: boolean;
|
|
851
|
+
signing: boolean;
|
|
852
|
+
errorMsg: string | null;
|
|
853
|
+
/** Progress the route waits on that is not a failure, shown with a spinner (an account the user approves on the device). */
|
|
854
|
+
notice?: string | null;
|
|
855
|
+
onDirectionChange: (direction: RampDirection) => void;
|
|
856
|
+
onCountryChange: (country: string) => void;
|
|
857
|
+
onFiatChange: (key: string) => void;
|
|
858
|
+
onAssetChange: (key: string) => void;
|
|
859
|
+
onAmountChange: (value: string) => void;
|
|
860
|
+
onFindRoute: () => void;
|
|
861
|
+
onSelectQuote: (quote: RampQuote) => void;
|
|
862
|
+
/** Opens the verification step a dropped route waits on. */
|
|
863
|
+
onVerifyRoute?: (requirement: RampQuoteRequirement) => void;
|
|
864
|
+
/** The Stellar asset whose trustline is being added, as `code:issuer`; null when none is. */
|
|
865
|
+
trustingAsset?: string | null;
|
|
866
|
+
/** Adds the trustline a dropped route needs, then quotes again. */
|
|
867
|
+
onTrustAsset?: (asset: {
|
|
868
|
+
code: string;
|
|
869
|
+
issuer: string;
|
|
870
|
+
}) => void;
|
|
871
|
+
/** The dropped route (its index in `rejected`) whose wallet step is running; null when none is. */
|
|
872
|
+
walletBusy?: number | null;
|
|
873
|
+
/** The app leaves the custody to the user: a wallet set up or moved from a row asks which. */
|
|
874
|
+
custodyChoice?: boolean;
|
|
777
875
|
/**
|
|
778
|
-
*
|
|
779
|
-
*
|
|
780
|
-
* not shown.
|
|
876
|
+
* Runs the wallet step a dropped route asks for (create, set up or move the wallet),
|
|
877
|
+
* then quotes again; absent, the row only says what the user needs.
|
|
781
878
|
*/
|
|
782
|
-
|
|
783
|
-
/**
|
|
879
|
+
onWalletStep?: ((step: RampWalletStep, index: number, custody?: CosignCustody) => void) | undefined;
|
|
880
|
+
/** The app serves no chain, so it has nothing to buy or sell. */
|
|
881
|
+
noChains?: boolean;
|
|
882
|
+
/** A held order the user resolves is being run again. */
|
|
784
883
|
retrying?: boolean;
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
884
|
+
/** Runs the user's held order again; absent, a held order only says what happened. */
|
|
885
|
+
onRetryOrder?: (() => void) | undefined;
|
|
886
|
+
/** Opens the wallet's recovery setup, for an order held until the wallet has a way to be recovered. */
|
|
887
|
+
onSetUpRecovery?: (() => void) | undefined;
|
|
888
|
+
/** Whether the wallet still has no way to be recovered; null while its state is unread. */
|
|
889
|
+
recoveryMissing?: boolean | null;
|
|
890
|
+
/** Reading the order keeps failing and polling is retrying. */
|
|
891
|
+
pollTrouble?: boolean;
|
|
892
|
+
/** The fiat payment the user says they made is being checked. */
|
|
893
|
+
checkingPayment?: boolean;
|
|
894
|
+
/** Checks the fiat payment now; absent, the order only updates at its usual pace. */
|
|
895
|
+
onCheckPayment?: (() => void) | undefined;
|
|
794
896
|
onFieldChange: (key: string, value: string) => void;
|
|
795
|
-
onCountryChange: (v: string) => void;
|
|
796
|
-
onFindRoute: () => void;
|
|
797
|
-
onSelectQuote: (q: RampQuote) => void;
|
|
798
|
-
onVerifyRoute: (requirement: RampQuoteRequirement) => void;
|
|
799
897
|
onContactContinue: () => void;
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
898
|
+
onSign: () => void;
|
|
899
|
+
onApprove: () => void;
|
|
900
|
+
onResumeOrder: (id: string) => void;
|
|
901
|
+
onNewOrder: () => void;
|
|
902
|
+
/** Step back, keeping what was entered. */
|
|
805
903
|
onBack: () => void;
|
|
904
|
+
/** Returns to an earlier step of `flowSteps`, keeping what was entered; absent, the step bar only shows progress. */
|
|
905
|
+
onStepSelect?: ((label: string) => void) | undefined;
|
|
806
906
|
onRetry: () => void;
|
|
807
907
|
onRefresh: () => void;
|
|
808
908
|
onClose: () => void;
|
|
809
909
|
}
|
|
810
|
-
declare function RampWidgetTemplate({ theme, accentColor, styleOverrides, step, flowSteps, flowStepIndex,
|
|
910
|
+
declare function RampWidgetTemplate({ theme, accentColor, styleOverrides, network, step, flowSteps, flowStepIndex, direction, routesLoading, countries, country, fiats, fiat, assets, asset, amount, sellAvailable, quotes, rejected, startingQuoteId, fields, fieldValues, order, pendingOrders, isLoading, refreshing, signing, errorMsg, notice, onDirectionChange, onCountryChange, onFiatChange, onAssetChange, onAmountChange, onFindRoute, onSelectQuote, onVerifyRoute, trustingAsset, onTrustAsset, walletBusy, custodyChoice, onWalletStep, noChains, retrying, onRetryOrder, onSetUpRecovery, recoveryMissing, checkingPayment, onCheckPayment, pollTrouble, onFieldChange, onContactContinue, onSign, onApprove, onResumeOrder, onNewOrder, onBack, onStepSelect, onRetry, onRefresh, onClose, }: RampWidgetTemplateProps): react_jsx_runtime.JSX.Element;
|
|
811
911
|
|
|
812
912
|
interface TransactionModalTemplateProps {
|
|
813
913
|
theme: string;
|
|
@@ -929,7 +1029,12 @@ interface SendModalTemplateProps {
|
|
|
929
1029
|
accentColor: string;
|
|
930
1030
|
/** Per-app modal chrome overrides (background, card + button radius). */
|
|
931
1031
|
styleOverrides?: ModalStyleOverrides;
|
|
932
|
-
|
|
1032
|
+
/**
|
|
1033
|
+
* `create-account`: the Stellar destination has no account yet, so the user
|
|
1034
|
+
* chooses between creating it with the XLM being sent and waiting for someone
|
|
1035
|
+
* else to fund it.
|
|
1036
|
+
*/
|
|
1037
|
+
step: 'form' | 'create-account' | 'tx';
|
|
933
1038
|
txTitle: string;
|
|
934
1039
|
assets: WalletBalanceRecord[];
|
|
935
1040
|
selectedAsset: WalletBalanceRecord | null;
|
|
@@ -959,6 +1064,12 @@ interface SendModalTemplateProps {
|
|
|
959
1064
|
destination: string;
|
|
960
1065
|
formError: string;
|
|
961
1066
|
isLoadingBalance: boolean;
|
|
1067
|
+
/** The destination's account is being looked up; the form waits for it. */
|
|
1068
|
+
isCheckingDestination?: boolean;
|
|
1069
|
+
/** The least XLM a new Stellar account can start with. */
|
|
1070
|
+
minStartingBalance?: number;
|
|
1071
|
+
/** Builds a `create_account` for the destination, funded with the amount. Required for the `create-account` step. */
|
|
1072
|
+
onCreateAccount?: () => void;
|
|
962
1073
|
transaction: TransactionState;
|
|
963
1074
|
showXdr: boolean;
|
|
964
1075
|
copied: boolean;
|
|
@@ -990,7 +1101,7 @@ interface SendModalTemplateProps {
|
|
|
990
1101
|
onRetry: () => void;
|
|
991
1102
|
onDone: () => void;
|
|
992
1103
|
}
|
|
993
|
-
declare function SendModalTemplate({ theme, accentColor, styleOverrides, step, txTitle, assets, selectedAsset, selectedChain, canSendOnChain, notReadyReason, chains, onSelectChain, amount, destination, formError, isLoadingBalance, transaction, showXdr, copied, explorerUrl, walletType, showBack, isInProgress, onClose, onBack, onRefresh, onSelectAsset, onAmountChange, onMax, onPaste, onDestinationChange, memo, memoType, onMemoChange, onMemoTypeChange, onSubmit, onSignAndSend, onToggleXdr, onCopyHash, onRetry, onDone, }: SendModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
1104
|
+
declare function SendModalTemplate({ theme, accentColor, styleOverrides, step, txTitle, assets, selectedAsset, selectedChain, canSendOnChain, notReadyReason, chains, onSelectChain, amount, destination, formError, isLoadingBalance, isCheckingDestination, minStartingBalance, onCreateAccount, transaction, showXdr, copied, explorerUrl, walletType, showBack, isInProgress, onClose, onBack, onRefresh, onSelectAsset, onAmountChange, onMax, onPaste, onDestinationChange, memo, memoType, onMemoChange, onMemoTypeChange, onSubmit, onSignAndSend, onToggleXdr, onCopyHash, onRetry, onDone, }: SendModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
994
1105
|
|
|
995
1106
|
interface SwapAssetOption {
|
|
996
1107
|
ref: SwapQuoteParams['sellAsset'];
|
|
@@ -1070,10 +1181,17 @@ interface ReceiveModalTemplateProps {
|
|
|
1070
1181
|
* custom template written before this existed keeps compiling.
|
|
1071
1182
|
*/
|
|
1072
1183
|
notReadyReason?: string | null;
|
|
1184
|
+
/**
|
|
1185
|
+
* The wallet has no way to be recovered without this device yet. The address
|
|
1186
|
+
* stays hidden until the user adds one, so nobody is handed an address whose
|
|
1187
|
+
* funds a lost phone would take with it. Optional for custom templates.
|
|
1188
|
+
*/
|
|
1189
|
+
recoveryLocked?: boolean;
|
|
1190
|
+
onSetupRecovery?: () => void;
|
|
1073
1191
|
onCopy: () => void;
|
|
1074
1192
|
onClose: () => void;
|
|
1075
1193
|
}
|
|
1076
|
-
declare function ReceiveModalTemplate({ theme, accentColor, styleOverrides, walletAddress, chains, selectedChain, onSelectChain, copied, notReadyReason, onCopy, onClose, }: ReceiveModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
1194
|
+
declare function ReceiveModalTemplate({ theme, accentColor, styleOverrides, walletAddress, chains, selectedChain, onSelectChain, copied, notReadyReason, recoveryLocked, onSetupRecovery, onCopy, onClose, }: ReceiveModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
1077
1195
|
|
|
1078
1196
|
interface SessionsModalTemplateProps {
|
|
1079
1197
|
theme: string;
|
|
@@ -1110,12 +1228,88 @@ interface CosignModalTemplateProps {
|
|
|
1110
1228
|
lastResolved?: CosignRequest;
|
|
1111
1229
|
/** Explorer page of {@link lastResolved}'s transaction, when it was sent. */
|
|
1112
1230
|
explorerUrl?: string | null;
|
|
1231
|
+
/** Seconds until the modal closes on its own, while what it shows needs nothing from the user. */
|
|
1232
|
+
closesIn?: number | null;
|
|
1233
|
+
/** The approval coming next in the same flow, shown while the modal waits for it. */
|
|
1234
|
+
nextStep?: string | null;
|
|
1113
1235
|
onSelect: (request: CosignRequest) => void;
|
|
1114
1236
|
onApprove: (request: CosignRequest) => void;
|
|
1115
1237
|
onReject: (request: CosignRequest) => void;
|
|
1116
1238
|
onClose: () => void;
|
|
1117
1239
|
}
|
|
1118
|
-
declare function CosignModalTemplate({ theme, accentColor, styleOverrides, pending, current, verification, busy, error, approveBlocked, lastResolved, explorerUrl, onSelect, onApprove, onReject, onClose, }: CosignModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
1240
|
+
declare function CosignModalTemplate({ theme, accentColor, styleOverrides, pending, current, verification, busy, error, approveBlocked, lastResolved, explorerUrl, closesIn, nextStep, onSelect, onApprove, onReject, onClose, }: CosignModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
1241
|
+
|
|
1242
|
+
interface CustodyMigrationModalProps {
|
|
1243
|
+
state: CustodyMigrationState;
|
|
1244
|
+
/** The wallets moved: the provider reads their state again and asks for a recovery method. */
|
|
1245
|
+
onMoved: () => void;
|
|
1246
|
+
/** A blocked wallet waits for what is pending; the provider stops asking until the next session. */
|
|
1247
|
+
onLater: () => void;
|
|
1248
|
+
}
|
|
1249
|
+
declare function CustodyMigrationModal({ state, onMoved, onLater }: CustodyMigrationModalProps): react_jsx_runtime.JSX.Element;
|
|
1250
|
+
|
|
1251
|
+
interface CustodyMigrationModalTemplateProps {
|
|
1252
|
+
theme: string;
|
|
1253
|
+
accentColor: string;
|
|
1254
|
+
styleOverrides?: ModalStyleOverrides;
|
|
1255
|
+
state: CustodyMigrationState;
|
|
1256
|
+
busy: boolean;
|
|
1257
|
+
error: string | null;
|
|
1258
|
+
/** What still points at a wallet that cannot move yet (an open ramp order, a transaction in flight). */
|
|
1259
|
+
blockedReasons: string[] | null;
|
|
1260
|
+
onMove: (custody?: CosignCustody) => void;
|
|
1261
|
+
/** Only offered while a wallet is blocked: the move waits for what is pending. */
|
|
1262
|
+
onLater: () => void;
|
|
1263
|
+
onLogout: () => void;
|
|
1264
|
+
}
|
|
1265
|
+
/**
|
|
1266
|
+
* The move of the wallets Pollar custodies to ones the user's device signs for.
|
|
1267
|
+
* It cannot be put off: the app's wallets live in Turnkey now, so the only ways
|
|
1268
|
+
* out are moving or logging out, unless something still pending holds a
|
|
1269
|
+
* wallet back.
|
|
1270
|
+
*/
|
|
1271
|
+
declare function CustodyMigrationModalTemplate(p: CustodyMigrationModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
1272
|
+
|
|
1273
|
+
type RecoveryView = 'overview' | 'email' | 'export' | 'recover-email';
|
|
1274
|
+
interface RecoveryModalTemplateProps {
|
|
1275
|
+
theme: string;
|
|
1276
|
+
accentColor: string;
|
|
1277
|
+
styleOverrides?: ModalStyleOverrides;
|
|
1278
|
+
/** Null while the first read is in flight. */
|
|
1279
|
+
state: RecoveryState | null;
|
|
1280
|
+
devices: CosignDevicesContent | null;
|
|
1281
|
+
thisDeviceKey: string | null;
|
|
1282
|
+
/** Whether this device's key is one of the wallet's credentials. */
|
|
1283
|
+
thisDeviceEnrolled: boolean;
|
|
1284
|
+
/** Whether the runtime can run passkey ceremonies here. */
|
|
1285
|
+
passkeyAvailable: boolean;
|
|
1286
|
+
/** A self-custody wallet of an app that never asked the user to accept its risks. */
|
|
1287
|
+
selfCustodyRisks: boolean;
|
|
1288
|
+
view: RecoveryView;
|
|
1289
|
+
/** The action in flight, by key, for its button's spinner. */
|
|
1290
|
+
busy: string | null;
|
|
1291
|
+
error: string | null;
|
|
1292
|
+
notice: string | null;
|
|
1293
|
+
emailDraft: string;
|
|
1294
|
+
codeSent: boolean;
|
|
1295
|
+
/** The recovery phrase, once exported. */
|
|
1296
|
+
phrase: string | null;
|
|
1297
|
+
onView: (view: RecoveryView) => void;
|
|
1298
|
+
onEmailDraft: (email: string) => void;
|
|
1299
|
+
onAddPasskey: () => void;
|
|
1300
|
+
onRemovePasskey: (authenticatorId: string) => void;
|
|
1301
|
+
onSendEmailCode: () => void;
|
|
1302
|
+
onConfirmEmail: (code: string) => void;
|
|
1303
|
+
onApproveDevice: (enrollmentId: string) => void;
|
|
1304
|
+
onRejectDevice: (enrollmentId: string) => void;
|
|
1305
|
+
onRequestEnrollment: () => void;
|
|
1306
|
+
onRecoverWithPasskey: () => void;
|
|
1307
|
+
onSendRecoveryCode: () => void;
|
|
1308
|
+
onRecoverWithCode: (code: string) => void;
|
|
1309
|
+
onExport: () => void;
|
|
1310
|
+
onClose: () => void;
|
|
1311
|
+
}
|
|
1312
|
+
declare function RecoveryModalTemplate(p: RecoveryModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
1119
1313
|
|
|
1120
1314
|
interface DistributionRulesModalTemplateProps {
|
|
1121
1315
|
theme: string;
|
|
@@ -1132,4 +1326,4 @@ interface DistributionRulesModalTemplateProps {
|
|
|
1132
1326
|
}
|
|
1133
1327
|
declare function DistributionRulesModalTemplate({ theme, accentColor, styleOverrides, state, claimingId, claimErrors, claimedIds, onRefresh, onClaim, onClose, }: DistributionRulesModalTemplateProps): react_jsx_runtime.JSX.Element;
|
|
1134
1328
|
|
|
1135
|
-
export { type AuthModalProps, CardModal, ChainSelect, type ChainSelectProps, CosignModal, CosignModalTemplate, type CosignModalTemplateProps, type CustomTrustlineModalTemplateProps, DistributionRulesModal, DistributionRulesModalTemplate, EarnModal, EnabledAssetsModal, EnabledAssetsModalTemplate, type EnabledAssetsModalTemplateProps, KycModal, KycModalTemplate, KycStatus, type KycStep, type LoginButtonProps, LoginModalTemplate, type ModalChrome, type ModalStyleOverrides, type ModalVariant, type PollarConfig, PollarProvider, type PollarStyles, ProviderRegistrationModal, type RampStep, RampWidget, RampWidgetTemplate, ReceiveModal, ReceiveModalTemplate, type ReceiveModalTemplateProps, RegistryCheckModal, RequirementFormModal, RouteDisplay, type SendMemoType, SendModal, SendModalTemplate, type SendModalTemplateProps, SessionsModal, SessionsModalTemplate, type SessionsModalTemplateProps, type SwapAssetOption, SwapModal, SwapModalTemplate, type SwapModalTemplateProps, TransactionModalTemplate, type TransactionModalTemplateProps, TxHistoryModalTemplate, TxStatusView, type TxStatusViewProps, type UseChainsResult, type UseCosignResult, WalletBalanceModal, WalletBalanceModalTemplate, type WalletBalanceModalTemplateProps, WalletButton, WalletButtonTemplate, type WalletButtonTemplateProps, addressForChain, browserPasskeyCeremony, browserPasskeySigner, buildModalCssVars, chainsOf, createPollarAdapterHook, modalChrome, readableTextOn, resolveChain, useChains, useCosign, usePollar, walletNotReadyReason };
|
|
1329
|
+
export { type AuthModalProps, CardModal, ChainSelect, type ChainSelectProps, CosignModal, CosignModalTemplate, type CosignModalTemplateProps, CustodyMigrationModal, CustodyMigrationModalTemplate, type CustodyMigrationModalTemplateProps, type CustomTrustlineModalTemplateProps, DistributionRulesModal, DistributionRulesModalTemplate, EarnModal, EnabledAssetsModal, EnabledAssetsModalTemplate, type EnabledAssetsModalTemplateProps, KycModal, KycModalTemplate, KycStatus, type KycStep, type LoginButtonProps, LoginModalTemplate, type ModalChrome, type ModalStyleOverrides, type ModalVariant, type PollarConfig, PollarProvider, type PollarStyles, ProviderRegistrationModal, type RampStep, RampWidget, RampWidgetTemplate, ReceiveModal, ReceiveModalTemplate, type ReceiveModalTemplateProps, RecoveryModal, RecoveryModalTemplate, type RecoveryModalTemplateProps, type RecoveryView, RegistryCheckModal, RejectedRouteDisplay, RequirementFormModal, RouteDisplay, type SendMemoType, SendModal, SendModalTemplate, type SendModalTemplateProps, SessionsModal, SessionsModalTemplate, type SessionsModalTemplateProps, type SwapAssetOption, SwapModal, SwapModalTemplate, type SwapModalTemplateProps, TransactionModalTemplate, type TransactionModalTemplateProps, TxHistoryModalTemplate, TxStatusView, type TxStatusViewProps, type UseChainsResult, type UseCosignResult, WalletBalanceModal, WalletBalanceModalTemplate, type WalletBalanceModalTemplateProps, WalletButton, WalletButtonTemplate, type WalletButtonTemplateProps, addressForChain, browserPasskeyCeremony, browserPasskeySigner, browserRecoveryPasskey, buildModalCssVars, chainsOf, createPollarAdapterHook, modalChrome, readableTextOn, resolveChain, useChains, useCosign, usePollar, walletNotReadyReason };
|