@coinlist-co/react 0.12.0 → 0.12.1-rc.0fa5c3b

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/dist/{chunk-ZFBEI3BW.js → chunk-3EOK47CQ.js} +20 -330
  2. package/dist/chunk-3EOK47CQ.js.map +1 -0
  3. package/dist/{chunk-F6WGUKZC.js → chunk-I5EHOV7V.js} +129 -3
  4. package/dist/chunk-I5EHOV7V.js.map +1 -0
  5. package/dist/{chunk-6CQHDASY.js → chunk-VSYGGTI6.js} +1173 -156
  6. package/dist/chunk-VSYGGTI6.js.map +1 -0
  7. package/dist/client/index.cjs +8559 -7690
  8. package/dist/client/index.cjs.map +1 -1
  9. package/dist/client/index.d.cts +116 -48
  10. package/dist/client/index.d.ts +116 -48
  11. package/dist/client/index.js +4059 -4007
  12. package/dist/client/index.js.map +1 -1
  13. package/dist/{collections-DOm9VKVm.d.cts → collections-C6b-rJpx.d.ts} +1 -1
  14. package/dist/{collections-aCv-Wr2a.d.ts → collections-UYVlXbEh.d.cts} +1 -1
  15. package/dist/server/index.cjs +1291 -166
  16. package/dist/server/index.cjs.map +1 -1
  17. package/dist/server/index.d.cts +1 -1
  18. package/dist/server/index.d.ts +1 -1
  19. package/dist/server/index.js +5 -3
  20. package/dist/server/index.js.map +1 -1
  21. package/dist/{config-DIaFzrMW.d.cts → tokens-namespace-C-BxcYMj.d.cts} +362 -188
  22. package/dist/{config-DIaFzrMW.d.ts → tokens-namespace-C-BxcYMj.d.ts} +362 -188
  23. package/dist/universal/index.cjs +1103 -405
  24. package/dist/universal/index.cjs.map +1 -1
  25. package/dist/universal/index.d.cts +427 -45
  26. package/dist/universal/index.d.ts +427 -45
  27. package/dist/universal/index.js +16 -14
  28. package/package.json +1 -1
  29. package/dist/chunk-6CQHDASY.js.map +0 -1
  30. package/dist/chunk-F6WGUKZC.js.map +0 -1
  31. package/dist/chunk-ZFBEI3BW.js.map +0 -1
