@funkit/connect 5.4.1 → 5.5.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.
Files changed (77) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/dist/components/CurrencySelector/CurrencySelector.d.ts +8 -0
  3. package/dist/components/Dialog/Dialog.css.d.ts +3 -6
  4. package/dist/components/Dialog/Dialog.d.ts +2 -1
  5. package/dist/components/Dropdown/ReceiveTokenDropdown.d.ts +2 -1
  6. package/dist/components/FunCheckoutHistory/FunCheckoutHistoryContent.d.ts +2 -1
  7. package/dist/components/FunCheckoutHistory/FunCheckoutHistoryDetail.d.ts +2 -1
  8. package/dist/components/FunCheckoutHistory/FunDirectExecutionHistoryDetail.d.ts +4 -4
  9. package/dist/components/FunPaymentMethodItem/FunPaymentMethodItem.d.ts +2 -2
  10. package/dist/components/Icons/LockIcon.d.ts +3 -1
  11. package/dist/components/Icons/New/BankIcon.d.ts +2 -2
  12. package/dist/components/Icons/New/LinkExternalIcon.d.ts +4 -0
  13. package/dist/components/MeldQuoteItem/MeldQuoteItem.d.ts +12 -0
  14. package/dist/components/SourceMeldQuoteItem/SourceMeldQuoteItem.d.ts +13 -0
  15. package/dist/components/Tabs/Tabs.d.ts +2 -2
  16. package/dist/components/Tabs/tabs.css.d.ts +1 -0
  17. package/dist/components/VirtualFiatAccount/AccountDetailsTab/AccountDetailsTab.d.ts +9 -0
  18. package/dist/consts/meld.d.ts +3 -0
  19. package/dist/css/scrollStyles.css.d.ts +1 -0
  20. package/dist/domains/asset.d.ts +1 -0
  21. package/dist/domains/clientMetadata.d.ts +1 -1
  22. package/dist/domains/fees.d.ts +1 -1
  23. package/dist/domains/paymentMethods.d.ts +1 -1
  24. package/dist/domains/quote.d.ts +1 -1
  25. package/dist/hooks/queries/useMeldCryptoCurrencyCode.d.ts +1 -0
  26. package/dist/hooks/queries/useMeldCurrencies.d.ts +1 -0
  27. package/dist/hooks/queries/useMeldDefaultCurrency.d.ts +5 -0
  28. package/dist/hooks/queries/useMeldLimits.d.ts +11 -0
  29. package/dist/hooks/useAnimatedNavigation.d.ts +1 -1
  30. package/dist/hooks/useCheckoutDirectExecution.d.ts +2 -1
  31. package/dist/hooks/useCountdown.d.ts +5 -1
  32. package/dist/hooks/useDynamicFont.d.ts +1 -1
  33. package/dist/hooks/usePaymentSources.d.ts +1 -0
  34. package/dist/index.css +53 -90
  35. package/dist/index.js +5651 -4584
  36. package/dist/modals/CheckoutModal/CheckoutComplete/CheckoutComplete.d.ts +1 -1
  37. package/dist/modals/CheckoutModal/InputAmount/InputAmount.d.ts +9 -1
  38. package/dist/modals/CheckoutModal/InputAmount/InputAmountLayout.d.ts +4 -2
  39. package/dist/modals/CheckoutModal/InputAmount/InputAmountLoaded.d.ts +5 -4
  40. package/dist/modals/CheckoutModal/InputAmount/InputAmountLoading.d.ts +1 -2
  41. package/dist/modals/CheckoutModal/InputAmount/QuickOptions.d.ts +3 -1
  42. package/dist/modals/CheckoutModal/InputAmount/state.d.ts +12 -7
  43. package/dist/modals/CheckoutModal/InputAmount/useAmountInput.d.ts +5 -2
  44. package/dist/modals/CheckoutModal/InputAmount/utils.d.ts +15 -3
  45. package/dist/modals/CheckoutModal/MeldCurrencySelect/MeldCurrencySelect.d.ts +14 -0
  46. package/dist/modals/CheckoutModal/MeldQuotes/MeldQuotes.d.ts +15 -0
  47. package/dist/modals/CheckoutModal/MeldQuotes/useMeldLink.d.ts +2 -0
  48. package/dist/modals/CheckoutModal/MeldQuotes/useMeldQuotes.d.ts +5 -0
  49. package/dist/modals/CheckoutModal/stepTransition.d.ts +12 -1
  50. package/dist/modals/CheckoutModal/useNewCheckoutQuote.d.ts +1 -1
  51. package/dist/providers/FunkitCheckoutContext.d.ts +2 -1
  52. package/dist/providers/FunkitConfigContext.d.ts +2 -0
  53. package/dist/utils/checkout.d.ts +2 -1
  54. package/dist/utils/directExecution.d.ts +1 -0
  55. package/dist/utils/flags/config.d.ts +36 -0
  56. package/dist/utils/purifyCheckoutHistoryItem.d.ts +2 -1
  57. package/dist/wallets/walletConnectors/bifrostWallet/bifrostWallet.js +2 -2
  58. package/dist/wallets/walletConnectors/bitgetWallet/bitgetWallet.js +2 -2
  59. package/dist/wallets/walletConnectors/bybitWallet/bybitWallet.js +2 -2
  60. package/dist/wallets/walletConnectors/clvWallet/clvWallet.js +2 -2
  61. package/dist/wallets/walletConnectors/coin98Wallet/coin98Wallet.js +2 -2
  62. package/dist/wallets/walletConnectors/coreWallet/coreWallet.js +2 -2
  63. package/dist/wallets/walletConnectors/foxWallet/foxWallet.js +2 -2
  64. package/dist/wallets/walletConnectors/frontierWallet/frontierWallet.js +2 -2
  65. package/dist/wallets/walletConnectors/gateWallet/gateWallet.js +2 -2
  66. package/dist/wallets/walletConnectors/index.js +70 -70
  67. package/dist/wallets/walletConnectors/metaMaskWallet/metaMaskWallet.js +2 -2
  68. package/dist/wallets/walletConnectors/okxWallet/okxWallet.js +2 -2
  69. package/dist/wallets/walletConnectors/rainbowWallet/rainbowWallet.js +2 -2
  70. package/dist/wallets/walletConnectors/roninWallet/roninWallet.js +2 -2
  71. package/dist/wallets/walletConnectors/safepalWallet/safepalWallet.js +2 -2
  72. package/dist/wallets/walletConnectors/subWallet/subWallet.js +2 -2
  73. package/dist/wallets/walletConnectors/tokenPocketWallet/tokenPocketWallet.js +2 -2
  74. package/dist/wallets/walletConnectors/trustWallet/trustWallet.js +2 -2
  75. package/dist/wallets/walletConnectors/zerionWallet/zerionWallet.js +2 -2
  76. package/package.json +8 -7
  77. package/dist/components/FunSelectBrokerage/FunSelectBrokerage.css.d.ts +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,51 @@