@@ -1,9 +1,9 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, ButtonHTMLAttributes } from 'react';
3
- import { A as AuthorizationCode, C as CodeVerifier, L as Logger, W as WalletError, E as Erc20Namespace, a as EthereumChain, b as EvmContractAddress, B as BlockchainAmount, c as CoinListTokenSaleNamespace, O as OfferId, d as OfferOptionId, e as AssetId, P as Participation, f as CoinListTokenSaleNamespaceImpl, U as UniversalNamespaceContext, g as OndoNamespace, h as AssetSymbol, i as OfferSwapContract, j as OndoBuyTransaction, k as OndoSellTransaction, l as OndoSwapTransactionCore, m as OrderBookSide, n as OndoNamespaceImpl, S as SuperstateSwapNamespace, o as WalletsNamespace, p as Bps, q as EvmWalletAddress, r as SuperstateSwapNamespaceImpl, R as RequirementsNamespace, s as Requirement, t as RequirementsNamespaceImpl, u as Config, v as OAuthAccessToken, w as OffersNamespace, T as TokensNamespace, x as StablecoinSymbol, y as Erc20Asset, z as OfferDetail, D as TokenMetadata, F as OfferType, G as Offer, H as RequirementStatusInfo, I as RequirementType, J as RequirementStatusValue, K as OfferOptionAddress, M as RequirementId, N as KycLevelName, Q as DocumentSubmission, V as WalletChallengeType, X as PinoLoggerOptions, Y as OndoTradingStatus, Z as AssetDecimals, _ as BuildOndoBuyParams, $ as BuildOndoSellParams, a0 as OndoQuote, a1 as OndoQuoteSize, a2 as TokenIdentifier, a3 as OfferOptionAddressId, a4 as TokenLogo } from '../config-DIaFzrMW.cjs';
4
- export { a5 as DebugEvent, a6 as FrontlineEventId, a7 as HttpError, a8 as HttpResponse, a9 as KycToken, aa as LogBinding, ab as LogBindings, ac as LogCause, ad as LogLevel, ae as LogScope, af as LogValue, ag as ProductionLogLevel, ah as RedactedWalletError, ai as RequestId, aj as SafeEvent, ak as SafeFields, al as UnredactedFields } from '../config-DIaFzrMW.cjs';
5
- import { P as PKCEConfig, E as EvmWallet, S as SwapQuote, A as AssetIconUrl, a as ShortenedWalletAddress, F as FormattedAmountAssetUi, b as FormattedPercentUi, T as TxExplorerUrl, C as ConnectWallet, N as NonEmptyArray } from '../collections-DOm9VKVm.cjs';
6
- export { B as BroadcastTxParams, c as EvmSigner, W as WriteContractParams } from '../collections-DOm9VKVm.cjs';
3
+ import { A as AuthorizationCode, C as CodeVerifier, L as Logger, W as WalletError, E as Erc20Namespace, a as EthereumChain, b as EvmContractAddress, B as BlockchainAmount, c as CoinListTokenSaleNamespace, O as OfferId, d as OfferOptionId, e as AssetId, P as Participation, f as CoinListTokenSaleNamespaceImpl, U as UniversalNamespaceContext, g as OndoNamespace, h as AssetSymbol, i as OfferSwapContract, j as OndoBuyTransaction, k as OndoSellTransaction, l as OndoSwapTransactionCore, m as OrderBookSide, n as OndoNamespaceImpl, S as SuperstateSwapNamespace, o as WalletsNamespace, p as Bps, q as EvmWalletAddress, r as SuperstateSwapNamespaceImpl, R as RequirementsNamespace, s as Requirement, t as RequirementsNamespaceImpl, u as Config, v as OAuthAccessToken, w as OffersNamespace, T as TokensNamespace, x as StablecoinSymbol, y as Erc20Asset, z as OfferDetail, D as TokenMetadata, F as OfferType, G as Offer, H as RequirementStatusInfo, I as RequirementType, J as RequirementStatusValue, K as OfferOptionAddress, M as RequirementId, N as KycLevelName, Q as DocumentSubmission, V as WalletChallengeType, X as PinoLoggerOptions, Y as OndoTradingStatus, Z as AssetDecimals, _ as BuildOndoBuyParams, $ as BuildOndoSellParams, a0 as OndoQuote, a1 as OndoQuoteSize, a2 as TokenIdentifier, a3 as OfferOptionAddressId, a4 as TokenLogo } from '../tokens-namespace-C-BxcYMj.cjs';
4
+ export { a5 as DebugEvent, a6 as FrontlineEventId, a7 as HttpError, a8 as HttpResponse, a9 as KycToken, aa as LogBinding, ab as LogBindings, ac as LogCause, ad as LogLevel, ae as LogScope, af as LogValue, ag as ProductionLogLevel, ah as RedactedWalletError, ai as RequestId, aj as RpcFailureReason, ak as SafeEvent, al as SafeFields, am as UnredactedFields } from '../tokens-namespace-C-BxcYMj.cjs';
5
+ import { P as PKCEConfig, E as EvmWallet, S as SwapQuote, A as AssetIconUrl, a as ShortenedWalletAddress, F as FormattedAmountAssetUi, b as FormattedPercentUi, T as TxExplorerUrl, C as ConnectWallet, N as NonEmptyArray } from '../collections-UYVlXbEh.cjs';
6
+ export { B as BroadcastTxParams, c as EvmSigner, W as WriteContractParams } from '../collections-UYVlXbEh.cjs';
7
7
  import { Hash } from 'viem';
8
8
  import * as class_variance_authority_types from 'class-variance-authority/types';
9
9
  import { VariantProps } from 'class-variance-authority';
@@ -508,6 +508,14 @@ type SwapExecutionPhase = 'checking-status' | 'checking-allowance' | 'resetting-
508
508
  /** A step-tagged reason {@link executeSwap} failed. */