1
1
  # @funkit/connect
2
2
 
3
+ ## 5.5.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 9729887: feat: new receiveDropdownTitle text customization
8
+ - 9729887: feat(connect,apps): Katana QA
9
+ - fe69bc2: fix wrong currency handling
10
+ - f30f269: refactor: move types used in clientMetadata to @funkit/utils, split into 3 different files checkoutApi.ts, checkoutFees.ts and clientMetadata.ts
11
+ - be89261: feat(connect,apps): katana copy updates
12
+ - Updated dependencies [a6ce5cb]
13
+ - Updated dependencies [f30f269]
14
+ - @funkit/fun-relay@0.1.6
15
+ - @funkit/api-base@1.9.1
16
+ - @funkit/utils@1.1.1
17
+ - @funkit/core@2.3.23
18
+ - @funkit/wagmi-tools@3.0.45
19
+
20
+ ## 5.5.0
21
+
22
+ ### Minor Changes
23
+
24
+ - b18e3e2: feat: add meld quote/widgets
25
+
26
+ ### Patch Changes
27
+
28
+ - d69cfe2: feat: prevent flickering of the checkout modal when it is closed and reopened due to closing animations
29
+ - ab6f3f4: feat: adjust matching tokens to chains and vice-versa for Transfer crypto
30
+ - d68387a: feat: use 1 as unit price for stablecoins
31
+ - fc10b40: refactor: enrich pending screen for relay DEs
32
+ - 48ab9be: feat: only fetch first five checkouts & direct executions for faster notification
33
+ - 52937b6: fix fiat refetch on mount
34
+ - 43cf1bf: feat: dynamic relay referrer
35
+ - Updated dependencies [b18e3e2]
36
+ - Updated dependencies [fc10b40]
37
+ - Updated dependencies [6ea6b26]
38
+ - Updated dependencies [48ab9be]
39
+ - Updated dependencies [a273823]
40
+ - Updated dependencies [1137afa]
41
+ - Updated dependencies [43cf1bf]
42
+ - @funkit/api-base@1.9.0
43
+ - @funkit/utils@1.1.0
44
+ - @funkit/fun-relay@0.1.5
45
+ - @funkit/chains@0.3.1
46
+ - @funkit/core@2.3.22
47
+ - @funkit/wagmi-tools@3.0.44
48
+
3
49
  ## 5.4.1
4
50
 
5
51
  ### Patch Changes
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface CurrencySelectorProps {
3
+ selectedCurrency?: string;
4
+ isLoading?: boolean;
5
+ onClick?: (currency: string) => void;
6
+ }
7
+ export declare const CurrencySelector: ({ selectedCurrency, isLoading, onClick, }: CurrencySelectorProps) => React.JSX.Element;
8
+ export {};
@@ -1,11 +1,8 @@
1
- export declare const DialogAnimationTimeIn = 250;
2
- export declare const DialogAnimationTimeOut = 120;
1
+ export declare const easing: number[];
2
+ export declare const DialogAnimationTimeIn = 0.25;
3
+ export declare const DialogAnimationTimeOut = 0.12;
3
4
  export declare const overlay: string;
4
- export declare const overlayInAnimation: string;
5
- export declare const overlayOutAnimation: string;
6
5
  export declare const content: string;
7
- export declare const contentSlideUpAnimation: string;
8
- export declare const contentSlideOutAnimation: string;
9
6
  export declare const dydxTitle: string;
10
7
  export declare const titleContainer: string;
11
8
  /** Content that shouls overflow into topbar */