509
509
  type SwapExecutionError = {
510
510
  step: 'status-check';
511
+ }
512
+ /**
513
+ * The contract has suspended swapping and may resume. Distinct from
514
+ * `swap-stopped`, which is permanent, so a host can say "try again shortly"
515
+ * to one and "this swap has closed" to the other.
516
+ */
517
+ | {
518
+ step: 'swap-paused';
511
519
  } | {
512
520
  step: 'swap-stopped';
513
521
  } | Erc20AllowanceError | {
@@ -1507,11 +1515,8 @@ type OndoCheckoutConfig = {
1507
1515
  * catalogue does agree can return `AssetSymbol(offer.asset.code)`; one whose
1508
1516
  * does not maps the exceptions.
1509
1517
  *
1510
- * Must be total. Ondo's viewmodel is called for every offer - React hooks
1511
- * cannot be called conditionally - so this runs for Superstate and
1512
- * token-sale offers too, where its result is passed to a viewmodel that is
1513
- * `enabled: false` and never reads it. Throwing on an offer you do not
1514
- * recognise would take down a checkout Ondo has no part in; return anything.
1518
+ * Called only for an `ondo::swap` offer, when that branch is mounted. A
1519
+ * Superstate or token-sale checkout never runs it.
1515
1520
  */
1516
1521
  symbol: (offer: OfferDetail) => AssetSymbol;
1517
1522
  /**
@@ -1524,10 +1529,8 @@ type OndoCheckoutConfig = {
1524
1529
  * page rather than of the catalogue. A host closes over whatever selects the
1525
1530
  * direction - a route, a tab - and returns it.
1526
1531
  *
1527
- * Still called for every offer, Superstate's and the token sale's included,
1528
- * because both Ondo viewmodels are called unconditionally; on those its
1529
- * answer is handed to a viewmodel that is `enabled: false` and never reads
1530
- * it. Nothing to be total over, so nothing to get wrong.
1532
+ * Called only for an `ondo::swap` offer, when that branch is mounted. A
1533
+ * Superstate or token-sale checkout never runs it.
1531
1534
  *
1532
1535
  * Required, with no default. The wire parameter behind it defaults to `buy`
1533
1536
  * silently, and the day sell ships an unstated direction should be a compile
@@ -1613,8 +1616,8 @@ interface CheckoutContainerProps {
1613
1616
  /** What each offer type needs beyond the offer itself. */
1614
1617
  config: CheckoutConfig;
1615
1618
  /**
1616
- * Default `true`. `false` turns off every request and timer in every
1617
- * provider, for a checkout that is mounted but not on screen yet.
1619
+ * Default `true`. `false` turns off every request and timer in the mounted
1620
+ * provider, for a checkout that is on the tree but not on screen yet.
1618
1621
  */
1619
1622
  enabled?: boolean;
1620
1623
  className?: string;
@@ -1623,11 +1626,10 @@ interface CheckoutContainerProps {
1623
1626
  * The plug-and-play checkout: hand it an offer and it renders the right
1624
1627
  * provider's flow.
1625
1628
  *
1626
- * Every provider's viewmodel is called on every render, because React hooks
1627
- * cannot be called conditionally — and both Ondo products, since `side` picks
1628
- * between them at the same level. Only the one matching `offer.type` and
1629
- * `side` is `enabled`, so the rest fetch nothing and run no timers — that
1630
- * `enabled` flag is why every checkout viewmodel has one.
1629
+ * Only the matching provider's container is mounted, so its viewmodel is the
1630
+ * only one that runs. `enabled` is forwarded as-is — a pause for a checkout
1631
+ * that is mounted but not on screen yet, not a stand-in for the offer-type
1632
+ * switch.
1631
1633
  *
1632
1634
  * The `switch` is exhaustive against `OfferType`, and the `default` branch
1633
1635
  * assigns to `const exhaustive: never`, so a new offer type is a compile error
@@ -1901,19 +1903,30 @@ type OndoCheckoutErrorReason =
1901
1903
  type OndoSidebarUiState = {
1902
1904
  asset: CheckoutAssetUi;
1903
1905
  /**
1904
- * Who issues the asset, e.g. `Ondo Global Markets`.
1905
- *
1906
- * `null` hides the row. No frontline endpoint carries an issuer today, so
1907
- * absence is the normal case rather than an edge one — the same reasoning as
1908
- * `coinlistFee` on the review step.
1906
+ * Who issues the *token*, e.g. `Ondo Global Markets` — not the issuer of the
1907
+ * security it tracks, which is the asset's own name. `null` hides the row.
1909
1908
  */
1910
1909
  issuer: string | null;
1911
1910
  /** The underlying's ticker, e.g. `AAPL` — not the token symbol. `null` hides the row. */
1912
1911
  tickerSymbol: string | null;
1913
- /** The underlying's ISIN, e.g. `US0378331005`. `null` hides the row. */
1912
+ /**
1913
+ * The underlying's ISIN, e.g. `US0378331005`. `null` hides the row, and is
1914
+ * the normal case for the few securities the supplier publishes none for.
1915
+ */
1914
1916
  isin: string | null;
1915
- /** What kind of instrument it is, e.g. `Common Stock`. `null` hides the row. */
1917
+ /**
1918
+ * What kind of instrument it is, in the supplier's own vocabulary — a common
1919
+ * stock arrives as `Stock`, not `Common Stock`. Rendered as given, never
1920
+ * branched on, because the vocabulary can grow. `null` hides the row.
1921
+ */
1916
1922
  assetType: string | null;
1923
+ /**
1924
+ * The venue the underlying lists on, e.g. `NASDAQ`. Unlike the rows above it
1925
+ * is recorded by hand rather than served by the supplier, so `null` — which
1926
+ * hides the row — is the normal state until someone records it, and says
1927
+ * nothing about whether the offer tokenizes a security.
1928
+ */
1929
+ listingVenue: string | null;
1917
1930
  /** Display name of the chain the token lives on, e.g. `Ethereum`. */
1918
1931
  networkName: string;
1919
1932
  price: OndoSidebarPriceUi;
@@ -2118,8 +2131,8 @@ interface OndoBuyCheckoutContainerProps {
2118
2131
  */
2119
2132
  wallets: CheckoutWalletSelection;
2120
2133
  /**
2121
- * Default `true`. `false` turns off every request and timer, which is what
2122
- * `CheckoutContainer` uses to call each provider's checkout unconditionally.
2134
+ * Default `true`. `false` turns off every request and timer, for a checkout
2135
+ * that is mounted but not on screen yet.
2123
2136
  */
2124
2137
  enabled?: boolean;
2125
2138
  /** Fired once the swap has mined. The dialog shows either way. */
@@ -2555,8 +2568,8 @@ interface OndoSellCheckoutContainerProps {
2555
2568
  */
2556
2569
  wallets: CheckoutWalletSelection;
2557
2570
  /**
2558
- * Default `true`. `false` turns off every request and timer, which is what
2559
- * `CheckoutContainer` uses to call each provider's checkout unconditionally.
2571
+ * Default `true`. `false` turns off every request and timer, for a checkout
2572
+ * that is mounted but not on screen yet.
2560
2573
  */
2561
2574
  enabled?: boolean;
2562
2575
  /** Fired once the swap has mined. The dialog shows either way. */
@@ -3095,8 +3108,8 @@ interface SuperstateSwapCheckoutContainerProps {
3095
3108
  */
3096
3109
  wallets: CheckoutWalletSelection;
3097
3110
  /**
3098
- * Default `true`. `false` turns off every request and timer, which is what
3099
- * `CheckoutContainer` uses to call each provider's checkout unconditionally.
3111
+ * Default `true`. `false` turns off every request and timer, for a checkout
3112
+ * that is mounted but not on screen yet.
3100
3113
  */
3101
3114
  enabled?: boolean;
3102
3115
  /** Fired once the swap has mined. The dialog shows either way. */
@@ -3238,6 +3251,11 @@ interface OffersGridContainerProps {
3238
3251
  * fetch entirely.
3239
3252
  */
3240
3253
  data?: Offer[];
3254
+ /**
3255
+ * Default `true`. When `false` nothing is fetched, so the container can be
3256
+ * mounted while the grid is not needed yet.
3257
+ */
3258
+ enabled?: boolean;
3241
3259
  }
3242
3260
  /**
3243
3261
  * Displays a responsive live-sale grid of {@link OfferSaleCard}, backed by
@@ -3246,14 +3264,16 @@ interface OffersGridContainerProps {
3246
3264
  * past-sales browse rows, compose {@link OffersAssetGrid} instead.
3247
3265
  *
3248
3266
  * Pass `data` (pre-fetched server-side) to use that data as-is and skip the
3249
- * client-side fetch entirely. Uses the `loading` / `error` / `emptyState` slots
3250
- * when provided; otherwise renders the standard fallbacks. Cards are
3251
- * interactive only when `onOfferClick` is provided.
3267
+ * client-side fetch entirely. Pass `enabled={false}` to skip the fetch when
3268
+ * the container is mounted but the grid is not needed yet. Uses the
3269
+ * `loading` / `error` / `emptyState` slots when provided; otherwise renders
3270
+ * the standard fallbacks. Cards are interactive only when `onOfferClick` is
3271
+ * provided.
3252
3272
  *
3253
3273
  * Self-scoped: renders fully styled on its own, with no `CoinListStyleScope`
3254
3274
  * needed.
3255
3275
  */
3256
- declare function OffersGridContainer({ data, onOfferClick, ...viewProps }?: OffersGridContainerProps): ReactNode;
3276
+ declare function OffersGridContainer({ data, onOfferClick, enabled, ...viewProps }?: OffersGridContainerProps): ReactNode;
3257
3277
 
3258
3278
  /**
3259
3279
  * An offer as {@link OfferSaleCard} renders it. Countdown copy is derived in
@@ -3630,6 +3650,12 @@ interface UseRequirementsOptions {
3630
3650
  * Calling `refetch()` will still trigger a fresh fetch.
3631
3651
  */
3632
3652
  data?: RequirementsData;
3653
+ /**
3654
+ * When `false`, the hook sends no request. A seeded or already-fetched
3655
+ * `CONTENT` survives; otherwise the hook stays `LOADING`. Defaults to `true`.
3656
+ * `refetch()` is a no-op while disabled.
3657
+ */
3658
+ enabled?: boolean;
3633
3659
  }
3634
3660
  interface UseRequirementsResult {
3635
3661
  requirementsState: LoadRequirementsState;
@@ -3642,6 +3668,8 @@ interface UseRequirementsResult {
3642
3668
  *
3643
3669
  * Pass `data` (pre-fetched server-side) to use that data as-is and skip
3644
3670
  * the initial client-side fetch. Calling `refetch()` will still trigger a fresh fetch.
3671
+ * Pass `enabled: false` to skip the fetch when the hook must be called but
3672
+ * the data is not needed yet.
3645
3673
  *
3646
3674
  * Returns `LOADING` while CoinList is initializing or while data is being fetched.
3647
3675
  * Returns `CONTENT` with requirements and statuses on success.
@@ -3709,6 +3737,11 @@ interface RequirementsChecklistContainerProps {
3709
3737
  * not part of `RequirementsData` and are always fetched client-side.
3710
3738
  */
3711
3739
  data?: RequirementsData;
3740
+ /**
3741
+ * Default `true`. When `false` nothing is fetched, so the container can be
3742
+ * mounted while the checklist is not needed yet.
3743
+ */
3744
+ enabled?: boolean;
3712
3745
  /**
3713
3746
  * Options for the inline Sumsub verification flow, shown when
3714
3747
  * `onRequirementActionOverride` is not provided. The flow starts whenever
@@ -3729,7 +3762,8 @@ interface RequirementsChecklistContainerProps {
3729
3762
  * specified option.
3730
3763
  *
3731
3764
  * Pass `data` (pre-fetched server-side) to use that data as-is and skip the
3732
- * initial client-side fetch.
3765
+ * initial client-side fetch. Pass `enabled={false}` to skip fetches when the
3766
+ * container is mounted but the checklist is not needed yet.
3733
3767
  *
3734
3768
  * When the user is not authenticated, renders a sign-in card instead of the
3735
3769
  * checklist - without fetching. Pass `unauthenticatedState` to customize that
@@ -3743,7 +3777,7 @@ interface RequirementsChecklistContainerProps {
3743
3777
  *
3744
3778
  * Self-scoped: renders fully styled on its own, with no `CoinListStyleScope` needed.
3745
3779
  */
3746
- declare function RequirementsChecklistContainer({ loading, error, unauthenticatedState, className, ...options }: RequirementsChecklistContainerProps): ReactNode;
3780
+ declare function RequirementsChecklistContainer({ loading, error, unauthenticatedState, className, enabled, ...options }: RequirementsChecklistContainerProps): ReactNode;
3747
3781
 
3748
3782
  interface RequirementsChecklistViewProps {
3749
3783
  state: RequirementsChecklistUiState;
@@ -4196,6 +4230,11 @@ interface UseParticipationsOptions {
4196
4230
  * When provided, the hook uses this data as-is and skips the client-side fetch entirely.
4197
4231
  */
4198
4232
  data?: Participation[];
4233
+ /**
4234
+ * When `false`, the hook sends no request. A seeded or already-fetched
4235
+ * `CONTENT` survives; otherwise the hook stays `LOADING`. Defaults to `true`.
4236
+ */
4237
+ enabled?: boolean;
4199
4238
  }
4200
4239
  interface UseParticipationsResult {
4201
4240
  participationsState: LoadParticipationsState;
@@ -4205,7 +4244,8 @@ interface UseParticipationsResult {
4205
4244
  * Optionally filters by offer when `offerId` is provided.
4206
4245
  *
4207
4246
  * Pass `data` (pre-fetched server-side) to use that data as-is and skip
4208
- * the client-side fetch entirely.
4247
+ * the client-side fetch entirely. Pass `enabled: false` to skip the fetch
4248
+ * when the hook must be called but the data is not needed yet.
4209
4249
  *
4210
4250
  * Returns `LOADING` while CoinList is initializing or while participations are being fetched.
4211
4251
  * Returns `CONTENT` with all participations when `fetchParticipations()` succeeds.
@@ -4519,8 +4559,8 @@ interface UseOndoBuyCheckoutViewModelOptions {
4519
4559
  /** The host's wallets, and the lambdas that connect and disconnect one. */
4520
4560
  wallets: CheckoutWalletSelection;
4521
4561
  /**
4522
- * Default `true`. When `false` nothing is fetched and no timer runs, so the
4523
- * hook can be called unconditionally beside other providers' viewmodels.
4562
+ * Default `true`. When `false` nothing is fetched and no timer runs, for a
4563
+ * checkout that is mounted but not on screen yet.
4524
4564
  */
4525
4565
  enabled?: boolean;
4526
4566
  /**
@@ -4902,8 +4942,8 @@ interface UseOndoSellCheckoutViewModelOptions {
4902
4942
  */
4903
4943
  wallets: CheckoutWalletSelection;
4904
4944
  /**
4905
- * Default `true`. When `false` nothing is fetched and no timer runs, so the
4906
- * hook can be called unconditionally beside other providers' viewmodels.
4945
+ * Default `true`. When `false` nothing is fetched and no timer runs, for a
4946
+ * checkout that is mounted but not on screen yet.
4907
4947
  */
4908
4948
  enabled?: boolean;
4909
4949
  /**
@@ -5539,8 +5579,8 @@ interface UseSuperstateSwapCheckoutViewModelOptions {
5539
5579
  /** The host's wallets, and the lambdas that connect and disconnect one. */
5540
5580
  wallets: CheckoutWalletSelection;
5541
5581
  /**
5542
- * Default `true`. When `false` nothing is fetched and no timer runs, so the
5543
- * hook can be called unconditionally beside other providers' viewmodels.
5582
+ * Default `true`. When `false` nothing is fetched and no timer runs, for a
5583
+ * checkout that is mounted but not on screen yet.
5544
5584
  */
5545
5585
  enabled?: boolean;
5546
5586
  /**
@@ -5649,6 +5689,11 @@ interface UseOfferDetailsOptions {
5649
5689
  * When provided, the hook uses this data as-is and skips the client-side fetch entirely.
5650
5690
  */
5651
5691
  data?: OfferDetail;
5692
+ /**
5693
+ * When `false`, the hook sends no request. A seeded or already-fetched
5694
+ * `CONTENT` survives; otherwise the hook stays `LOADING`. Defaults to `true`.
5695
+ */
5696
+ enabled?: boolean;
5652
5697
  }
5653
5698
  interface UseOfferDetailsResult {
5654
5699
  offerDetailsState: LoadOfferDetailsState;
@@ -5657,7 +5702,8 @@ interface UseOfferDetailsResult {
5657
5702
  * Loads CoinList offer details for a given offer id and exposes a UI-friendly state.
5658
5703
  *
5659
5704
  * Pass `data` (pre-fetched server-side) to use that data as-is and skip
5660
- * the client-side fetch entirely.
5705
+ * the client-side fetch entirely. Pass `enabled: false` to skip the fetch
5706
+ * when the hook must be called but the data is not needed yet.
5661
5707
  *
5662
5708
  * Returns `LOADING` while CoinList is initializing or while details are being fetched.
5663
5709
  * Returns `CONTENT` with the offer when `offers.get()` succeeds.
@@ -5683,6 +5729,11 @@ interface UseOffersOptions {
5683
5729
  * When provided, the hook uses this data as-is and skips the client-side fetch entirely.
5684
5730
  */
5685
5731
  data?: Offer[];
5732
+ /**
5733
+ * When `false`, the hook sends no request. A seeded or already-fetched
5734
+ * `CONTENT` survives; otherwise the hook stays `LOADING`. Defaults to `true`.
5735
+ */
5736
+ enabled?: boolean;
5686
5737
  }
5687
5738
  interface UseOffersResult {
5688
5739
  offersState: LoadOffersState;
@@ -5691,7 +5742,8 @@ interface UseOffersResult {
5691
5742
  * Loads all CoinList offers for the current user and exposes a UI-friendly state.
5692
5743
  *
5693
5744
  * Pass `data` (pre-fetched server-side) to use that data as-is and skip
5694
- * the client-side fetch entirely.
5745
+ * the client-side fetch entirely. Pass `enabled: false` to skip the fetch
5746
+ * when the hook must be called but the data is not needed yet.
5695
5747
  *
5696
5748
  * Returns `LOADING` while CoinList is initializing or while offers are being fetched.
5697
5749
  * Returns `CONTENT` with all offers when `fetchOffers()` succeeds.
@@ -5707,6 +5759,11 @@ interface UseOffersGridViewModelOptions {
5707
5759
  * When provided, the client-side fetch is skipped entirely.
5708
5760
  */
5709
5761
  data?: Offer[];
5762
+ /**
5763
+ * Default `true`. When `false` nothing is fetched, so the hook can be called
5764
+ * unconditionally while the grid is not needed yet.
5765
+ */
5766
+ enabled?: boolean;
5710
5767
  /** Called with the domain offer behind the card the user clicked. */
5711
5768
  onOfferClick?: (offer: Offer) => void;
5712
5769
  }
@@ -5717,6 +5774,9 @@ interface UseOffersGridViewModelResult {
5717
5774
  /**
5718
5775
  * Drives {@link OffersGridView}: loads the offers, formats them for the cards,
5719
5776
  * and resolves a clicked card back to its domain offer for the host callback.
5777
+ *
5778
+ * Pass `enabled: false` to skip the fetch when the hook must be called but
5779
+ * the grid is not needed yet.
5720
5780
  */
5721
5781
  declare function useOffersGridViewModel(options?: UseOffersGridViewModelOptions): UseOffersGridViewModelResult;
5722
5782
 
@@ -6011,6 +6071,11 @@ interface UseRequirementsChecklistViewModelOptions {
6011
6071
  getDescription?: (requirement: Requirement) => string | null;
6012
6072
  /** Requirements pre-fetched on the server. */
6013
6073
  data?: RequirementsData;
6074
+ /**
6075
+ * Default `true`. When `false` nothing is fetched, so the hook can be called
6076
+ * unconditionally while the checklist is not needed yet.
6077
+ */
6078
+ enabled?: boolean;
6014
6079
  /** Options for the inline Sumsub verification flow. */
6015
6080
  identityVerificationOptions?: {
6016
6081
  levelName?: KycLevelName;
@@ -6025,6 +6090,9 @@ interface UseRequirementsChecklistViewModelResult {
6025
6090
  * Drives {@link RequirementsChecklistView}: loads the requirements and their
6026
6091
  * statuses for one offer option, shapes each row, and owns the three flows the
6027
6092
  * checklist can open (tax document, wallet connect, identity verification).
6093
+ *
6094
+ * Pass `enabled: false` to skip fetches when the hook must be called but
6095
+ * the checklist is not needed yet.
6028
6096
  */
6029
6097
  declare function useRequirementsChecklistViewModel(options: UseRequirementsChecklistViewModelOptions): UseRequirementsChecklistViewModelResult;
6030
6098