@@ -4,6 +4,7 @@ export { CHECKOUT_MODAL_BOTTOM_BAR_ID, CHECKOUT_MODAL_TITLE_COUNTDOWN_ID, useBot
4
4
  interface DialogProps {
5
5
  open: boolean;
6
6
  onClose: () => void;
7
+ onAnimationComplete?: () => void;
7
8
  titleId: string;
8
9
  onMountAutoFocus?: (event: Event) => void;
9
10
  children: ReactNode;
@@ -19,7 +20,7 @@ interface DialogProps {
19
20
  /**
20
21
  * Dialog components (title, content, bottom bar) must be rendered as direct children of Dialog for correct scrolling behavior
21
22
  */
22
- export declare function Dialog({ children, onClose, open, titleId, isHidden, isSmartCloseable, withoutInternalPadding, withTransition, }: DialogProps): React.JSX.Element;
23
+ export declare function Dialog({ children, onClose, onAnimationComplete, open, titleId, isHidden, isSmartCloseable, withoutInternalPadding, withTransition, }: DialogProps): React.ReactPortal | null;
23
24
  export declare namespace Dialog {
24
25
  var Title: ({ title, titleMeta, hasCloseButton: hasCloseButtonProp, isCloseDisabled, onClose, hasBackButton: hasBackButtonProp, helpButtonUrl, isBackDisabled, onBack, dydxHideBack, className, }: DialogTitleProps) => React.JSX.Element;
25
26
  var Content: ({ children, fullHeight, paddingLeft, paddingBottom, paddingTop, className, withTopDivider, withBottomDivider, id, withoutInternalPadding, ...boxProps }: DialogContentProps) => React.JSX.Element;
@@ -6,6 +6,7 @@ interface ReceiveTokenDropdownProps {
6
6
  onTokenSelected: (token: DynamicTargetAssetCandidate) => void;
7
7
  selectedToken?: string;
8
8
  label?: string;
9
+ activeItemLabel?: string;
9
10
  }
10
- export declare const ReceiveTokenDropdown: ({ tokens, chainId, selectedToken, onTokenSelected, label, }: ReceiveTokenDropdownProps) => React.JSX.Element;
11
+ export declare const ReceiveTokenDropdown: ({ tokens, chainId, selectedToken, onTokenSelected, label, activeItemLabel, }: ReceiveTokenDropdownProps) => React.JSX.Element;
11
12
  export {};
@@ -6,9 +6,10 @@ interface FunCheckoutHistoryContentProps {
6
6
  onHelp: () => void;
7
7
  onBackFromHelpPage: () => void;
8
8
  onClose: () => void;
9
+ onAnimationComplete?: (callback: () => void) => void;
9
10
  /** Element ID to be used to mount the CTA action bar */
10
11
  bottomBarId: string;
11
12
  includeGenerateActionsParams?: boolean;
12
13
  }
13
- export declare function FunCheckoutHistoryContent({ depositAddress, currentPage, bottomBarId, onHelp, onBackFromHelpPage, onClose, includeGenerateActionsParams, }: FunCheckoutHistoryContentProps): React.JSX.Element;
14
+ export declare function FunCheckoutHistoryContent({ depositAddress, currentPage, bottomBarId, onHelp, onBackFromHelpPage, onClose, onAnimationComplete, includeGenerateActionsParams, }: FunCheckoutHistoryContentProps): React.JSX.Element;
14
15
  export {};
@@ -6,6 +6,7 @@ interface FunCheckoutHistoryDetailProps {
6
6
  onClose: (options?: {
7
7
  isNewDeposit?: boolean;
8
8
  }) => void;
9
+ onAnimationComplete?: (callback: () => void) => void;
9
10
  /** Element ID to be used to mount the CTA action bar */
10
11
  bottomBarId: string;
11
12
  includeGenerateActionsParams?: boolean;
@@ -13,5 +14,5 @@ interface FunCheckoutHistoryDetailProps {
13
14
  /**
14
15
  * Processing info about a checkout history item (already created in backend)
15
16
  */
16
- export declare function FunCheckoutHistoryDetail({ checkoutHistoryInfo, onHelp, onClose, bottomBarId, includeGenerateActionsParams, }: FunCheckoutHistoryDetailProps): React.JSX.Element;
17
+ export declare function FunCheckoutHistoryDetail({ checkoutHistoryInfo, onHelp, onClose, onAnimationComplete, bottomBarId, includeGenerateActionsParams, }: FunCheckoutHistoryDetailProps): React.JSX.Element;
17
18
  export {};
@@ -1,14 +1,14 @@
1
- import { type DirectExecution } from '@funkit/api-base';
1
+ import type { DirectExecution } from '@funkit/api-base';
2
2
  import React from 'react';
3
- export declare function FunDirectExecutionHistoryDetail({ bottomBarId, directExecution, includeGenerateActionsParams, onClose, }: {
3
+ export declare function FunDirectExecutionHistoryDetail({ bottomBarId, directExecution, includeGenerateActionsParams, onClose, onAnimationComplete, }: {
4
4
  bottomBarId: string;
5
5
  directExecution: DirectExecution;
6
6
  includeGenerateActionsParams?: boolean;
7
7
  onClose: (options?: {
8
8
  isNewDeposit?: boolean;
9
9
  }) => void;
10
+ onAnimationComplete?: (callback: () => void) => void;
10
11
  }): React.JSX.Element;
11
- export declare function DirectExecutionOrderDetailSection({ directExecution, showRelayLink, }: {
12
+ export declare function DirectExecutionOrderDetailSection({ directExecution, }: {
12
13
  directExecution: DirectExecution;
13
- showRelayLink: boolean;
14
14
  }): React.JSX.Element;
@@ -10,11 +10,11 @@ export interface FunPaymentMethodItemProps {
10
10
  keyText: string;
11
11
  valueIcon?: ReactNode;
12
12
  disclaimerText?: string;
13
- badgeText?: string;
13
+ badge?: ReactNode;
14
14
  onClick?: () => void;
15
15
  isError?: boolean;
16
16
  isDisabled?: boolean;
17
17
  isActive?: boolean;
18
18
  }
19
- export declare const FunPaymentMethodItem: ({ keyIcon, keyText, valueIcon, disclaimerText, badgeText, onClick, isError, isDisabled, isActive, }: FunPaymentMethodItemProps) => React.JSX.Element;
19
+ export declare const FunPaymentMethodItem: ({ keyIcon, keyText, valueIcon, disclaimerText, badge, onClick, isError, isDisabled, isActive, }: FunPaymentMethodItemProps) => React.JSX.Element;
20
20
  export {};
@@ -1,2 +1,4 @@
1
1
  import React from 'react';
2
- export declare const LockIcon: () => React.JSX.Element;
2
+ export declare const LockIcon: ({ size }: {
3
+ size?: number;
4
+ }) => React.JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  export declare const BankIcon: ({ size }: {
3
- size: number;
3
+ size?: number;
4
4
  }) => React.JSX.Element;
5
5
  export declare const BankIconActive: ({ size }: {
6
- size: number;
6
+ size?: number;
7
7
  }) => React.JSX.Element;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare const LinkExternalIcon: ({ size }: {
3
+ size?: number;
4
+ }) => React.JSX.Element;
@@ -0,0 +1,12 @@
1
+ import type { MeldQuote, MeldServiceProvider } from '@funkit/api-base';
2
+ import React from 'react';
3
+ export declare const providerLabelMap: Record<MeldServiceProvider, string>;
4
+ export interface MeldQuoteItemProps {
5
+ badge?: string;
6
+ quote: MeldQuote | undefined;
7
+ onClick?: () => void;
8
+ isError?: boolean;
9
+ isDisabled?: boolean;
10
+ isActive?: boolean;
11
+ }
12
+ export declare const MeldQuoteItem: ({ quote, badge, onClick, isDisabled, isActive, }: MeldQuoteItemProps) => React.JSX.Element;
@@ -0,0 +1,13 @@
1
+ import type { MeldQuote } from '@funkit/api-base';
2
+ import React from 'react';
3
+ interface SourceMeldQuoteItemProps {
4
+ quote?: MeldQuote;
5
+ onClick?: () => void;
6
+ isLoading?: boolean;
7
+ isBestQuote?: boolean;
8
+ isPreselected?: boolean;
9
+ disabled?: boolean;
10
+ error?: string;
11
+ }
12
+ export declare const SourceMeldQuoteItem: ({ quote, onClick, isLoading, isBestQuote, isPreselected, disabled, error, }: SourceMeldQuoteItemProps) => React.JSX.Element;
13
+ export {};
@@ -5,7 +5,7 @@ export type Tab<T = string> = {
5
5
  };
6
6
  export type TabsProps = {
7
7
  tabs: Tab[];
8
- activeTab: string;
9
- onTabChange: (tab: string) => void;
8
+ activeTab: number;
9
+ onTabChange: (tab: number) => void;
10
10
  };
11
11
  export declare const Tabs: React.FC<TabsProps>;
@@ -0,0 +1 @@
1
+ export declare const activeTabStyle: string;
@@ -0,0 +1,9 @@
1
+ import type { BridgeVirtualBankAccount } from '@funkit/api-base';
2
+ import React from 'react';
3
+ interface AccountDetailsTabProps {
4
+ account: BridgeVirtualBankAccount['source_deposit_instructions'];
5
+ detailsExpanded: boolean;
6
+ handleToggleDetails: () => void;
7
+ }
8
+ export declare const AccountDetailsTab: React.FC<AccountDetailsTabProps>;
9
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare const getMeldProviderIconUrl: (provider: string) => string;
2
+ /** Utilizes locale formatting to get currency symbol out of a currency code */
3
+ export declare const getCurrencySymbol: (currencyCode: string) => string;
@@ -1 +1,2 @@
1
1
  export declare const hideScrollBar: string;
2
+ export declare const selectWrapperStyle: string;
@@ -3,6 +3,7 @@ import type { FunkitCheckoutConfig } from '~/providers/FunkitCheckoutContext';
3
3
  import { LoginType } from '~/providers/GeneralWalletProvider';
4
4
  import type { AssetHoldingsItem } from '~/utils/assets';
5
5
  import { PaymentMethod } from '../domains/paymentMethods';
6
+ export declare const isStablecoin: (symbol: string) => boolean;
6
7
  export declare function isNativeTokenAddress(address: Address): boolean;
7
8
  export declare function isDefaultToken(asset: AssetHoldingsItem, checkoutConfig: FunkitCheckoutConfig): boolean;
8
9
  export declare const isPolygonEcosystemToken: (chainId: string, tokenAddress: string) => boolean;
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Make sure it is SERIALIZABLE and BACKWARD COMPATIBLE!!
6
6
  */
7
- import type { ApiCheckoutClientMetadata, ApiSelectedPaymentMethodInfo } from '@funkit/api-base';
7
+ import type { ApiCheckoutClientMetadata, ApiSelectedPaymentMethodInfo } from '@funkit/utils';
8
8
  import type { FunkitActiveCheckoutItem, FunkitCheckoutActionParams, FunkitCheckoutConfig } from '~/providers/FunkitCheckoutContext';
9
9
  import { type PaymentMethodInfo } from './paymentMethods';
10
10
  import type { FunkitCheckoutQuoteResult } from './quote';
@@ -1,4 +1,4 @@
1
- import { type CheckoutQuoteResponse } from '@funkit/api-base';
1
+ import { type CheckoutQuoteResponse } from '@funkit/utils';
2
2
  import type { Config } from 'wagmi';
3
3
  import { LoginType } from '~/providers/GeneralWalletProvider';
4
4
  import type { FunkitActiveCheckoutItem } from '../providers/FunkitCheckoutContext';
@@ -2,7 +2,7 @@ import type { BridgeCustomer, BridgeVirtualBankAccount, PreviewTransferResult }
2
2
  import type { MeshConnectionInfo } from '~/providers/FunkitMeshProvider';
3
3
  /** Supported payment methods in FunkitConnect. **/
4
4
  export declare enum PaymentMethod {
5
- /** MoonPay - Credit / Debit Card **/
5
+ /** Meld - Credit / Debit Card **/
6
6
  CARD = "card",
7
7
  /** Account Balance **/
8
8
  ACCOUNT_BALANCE = "balance",
@@ -1,4 +1,4 @@
1
- import { type ApiFunkitCheckoutQuoteResult, type CheckoutQuoteResponse } from '@funkit/api-base';
1
+ import type { ApiFunkitCheckoutQuoteResult, CheckoutQuoteResponse } from '@funkit/utils';
2
2
  import type { Address } from 'viem';
3
3
  import type { Config } from 'wagmi';
4
4
  import type { FunkitActiveCheckoutItem } from '~/providers/FunkitCheckoutContext';
@@ -0,0 +1 @@
1
+ export declare function useMeldCryptoCurrencyCode(): string;
@@ -0,0 +1 @@
1
+ export declare const useMeldCurrencies: () => import("@tanstack/react-query").UseQueryResult<import("@funkit/api-base").MeldFiatCurrency[], Error>;
@@ -0,0 +1,5 @@
1
+ import { PaymentMethod } from '~/domains/paymentMethods';
2
+ /**
3
+ * @param paymentMethod - Only runs when PaymentMethod.CARD is provided
4
+ */
5
+ export declare const useMeldDefaultCurrency: (paymentMethod: PaymentMethod) => import("@tanstack/react-query").UseQueryResult<string, Error>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @param fiatCurrency - fiat currency code used just to enable/disable this hook
3
+ * @returns limits for all fiat currencies
4
+ */
5
+ export declare const useMeldLimits: (fiatCurrency?: string) => import("@tanstack/react-query").UseQueryResult<import("@funkit/api-base").MeldFiatCurrencyLimit[] | undefined, Error>;
6
+ type MeldLimitError = {
7
+ issue: string;
8
+ suggestion: string;
9
+ };
10
+ export declare const useMeldLimitError: (amount: number, fiatCurrency?: string) => MeldLimitError | undefined;
11
+ export {};
@@ -3,7 +3,7 @@ export declare const ANIMATION_DELAY = 75;
3
3
  * @param isInitialStep utilizes the old scale-in for initial display. Based on this boolean and animation state.
4
4
  * @returns className to be applied on the animatable content
5
5
  */
6
- export declare const getContentAnimation: ({ isOut, isReversed, isSkipped }: AnimationState, isInitialStep: boolean) => string | undefined;
6
+ export declare const getContentAnimation: ({ isOut, isReversed, isSkipped }: AnimationState, isInitialStep?: boolean) => string | undefined;
7
7
  interface AnimatedNavigationResponse<T> {
8
8
  animation: AnimationState;
9
9
  navigateTo: (page: T, params?: AnimationParams) => void;
@@ -1,4 +1,5 @@
1
- import { type CheckoutQuoteResponse, DirectExecutionType } from '@funkit/api-base';
1
+ import { DirectExecutionType } from '@funkit/api-base';
2
+ import { type CheckoutQuoteResponse } from '@funkit/utils';
2
3
  import type { Address, Hex } from 'viem';
3
4
  import { PaymentMethod } from '~/domains/paymentMethods';
4
5
  import type { FunkitCheckoutQuoteResult } from '~/domains/quote';
@@ -5,4 +5,8 @@ export interface UseCountdownResult {
5
5
  isLastSecond: boolean;
6
6
  restartCountdown(): void;
7
7
  }
8
- export declare function useCountdown({ onCountdownEnded, ...props }: Omit<FunCountdownProps, 'onCountdownLastSecond'>): UseCountdownResult;
8
+ interface UseCountdownOptions extends Omit<FunCountdownProps, 'onCountdownLastSecond'> {
9
+ autoRestart?: boolean;
10
+ }
11
+ export declare function useCountdown({ onCountdownEnded, autoRestart, ...props }: UseCountdownOptions): UseCountdownResult;
12
+ export {};
@@ -1,4 +1,4 @@
1
- export declare const useDynamicFont: (inputValue: string, max: number, min?: number) => {
1
+ export declare const useDynamicFont: (inputValue: string, max?: number, min?: number) => {
2
2
  ref: import("react").RefObject<HTMLInputElement>;
3
3
  fontSize: number;
4
4
  resetText: () => void;
@@ -1,6 +1,7 @@
1
1
  import { type ConnectablePaymentMethodInfo, PaymentMethod } from '~/domains/paymentMethods';
2
2
  import type { FunkitCheckoutConfig } from '~/providers/FunkitCheckoutContext';
3
3
  export declare const usePaymentSources: (paymentMethodInfo: ConnectablePaymentMethodInfo | null, targetChainId: string, checkoutConfig?: FunkitCheckoutConfig) => {
4
+ promoted: PaymentMethod | undefined;
4
5
  preferred: (import("~/domains/paymentMethods").PaymentMethodBrokerageInfo | import("~/domains/paymentMethods").PaymentMethodAccountInfo | import("~/domains/paymentMethods").PaymentMethodVirtualBankInfo)[] | PaymentMethod[];
5
6
  moreSources: PaymentMethod[];
6
7
  };
package/dist/index.css CHANGED
@@ -8170,7 +8170,7 @@
8170
8170
  }
8171
8171
  }
8172
8172
 
8173
- /* vanilla-extract-css-ns:src/components/Dialog/DialogContent.css.ts.vanilla.css?source=#H4sIAAAAAAAAE7VVy67aMBDd36+w1A0sjEIgXK7ZVP2G7quJPRALx45sB5JW/HuVB2leqLmqukI+zDlnnHl482Ob/fT7cLclv94ISaGgCcpL4hmJwigrTi14l8InjGyD4HavsPa8j4Iq5vG26XRYAm71RZSioBmUKWpP3V16nqBdTzwO79E835srauotaHdGSzO44JR9DF+wzxI8FehBqsXUsImR+nnX3TFo7j889yi7z1P2NSUDIaS+0Nh4b1JGglMPtE2GA0zhuYF6Uoexu9TSS1A9fw6Kr+qaEUp2QVasT+PvELhbMpT9VAGPQUVfqLmsqDOKH9ELxQWFXiR3rHnmhvaszJ0WjCRSCNSnPloyArk3Fea4NUrFYOkl9x4tI85DrHD4X1uFXDv0QzvG6B3jq/TV1+DX2j0Gfr1Yk2tBuVHGMnIDu6LUXpuzo6kRoL51YetXml0Gta6QLlNQdnl03XFoevU/+FKf5Gnc3MpYgZZaEDJ3PekKkI3yelkWHq2XYMvvWPhhCh9/SeHfLvhanSVVbyz0cMiNFrP5w7BOZ4V1YapfKqRF7qXRjHCj8rRuyWcjV6M9bOR4sF+6tTG3XXosXrPqwZSNl8mAS1+SYBM6guCQSk1NPmxjMaGBUiTYRCPKcPrCqF2Sz8H6M2w9bZxMcsua2u1bu9ZrTvZrikJCNZqImoAWZNVbnO+HY1Y0q2MzfA/HDx0hj35Q2AbNPQHjR2BE3U2p+3BM7ZDH2+M3T90ujKoHAAA= */
8173
+ /* vanilla-extract-css-ns:src/components/Dialog/DialogContent.css.ts.vanilla.css?source=#H4sIAAAAAAAAE7VVy67aMBDd8xWWuoGFUQiEyw2bqt/QfTWxJ8TCsSPbgaQV/17lQZoXalDVFfIw55yJ58x4+2OX/XQHf78jv1aEpFDQBMUlcSEJ/CArzm3wLrhLQrLzvNu9irXnQ+BVOY/VtuMJE7DrL7zkBc2gTFE5au/CsQTNZqJx/Ajm8U5fUVFnQNkYDc3gglP0yX+BjgU4ytGBkO9CmVaxMCk4odVirN/kCPW8p/3Ja+5ueO5B9u9DDjUkA86FutBIO6fTkHjnXtA0FQ5iEuMm1KM6jtWFEk6A7OkzkGxd95tQsveyYnMe34Nnb8mQ9q3mn7wKvpBzmSFmGD+DF4wLTLKI7lTj9A1NLPWdFiFJBOeozv1oGRLIna5ilhktZQSGXnLn0ITEOogkDv9ru5Ari24oF4b0jtFVuOo22LVWj4BdL0bnilOmpTYhuYFZU2quzdnSVHOQ37q0zSvOroKalwubSSi7Ojp3HBuv/gdd6pI8jZqv0oajoQa4yG2PugqIhnmzrAqHxgkw5Xcs3LCEz7+U8G8f+Jo9TCpvLNSwyLTis/XDsE+xxLox1S/lwiCrFllImJZ5WlvyaeRqtIdGjgb7pVsbc9ulh2I1qh5M0WjpDJhwJfG2viUIFqlQVOdDG/MJDKQk3jYYQYbT5wftknwO1p9h63HjZJJb1FTu0Mq1WnO0X1PkAqrRRFQEFCfr3uL8OJ6yolkd2+FbOn4kCXn0k/w2ae4JGD8CI+h+Cj34Y2gXeawevwFCTYtC5gcAAA== */
8174
8174
  [data-rk] ._1pzt4231 {
8175
8175
  max-height: 525px;
8176
8176
  max-width: 100vw;
@@ -8185,6 +8185,9 @@
8185
8185
  [data-rk] ._1pzt4231:has(#fiat-detail-page) {
8186
8186
  max-height: 825px;
8187
8187
  }
8188
+ [data-rk] ._1pzt4231:has(#confirmation-page) {
8189
+ max-height: 825px;
8190
+ }
8188
8191
  [data-rk] ._1pzt4232 {
8189
8192
  min-width: 380px;
8190
8193
  width: 380px;
@@ -8363,40 +8366,8 @@
8363
8366
  --_7rkubb1: 0.9;
8364
8367
  }
8365
8368
 
8366
- /* vanilla-extract-css-ns:src/components/Dialog/Dialog.css.ts.vanilla.css?source=#H4sIAAAAAAAAE52T3W6jMBCF7/MUc1MplXBkk0Aa96bPsTcrA0MyW2Mj7DQ/Vd99hcMGaEub7RXYHn/neHz89IynslEVOvgtmocyWXN4nQHwu/AB8I0yrrRNJcHlSuOcLzbJ/eMM4G0GIPh0oeiq3mZPH0TENyLiJoWBlc9E4rGIrVVO/iSBf8K+Lopp3nKCJ77i8X+8RUdJQkVmvbeVBBZzXh/bGo2lH45rVRRkthKuMw1td6MSb+vRsO9P+NXK4685Dx06MzIFHiXEYrVePSzTVfo4MJUGU8pQpTxZI/sWxgmvHOT7jHKW4ZmwmfPFMgIeAV/wNIL2qnrQegK0BBH/F2gTQJU6sgMVfifb5r4chhVqQorf4jn68QmzCVlxywmjH/cjD7KlNZ45OqOEOO5yQwbZDi/ZiDej8LBLqNJ2skcVAVWQq7U6SSg1hj1K09Yw8lg5CTkaj007/WfvPJUnllvj0XgJrlY5sgz9AdG0Fd0FlXut22HLY27XkHnu4l+RuTpM3pkpg5naOrp0U2XO6r3H/knwQfb5KMtiCNq+AzWolacXHKd/uINGL5F/oRge2libteJ/AUbqdJs+BQAA */
8367
- @keyframes _1r8f570 {
8368
- 0% {
8369
- transform: scale(0.95);
8370
- }
8371
- 100% {
8372
- transform: scale(1);
8373
- }
8374
- }
8375
- @keyframes _1r8f571 {
8376
- 0% {
8377
- transform: scale(1);
8378
- }
8379
- 100% {
8380
- transform: scale(0.95);
8381
- }
8382
- }
8383
- @keyframes _1r8f572 {
8384
- 0% {
8385
- opacity: 0;
8386
- }
8387
- 100% {
8388
- opacity: 1;
8389
- }
8390
- }
8391
- @keyframes _1r8f573 {
8392
- 0% {
8393
- opacity: 1;
8394
- }
8395
- 100% {
8396
- opacity: 0;
8397
- }
8398
- }
8399
- [data-rk] ._1r8f575 {
8369
+ /* vanilla-extract-css-ns:src/components/Dialog/Dialog.css.ts.vanilla.css?source=Ll8xcjhmNTcxIHsKICBib3R0b206IC0yMDBweDsKICBsZWZ0OiAtMjAwcHg7CiAgcGFkZGluZzogMjAwcHg7CiAgcmlnaHQ6IC0yMDBweDsKICB0b3A6IC0yMDBweDsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CiAgei1pbmRleDogMjE0NzQ4MzY0NjsKfQouXzFyOGY1NzMgewogIG1heC13aWR0aDogMTAwdnc7Cn0KLl8xcjhmNTc0IHsKICBmb250LXNpemU6IDIycHg7CiAgbGluZS1oZWlnaHQ6IDI5cHg7CiAgcGFkZGluZy1sZWZ0OiA2cHg7Cn0KLl8xcjhmNTc1IHsKICBkaXNwbGF5OiBmbGV4OwogIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogIHdpZHRoOiBmdWxsOwogIGZsZXgtc2hyaW5rOiAwOwogIG1pbi1oZWlnaHQ6IDU2cHg7Cn0KLl8xcjhmNTc3IHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB6LWluZGV4OiAxOwp9Ci5fMXI4ZjU3OCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7Cn0KLl8xcjhmNTdhIHsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB0b3A6IDA7CiAgei1pbmRleDogLTE7Cn0= */
8370
+ [data-rk] ._1r8f571 {
8400
8371
  bottom: -200px;
8401
8372
  left: -200px;
8402
8373
  padding: 200px;
@@ -8405,27 +8376,15 @@
8405
8376
  transform: translateZ(0);
8406
8377
  z-index: 2147483646;
8407
8378
  }
8408
- [data-rk] ._1r8f576 {
8409
- animation: _1r8f572 250ms cubic-bezier(0.3, 0, 0.06, 1);
8410
- }
8411
- [data-rk] ._1r8f577 {
8412
- animation: _1r8f573 120ms cubic-bezier(0.3, 0, 0.06, 1);
8413
- }
8414
- [data-rk] ._1r8f579 {
8379
+ [data-rk] ._1r8f573 {
8415
8380
  max-width: 100vw;
8416
8381
  }
8417
- [data-rk] ._1r8f57a {
8418
- animation: _1r8f570 250ms cubic-bezier(0.3, 0, 0.06, 1), _1r8f572 250ms cubic-bezier(0.3, 0, 0.06, 1);
8419
- }
8420
- [data-rk] ._1r8f57b {
8421
- animation: _1r8f571 120ms cubic-bezier(0.3, 0, 0.06, 1), _1r8f573 120ms cubic-bezier(0.3, 0, 0.06, 1);
8422
- }
8423
- [data-rk] ._1r8f57c {
8382
+ [data-rk] ._1r8f574 {
8424
8383
  font-size: 22px;
8425
8384
  line-height: 29px;
8426
8385
  padding-left: 6px;
8427
8386
  }
8428
- [data-rk] ._1r8f57d {
8387
+ [data-rk] ._1r8f575 {
8429
8388
  display: flex;
8430
8389
  align-items: center;
8431
8390
  justify-content: space-between;
@@ -8433,17 +8392,17 @@
8433
8392
  flex-shrink: 0;
8434
8393
  min-height: 56px;
8435
8394
  }
8436
- [data-rk] ._1r8f57f {
8395
+ [data-rk] ._1r8f577 {
8437
8396
  position: absolute;
8438
8397
  left: 0;
8439
8398
  right: 0;
8440
8399
  z-index: 1;
8441
8400
  }
8442
- [data-rk] ._1r8f57g {
8401
+ [data-rk] ._1r8f578 {
8443
8402
  position: relative;
8444
8403
  z-index: 2;
8445
8404
  }
8446
- [data-rk] ._1r8f57i {
8405
+ [data-rk] ._1r8f57a {
8447
8406
  bottom: 0;
8448
8407
  left: 0;
8449
8408
  right: 0;
@@ -8822,6 +8781,41 @@
8822
8781
  transform: rotate(-90deg);
8823
8782
  }
8824
8783
 
8784
+ /* vanilla-extract-css-ns:src/components/SourcePaymentMethodItem/SourcePaymentMethodItem.css.ts.vanilla.css?source=Ll8xeW9mZWZsMCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtaW4td2lkdGg6IDdweDsKfQouXzF5b2ZlZmwxIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLl8xeW9mZWZsMSAuXzF5b2ZlZmwyIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50IDYzLjE2JSwgdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCkgOTEuNDUlKTsKfQouXzF5b2ZlZmwxOmhvdmVyIC5fMXlvZmVmbDIgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQgNjMuMTYlLCB2YXIoLS1yay1jb2xvcnMtb2ZmQmFja2dyb3VuZCkgOTEuNDUlKTsKfQ== */
8785
+ [data-rk] ._1yofefl0 {
8786
+ display: inline-flex;
8787
+ align-items: center;
8788
+ justify-content: center;
8789
+ min-width: 7px;
8790
+ }
8791
+ [data-rk] ._1yofefl1 {
8792
+ position: relative;
8793
+ }
8794
+ [data-rk] ._1yofefl1 ._1yofefl2 {
8795
+ background:
8796
+ linear-gradient(
8797
+ 90deg,
8798
+ transparent 63.16%,
8799
+ var(--rk-colors-modalBackground) 91.45%);
8800
+ }
8801
+ [data-rk] ._1yofefl1:hover ._1yofefl2 {
8802
+ background:
8803
+ linear-gradient(
8804
+ 90deg,
8805
+ transparent 63.16%,
8806
+ var(--rk-colors-offBackground) 91.45%);
8807
+ }
8808
+
8809
+ /* vanilla-extract-css-ns:src/css/scrollStyles.css.ts.vanilla.css?source=Ll8xNjNlaG1rMDo6LXdlYmtpdC1zY3JvbGxiYXIgewogIGRpc3BsYXk6IG5vbmU7Cn0KLl8xNjNlaG1rMSB7CiAgbWF4LWhlaWdodDogMzYwcHg7CiAgb3ZlcmZsb3cteTogYXV0bzsKICBvdmVyZmxvdy14OiBoaWRkZW47Cn0= */
8810
+ [data-rk] ._163ehmk0::-webkit-scrollbar {
8811
+ display: none;
8812
+ }
8813
+ [data-rk] ._163ehmk1 {
8814
+ max-height: 360px;
8815
+ overflow-y: auto;
8816
+ overflow-x: hidden;
8817
+ }
8818
+
8825
8819
  /* vanilla-extract-css-ns:src/components/FunPayments/FunPaymentMoonpayType.css.ts.vanilla.css?source=Ll8xa21wZXlmMCB7CiAgaGVpZ2h0OiB1bnNldCAhaW1wb3J0YW50OwogIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50OwogIGZsZXg6IDEgIWltcG9ydGFudDsKfQouXzFrbXBleWYwIGlmcmFtZSB7CiAgYm9yZGVyOiBub25lOwp9Ci5fMWttcGV5ZjEgewogIGRpc3BsYXk6IGZsZXg7CiAgZmxleDogMTsKfQ== */
8826
8820
  [data-rk] ._1kmpeyf0 {
8827
8821
  height: unset !important;
@@ -8883,43 +8877,6 @@
8883
8877
  opacity: 0.5;
8884
8878
  }
8885
8879
 
8886
- /* vanilla-extract-css-ns:src/components/SourcePaymentMethodItem/SourcePaymentMethodItem.css.ts.vanilla.css?source=Ll8xeW9mZWZsMCB7CiAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICBtaW4td2lkdGg6IDdweDsKfQouXzF5b2ZlZmwxIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLl8xeW9mZWZsMSAuXzF5b2ZlZmwyIHsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50IDYzLjE2JSwgdmFyKC0tcmstY29sb3JzLW1vZGFsQmFja2dyb3VuZCkgOTEuNDUlKTsKfQouXzF5b2ZlZmwxOmhvdmVyIC5fMXlvZmVmbDIgewogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgdHJhbnNwYXJlbnQgNjMuMTYlLCB2YXIoLS1yay1jb2xvcnMtb2ZmQmFja2dyb3VuZCkgOTEuNDUlKTsKfQ== */
8887
- [data-rk] ._1yofefl0 {
8888
- display: inline-flex;
8889
- align-items: center;
8890
- justify-content: center;
8891
- min-width: 7px;
8892
- }
8893
- [data-rk] ._1yofefl1 {
8894
- position: relative;
8895
- }
8896
- [data-rk] ._1yofefl1 ._1yofefl2 {
8897
- background:
8898
- linear-gradient(
8899
- 90deg,
8900
- transparent 63.16%,
8901
- var(--rk-colors-modalBackground) 91.45%);
8902
- }
8903
- [data-rk] ._1yofefl1:hover ._1yofefl2 {
8904
- background:
8905
- linear-gradient(
8906
- 90deg,
8907
- transparent 63.16%,
8908
- var(--rk-colors-offBackground) 91.45%);
8909
- }
8910
-
8911
- /* vanilla-extract-css-ns:src/css/scrollStyles.css.ts.vanilla.css?source=Ll8xNjNlaG1rMDo6LXdlYmtpdC1zY3JvbGxiYXIgewogIGRpc3BsYXk6IG5vbmU7Cn0= */
8912
- [data-rk] ._163ehmk0::-webkit-scrollbar {
8913
- display: none;
8914
- }
8915
-
8916
- /* vanilla-extract-css-ns:src/components/FunSelectBrokerage/FunSelectBrokerage.css.ts.vanilla.css?source=Ll8xd2h1bGR2MCB7CiAgbWF4LWhlaWdodDogMjIwcHg7CiAgb3ZlcmZsb3cteTogYXV0bzsKICBvdmVyZmxvdy14OiBoaWRkZW47Cn0= */
8917
- [data-rk] ._1whuldv0 {
8918
- max-height: 220px;
8919
- overflow-y: auto;
8920
- overflow-x: hidden;
8921
- }
8922
-
8923
8880
  /* vanilla-extract-css-ns:src/components/CopyAddress/CopyInputDisplayedAddress.css.ts.vanilla.css?source=Ll8xa2J6ZWk5MyB7CiAgb3V0bGluZS1jb2xvcjogdmFyKC0tcmstY29sb3JzLWFjdGlvbkNvbG9yRGlzYWJsZWQpOwogIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHZhcigtLXJrLXJhZGlpLWNvbm5lY3RCdXR0b24pOwogIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiB2YXIoLS1yay1yYWRpaS1jb25uZWN0QnV0dG9uKTsKICB0cmFuc2l0aW9uOiBhbGwgMTUwbXMgY3ViaWMtYmV6aWVyKDAuMywgMCwgMC4wNiwgMSk7Cn0= */
8924
8881
  [data-rk] ._1kbzei93 {
8925
8882
  outline-color: var(--rk-colors-actionColorDisabled);
@@ -8934,6 +8891,12 @@
8934
8891
  transition: all 150ms cubic-bezier(0.3, 0, 0.06, 1);
8935
8892
  }
8936
8893
 
8894
+ /* vanilla-extract-css-ns:src/components/Tabs/tabs.css.ts.vanilla.css?source=LmVnaGkydDEgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBpbnNldDogMDsKfQ== */
8895
+ [data-rk] .eghi2t1 {
8896
+ position: absolute;
8897
+ inset: 0;
8898
+ }
8899
+
8937
8900
  /* vanilla-extract-css-ns:src/components/GradientLoader/GradientLoader.css.ts.vanilla.css?source=QGtleWZyYW1lcyBtMTd1d28wIHsKICB0byB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7CiAgfQp9Ci5tMTd1d28xIHsKICBhbmltYXRpb246IG0xN3V3bzAgNHMgbGluZWFyIGluZmluaXRlOwogIG1hc2s6IGNvbmljLWdyYWRpZW50KCMwMDAwIDEwJSwjMDAwKSwgbGluZWFyLWdyYWRpZW50KCMwMDAgMCAwKSBjb250ZW50LWJveDsKICBtYXNrLWNvbXBvc2l0ZTogc3VidHJhY3Q7Cn0= */
8938
8901
  @keyframes m17uwo0 {
8939
8902
  to {