@rango-dev/ui 0.8.1-next.9 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/dist/index.js.map +2 -2
- package/dist/widget/ui/src/components/Alert/Alert.d.ts +2 -2
- package/dist/widget/ui/src/components/Alert/Alert.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Alert/Alert.stories.d.ts +1 -1
- package/dist/widget/ui/src/components/Alert/Alert.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Alert/LoadingFailedAlert.d.ts +2 -2
- package/dist/widget/ui/src/components/Alert/LoadingFailedAlert.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Alert/NotFoundAlert.d.ts +2 -2
- package/dist/widget/ui/src/components/Alert/NotFoundAlert.d.ts.map +1 -1
- package/dist/widget/ui/src/components/BestRoute/BestRoute.d.ts +2 -2
- package/dist/widget/ui/src/components/BestRoute/BestRoute.d.ts.map +1 -1
- package/dist/widget/ui/src/components/BestRoute/BestRoute.stories.d.ts +4 -4
- package/dist/widget/ui/src/components/BestRoute/BestRoute.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/BlockchainsList/BlockchainsList.d.ts +2 -2
- package/dist/widget/ui/src/components/BlockchainsList/BlockchainsList.d.ts.map +1 -1
- package/dist/widget/ui/src/components/BlockchainsList/BlockchainsList.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/BlockchainsList/BlockchainsList.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/BottomLogo/BottomLogo.d.ts +2 -2
- package/dist/widget/ui/src/components/BottomLogo/BottomLogo.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Button/Button.d.ts +1 -1
- package/dist/widget/ui/src/components/Button/Button.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Button/Button.stories.d.ts +4 -4
- package/dist/widget/ui/src/components/Button/Button.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/ChangeSlippageButton/ChangeSlippageButton.d.ts +2 -2
- package/dist/widget/ui/src/components/ChangeSlippageButton/ChangeSlippageButton.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Checkbox/Checkbox.d.ts +2 -2
- package/dist/widget/ui/src/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Checkbox/Checkbox.stories.d.ts +1 -1
- package/dist/widget/ui/src/components/Checkbox/Checkbox.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Chip/Chip.d.ts +1 -1
- package/dist/widget/ui/src/components/Chip/Chip.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Chip/Chip.stories.d.ts +4 -4
- package/dist/widget/ui/src/components/Chip/Chip.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/ColorPicker/ColorPicker.d.ts +2 -2
- package/dist/widget/ui/src/components/ColorPicker/ColorPicker.d.ts.map +1 -1
- package/dist/widget/ui/src/components/ColorPicker/ColorPicker.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/ColorPicker/ColorPicker.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Divider/Divider.d.ts +2 -2
- package/dist/widget/ui/src/components/Divider/Divider.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Drawer/Drawer.d.ts +1 -1
- package/dist/widget/ui/src/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Drawer/Drawer.stories.d.ts +5 -5
- package/dist/widget/ui/src/components/Drawer/Drawer.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Header/Header.d.ts +1 -1
- package/dist/widget/ui/src/components/Header/Header.d.ts.map +1 -1
- package/dist/widget/ui/src/components/HeaderButtons/HeaderButtons.d.ts +2 -2
- package/dist/widget/ui/src/components/HeaderButtons/HeaderButtons.d.ts.map +1 -1
- package/dist/widget/ui/src/components/I18nManager/I18nManager.d.ts +2 -1
- package/dist/widget/ui/src/components/I18nManager/I18nManager.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Icon/Icons.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/Icon/Icons.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/LiquiditySourceList/LiquiditySource.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/LiquiditySourceList/LiquiditySource.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/LiquiditySourceList/LiquiditySourceList.d.ts +2 -2
- package/dist/widget/ui/src/components/LiquiditySourceList/LiquiditySourceList.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Modal/Modal.d.ts +1 -1
- package/dist/widget/ui/src/components/Modal/Modal.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Modal/Modal.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/Modal/Modal.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Radio/Radio.d.ts +2 -2
- package/dist/widget/ui/src/components/Radio/Radio.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Radio/Radio.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/Radio/Radio.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/SecondaryPage/SecondaryPage.d.ts +1 -1
- package/dist/widget/ui/src/components/SecondaryPage/SecondaryPage.d.ts.map +1 -1
- package/dist/widget/ui/src/components/SecondaryPage/SecondaryPage.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/SecondaryPage/SecondaryPage.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/SelectableWalletList/SelectableWalletList.d.ts +2 -2
- package/dist/widget/ui/src/components/SelectableWalletList/SelectableWalletList.d.ts.map +1 -1
- package/dist/widget/ui/src/components/SelectableWalletList/SelectableWalletList.stories.d.ts +1 -1
- package/dist/widget/ui/src/components/SelectableWalletList/SelectableWalletList.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Skeleton/Skeleton.d.ts +2 -2
- package/dist/widget/ui/src/components/Skeleton/Skeleton.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Skeleton/Skeleton.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/Skeleton/Skeleton.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Spinner/Spinner.d.ts +2 -2
- package/dist/widget/ui/src/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Spinner/Spinner.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/Spinner/Spinner.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/StatusDrawer/StatusDrawer.d.ts +1 -1
- package/dist/widget/ui/src/components/StatusDrawer/StatusDrawer.d.ts.map +1 -1
- package/dist/widget/ui/src/components/StatusDrawer/StatusDrawer.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/StatusDrawer/StatusDrawer.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/StepDetail/StepDetail.d.ts +2 -2
- package/dist/widget/ui/src/components/StepDetail/StepDetail.d.ts.map +1 -1
- package/dist/widget/ui/src/components/StepDetail/StepDetail.stories.d.ts +1 -1
- package/dist/widget/ui/src/components/StepDetail/StepDetail.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/SwapContainer/SwapContainer.d.ts +2 -2
- package/dist/widget/ui/src/components/SwapContainer/SwapContainer.d.ts.map +1 -1
- package/dist/widget/ui/src/components/SwapDetail/SwapDetail.d.ts +2 -2
- package/dist/widget/ui/src/components/SwapDetail/SwapDetail.d.ts.map +1 -1
- package/dist/widget/ui/src/components/SwapDetail/SwapDetail.stories.d.ts +1 -1
- package/dist/widget/ui/src/components/SwapDetail/SwapDetail.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/SwapDetail/Token.d.ts +2 -2
- package/dist/widget/ui/src/components/SwapDetail/Token.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Switch/Switch.d.ts +2 -2
- package/dist/widget/ui/src/components/Switch/Switch.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Switch/Switch.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/Switch/Switch.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/TextField/TextField.stories.d.ts +3 -3
- package/dist/widget/ui/src/components/TextField/TextField.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/TokenList/TokenItem.d.ts +2 -2
- package/dist/widget/ui/src/components/TokenList/TokenItem.d.ts.map +1 -1
- package/dist/widget/ui/src/components/TokenList/TokenList.d.ts +2 -2
- package/dist/widget/ui/src/components/TokenList/TokenList.d.ts.map +1 -1
- package/dist/widget/ui/src/components/TokenList/TokenList.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/TokenList/TokenList.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/TokenList/mockData.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Tooltip/Tooltip.d.ts +2 -2
- package/dist/widget/ui/src/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Tooltip/Tooltip.stories.d.ts +1 -1
- package/dist/widget/ui/src/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Typography/Typography.d.ts +2 -2
- package/dist/widget/ui/src/components/Typography/Typography.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Typography/Typography.stories.d.ts +1 -1
- package/dist/widget/ui/src/components/Typography/Typography.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/VirtualizedList/VirtualizedList.d.ts +2 -2
- package/dist/widget/ui/src/components/VirtualizedList/VirtualizedList.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Wallet/State.d.ts +2 -2
- package/dist/widget/ui/src/components/Wallet/State.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Wallet/Wallet.d.ts +2 -2
- package/dist/widget/ui/src/components/Wallet/Wallet.d.ts.map +1 -1
- package/dist/widget/ui/src/components/Wallet/Wallet.stories.d.ts +2 -2
- package/dist/widget/ui/src/components/Wallet/Wallet.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/components/common/Image.d.ts +1 -1
- package/dist/widget/ui/src/components/common/Image.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/BlockchainSelector/BlockchainSelector.d.ts +2 -2
- package/dist/widget/ui/src/containers/BlockchainSelector/BlockchainSelector.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/BlockchainSelector/BlockchainSelector.stories.d.ts +2 -2
- package/dist/widget/ui/src/containers/BlockchainSelector/BlockchainSelector.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.d.ts +1 -1
- package/dist/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.stories.d.ts +2 -2
- package/dist/widget/ui/src/containers/ConfirmSwap/ConfirmSwap.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/ConnectWalletsModal/ConnectWallets.stories.d.ts +2 -2
- package/dist/widget/ui/src/containers/ConnectWalletsModal/ConnectWallets.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/ConnectWalletsModal/ConnectWalletsModal.d.ts +2 -2
- package/dist/widget/ui/src/containers/ConnectWalletsModal/ConnectWalletsModal.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/History/History.d.ts +2 -2
- package/dist/widget/ui/src/containers/History/History.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/History/History.stories.d.ts +1 -1
- package/dist/widget/ui/src/containers/History/History.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/History/SwapsGroup.d.ts +2 -2
- package/dist/widget/ui/src/containers/History/SwapsGroup.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/LiquiditySourcesSelector/LiquiditySourcesSelector.d.ts +2 -2
- package/dist/widget/ui/src/containers/LiquiditySourcesSelector/LiquiditySourcesSelector.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.d.ts +2 -2
- package/dist/widget/ui/src/containers/LiquiditySourcesSelector/LiquiditySourcesSelector.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/Settings/Settings.d.ts +2 -2
- package/dist/widget/ui/src/containers/Settings/Settings.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/Settings/Settings.stories.d.ts +2 -2
- package/dist/widget/ui/src/containers/Settings/Settings.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/SwapHistory/SwapHistory.d.ts +1 -1
- package/dist/widget/ui/src/containers/SwapHistory/SwapHistory.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/SwapHistory/SwapHistory.stories.d.ts +1 -1
- package/dist/widget/ui/src/containers/SwapHistory/SwapHistory.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/TokenSelector/TokenSelector.d.ts +2 -2
- package/dist/widget/ui/src/containers/TokenSelector/TokenSelector.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/TokenSelector/TokenSelector.stories.d.ts +2 -2
- package/dist/widget/ui/src/containers/TokenSelector/TokenSelector.stories.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/Warnings/BalanceErrors.d.ts +2 -2
- package/dist/widget/ui/src/containers/Warnings/BalanceErrors.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/Warnings/HighSlippageWarning.d.ts +2 -2
- package/dist/widget/ui/src/containers/Warnings/HighSlippageWarning.d.ts.map +1 -1
- package/dist/widget/ui/src/containers/Warnings/MinRequiredSlippage.d.ts +2 -2
- package/dist/widget/ui/src/containers/Warnings/MinRequiredSlippage.d.ts.map +1 -1
- package/dist/widget/ui/src/theme.d.ts +1 -1
- package/package.json +4 -4
- package/src/components/TokenList/mockData.ts +1 -0
- package/src/components/VirtualizedList/VirtualizedList.tsx +3 -5
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/components/I18nManager/I18nManager.tsx", "../../../translations/en.ts", "../../../translations/es.ts", "../../../translations/jp.ts", "../../../translations/fr.ts", "../src/components/Alert/Alert.tsx", "../src/components/Icon/DeleteCircleIcon.tsx", "../src/theme.ts", "../src/components/Icon/common.ts", "../src/components/Icon/CheckSquareIcon.tsx", "../src/components/Icon/AddIcon.tsx", "../src/components/Icon/InfoCircleIcon.tsx", "../src/components/Icon/AddCircleIcon.tsx", "../src/components/Icon/MinusCircleIcon.tsx", "../src/components/Icon/CheckCircleIcon.tsx", "../src/components/Icon/CheckIcon.tsx", "../src/components/Icon/BanIcon.tsx", "../src/components/Icon/WarningIcon.tsx", "../src/components/Icon/HistoryIcon.tsx", "../src/components/Icon/GasIcon.tsx", "../src/components/Icon/SettingIcon.tsx", "../src/components/Icon/TrashIcon.tsx", "../src/components/Icon/SearchMinusIcon.tsx", "../src/components/Icon/SearchIcon.tsx", "../src/components/Icon/AngleRightIcon.tsx", "../src/components/Icon/AngleUpIcon.tsx", "../src/components/Icon/AngleDownIcon.tsx", "../src/components/Icon/AngleLeftIcon.tsx", "../src/components/Icon/DownloadIcon.tsx", "../src/components/Icon/ChevronRightIcon.tsx", "../src/components/Icon/ArrowRightIcon.tsx", "../src/components/Icon/RetryRightIcon.tsx", "../src/components/Icon/RetryLeftIcon.tsx", "../src/components/Icon/TryAgainIcon.tsx", "../src/components/Icon/VerticalSwapIcon.tsx", "../src/components/Icon/HorizontalSwapIcon.tsx", "../src/components/Icon/RetryIcon.tsx", "../src/components/Icon/WalletIconIcon.tsx", "../src/components/Icon/AddWalletIcon.tsx", "../src/components/Icon/DeleteWalletIcon.tsx", "../src/components/Icon/CheckWalletIcon.tsx", "../src/components/Icon/SwapWalletIcon.tsx", "../src/components/Icon/DisconnectIcon.tsx", "../src/components/Icon/BagIcon.tsx", "../src/components/Icon/TimeIcon.tsx", "../src/components/Icon/CloseIcon.tsx", "../src/components/Icon/SignatureIcon.tsx", "../src/components/Icon/CopyIcon.tsx", "../src/components/Typography/Typography.tsx", "../src/components/Divider/Divider.tsx", "../src/components/Alert/LoadingFailedAlert.tsx", "../src/components/Alert/NotFoundAlert.tsx", "../src/components/BestRoute/BestRoute.tsx", "../src/components/StepDetail/StepDetail.tsx", "../src/components/Skeleton/Skeleton.tsx", "../src/components/Spinner/Spinner.tsx", "../src/components/Tooltip/Tooltip.tsx", "../src/components/common/FilledCircle.tsx", "../src/components/common/Image.tsx", "../src/components/BottomLogo/BottomLogo.tsx", "../src/components/Button/Button.tsx", "../src/components/ChangeSlippageButton/ChangeSlippageButton.tsx", "../src/components/Checkbox/Checkbox.tsx", "../src/components/Chip/Chip.tsx", "../src/components/ColorPicker/ColorPicker.tsx", "../src/components/Drawer/Drawer.tsx", "../src/components/Header/Header.tsx", "../src/components/HeaderButtons/HeaderButtons.tsx", "../src/components/Modal/Modal.tsx", "../src/components/Radio/Radio.tsx", "../src/components/SecondaryPage/SecondaryPage.tsx", "../src/components/TextField/TextField.tsx", "../src/components/SelectableWalletList/SelectableWalletList.tsx", "../src/helper/index.ts", "../src/components/SwapContainer/SwapContainer.tsx", "../src/components/SwapDetail/SwapDetail.tsx", "../src/components/SwapDetail/Token.tsx", "../src/components/Switch/Switch.tsx", "../src/components/TokenList/TokenList.tsx", "../src/components/VirtualizedList/VirtualizedList.tsx", "../src/components/TokenList/TokenItem.tsx", "../src/components/Wallet/Wallet.tsx", "../src/types/wallet.ts", "../src/components/Wallet/State.tsx", "../src/containers/ConfirmSwap/ConfirmSwap.tsx", "../src/containers/History/History.tsx", "../src/containers/History/SwapsGroup.tsx", "../src/containers/TokenSelector/TokenSelector.tsx", "../src/containers/SwapHistory/SwapHistory.tsx", "../src/containers/SwapHistory/SwapMessages.tsx", "../src/containers/BlockchainSelector/BlockchainSelector.tsx", "../src/components/BlockchainsList/BlockchainsList.tsx", "../src/containers/ConnectWalletsModal/ConnectWalletsModal.tsx", "../src/containers/LiquiditySourcesSelector/LiquiditySourcesSelector.tsx", "../src/components/LiquiditySourceList/LiquiditySourceList.tsx", "../src/containers/Settings/Settings.tsx", "../src/containers/Warnings/HighSlippageWarning.tsx", "../src/containers/Warnings/MinRequiredSlippage.tsx", "../src/containers/Warnings/BalanceErrors.tsx", "../src/hooks/useCopyToClipboard.ts"],
|
|
4
|
-
"sourcesContent": ["import React, { useEffect } from 'react';\nimport { i18n } from '@lingui/core';\nimport { I18nProvider } from '@lingui/react';\nimport { PropsWithChildren } from 'react';\n/* \n Note: esbuild doesn't work properly with paths yet, so I couldn't use `paths` to make this path shorter. \n e.g:\n \"paths\": {\n \"translations/*\": [\"../../translations/*\"]\n } \n*/\nimport { messages as enMessages } from '../../../../../translations/en';\nimport { messages as esMessages } from '../../../../../translations/es';\nimport { messages as jpMessages } from '../../../../../translations/jp';\nimport { messages as frMessages } from '../../../../../translations/fr';\n\nconst DEFAULT_LANGUAGE = 'en';\nconst messages = {\n en: enMessages,\n es: esMessages,\n jp: jpMessages,\n fr: frMessages,\n};\n\ni18n.load(messages);\n\nexport type Language = keyof typeof messages;\ninterface PropTypes {\n language?: Language;\n}\n\nfunction I18nManager(props: PropsWithChildren<PropTypes>) {\n useEffect(() => {\n i18n.activate(props?.language || DEFAULT_LANGUAGE);\n }, [props?.language]);\n\n return <I18nProvider i18n={i18n}>{props.children}</I18nProvider>;\n}\n\nexport { I18nManager };\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\" Error connecting server, please reload the app and try again.\\\":\\\" Error connecting server, please reload the app and try again.\\\",\\\"Transaction cost (fee)\\\":\\\"Transaction cost (fee)\\\",\\\"Time estimate\\\":\\\"Time estimate\\\",\\\"No routes found\\\":\\\"No routes found\\\",\\\"Powered By\\\":\\\"Powered By\\\",\\\"Change Slippage\\\":\\\"Change Slippage\\\",\\\"Refresh\\\":\\\"Refresh\\\",\\\"Transactions History\\\":\\\"Transactions History\\\",\\\"Settings\\\":\\\"Settings\\\",\\\"Bridges\\\":\\\"Bridges\\\",\\\"Exchanges\\\":\\\"Exchanges\\\",\\\"Connect Wallets\\\":\\\"Connect Wallets\\\",\\\"Slippage tolerance\\\":\\\"Slippage tolerance\\\",\\\"Custom\\\":\\\"Custom\\\",\\\"Theme\\\":\\\"Theme\\\",\\\"Dark\\\":\\\"Dark\\\",\\\"Light\\\":\\\"Light\\\",\\\"Auto\\\":\\\"Auto\\\",\\\"Infinite Approval\\\":\\\"Infinite Approval\\\",\\\"Liquidity Sources\\\":\\\"Liquidity Sources\\\",\\\"Insufficent Balance:\\\":\\\"Insufficent Balance:\\\",\\\"Connect Wallet\\\":\\\"Connect Wallet\\\",\\\"Swap Details\\\":\\\"Swap Details\\\",\\\"Balance\\\":\\\"Balance\\\",\\\"Chain\\\":\\\"Chain\\\",\\\"Token\\\":\\\"Token\\\",\\\"From\\\":\\\"From\\\",\\\"To\\\":\\\"To\\\",\\\"Proceed anyway!\\\":\\\"Proceed anyway!\\\",\\\"Confirm swap!\\\":\\\"Confirm swap!\\\",\\\"SWAP\\\":\\\"SWAP\\\",\\\"Select Wallet\\\":\\\"Select Wallet\\\",\\\"Finding Best Route...\\\":\\\"Finding Best Route...\\\",\\\"Enter an amount\\\":\\\"Enter an amount\\\",\\\"Swap\\\":\\\"Swap\\\",\\\"Limit Error\\\":\\\"Limit Error\\\",\\\"Price impact is too high!\\\":\\\"Price impact is too high!\\\",\\\"USD price is unknown, price impact might be high!\\\":\\\"USD price is unknown, price impact might be high!\\\",\\\"The route goes through Ethereum. Continue?\\\":\\\"The route goes through Ethereum. Continue?\\\",\\\"swap from\\\":\\\"From\\\",\\\"maximum amount of asset\\\":\\\"Max\\\",\\\"swapNotFound\\\":[\\\"Swap with request ID = $\\\",[\\\"requestId\\\"],\\\" not found.\\\"],\\\"swap to\\\":\\\"To\\\",\\\"highSlippage\\\":[\\\" Caution, your slippage is high (=\\\",[\\\"selectedSlippage\\\"],\\\"). Your trade may be front run.\\\"],\\\"increaseSlippage\\\":[\\\"We recommend you to increase slippage to at least \\\",[\\\"minRequiredSlippage\\\"],\\\" for this route.\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\" Error connecting server, please reload the app and try again.\\\":\\\" Error connecting server, please reload the app and try again.\\\",\\\"Transaction cost (fee)\\\":\\\"Transaction cost (fee)\\\",\\\"Time estimate\\\":\\\"Time estimate\\\",\\\"No routes found\\\":\\\"No routes found\\\",\\\"Powered By\\\":\\\"Powered By\\\",\\\"Change Slippage\\\":\\\"Change Slippage\\\",\\\"Refresh\\\":\\\"Refresh\\\",\\\"Transactions History\\\":\\\"Transactions History\\\",\\\"Settings\\\":\\\"Settings\\\",\\\"Bridges\\\":\\\"Bridges\\\",\\\"Exchanges\\\":\\\"Exchanges\\\",\\\"Connect Wallets\\\":\\\"Connect Wallets\\\",\\\"Slippage tolerance\\\":\\\"Slippage tolerance\\\",\\\"Custom\\\":\\\"Custom\\\",\\\"Theme\\\":\\\"Theme\\\",\\\"Dark\\\":\\\"Dark\\\",\\\"Light\\\":\\\"Light\\\",\\\"Auto\\\":\\\"Auto\\\",\\\"Infinite Approval\\\":\\\"Infinite Approval\\\",\\\"Liquidity Sources\\\":\\\"Liquidity Sources\\\",\\\"Insufficent Balance:\\\":\\\"Insufficent Balance:\\\",\\\"Connect Wallet\\\":\\\"Connect Wallet\\\",\\\"Swap Details\\\":\\\"Swap Details\\\",\\\"Balance\\\":\\\"Balance\\\",\\\"Chain\\\":\\\"Chain\\\",\\\"Token\\\":\\\"Token\\\",\\\"From\\\":\\\"From\\\",\\\"To\\\":\\\"To\\\",\\\"Proceed anyway!\\\":\\\"Proceed anyway!\\\",\\\"Confirm swap!\\\":\\\"Confirm swap!\\\",\\\"SWAP\\\":\\\"SWAP\\\",\\\"Select Wallet\\\":\\\"Select Wallet\\\",\\\"Finding Best Route...\\\":\\\"Finding Best Route...\\\",\\\"Enter an amount\\\":\\\"Enter an amount\\\",\\\"Swap\\\":\\\"Swap\\\",\\\"Limit Error\\\":\\\"Limit Error\\\",\\\"Price impact is too high!\\\":\\\"Price impact is too high!\\\",\\\"USD price is unknown, price impact might be high!\\\":\\\"USD price is unknown, price impact might be high!\\\",\\\"The route goes through Ethereum. Continue?\\\":\\\"The route goes through Ethereum. Continue?\\\",\\\"swap from\\\":\\\"From\\\",\\\"maximum amount of asset\\\":\\\"Max\\\",\\\"swapNotFound\\\":[\\\"Swap with request ID = $\\\",[\\\"requestId\\\"],\\\" not found.\\\"],\\\"swap to\\\":\\\"To\\\",\\\"highSlippage\\\":[\\\" Caution, your slippage is high (=\\\",[\\\"selectedSlippage\\\"],\\\"). Your trade may be front run.\\\"],\\\"increaseSlippage\\\":[\\\"We recommend you to increase slippage to at least \\\",[\\\"minRequiredSlippage\\\"],\\\" for this route.\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\" Error connecting server, please reload the app and try again.\\\":\\\" Error connecting server, please reload the app and try again.\\\",\\\"Transaction cost (fee)\\\":\\\"Transaction cost (fee)\\\",\\\"Time estimate\\\":\\\"Time estimate\\\",\\\"No routes found\\\":\\\"No routes found\\\",\\\"Powered By\\\":\\\"Powered By\\\",\\\"Change Slippage\\\":\\\"Change Slippage\\\",\\\"Refresh\\\":\\\"Refresh\\\",\\\"Transactions History\\\":\\\"Transactions History\\\",\\\"Settings\\\":\\\"Settings\\\",\\\"Bridges\\\":\\\"Bridges\\\",\\\"Exchanges\\\":\\\"Exchanges\\\",\\\"Connect Wallets\\\":\\\"Connect Wallets\\\",\\\"Slippage tolerance\\\":\\\"Slippage tolerance\\\",\\\"Custom\\\":\\\"Custom\\\",\\\"Theme\\\":\\\"Theme\\\",\\\"Dark\\\":\\\"Dark\\\",\\\"Light\\\":\\\"Light\\\",\\\"Auto\\\":\\\"Auto\\\",\\\"Infinite Approval\\\":\\\"Infinite Approval\\\",\\\"Liquidity Sources\\\":\\\"Liquidity Sources\\\",\\\"Insufficent Balance:\\\":\\\"Insufficent Balance:\\\",\\\"Connect Wallet\\\":\\\"Connect Wallet\\\",\\\"Swap Details\\\":\\\"Swap Details\\\",\\\"Balance\\\":\\\"Balance\\\",\\\"Chain\\\":\\\"Chain\\\",\\\"Token\\\":\\\"Token\\\",\\\"From\\\":\\\"From\\\",\\\"To\\\":\\\"To\\\",\\\"Proceed anyway!\\\":\\\"Proceed anyway!\\\",\\\"Confirm swap!\\\":\\\"Confirm swap!\\\",\\\"SWAP\\\":\\\"SWAP\\\",\\\"Select Wallet\\\":\\\"Select Wallet\\\",\\\"Finding Best Route...\\\":\\\"Finding Best Route...\\\",\\\"Enter an amount\\\":\\\"Enter an amount\\\",\\\"Swap\\\":\\\"Swap\\\",\\\"Limit Error\\\":\\\"Limit Error\\\",\\\"Price impact is too high!\\\":\\\"Price impact is too high!\\\",\\\"USD price is unknown, price impact might be high!\\\":\\\"USD price is unknown, price impact might be high!\\\",\\\"The route goes through Ethereum. Continue?\\\":\\\"The route goes through Ethereum. Continue?\\\",\\\"swap from\\\":\\\"From\\\",\\\"maximum amount of asset\\\":\\\"Max\\\",\\\"swapNotFound\\\":[\\\"Swap with request ID = $\\\",[\\\"requestId\\\"],\\\" not found.\\\"],\\\"swap to\\\":\\\"To\\\",\\\"highSlippage\\\":[\\\" Caution, your slippage is high (=\\\",[\\\"selectedSlippage\\\"],\\\"). Your trade may be front run.\\\"],\\\"increaseSlippage\\\":[\\\"We recommend you to increase slippage to at least \\\",[\\\"minRequiredSlippage\\\"],\\\" for this route.\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\" Error connecting server, please reload the app and try again.\\\":\\\" Error connecting server, please reload the app and try again.\\\",\\\"Transaction cost (fee)\\\":\\\"Transaction cost (fee)\\\",\\\"Time estimate\\\":\\\"Time estimate\\\",\\\"No routes found\\\":\\\"No routes found\\\",\\\"Powered By\\\":\\\"Powered By\\\",\\\"Change Slippage\\\":\\\"Change Slippage\\\",\\\"Refresh\\\":\\\"Refresh\\\",\\\"Transactions History\\\":\\\"Transactions History\\\",\\\"Settings\\\":\\\"Settings\\\",\\\"Bridges\\\":\\\"Bridges\\\",\\\"Exchanges\\\":\\\"Exchanges\\\",\\\"Connect Wallets\\\":\\\"Connect Wallets\\\",\\\"Slippage tolerance\\\":\\\"Slippage tolerance\\\",\\\"Custom\\\":\\\"Custom\\\",\\\"Theme\\\":\\\"Theme\\\",\\\"Dark\\\":\\\"Dark\\\",\\\"Light\\\":\\\"Light\\\",\\\"Auto\\\":\\\"Auto\\\",\\\"Infinite Approval\\\":\\\"Infinite Approval\\\",\\\"Liquidity Sources\\\":\\\"Liquidity Sources\\\",\\\"Insufficent Balance:\\\":\\\"Insufficent Balance:\\\",\\\"Connect Wallet\\\":\\\"Connect Wallet\\\",\\\"Swap Details\\\":\\\"Swap Details\\\",\\\"Balance\\\":\\\"Balance\\\",\\\"Chain\\\":\\\"Chain\\\",\\\"Token\\\":\\\"Token\\\",\\\"From\\\":\\\"From\\\",\\\"To\\\":\\\"To\\\",\\\"Proceed anyway!\\\":\\\"Proceed anyway!\\\",\\\"Confirm swap!\\\":\\\"Confirm swap!\\\",\\\"SWAP\\\":\\\"SWAP\\\",\\\"Select Wallet\\\":\\\"Select Wallet\\\",\\\"Finding Best Route...\\\":\\\"Finding Best Route...\\\",\\\"Enter an amount\\\":\\\"Enter an amount\\\",\\\"Swap\\\":\\\"Swap\\\",\\\"Limit Error\\\":\\\"Limit Error\\\",\\\"Price impact is too high!\\\":\\\"Price impact is too high!\\\",\\\"USD price is unknown, price impact might be high!\\\":\\\"USD price is unknown, price impact might be high!\\\",\\\"The route goes through Ethereum. Continue?\\\":\\\"The route goes through Ethereum. Continue?\\\",\\\"swap from\\\":\\\"From\\\",\\\"maximum amount of asset\\\":\\\"Max\\\",\\\"swapNotFound\\\":[\\\"Swap with request ID = $\\\",[\\\"requestId\\\"],\\\" not found.\\\"],\\\"swap to\\\":\\\"To\\\",\\\"highSlippage\\\":[\\\" Caution, your slippage is high (=\\\",[\\\"selectedSlippage\\\"],\\\"). Your trade may be front run.\\\"],\\\"increaseSlippage\\\":[\\\"We recommend you to increase slippage to at least \\\",[\\\"minRequiredSlippage\\\"],\\\" for this route.\\\"]}\");", "import React, { PropsWithChildren, ReactNode } from 'react';\nimport { CheckCircleIcon, InfoCircleIcon, WarningIcon } from '../Icon';\nimport { Typography } from '../Typography';\nimport { styled } from '../../theme';\nimport { Divider } from '../Divider';\n\nconst MainContainer = styled('div', {\n width: '100%',\n padding: '$16',\n borderRadius: '$5',\n backgroundColor: '$neutral100',\n color: '$neutral800',\n\n '.main': {\n display: 'flex',\n alignItems: 'center',\n },\n\n '.footer': {\n paddingTop: '$8',\n },\n '&.hasIcon .footer': {\n paddingLeft: '$32',\n },\n variants: {\n type: {\n primary: {\n color: '$primary200',\n },\n secondary: {\n color: '$foreground',\n },\n success: {\n color: '$success300',\n },\n warning: {\n color: '$warning500',\n },\n error: {\n color: '$error300',\n },\n },\n },\n});\n\nexport interface PropTypes {\n type?: 'primary' | 'secondary' | 'success' | 'warning' | 'error';\n title?: string;\n footer?: ReactNode;\n}\n\nexport function Alert(props: PropsWithChildren<PropTypes>) {\n const { type, children, title } = props;\n\n const showIcon = (\n ['error', 'success', 'warning'] as PropTypes['type'][]\n ).includes(type);\n\n return (\n <MainContainer type={type} className={showIcon ? 'hasIcon' : ''}>\n <div className=\"main\">\n {showIcon && (\n <>\n <div\n style={{\n width: '32px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n {type === 'success' && <CheckCircleIcon color={type} size={24} />}\n {type === 'warning' && <WarningIcon color={type} size={24} />}\n {type === 'error' && <InfoCircleIcon color={type} size={24} />}\n <Divider size={4} direction='horizontal' />\n </div>\n </>\n )}\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'start',\n flexDirection: 'column',\n width: '100%',\n }}\n >\n {title && (\n <>\n <Typography className=\"title\" variant=\"title\" color={type}>\n {title}\n </Typography>\n {!!children && <Divider size={4} />}\n </>\n )}\n {children}\n </div>\n </div>\n {props.footer ? <div className=\"footer\">{props.footer}</div> : null}\n </MainContainer>\n );\n}\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const DeleteCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM9.17 14.83l5.66-5.66M14.83 14.83 9.17 9.17\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nDeleteCircleIcon.toString = () => '._icon';\n", "// TSDX + stiches doesn't work with import statement and has a bug.\n\nimport { PropertyValue, CreateStitches } from '@stitches/react';\nimport { DefaultThemeMap } from '@stitches/react/types/config';\nimport { createStitches } from '@stitches/react';\n\n/* ----------------------- Values ----------------------- */\n\nconst theme = {\n colors: {\n primary: '#5FA425',\n primary100: '#9FC87C',\n primary200: '#8FBF66',\n primary300: '#7FB651',\n primary400: '#6FAD3B',\n primary500: '#5FA425',\n primary600: '#4C831E',\n primary700: '#396216',\n primary800: '#26420F',\n primary900: '#132107',\n surface: '#fff',\n neutral100: '#f3f3f3',\n neutral200: '#FAFAFA',\n neutral300: '#EAEAEA',\n neutral400: '#999999',\n neutral500: '#888888',\n neutral600: '#666666',\n neutral700: '#444444',\n neutral800: '#333333',\n neutral900: '#111111',\n background: '#fff',\n foreground: '#000',\n success: '#0070F3',\n success100: '#D3E5FF',\n success300: '#3291FF',\n success500: '#0070F3',\n success700: '#0761D1',\n warning: '#F5A623',\n warning100: '#FFEFCF',\n warning300: '#F7B955',\n warning500: '#F5A623',\n warning700: '#AB570A',\n error: '#FF0000',\n error100: '#F7D4D6',\n error300: '#FF3333',\n error500: '#FF0000',\n error700: '#E60000',\n // Only use this color when you are going to use white for both dark and light theme.\n white: '#fff',\n },\n space: {\n 2: '2px',\n 4: '4px',\n 6: '6px',\n 8: '8px',\n 10: '10px',\n 12: '12px',\n 16: '16px',\n 20: '20px',\n 24: '24px',\n 28: '28px',\n 30: '30px',\n 32: '32px',\n },\n fontSizes: {\n 10: '10px',\n 12: '12px',\n 14: '14px',\n 16: '16px',\n 18: '18px',\n 20: '20px',\n 24: '24px',\n 32: '32px',\n 36: '36px',\n 40: '40px',\n 48: '48px',\n },\n fonts: {},\n fontWeights: {\n 400: '400',\n 500: '500',\n 600: '600',\n 700: '700',\n },\n lineHeights: {},\n letterSpacings: {},\n sizes: {\n 4: '4px',\n 6: '6px',\n 8: '8px',\n 12: '12px',\n 16: '16px',\n 20: '20px',\n 24: '24px',\n 28: '28px',\n 32: '32px',\n 36: '36px',\n 40: '40px',\n 48: '48px',\n },\n borderWidths: {},\n borderStyles: {},\n radii: {\n 5: '8px',\n 10: '12px',\n },\n shadows: {\n s: '0px 3px 5px 3px #f0f2f5, 0px 6px 10px 3px #f0f2f5, 0px 1px 18px 3px #f0f2f5',\n },\n zIndices: {},\n transitions: {},\n};\nconst media = {\n sm: '(min-width: 640px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 1024px)',\n};\nconst utils = {\n bc: (value: PropertyValue<'backgroundColor'>) => ({\n backgroundColor: value,\n }),\n};\n\n/* ----------------------- End of Values ----------------------- */\n\nconst typedCreateStiches = createStitches as CreateStitches;\n\nexport const { styled, css, createTheme, keyframes, globalCss, config } = typedCreateStiches<\n '',\n typeof media,\n typeof theme,\n DefaultThemeMap,\n // TODO: Make `utils` typesafe as well.\n {}\n>({\n media,\n theme,\n utils,\n});\n\nexport const lightTheme = createTheme({});\n\nexport const darkTheme = createTheme({\n colors: {\n surface: '#000',\n neutral900: '#f3f3f3',\n neutral800: '#FAFAFA',\n neutral700: '#EAEAEA',\n neutral600: '#999999',\n neutral500: '#888888',\n neutral400: '#666666',\n neutral300: '#444444',\n neutral200: '#333333',\n neutral100: '#111111',\n foreground: '#fff',\n background: '#000',\n },\n shadows: {\n s: '0px 3px 5px 3px #222, 0px 6px 10px 3px #222, 0px 1px 18px 3px #222',\n },\n});\n", "import { darkTheme, styled } from '../../theme';\n\nexport const SvgWithStrokeColor = styled('svg', {\n stroke: '$foreground',\n variants: {\n color: {\n primary: {\n stroke: '$primary',\n },\n error: {\n stroke: '$error',\n },\n warning: {\n stroke: '$warning',\n },\n success: {\n stroke: '$success',\n },\n black: {\n $$color: '$colors$foreground',\n [`.${darkTheme} &`]: {\n $$color: '$colors$background',\n },\n stroke: '$$color',\n },\n white: {\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n stroke: '$$color',\n },\n },\n disabled: {\n true: {\n stroke: '$neutral400',\n },\n },\n },\n});\n\nexport const SvgWithFillColor = styled('svg', {\n fill: '$foreground',\n variants: {\n color: {\n primary: {\n fill: '$primary',\n },\n error: {\n fill: '$error',\n },\n warning: {\n fill: '$warning',\n },\n success: {\n fill: '$success',\n },\n black: {\n $$color: '$colors$foreground',\n [`.${darkTheme} &`]: {\n $$color: '$colors$background',\n },\n fill: '$$color',\n },\n white: {\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n fill: '$$color',\n },\n },\n disabled: {\n true: {\n stroke: '$neutral400',\n },\n },\n },\n});\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const CheckSquareIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M9 22h6c5 0 7-2 7-7V9c0-5-2-7-7-7H9C4 2 2 4 2 9v6c0 5 2 7 7 7Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"m7.75 12 2.83 2.83 5.67-5.66\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nCheckSquareIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const AddIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M6 12h12M12 18V6\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAddIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithFillColor } from './common';\n\nexport const InfoCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM12 8v5\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#fff\"\n />\n <path\n d=\"M11.994 16h.01\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#fff\"\n />\n </SvgWithFillColor>\n );\n};\n\nInfoCircleIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const AddCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM8 12h8M12 16V8\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAddCircleIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const MinusCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M11.92 22c5.5 0 10-4.5 10-10s-4.5-10-10-10-10 4.5-10 10 4.5 10 10 10ZM7.92 12h8\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nMinusCircleIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithFillColor } from './common';\n\nexport const CheckCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#fff\"\n />\n <path\n d=\"m7.75 12 2.83 2.83 5.67-5.66\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#fff\"\n />\n </SvgWithFillColor>\n );\n};\n\nCheckCircleIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const CheckIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n color={color}\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n />\n </SvgWithFillColor>\n );\n};\n\nCheckIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const BanIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.52 0 10-4.48 10-10S17.52 2 12 2 2 6.48 2 12s4.48 10 10 10ZM18.9 5l-14 14\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nBanIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const WarningIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 9v5M12 21.41H5.94c-3.47 0-4.92-2.48-3.24-5.51l3.12-5.62L8.76 5c1.78-3.21 4.7-3.21 6.48 0l2.94 5.29 3.12 5.62c1.68 3.03.22 5.51-3.24 5.51H12v-.01Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M11.994 17h.01\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nWarningIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const HistoryIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path>\n <polyline points=\"14 2 14 8 20 8\"></polyline>\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line>\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line>\n <polyline points=\"10 9 9 9 8 9\"></polyline>\n </SvgWithStrokeColor>\n );\n};\n\nHistoryIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const GasIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M4 22V5c0-2 1.34-3 3-3h8c1.66 0 3 1 3 3v17H4ZM2.5 22h17\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8.89 10h4.23c1.04 0 1.89-.5 1.89-1.89V6.88c0-1.39-.85-1.89-1.89-1.89H8.89C7.85 4.99 7 5.49 7 6.88v1.23C7 9.5 7.85 10 8.89 10ZM7 13h3M18 16.01l4.5-.01v-6l-2-1\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nGasIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const SettingsIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n <path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\"></path>\n </SvgWithStrokeColor>\n );\n};\n\nSettingsIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const TrashIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M21.5 5.98c-3.33-.33-6.68-.5-10.02-.5-1.98 0-3.96.1-5.94.3l-2.04.2M9 4.97l.22-1.31C9.38 2.71 9.5 2 11.19 2h2.62c1.69 0 1.82.75 1.97 1.67l.22 1.3M19.35 9.14l-.65 10.07c-.11 1.57-.2 2.79-2.99 2.79H9.29c-2.79 0-2.88-1.22-2.99-2.79L5.65 9.14M10.83 16.5h3.33M10 12.5h5\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nTrashIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const SearchMinusIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M9 11.7h5M11.5 21a9.5 9.5 0 1 0 0-19 9.5 9.5 0 0 0 0 19ZM22 22l-2-2\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nSearchMinusIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const SearchIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M11.5 21a9.5 9.5 0 1 0 0-19 9.5 9.5 0 0 0 0 19ZM22 22l-2-2\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nSearchIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const AngleRightIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n color={color}\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"m8.91 19.92 6.52-6.52c.77-.77.77-2.03 0-2.8L8.91 4.08\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAngleRightIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const AngleUpIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n color={color}\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M19.92 15.05 13.4 8.53c-.77-.77-2.03-.77-2.8 0l-6.52 6.52\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAngleUpIcon.toString = () => '._icon';\n", "import React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const AngleDownIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"m19.92 8.95-6.52 6.52c-.77.77-2.03.77-2.8 0L4.08 8.95\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n);\n\nAngleDownIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\nimport { AngleDownIcon } from './AngleDownIcon';\n\nexport const AngleLeftIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n color={color}\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M15 19.92 8.48 13.4c-.77-.77-.77-2.03 0-2.8L15 4.08\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAngleDownIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const DownloadIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M16.44 8.9c3.6.31 5.07 2.16 5.07 6.21v.13c0 4.47-1.79 6.26-6.26 6.26H8.74c-4.47 0-6.26-1.79-6.26-6.26v-.13c0-4.02 1.45-5.87 4.99-6.2M12 2v12.88\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M15.35 12.65 12 16l-3.35-3.35\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nDownloadIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const ChevronRightIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'black', size = 16, ...props }, forwardedRef) => {\n return (\n <SvgWithStrokeColor\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n color={color}\n viewBox={`0 0 24 24`}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"_icon\"\n {...props}\n ref={forwardedRef}\n >\n <polyline points=\"9 18 15 12 9 6\"></polyline>\n </SvgWithStrokeColor>\n );\n }\n);\n\nChevronRightIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const ArrowRightIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>\n <polyline points=\"12 5 19 12 12 19\"></polyline>\n </SvgWithStrokeColor>\n );\n};\n\nArrowRightIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const RetryRightIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M14.89 5.08c-.87-.26-1.83-.43-2.89-.43-4.79 0-8.67 3.88-8.67 8.67C3.33 18.12 7.21 22 12 22s8.67-3.88 8.67-8.67c0-1.78-.54-3.44-1.46-4.82M16.13 5.32 13.24 2M16.13 5.32l-3.37 2.46\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nRetryRightIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const RetryLeftIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M9.11 5.08c.87-.26 1.83-.43 2.89-.43 4.79 0 8.67 3.88 8.67 8.67s-3.88 8.67-8.67 8.67-8.67-3.88-8.67-8.67c0-1.78.54-3.44 1.46-4.82M7.87 5.32 10.76 2M7.87 5.32l3.37 2.46\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nRetryLeftIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const TryAgainIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M22 12c0 5.52-4.48 10-10 10s-8.89-5.56-8.89-5.56m0 0h4.52m-4.52 0v5M2 12C2 6.48 6.44 2 12 2c6.67 0 10 5.56 10 5.56m0 0v-5m0 5h-4.44\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nTryAgainIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const VerticalSwapIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"m13.82 6.85 3.04 3.04M13.82 17.15V6.85M10.18 17.15l-3.04-3.04M10.18 6.85v10.3\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nVerticalSwapIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const HorizontalSwapIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"m17.15 13.82-3.04 3.04M6.85 13.82h10.3M6.85 10.18l3.04-3.04M17.15 10.18H6.85\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nHorizontalSwapIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const RetryIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'black', size = 16, ...props }, forwardedRef) => {\n return (\n <SvgWithStrokeColor\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n color={color}\n viewBox={`0 0 24 24`}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"_icon\"\n {...props}\n ref={forwardedRef}\n >\n <polyline points=\"23 4 23 10 17 10\"></polyline>\n <path d=\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\"></path>\n </SvgWithStrokeColor>\n );\n }\n);\n\nRetryIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const WalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.51 7.205a3.018 3.018 0 0 0-3.01 3.01v6.73a3.018 3.018 0 0 0 3.01 3.01h11.48a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227 2.743 2.743 0 0 1 1.971-.82H19v-.69a3.018 3.018 0 0 0-3.01-3.01H4.51ZM0 10.215a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.36 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.377 1.022v.009c.053.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H4.51A4.518 4.518 0 0 1 0 16.945v-6.73Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.35 2.655a1.15 1.15 0 0 0-1.554-1.079l-7.94 3A2.098 2.098 0 0 0 1.5 6.547v4.569a.75.75 0 1 1-1.5 0v-4.57c0-1.5.922-2.84 2.325-3.371l7.94-3s-.001 0 0 0c1.732-.657 3.585.629 3.585 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM17.729 12.405c-.36 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.377 1.022v.009c.053.635.664 1.182 1.413 1.182h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.778-1.03-2.907-2.553a2.759 2.759 0 0 1 .816-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.5 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const AddWalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.569 7.205a3.018 3.018 0 0 0-3.01 3.01v3.076a4.749 4.749 0 0 1 6.5 4.414c0 .808-.206 1.579-.574 2.25h8.564a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H6.569Zm-4.51 3.01a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.36 0-.675.14-.903.373l-.014.014c-.266.26-.414.63-.377 1.022l.001.009c.053.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H7.939a.75.75 0 0 1-.482-1.324c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-5.283-2.533.75.75 0 0 1-1.217-.587v-4.37Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.409 2.655a1.15 1.15 0 0 0-1.555-1.078l-7.94 3a2.098 2.098 0 0 0-1.355 1.968v4.57a.75.75 0 0 1-1.5 0v-4.57c0-1.5.921-2.84 2.324-3.371l7.94-3c1.733-.657 3.586.629 3.586 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM19.787 12.405c-.359 0-.674.14-.902.374l-.014.013c-.266.26-.414.63-.377 1.022v.01c.054.634.664 1.181 1.413 1.181h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.777-1.03-2.907-2.553a2.759 2.759 0 0 1 .817-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.559 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM5.309 14.455c-.762 0-1.469.267-2.033.717h-.001a3.22 3.22 0 0 0-1.216 2.533c0 .61.17 1.184.468 1.667l.006.01a3.22 3.22 0 0 0 2.776 1.573 3.155 3.155 0 0 0 2.148-.824c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-3.25-3.25Zm-2.967-.457a4.749 4.749 0 0 1 7.717 3.707c0 .888-.248 1.73-.687 2.446-.25.427-.57.808-.941 1.12a4.656 4.656 0 0 1-3.122 1.184 4.72 4.72 0 0 1-4.062-2.301 4.671 4.671 0 0 1-.688-2.449 4.72 4.72 0 0 1 1.783-3.707Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.07 17.685a.75.75 0 0 1 .75-.75H6.8a.75.75 0 0 1 0 1.5H3.82a.75.75 0 0 1-.75-.75Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.309 15.475a.75.75 0 0 1 .75.75v2.99a.75.75 0 0 1-1.5 0v-2.99a.75.75 0 0 1 .75-.75Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nAddWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const DeleteWalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.627 7.205a3.018 3.018 0 0 0-3.01 3.01v3.076a4.749 4.749 0 0 1 6.5 4.414c0 .808-.205 1.579-.573 2.25h8.563a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.777-1.03-2.907-2.553a2.759 2.759 0 0 1 .817-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H6.627Zm-4.51 3.01a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.359 0-.675.14-.902.373l-.014.014c-.266.26-.415.63-.377 1.022v.009c.054.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H7.997a.75.75 0 0 1-.482-1.325c.243-.203.457-.456.624-.743l.01-.016a3.17 3.17 0 0 0 .468-1.666 3.249 3.249 0 0 0-5.282-2.533.75.75 0 0 1-1.218-.587v-4.37Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.467 2.655a1.15 1.15 0 0 0-1.554-1.079l-7.94 3a2.098 2.098 0 0 0-1.356 1.97v4.569a.75.75 0 1 1-1.5 0v-4.57c0-1.5.922-2.84 2.325-3.371l7.94-3c1.732-.657 3.585.629 3.585 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM19.846 12.405c-.359 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.377 1.022v.009c.053.635.664 1.182 1.413 1.182h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.778-1.03-2.907-2.553a2.759 2.759 0 0 1 .816-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.617 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM5.367 14.455c-.761 0-1.468.267-2.032.717h-.002a3.22 3.22 0 0 0-1.216 2.533c0 .61.17 1.183.469 1.666l.006.01a3.22 3.22 0 0 0 2.775 1.574 3.155 3.155 0 0 0 2.148-.825c.243-.203.457-.456.624-.743l.01-.016a3.17 3.17 0 0 0 .468-1.666 3.249 3.249 0 0 0-3.25-3.25ZM2.4 13.998a4.749 4.749 0 0 1 7.717 3.707 4.67 4.67 0 0 1-.687 2.446c-.25.427-.57.808-.94 1.12a4.655 4.655 0 0 1-3.123 1.184 4.72 4.72 0 0 1-4.061-2.301 4.67 4.67 0 0 1-.689-2.449A4.72 4.72 0 0 1 2.4 13.998Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.785 16.106a.75.75 0 0 1 1.06-.003l2.12 2.11a.75.75 0 1 1-1.058 1.064l-2.12-2.11a.75.75 0 0 1-.002-1.061Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.948 16.136a.75.75 0 0 1-.002 1.06l-2.12 2.11a.75.75 0 0 1-1.058-1.063l2.12-2.11a.75.75 0 0 1 1.06.003Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nDeleteWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithFillColor } from './common';\n\nexport const CheckWalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.686 7.205a3.018 3.018 0 0 0-3.01 3.01v3.076a4.749 4.749 0 0 1 6.5 4.414c0 .808-.205 1.579-.573 2.25h8.563a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H6.686Zm-4.51 3.01a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.36 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.378 1.022l.001.009c.053.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H8.056a.75.75 0 0 1-.482-1.324c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-5.283-2.533.75.75 0 0 1-1.217-.587v-4.37Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.526 2.655a1.15 1.15 0 0 0-1.554-1.078l-7.94 3a2.098 2.098 0 0 0-1.356 1.968v4.57a.75.75 0 0 1-1.5 0v-4.57c0-1.5.921-2.84 2.324-3.371l7.94-3c1.733-.657 3.586.629 3.586 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM19.905 12.405c-.36 0-.675.14-.903.374l-.014.013c-.265.26-.414.63-.377 1.022l.001.01c.053.634.664 1.181 1.413 1.181h1.942a.276.276 0 0 0 .268-.27v-2.06a.276.276 0 0 0-.268-.27h-2.062Zm-1.971-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.724 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.676 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM5.426 14.455c-.762 0-1.469.267-2.033.717h-.001a3.22 3.22 0 0 0-1.216 2.533c0 .61.17 1.184.468 1.667l.006.01a3.22 3.22 0 0 0 2.776 1.573 3.155 3.155 0 0 0 2.148-.824c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-3.25-3.25Zm-2.967-.457a4.749 4.749 0 0 1 7.717 3.707c0 .888-.248 1.73-.687 2.446-.25.427-.57.808-.941 1.12a4.656 4.656 0 0 1-3.122 1.184 4.72 4.72 0 0 1-4.062-2.301 4.671 4.671 0 0 1-.688-2.449 4.72 4.72 0 0 1 1.783-3.707Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.538 16.215a.75.75 0 0 1-.042 1.06l-2.13 1.97a.75.75 0 0 1-1.04-.02l-.99-.99a.75.75 0 1 1 1.062-1.06l.48.48 1.6-1.48a.75.75 0 0 1 1.06.04Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nCheckWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const SwapWalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.244 7.205a3.018 3.018 0 0 0-3.01 3.01v1.73a.75.75 0 0 1-1.5 0v-1.73a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.359 0-.674.14-.902.373l-.014.014c-.266.26-.414.63-.377 1.022v.009c.054.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51h-5.48a.75.75 0 0 1 0-1.5h5.48a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.777-1.03-2.907-2.553a2.758 2.758 0 0 1 .817-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H5.244Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.084 2.655a1.15 1.15 0 0 0-1.554-1.078l-7.94 3a2.098 2.098 0 0 0-1.356 1.968v4.57a.75.75 0 0 1-1.5 0v-4.57c0-1.5.922-2.84 2.325-3.371l7.94-3c1.732-.657 3.585.629 3.585 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM18.463 12.405c-.359 0-.675.14-.902.374l-.014.013c-.266.26-.415.63-.377 1.022v.01c.053.634.664 1.181 1.413 1.181h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.777-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.234 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM1.234 15.205a.75.75 0 0 1 .75-.75h5.34a1.91 1.91 0 0 1 1.91 1.91v1.28a.75.75 0 0 1-1.5 0v-1.28a.41.41 0 0 0-.41-.41h-5.34a.75.75 0 0 1-.75-.75Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.735 13.455a.75.75 0 0 1 0 1.06l-.69.69.69.69a.75.75 0 1 1-1.061 1.06l-1.22-1.22a.75.75 0 0 1 0-1.06l1.22-1.22a.75.75 0 0 1 1.06 0ZM1.984 17.296a.75.75 0 0 1 .75.75v1.28c0 .225.185.41.41.41h5.34a.75.75 0 0 1 0 1.5h-5.34a1.91 1.91 0 0 1-1.91-1.91v-1.28a.75.75 0 0 1 .75-.75Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.735 18.735a.75.75 0 0 1 1.061 0l1.22 1.22a.75.75 0 0 1 0 1.061l-1.22 1.22a.75.75 0 1 1-1.06-1.06l.689-.69-.69-.69a.75.75 0 0 1 0-1.06Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nSwapWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const DisconnectIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'black', size = 16, ...props }, forwardedRef) => {\n return (\n <SvgWithStrokeColor\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n color={color}\n viewBox={`0 0 24 24`}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"_icon\"\n {...props}\n ref={forwardedRef}\n >\n <path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"></path>\n <polyline points=\"16 17 21 12 16 7\"></polyline>\n <line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\"></line>\n </SvgWithStrokeColor>\n );\n }\n);\n\nDisconnectIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const BagIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 32 32\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <g clipPath=\"url(#a)\" strokeWidth={1.5}>\n <path d=\"M9.333 9.333V4.8a.8.8 0 0 1 .8-.8h11.734a.8.8 0 0 1 .8.8v4.533M13.333 4v5.333M16 4v5.333m9.333 17.334H6.667A2.667 2.667 0 0 1 4 24V12a2.667 2.667 0 0 1 2.667-2.667h18.666A2.667 2.667 0 0 1 28 12v12a2.667 2.667 0 0 1-2.667 2.667Z\" />\n <path\n d=\"M22 18.666a.667.667 0 1 1 0-1.334.667.667 0 0 1 0 1.334Z\"\n fill={color}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill={color} d=\"M0 0h32v32H0z\" />\n </clipPath>\n </defs>\n </SvgWithStrokeColor>\n );\n};\n\nBagIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const TimeIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 16, ...props }, forwardedRef) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx={10} cy={10} r={7.25} strokeWidth={1.5} />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.134 6.6a.6.6 0 0 0-1.2 0v4.27a.6.6 0 0 0 .28.507c.009.01.018.019.029.028l2.59 2.373a.472.472 0 0 0 .753-.109.763.763 0 0 0-.133-.919l-2.319-2.123V6.6Z\"\n />\n </SvgWithStrokeColor>\n );\n }\n);\n\nTimeIcon.toString = () => '._icon';\n", "import { styled } from '../../theme';\nimport { AddIcon } from './AddIcon';\n\nexport const CloseIcon = styled(AddIcon, {\n transform: 'rotate(45deg)',\n cursor: 'pointer',\n});\n\nCloseIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const SignatureIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n color={color}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 122.88 107.95\"\n xmlSpace=\"preserve\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M82.19 0c1.22-.01 2.27.4 3.18 1.27l13.27 12.7c.86.82 1.28 1.91 1.3 3.11.02 1.22-.34 2.33-1.18 3.18l-7.06 7.35L72.09 8.67l6.99-7.28C79.94.5 80.98.02 82.19 0zM20.08 68.29a4.536 4.536 0 1 1 2.67 8.67c-6.98 2.14-11.66 6.28-13.21 10.17-.41 1.04-.55 1.99-.39 2.77.12.59.48 1.13 1.07 1.56 2.55 1.86 8.04 2.34 17.26.1 5.46-1.33 11.31-3.13 16.49-4.73 5.29-1.63 9.91-3.06 13.12-3.66 5.92-1.1 11.83-1.85 16.6-1.61 6.26.31 10.96 2.32 12.57 7.13 1.04 3.11.75 5.81.49 8.23-.09.87-.18 1.68-.14 2.21 0 .02.95-.05 5.53-.41 5.3-.42 10.79-2.51 16.21-4.58 2.78-1.06 5.54-2.11 8.67-3.07 2.4-.73 4.93.63 5.65 3.02.73 2.4-.63 4.93-3.02 5.65-2.43.74-5.24 1.82-8.06 2.89-6.04 2.3-12.14 4.63-18.74 5.15-12.07.95-14.87-2.46-15.3-7.95-.1-1.29.03-2.54.17-3.88.16-1.5.34-3.18-.07-4.39-.18-.54-1.89-.82-4.39-.94-3.99-.2-9.22.48-14.54 1.47-2.65.49-7.05 1.85-12.09 3.41-5.27 1.63-11.22 3.46-17.02 4.87-12.14 2.95-20.21 1.7-24.73-1.6-2.54-1.85-4.05-4.27-4.63-7-.54-2.54-.23-5.28.85-8 2.46-6.14 9.23-12.5 18.98-15.48zm21.19-19.84L53.3 60.02l-14.71 3.95c-.53.1-.74-.11-.65-.6l3.33-14.92zm24.6-33.34 19.59 18.87L58.7 62.23l-23.98 6.43c-.86.17-1.2-.17-1.06-.98l5.43-24.31 26.78-28.26z\"\n style={{\n fillRule: 'evenodd',\n clipRule: 'evenodd',\n }}\n />\n </SvgWithFillColor>\n );\n};\n\nSignatureIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const CopyIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 64 64\"\n color={color}\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <g id=\"Text-files\">\n <path\n d=\"M53.9791489,9.1429005H50.010849c-0.0826988,0-0.1562004,0.0283995-0.2331009,0.0469999V5.0228\n\t\tC49.7777481,2.253,47.4731483,0,44.6398468,0h-34.422596C7.3839517,0,5.0793519,2.253,5.0793519,5.0228v46.8432999\n\t\tc0,2.7697983,2.3045998,5.0228004,5.1378999,5.0228004h6.0367002v2.2678986C16.253952,61.8274002,18.4702511,64,21.1954517,64\n\t\th32.783699c2.7252007,0,4.9414978-2.1725998,4.9414978-4.8432007V13.9861002\n\t\tC58.9206467,11.3155003,56.7043495,9.1429005,53.9791489,9.1429005z M7.1110516,51.8661003V5.0228\n\t\tc0-1.6487999,1.3938999-2.9909999,3.1062002-2.9909999h34.422596c1.7123032,0,3.1062012,1.3422,3.1062012,2.9909999v46.8432999\n\t\tc0,1.6487999-1.393898,2.9911003-3.1062012,2.9911003h-34.422596C8.5049515,54.8572006,7.1110516,53.5149002,7.1110516,51.8661003z\n\t\t M56.8888474,59.1567993c0,1.550602-1.3055,2.8115005-2.9096985,2.8115005h-32.783699\n\t\tc-1.6042004,0-2.9097996-1.2608986-2.9097996-2.8115005v-2.2678986h26.3541946\n\t\tc2.8333015,0,5.1379013-2.2530022,5.1379013-5.0228004V11.1275997c0.0769005,0.0186005,0.1504021,0.0469999,0.2331009,0.0469999\n\t\th3.9682999c1.6041985,0,2.9096985,1.2609005,2.9096985,2.8115005V59.1567993z\"\n />\n <path\n d=\"M38.6031494,13.2063999H16.253952c-0.5615005,0-1.0159006,0.4542999-1.0159006,1.0158005\n\t\tc0,0.5615997,0.4544001,1.0158997,1.0159006,1.0158997h22.3491974c0.5615005,0,1.0158997-0.4542999,1.0158997-1.0158997\n\t\tC39.6190491,13.6606998,39.16465,13.2063999,38.6031494,13.2063999z\"\n />\n <path\n d=\"M38.6031494,21.3334007H16.253952c-0.5615005,0-1.0159006,0.4542999-1.0159006,1.0157986\n\t\tc0,0.5615005,0.4544001,1.0159016,1.0159006,1.0159016h22.3491974c0.5615005,0,1.0158997-0.454401,1.0158997-1.0159016\n\t\tC39.6190491,21.7877007,39.16465,21.3334007,38.6031494,21.3334007z\"\n />\n <path\n d=\"M38.6031494,29.4603004H16.253952c-0.5615005,0-1.0159006,0.4543991-1.0159006,1.0158997\n\t\ts0.4544001,1.0158997,1.0159006,1.0158997h22.3491974c0.5615005,0,1.0158997-0.4543991,1.0158997-1.0158997\n\t\tS39.16465,29.4603004,38.6031494,29.4603004z\"\n />\n <path\n d=\"M28.4444485,37.5872993H16.253952c-0.5615005,0-1.0159006,0.4543991-1.0159006,1.0158997\n\t\ts0.4544001,1.0158997,1.0159006,1.0158997h12.1904964c0.5615025,0,1.0158005-0.4543991,1.0158005-1.0158997\n\t\tS29.0059509,37.5872993,28.4444485,37.5872993z\"\n />\n </g>\n </SvgWithFillColor>\n );\n};\n\nCopyIcon.toString = () => '._icon';\n", "import { CSSProperties } from '@stitches/react';\nimport React, { PropsWithChildren } from 'react';\nimport { styled } from '../../theme';\n\nconst TypographyContainer = styled('span', {\n margin: 0,\n display: 'inline-block',\n variants: {\n variant: {\n h1: {\n fontSize: '$36',\n fontWeight: '$700',\n '@md': {\n fontSize: '$40',\n },\n '@lg': {\n fontSize: '$48',\n },\n },\n h2: {\n fontSize: '$32',\n fontWeight: '$700',\n '@md': {\n fontSize: '$36',\n },\n '@lg': {\n fontSize: '$40',\n },\n },\n h3: {\n fontSize: '$20',\n fontWeight: '$700',\n '@md': {\n fontSize: '$24',\n },\n '@lg': {\n fontSize: '$32',\n },\n },\n h4: {\n fontSize: '$18',\n fontWeight: '$600',\n '@md': {\n fontSize: '$20',\n },\n '@lg': {\n fontSize: '$24',\n },\n },\n h5: {\n fontSize: '$16',\n fontWeight: '$600',\n },\n h6: {\n fontSize: '$14',\n fontWeight: '$500',\n '@md': {\n fontSize: '$16',\n },\n '@lg': {\n fontSize: '$18',\n },\n },\n title: {\n fontSize: '$14',\n fontWeight: '$500',\n '@md': {\n fontSize: '$15',\n }\n },\n body1: {\n fontSize: '$14',\n fontWeight: '$400',\n '@md': {\n fontSize: '$16',\n },\n '@lg': {\n fontSize: '$18',\n },\n },\n body2: {\n fontSize: '$14',\n fontWeight: '$400',\n // '@lg': {\n // fontSize: '$14',\n // },\n },\n body3: {\n fontSize: '$12',\n fontWeight: '$400',\n },\n caption: {\n fontSize: '$10',\n fontWeight: '$400',\n '@lg': {\n fontSize: '$12',\n },\n },\n },\n align: {\n center: {\n textAlign: 'center',\n },\n left: {\n textAlign: 'left',\n },\n right: {\n textAlign: 'right',\n },\n },\n noWrap: {\n true: {\n whiteSpace: 'nowrap',\n },\n },\n ml: {\n 2: {\n marginLeft: '$2',\n },\n 4: {\n marginLeft: '$4',\n },\n 8: {\n marginLeft: '$8',\n },\n 12: {\n marginLeft: '$12',\n },\n },\n mt: {\n 2: {\n marginTop: '$2',\n },\n 4: {\n marginTop: '$4',\n },\n 8: {\n marginTop: '$8',\n },\n 12: {\n marginTop: '$12',\n },\n },\n mr: {\n 2: {\n marginRight: '$2',\n },\n 4: {\n marginRight: '$4',\n },\n 8: {\n marginRight: '$8',\n },\n 12: {\n marginRight: '$12',\n },\n },\n mb: {\n 2: {\n marginBottom: '$2',\n },\n 4: {\n marginBottom: '$4',\n },\n 8: {\n marginBottom: '$8',\n },\n 12: {\n marginBottom: '$12',\n },\n },\n },\n});\n\nexport interface PropTypes {\n variant:\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'title'\n | 'body1'\n | 'body2'\n | 'body3'\n | 'caption';\n align?: 'center' | 'left' | 'right';\n noWrap?: boolean;\n mt?: 2 | 4 | 8 | 12;\n mb?: 2 | 4 | 8 | 12;\n ml?: 2 | 4 | 8 | 12;\n mr?: 2 | 4 | 8 | 12;\n className?: string;\n style?: CSSProperties;\n color?: string;\n}\n\nexport function Typography({\n children,\n className,\n color,\n ...props\n}: PropsWithChildren<PropTypes>) {\n const customCss = color\n ? {\n color: color.startsWith('$') ? color : `$${color}`,\n }\n : {\n color: '$foreground',\n };\n\n return (\n <TypographyContainer\n className={`_typography _text ${className || ''}`}\n css={customCss}\n {...props}\n >\n {children}\n </TypographyContainer>\n );\n}\n\nTypography.toString = () => '._typography';\n", "import React from 'react';\nimport { styled } from '../../theme';\n\nconst DividerContainer = styled('div', {\n variants: {\n size: {\n 4: {},\n 8: {},\n 12: {},\n 16: {},\n 18: {},\n 20: {},\n 24: {},\n 32: {},\n },\n direction: {\n vertical: {},\n horizontal: {},\n },\n },\n compoundVariants: [\n {\n size: 4,\n direction: 'horizontal',\n css: {\n width: '$4',\n },\n },\n {\n size: 4,\n direction: 'vertical',\n css: {\n height: '$4',\n },\n },\n {\n size: 8,\n direction: 'horizontal',\n css: {\n width: '$8',\n },\n },\n {\n size: 8,\n direction: 'vertical',\n css: {\n height: '$8',\n },\n },\n {\n size: 12,\n direction: 'horizontal',\n css: {\n width: '$12',\n },\n },\n {\n size: 12,\n direction: 'vertical',\n css: {\n height: '$12',\n },\n },\n {\n size: 16,\n direction: 'horizontal',\n css: {\n width: '$16',\n },\n },\n {\n size: 16,\n direction: 'vertical',\n css: {\n height: '$16',\n },\n },\n {\n size: 18,\n direction: 'horizontal',\n css: {\n width: '$18',\n },\n },\n {\n size: 18,\n direction: 'vertical',\n css: {\n height: '$18',\n },\n },\n {\n size: 20,\n direction: 'horizontal',\n css: {\n width: '$20',\n },\n },\n {\n size: 20,\n direction: 'vertical',\n css: {\n height: '$20',\n },\n },\n {\n size: 24,\n direction: 'horizontal',\n css: {\n width: '$24',\n },\n },\n {\n size: 24,\n direction: 'vertical',\n css: {\n height: '$24',\n },\n },\n {\n size: 32,\n direction: 'horizontal',\n css: {\n width: '$32',\n },\n },\n {\n size: 32,\n direction: 'vertical',\n css: {\n height: '$32',\n },\n },\n ],\n});\nexport interface PropTypes {\n size?: 4 | 8 | 12 | 16 | 18 | 20 | 24 | 32;\n direction?: 'vertical' | 'horizontal';\n}\n\nexport function Divider({ size = 12, direction = 'vertical' }: PropTypes) {\n return <DividerContainer size={size} direction={direction} />;\n}\n", "import React from 'react';\nimport { i18n } from '@lingui/core';\nimport { Alert } from './Alert';\n\nexport function LoadingFailedAlert() {\n return (\n <Alert\n type=\"error\"\n title={i18n.t(\n ' Error connecting server, please reload the app and try again.'\n )}\n />\n );\n}\n", "import React from 'react';\nimport { Alert } from './Alert';\n\ninterface PropTypes {\n catergory: string;\n searchedFor?: string;\n}\n\nexport function NotFoundAlert(props: PropTypes) {\n const { catergory, searchedFor } = props;\n return (\n <Alert\n type=\"secondary\"\n title={`${catergory} ${\n searchedFor ? \"'\" + searchedFor + \"'\" : ''\n } not found.`}\n />\n );\n}\n", "import React, { Fragment, PropsWithChildren } from 'react';\nimport { i18n } from '@lingui/core';\nimport { GasIcon, TimeIcon } from '../../components/Icon';\nimport { StepDetail } from '../../components/StepDetail';\nimport { Typography } from '../../components/Typography';\nimport { keyframes, styled } from '../../theme';\nimport { Skeleton } from '../Skeleton';\nimport { Spinner } from '../Spinner';\nimport { BestRouteResponse } from 'rango-sdk';\nimport { Tooltip } from '../Tooltip';\nimport { Image } from '../common';\n\nconst Container = styled('div', {\n borderRadius: '$5',\n border: '1px solid $neutral100',\n display: 'flex',\n alignItems: 'center',\n minHeight: 126,\n justifyContent: 'space-between',\n backgroundColor: '$surface',\n});\n\nconst ErrorMsg = styled(Typography, {\n color: '$error',\n});\nconst BestRouteContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n margin: '0 auto',\n overflowX: 'auto',\n overflowY: 'hidden',\n alignSelf: 'stretch',\n padding: '$4',\n '@md': {\n padding: '$8',\n },\n});\nconst Line = styled('div', {\n height: '0',\n width: '$20',\n border: '1px dashed $foreground',\n borderRadius: 'inherit',\n '@lg': {\n width: '$32',\n },\n});\n\nconst HR = styled('hr', {\n width: '100%',\n border: '1px solid $neutral400',\n margin: '$8 0',\n});\n\nconst RelativeContainer = styled('div', {\n position: 'relative',\n});\nconst Dot = styled('div', {\n width: '$6',\n height: '$6',\n backgroundColor: '$foreground',\n position: 'absolute',\n top: '45%',\n right: -5,\n marginLeft: '$8',\n borderRadius: '50%',\n '@md': {\n width: '$8',\n height: '$8',\n right: -8,\n top: '45%',\n },\n});\nconst ArrowRight = styled('div', {\n width: '0px',\n height: '0px',\n borderTop: '5px solid transparent',\n borderBottom: '5px solid transparent',\n borderLeft: '5px solid $foreground',\n});\n\nexport const pulse = keyframes({\n '0%': {\n opacity: 1,\n },\n '50%': {\n opacity: 0.3,\n },\n '100%': {\n opacity: 1,\n },\n});\n\nconst GasContainer = styled('div', {\n backgroundColor: '$neutral100',\n borderRadius: '5px',\n margin: '$4',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '$4',\n '@md': {\n padding: '$8',\n margin: '$8',\n },\n});\n\nconst CostContainer = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n variants: {\n warning: {\n true: {\n animation: `${pulse} 2s ease-in-out infinite`,\n },\n },\n },\n});\n\nconst TotalFee = styled(Typography, {\n variants: {\n warning: {\n true: {\n color: '$warning300',\n },\n },\n },\n});\n\nconst SkeletonContainer = styled('div', {\n padding: '$4',\n '@md': {\n padding: '$8',\n },\n});\nconst SwapperContainer = styled('div', {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n});\n\nexport interface PropTypes {\n data: BestRouteResponse | null;\n totalFee: string;\n feeWarning: boolean;\n totalTime: string;\n loading?: boolean;\n error?: string;\n}\nexport function BestRoute(props: PropsWithChildren<PropTypes>) {\n const { data, loading, error, totalFee, feeWarning, totalTime } = props;\n return (\n <Container>\n {loading ? (\n <SkeletonContainer>\n <Skeleton width={48} height={94} />\n </SkeletonContainer>\n ) : (\n <GasContainer>\n <Tooltip content={i18n.t('Transaction cost (fee)')}>\n <CostContainer warning={feeWarning}>\n <GasIcon size={20} color={feeWarning ? 'warning' : undefined} />\n <TotalFee\n mt={4}\n align=\"center\"\n variant=\"caption\"\n warning={feeWarning}>\n {error && '-'}\n {!!data && `$${totalFee}`}\n </TotalFee>\n </CostContainer>\n </Tooltip>\n <HR />\n <Tooltip content={i18n.t('Time estimate')}>\n <CostContainer warning={feeWarning}>\n <TimeIcon size={20} />\n <Typography mt={4} align=\"center\" variant=\"caption\">\n {error && '-'}\n {!!data && `~${totalTime}m`}\n </Typography>\n </CostContainer>\n </Tooltip>\n </GasContainer>\n )}\n <BestRouteContainer>\n {loading && <Spinner color=\"primary\" />}\n\n {error && <ErrorMsg variant=\"caption\">{error}</ErrorMsg>}\n\n {!!data &&\n data.result?.swaps.map((swap, index) => (\n <Fragment key={index}>\n {index === 0 && (\n <RelativeContainer>\n <StepDetail\n direction=\"vertical\"\n logo={swap.from.logo}\n symbol={swap.from.symbol}\n chainLogo={swap.from.blockchainLogo}\n blockchain={swap.from.blockchain}\n amount={swap.fromAmount}\n />\n <Dot />\n </RelativeContainer>\n )}\n <SwapperContainer>\n <Line />\n <Image src={swap.swapperLogo} alt={swap.swapperId} size={20} />\n <Line />\n </SwapperContainer>\n\n {index + 1 === data.result?.swaps.length && <ArrowRight />}\n <StepDetail\n direction=\"vertical\"\n logo={swap.to.logo}\n symbol={swap.to.symbol}\n chainLogo={swap.to.blockchainLogo}\n blockchain={swap.to.blockchain}\n amount={swap.toAmount}\n />\n </Fragment>\n ))}\n {!!data && !data?.result && (\n <Typography variant=\"body2\">{i18n.t('No routes found')}</Typography>\n )}\n </BestRouteContainer>\n </Container>\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { styled } from '../../theme';\nimport { Typography } from '../Typography';\n\nconst StepLogoContainer = styled('div', {\n position: 'relative',\n width: '$28',\n height: '$28',\n variants: {\n direction: {\n vertical: {\n margin: 'auto',\n },\n horizontal: {},\n },\n },\n});\nconst Logo = styled('img', {\n width: '$28',\n height: '$28',\n borderRadius: '50%',\n});\n\nconst ChainLogo = styled('div', {\n position: 'absolute',\n right: -4,\n bottom: -4,\n width: '$16',\n height: '$16',\n padding: '$2',\n borderRadius: '50%',\n backgroundColor: '$background',\n border: '1px solid $neutral400',\n\n img: {\n width: '100%',\n display: 'block',\n },\n});\nconst StepContainer = styled('div', {\n display: 'flex',\n variants: {\n direction: {\n horizontal: {\n alignItems: 'center',\n },\n vertical: {\n flexDirection: 'column',\n textAlign: 'center',\n justifyContent: 'center',\n },\n },\n success: {\n true: { filter: 'none' },\n false: {\n filter: 'grayscale(100%)',\n },\n },\n },\n});\nconst Detail = styled('div', {\n variants: {\n pl: {\n true: {\n paddingLeft: '$4',\n '@lg': {\n paddingLeft: '$8',\n },\n },\n false: {\n paddingTop: '$8',\n },\n },\n },\n});\nconst SubTitle = styled(Typography, {\n color: '$neutral600',\n display: 'block',\n paddingLeft: '$8',\n});\nexport interface PropTypes {\n logo: string;\n chainLogo: string;\n amount: string;\n symbol: string;\n blockchain: string;\n estimatedAmount?: string;\n direction?: 'horizontal' | 'vertical';\n success?: boolean;\n}\n\nexport function StepDetail(props: PropsWithChildren<PropTypes>) {\n const {\n logo,\n chainLogo,\n amount,\n symbol,\n blockchain,\n estimatedAmount,\n success = true,\n direction = 'horizontal',\n } = props;\n return (\n <StepContainer direction={direction} success={success}>\n <StepLogoContainer direction={direction}>\n <Logo src={logo} alt={symbol} />\n <ChainLogo>\n <img src={chainLogo} alt={blockchain} />\n </ChainLogo>\n </StepLogoContainer>\n <Detail pl={direction === 'horizontal'}>\n {amount && (\n <Typography\n noWrap\n variant={direction === 'vertical' ? 'body2' : 'title'}\n >\n {amount}\n </Typography>\n )}\n {!amount && estimatedAmount && (\n <Typography\n noWrap\n variant={direction === 'vertical' ? 'body2' : 'title'}\n color={'$neutral600'}\n >\n {estimatedAmount}\n </Typography>\n )}\n \n <Typography\n variant={direction === 'vertical' ? 'body2' : 'title'}\n noWrap\n >\n {symbol}\n </Typography>\n <SubTitle noWrap variant=\"caption\" color=\"$neutral800\">\n on {blockchain}\n </SubTitle>\n </Detail>\n </StepContainer>\n );\n}\n", "import React from 'react';\nimport { keyframes, styled } from '../../theme';\n\nconst waveSquares = keyframes({\n '0%': {\n backgroundPosition: '-468px 0',\n },\n '100%': {\n backgroundPosition: '468px 0',\n },\n});\n\nconst SkeletonContainer = styled('div', {\n borderRadius: '$5',\n backgroundColor: '$neutral100',\n background: `linear-gradient(to right, rgba(130, 130, 130, 0.2) 8%, rgba(130, 130, 130, 0.3) 18%, rgba(130, 130, 130, 0.2) 33%)`,\n backgroundSize: '800px 100px',\n animation: `${waveSquares} 2s infinite ease-out`,\n variants: {\n width: {\n 16: {\n width: '$16',\n },\n 20: {\n width: '$20',\n },\n 24: {\n width: '$24',\n },\n 36: {\n width: '$36',\n },\n 48: {\n width: '$48',\n },\n },\n height: {\n 16: {\n height: '$16',\n },\n 20: {\n height: '$20',\n },\n 24: {\n height: '$24',\n },\n 36: {\n height: '$36',\n },\n 48: {\n height: '$48',\n },\n 94: {\n height: 94,\n },\n },\n },\n});\nexport interface PropTypes {\n width?: 20 | 24 | 36 | 48;\n height?: 20 | 24 | 36 | 48 | 94;\n}\n\nexport function Skeleton({ width = 20, height = 20 }: PropTypes) {\n return <SkeletonContainer width={width} height={height} />;\n}\n", "import React from 'react';\nimport { keyframes, styled } from '../../theme';\n\nconst spin = keyframes({\n '100%': {\n transform: 'rotate(360deg)',\n },\n});\n\nconst SpinnerContainer = styled('div', {\n borderRadius: '50%',\n position: 'relative',\n border: `2px solid $neutral100`,\n borderRight: `2px solid`,\n animation: `${spin} 1.5s linear infinite`,\n margin: `0px $8`,\n variants: {\n color: {\n primary: {\n borderRightColor: '$primary',\n },\n error: {\n borderRightColor: '$error',\n },\n warning: {\n borderRightColor: '$warning',\n },\n success: {\n borderRightColor: '$success',\n },\n black: {\n borderRightColor: '$black',\n },\n white: {\n borderRightColor: '$white',\n },\n },\n size: {\n 16: {\n width: '$16',\n height: '$16',\n },\n 20: {\n width: '$20',\n height: '$20',\n },\n 24: {\n width: '$24',\n height: '$24',\n },\n },\n },\n});\nexport interface PropTypes {\n size?: 16 | 20 | 24;\n color?: 'primary' | 'error' | 'warning' | 'success' | 'black' | 'white';\n}\n\nexport function Spinner({ size = 16, color = 'primary' }: PropTypes) {\n return <SpinnerContainer size={size} color={color} />;\n}\n", "import * as RadixTooltip from '@radix-ui/react-tooltip';\nimport { styled } from '../../theme';\nimport React, { PropsWithChildren } from 'react';\n\nexport interface PropTypes {\n content: string;\n side?: 'top' | 'right' | 'bottom' | 'left';\n color?:\n | 'primary'\n | 'error'\n | 'warning'\n | 'success'\n | 'gray'\n | 'white'\n | 'black';\n}\nconst TooltipTrigger = styled(RadixTooltip.Trigger, {\n border: 0,\n padding: 0,\n\n backgroundColor: 'transparent',\n});\nconst TooltipContent = styled(RadixTooltip.Content, {\n borderRadius: '$5',\n padding: '$4 $8',\n fontSize: '$14',\n animationDuration: '400ms',\n animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n willChange: 'transform, opacity',\n variants: {\n color: {\n primary: {\n backgroundColor: '$primary',\n color: '$white',\n },\n error: {\n backgroundColor: '$error',\n color: '$white',\n },\n warning: {\n backgroundColor: '$warning',\n color: '$white',\n },\n success: {\n backgroundColor: '$success',\n color: '$white',\n },\n gray: {\n backgroundColor: '$neutral100',\n color: '$black',\n },\n black: {\n backgroundColor: '$black',\n color: '$white',\n },\n white: {\n backgroundColor: '$white',\n color: '$black',\n },\n },\n },\n});\nconst TooltipArrow = styled(RadixTooltip.Arrow, {\n variants: {\n color: {\n primary: {\n fill: '$primary',\n },\n error: {\n fill: '$error',\n },\n warning: {\n fill: '$warning',\n },\n success: {\n fill: '$success',\n },\n gray: {\n fill: '$neutral100',\n },\n black: {\n fill: '$black',\n },\n white: {\n fill: '$white',\n },\n },\n },\n});\n\nconst ChildrenWrapper = styled('div', {\n display: 'inline-block',\n});\n\nexport function Tooltip({\n children,\n content,\n side = 'top',\n color = 'gray',\n}: PropsWithChildren<PropTypes>) {\n return (\n <RadixTooltip.Provider>\n <RadixTooltip.Root>\n <TooltipTrigger asChild>\n <ChildrenWrapper>{children}</ChildrenWrapper>\n </TooltipTrigger>\n <RadixTooltip.Portal>\n <TooltipContent color={color} side={side} sideOffset={5}>\n {content}\n <TooltipArrow color={color} />\n </TooltipContent>\n </RadixTooltip.Portal>\n </RadixTooltip.Root>\n </RadixTooltip.Provider>\n );\n}\n", "import { styled } from '../../theme';\n\nexport const FilledCircle = styled('span', {\n width: '10px',\n height: '10px',\n backgroundColor: '$primary',\n borderRadius: '99999px',\n});\n", "import React from 'react';\nimport { styled } from '../../theme';\n\nconst ImageContainer = styled('div', {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n '.image': {\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n },\n});\n\ntype PropTypes = {\n size: number;\n} & React.ImgHTMLAttributes<HTMLImageElement>;\n\nexport function Image(props: PropTypes) {\n const { size, ...otherProps } = props;\n\n return (\n <ImageContainer css={{ width: size + 'px', height: size + 'px' }}>\n <img className=\"image\" {...otherProps} />\n </ImageContainer>\n );\n}\n", "import React from 'react';\nimport { i18n } from '@lingui/core';\nimport { styled } from '../../theme';\nimport { Typography } from '../Typography';\n\nconst Container = styled('div', {\n display: 'flex',\n width: '100%',\n justifyContent: 'end',\n alignItems: 'center',\n paddingTop: '$16',\n});\n\nconst Logo = styled('svg', {\n fill: '$foreground',\n width: '$24',\n margin: '0 $8 0 $16',\n});\n\nconst StyledAnchor = styled('a', {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n textDecoration: 'none',\n});\n\nexport function BottomLogo() {\n return (\n <Container>\n <Typography variant=\"caption\" color=\"$neutral600\">\n {i18n.t('Powered By')}\n </Typography>\n <StyledAnchor href=\"https://rango.exchange\" target=\"_blank\">\n <Logo xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 33.68 29\">\n <defs></defs>\n <g id=\"Layer_2\" data-name=\"Layer 2\">\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\n <path d=\"M33.68,18.05A17.93,17.93,0,0,0,28.34,5.29,18.31,18.31,0,0,0,15.45,0H13.54V7.41L6.07,0H.69L9.83,9.07H0V11A17.93,17.93,0,0,0,5.34,23.71,18.32,18.32,0,0,0,18.24,29h1.9V21.59l7.38,7.31h5.39l-9-9h9.82ZM17.37,16.16H12.49a1.93,1.93,0,0,0-1.35.55,1.89,1.89,0,0,0-.56,1.34,1.85,1.85,0,0,0,.56,1.33,1.93,1.93,0,0,0,1.35.55h3.84V25.1A14.43,14.43,0,0,1,8,21a14.21,14.21,0,0,1-4.1-8.2H21.2a1.86,1.86,0,0,0,.74-.13,1.92,1.92,0,0,0,.64-.4,2,2,0,0,0,.43-.62,1.88,1.88,0,0,0,0-1.47,2,2,0,0,0-.43-.62,1.92,1.92,0,0,0-.64-.4,1.86,1.86,0,0,0-.74-.13H17.35V3.9A14.43,14.43,0,0,1,25.64,8a14.19,14.19,0,0,1,4.11,8.2Zm2.12-5.27a1.43,1.43,0,0,1,.26-.83,1.52,1.52,0,0,1,.67-.56,1.55,1.55,0,0,1,.88-.08,1.51,1.51,0,0,1,.77.4,1.54,1.54,0,0,1,.42.77,1.41,1.41,0,0,1-.09.86,1.47,1.47,0,0,1-.55.68,1.56,1.56,0,0,1-.84.25,1.52,1.52,0,0,1-1.52-1.49Z\" />\n <path d=\"M21.7,11.57a.68.68,0,0,0-.12-.38.64.64,0,0,0-.31-.25.68.68,0,0,0-.75.15.61.61,0,0,0-.19.35.62.62,0,0,0,0,.4.67.67,0,0,0,.25.3.69.69,0,0,0,.39.12.7.7,0,0,0,.49-.2A.68.68,0,0,0,21.7,11.57Z\" />\n </g>\n </g>\n </Logo>\n <Typography variant=\"body2\">RANGO</Typography>\n </StyledAnchor>\n </Container>\n );\n}\n", "import { CSSProperties } from '@stitches/react';\nimport React, { PropsWithChildren, HTMLAttributes } from 'react';\nimport { darkTheme, styled } from '../../theme';\nimport { Spinner } from '../Spinner';\nimport { Typography } from '../Typography';\n\nconst ButtonContainer = styled('button', {\n borderRadius: '$5',\n fontSize: '$16',\n fontWeight: '$400',\n cursor: 'pointer',\n padding: '0 $12',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: 'all 0.35s',\n border: '0',\n\n '&:active': {\n transform: 'scale(0.95)',\n },\n\n variants: {\n align: {\n start: {\n display: 'flex',\n width: '100%',\n },\n grow: {\n display: 'flex',\n width: '100%',\n },\n },\n size: {\n compact: {},\n free: {},\n small: {\n height: '$32',\n },\n medium: {\n height: '$40',\n },\n large: {\n height: '$48',\n },\n },\n variant: {\n contained: {\n backgroundColor: '$neutral100',\n color: '$foreground',\n border: 0,\n '&:hover': {\n backgroundColor: '$neutral200',\n },\n '&:disabled': {\n background: '$neutral400',\n },\n '&:disabled:hover': {\n background: '$neutral400',\n transform: 'unset',\n },\n },\n outlined: {\n backgroundColor: '$surface',\n border: 1,\n borderStyle: 'solid',\n borderColor: '$neutral400',\n color: '$foreground',\n '&:hover': {\n borderColor: '$neutral600',\n },\n '&:disabled': {\n borderColor: '$neutral400',\n color: '$neutral400',\n },\n },\n ghost: {\n color: '$foreground',\n '&:hover': {\n backgroundColor: '$neutral200',\n },\n '&:disabled': {\n color: '$neutral400',\n },\n background: 'transparent',\n border: 0,\n\n [`& ${Typography}`]: {\n color: 'inherit',\n },\n },\n },\n fullWidth: {\n true: {\n width: '100%',\n },\n },\n loading: {\n true: {},\n },\n type: {\n primary: {},\n error: {},\n warning: {},\n success: {},\n },\n },\n\n compoundVariants: [\n {\n type: 'primary',\n variant: 'contained',\n css: {\n background: '$primary',\n color: '$white',\n '&:hover': {\n background: '$primary700',\n },\n '&:visited': {\n background: '$primary900',\n },\n '&:focus': {\n background: '$primary600',\n },\n },\n },\n {\n type: 'primary',\n variant: 'outlined',\n css: {\n color: '$primary',\n borderColor: '$primary',\n '&:hover': {\n color: '$primary700',\n borderColor: '$primary700',\n },\n '&:visited': {\n color: '$primary900',\n borderColor: '$primary900',\n },\n '&:focus': {\n color: '$primary600',\n borderColor: '$primary600',\n },\n },\n },\n {\n type: 'primary',\n variant: 'ghost',\n css: {\n color: '$primary',\n '&:hover': {\n color: '$primary700',\n },\n '&:visited': { color: '$primary900' },\n '&:focus': {\n color: '$primary600',\n },\n },\n },\n {\n type: 'error',\n variant: 'contained',\n css: {\n background: '$error',\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n color: '$$color',\n '&:hover': {\n background: '$error300',\n },\n '&:visited': {\n background: '$error700',\n },\n '&:focus': {\n background: '$error700',\n },\n },\n },\n {\n type: 'error',\n variant: 'outlined',\n css: {\n color: '$error',\n borderColor: '$error',\n '&:hover': {\n color: '$error300',\n borderColor: '$error300',\n },\n '&:visited': {\n color: '$error700',\n borderColor: '$error700',\n },\n '&:focus': {\n color: '$error700',\n borderColor: '$error700',\n },\n },\n },\n {\n type: 'error',\n variant: 'ghost',\n css: {\n color: '$error',\n '&:hover': {\n color: '$error300',\n },\n '&:visited': {\n color: '$error700',\n },\n '&:focus': {\n color: '$error700',\n },\n },\n },\n {\n type: 'warning',\n variant: 'contained',\n css: {\n background: '$warning',\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n color: '$$color',\n '&:hover': {\n background: '$warning300',\n },\n '&:visited': {\n background: '$warning700',\n },\n '&:focus': {\n background: '$warning700',\n },\n },\n },\n {\n type: 'warning',\n variant: 'outlined',\n css: {\n color: '$warning',\n borderColor: '$warning',\n '&:hover': {\n color: '$warning300',\n borderColor: '$warning300',\n },\n '&:visited': {\n color: '$warning700',\n borderColor: '$warning700',\n },\n '&:focus': {\n color: '$warning700',\n borderColor: '$warning700',\n },\n },\n },\n {\n type: 'warning',\n variant: 'ghost',\n css: {\n color: '$warning',\n '&:hover': {\n color: '$warning300',\n },\n '&:visited': {\n color: '$warning700',\n },\n '&:focus': {\n color: '$warning700',\n },\n },\n },\n {\n type: 'success',\n variant: 'contained',\n css: {\n background: '$success',\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n color: '$$color',\n '&:hover': {\n background: '$success300',\n },\n '&:visited': {\n background: '$success700',\n },\n '&:focus': {\n background: '$success700',\n },\n },\n },\n {\n type: 'success',\n variant: 'outlined',\n css: {\n color: '$success',\n borderColor: '$success',\n '&:hover': {\n color: '$success300',\n borderColor: '$success300',\n },\n '&:visited': {\n color: '$success700',\n borderColor: '$success700',\n },\n '&:focus': {\n color: '$success700',\n borderColor: '$success700',\n },\n },\n },\n {\n type: 'success',\n variant: 'ghost',\n css: {\n color: '$success',\n '&:hover': {\n color: '$success300',\n },\n '&:visited': {\n color: '$success700',\n },\n '&:focus': {\n color: '$success700',\n },\n },\n },\n {\n size: 'compact',\n css: {\n padding: '$2 $4',\n fontSize: '$12',\n },\n },\n ],\n defaultVariants: {\n size: 'medium',\n variant: 'contained',\n },\n});\n\nconst Content = styled('div', {\n flex: 1,\n variants: {\n align: {\n start: {\n textAlign: 'left',\n },\n grow: {\n textAlign: 'center',\n },\n },\n ml: {\n true: {\n marginLeft: '$8',\n },\n },\n mr: {\n true: {\n marginRight: '$8',\n },\n },\n flexContent: {\n true: {\n display: 'flex',\n alignItems: 'center',\n },\n },\n },\n});\n\nexport interface PropTypes\n extends Omit<HTMLAttributes<HTMLButtonElement>, 'prefix'> {\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n size?: 'small' | 'medium' | 'large' | 'compact' | 'free';\n variant?: 'contained' | 'outlined' | 'ghost';\n type?: 'primary' | 'error' | 'warning' | 'success';\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n align?: 'start' | 'grow';\n loading?: boolean;\n fullWidth?: boolean;\n disabled?: boolean;\n style?: CSSProperties;\n flexContent?: boolean;\n}\n\nexport function Button({\n children,\n loading,\n disabled,\n prefix,\n suffix,\n align,\n flexContent,\n ...props\n}: PropsWithChildren<PropTypes>) {\n const isDisabled = loading || disabled;\n return (\n <ButtonContainer disabled={isDisabled} {...props} align={align}>\n {prefix}\n {children && (\n <Content\n align={align}\n ml={!!prefix}\n mr={!!suffix && !loading}\n flexContent={flexContent}\n className=\"_text\"\n >\n {children}\n </Content>\n )}\n {loading && <Spinner size={16} color={props.type} />}\n {suffix}\n </ButtonContainer>\n );\n}\n", "import React from 'react';\nimport { Button } from '../Button';\nimport { i18n } from '@lingui/core';\n\ninterface PropTypes {\n onClick: () => void;\n}\n\nexport function ChangeSlippageButton(props: PropTypes) {\n const { onClick } = props;\n\n return (\n <Button type=\"primary\" variant=\"outlined\" size=\"small\" onClick={onClick}>\n {i18n.t('Change Slippage')}\n </Button>\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { styled } from '../../theme';\nimport * as RadixCheckbox from '@radix-ui/react-checkbox';\nimport { CheckIcon } from '../Icon';\n\nconst CheckboxContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nconst CheckboxRoot = styled(RadixCheckbox.Root, {\n borderRadius: '5px',\n width: 20,\n padding: 0,\n height: 20,\n border: '1px solid $foreground',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginRight: '$2',\n backgroundColor: '$neutral-100',\n cursor: 'pointer',\n});\nconst Label = styled('label', {\n color: '$foreground',\n fontSize: '$m',\n marginLeft: '$8',\n cursor: 'pointer',\n});\n\nexport interface PropTypes {\n id: string;\n defaultChecked?: boolean;\n label: string;\n checked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n disabled?: boolean;\n name?: string;\n}\n\nexport function Checkbox({\n label,\n id,\n ...props\n}: PropsWithChildren<PropTypes>) {\n return (\n <CheckboxContainer>\n <CheckboxRoot id={id} {...props}>\n <RadixCheckbox.Indicator>\n <CheckIcon size={20} />\n </RadixCheckbox.Indicator>\n </CheckboxRoot>\n <Label className=\"_text\" htmlFor={id}>\n {label}\n </Label>\n </CheckboxContainer>\n );\n}\n", "import { CSSProperties } from '@stitches/react';\nimport React from 'react';\nimport { styled } from '../../theme';\n\nconst ChipCointainer = styled('div', {\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '$5',\n padding: '$4 $8',\n height: '32',\n fontSize: '$14',\n cursor: 'pointer',\n transition: 'all 0.35s',\n color: '$foreground',\n\n '&:hover': {\n backgroundColor: '$success700',\n color: '$background',\n },\n variants: {\n selected: {\n true: { backgroundColor: '$success', color: '$background' },\n false: { backgroundColor: '$surface' },\n },\n },\n});\n\nexport interface PropTypes {\n label: string;\n selected?: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n className?: string;\n style?: CSSProperties;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n}\n\nexport function Chip(props: PropTypes) {\n const { label, selected, prefix, suffix, onClick, style } = props;\n return (\n <ChipCointainer selected={selected} onClick={onClick} style={style}>\n {prefix || null}\n {label}\n {suffix || null}\n </ChipCointainer>\n );\n}\n", "import React, { useState } from 'react';\nimport { styled } from '../../theme';\nimport { Button } from '../Button';\nimport { CloseIcon } from '../Icon';\nimport rgbHex from 'rgb-hex';\nimport ReactColor from 'react-color';\n\nconst { ChromePicker } = ReactColor;\n\nconst Container = styled('div', {\n position: 'relative',\n});\n\nconst Color = styled('div', {\n border: '1px solid $neutral100',\n borderRadius: '$5',\n width: '$32',\n height: '$32',\n});\nconst Cover = styled('div', {\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n});\nconst Popover = styled('div', {\n position: 'absolute',\n zIndex: '2',\n variants: {\n place: {\n top: {\n top: '-241px',\n },\n bottom: {},\n left: {\n top: '-50%',\n left: '-225px',\n },\n right: {\n top: '-50%',\n right: '-225px',\n },\n },\n },\n});\nexport interface PropTypes {\n color?: string;\n place: 'top' | 'bottom' | 'left' | 'right';\n onChangeColor: (color?: string) => void;\n label?: string;\n placeholder?: string;\n}\n\nconst Label = styled('label', {\n display: 'inline-block',\n fontSize: '$14',\n marginBottom: '$4',\n color: '$foreground',\n});\n\nexport function ColorPicker({\n color,\n onChangeColor,\n label,\n place,\n placeholder,\n}: PropTypes) {\n const [displayColorPicker, setDisplayColorPicker] = useState<boolean>(false);\n\n return (\n <Container>\n <Label className=\"_text\">{label}</Label>\n <Button\n variant=\"outlined\"\n prefix={<Color style={{ backgroundColor: color }} />}\n fullWidth\n align=\"start\"\n size=\"large\"\n suffix={\n color && (\n <div\n onClick={(e) => {\n e.stopPropagation();\n onChangeColor(undefined);\n }}>\n <CloseIcon size={20} />\n </div>\n )\n }\n onClick={() => setDisplayColorPicker((prev) => !prev)}>\n {color || placeholder}\n </Button>\n\n {displayColorPicker && (\n <Popover place={place}>\n <Cover onClick={() => setDisplayColorPicker(false)} />\n <ChromePicker\n color={color}\n onChange={(c) => {\n const color = '#' + rgbHex(c.rgb.r, c.rgb.g, c.rgb.b, c.rgb.a);\n onChangeColor(color);\n }}\n />\n </Popover>\n )}\n </Container>\n );\n}\n", "import React from 'react';\nimport { styled } from '../../theme';\nimport { CloseIcon } from '../Icon';\nimport { Typography } from '../Typography';\nimport { createPortal } from 'react-dom';\n\nexport interface PropTypes {\n title?: string;\n open: boolean;\n onClose: () => void;\n content: React.ReactNode;\n containerStyle?: React.CSSProperties;\n anchor?: 'bottom' | 'left' | 'right' | 'top';\n showClose?: boolean;\n footer?: React.ReactNode;\n container: Element | null;\n}\n\nconst BackDrop = styled('div', {\n position: 'absolute',\n top: '0',\n left: '0',\n width: '100%',\n height: '100%',\n zIndex: 9999999,\n backgroundColor: 'rgba(0,0,0,.1)',\n borderRadius: '$10',\n});\n\nconst DrawerContainer = styled('div', {\n position: 'absolute',\n boxShadow: '$s',\n background: '$background',\n padding: '$20',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n zIndex: 9999999,\n borderRadius: '$10',\n\n variants: {\n anchor: {\n left: {\n top: 0,\n left: 0,\n height: '100%',\n minWidth: '300px',\n maxWidth: '90%',\n },\n right: {\n top: 0,\n right: 0,\n height: '100%',\n minWidth: '300px',\n maxWidth: '90%',\n },\n bottom: {\n bottom: 0,\n width: '100%',\n maxHeight: '90%',\n },\n top: {\n top: 0,\n width: '100%',\n maxHeight: '90%',\n },\n },\n },\n});\n\nconst DrawerHeader = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'relative',\n marginBottom: '$16',\n});\n\nconst Body = styled('div', {\n overflowY: 'auto',\n height: '100%',\n});\nconst Footer = styled('footer', {\n width: '100%',\n marginTop: '$28',\n});\n\nexport function Drawer(props: PropTypes) {\n const {\n title,\n content,\n open,\n onClose,\n containerStyle,\n anchor = 'bottom',\n showClose = false,\n footer,\n container,\n } = props;\n\n const handleBackDropClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.target === event.currentTarget) onClose();\n };\n\n return (\n <>\n {open &&\n container &&\n createPortal(\n <BackDrop onClick={handleBackDropClick}>\n <DrawerContainer anchor={anchor} style={containerStyle}>\n <DrawerHeader>\n <Typography variant=\"h6\">{title}</Typography>\n {showClose && <CloseIcon size={24} onClick={onClose} />}\n </DrawerHeader>\n <Body>{content}</Body>\n <Footer>{footer}</Footer>\n </DrawerContainer>\n </BackDrop>,\n container\n )}\n </>\n );\n}\n", "import { styled } from '../../theme';\nimport React, { PropsWithChildren } from 'react';\nimport { AngleLeftIcon } from '../Icon';\nimport { Typography } from '../Typography';\nimport { Button } from '../Button';\n\nconst HeaderContainer = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '$8 0',\n position: 'relative',\n});\n\nconst BackButton = styled(Button, {\n padding: '$8',\n});\n\ninterface PropTypes {\n onBack?: () => void;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n title: string;\n}\n\nexport function Header(props: PropsWithChildren<PropTypes>) {\n return (\n <HeaderContainer>\n {props.onBack ? (\n <BackButton variant=\"ghost\" size=\"small\" onClick={props.onBack}>\n <AngleLeftIcon size={24} />\n </BackButton>\n ) : null}\n {props.prefix}\n <Typography variant=\"h4\">{props.title}</Typography>\n {props.suffix || <div></div>}\n </HeaderContainer>\n );\n}\n", "import React from 'react';\nimport { i18n } from '@lingui/core';\nimport { SettingsIcon, Tooltip, Button, HistoryIcon, RetryIcon } from '..';\nimport { styled } from '../../theme';\n\nconst ButtonsContainer = styled('div', {\n display: 'flex',\n});\n\ninterface PropTypes {\n onClickRefresh?: () => void;\n onClickHistory?: () => void;\n onClickSettings?: () => void;\n}\n\nexport function HeaderButtons(props: PropTypes) {\n const { onClickRefresh, onClickHistory, onClickSettings } = props;\n\n return (\n <ButtonsContainer>\n <Tooltip content={i18n.t('Refresh')}>\n <Button\n variant=\"ghost\"\n onClick={onClickRefresh}\n disabled={!onClickRefresh}>\n <RetryIcon size={24} disabled={!onClickRefresh} />\n </Button>\n </Tooltip>\n <Tooltip content={i18n.t('Transactions History')}>\n <Button variant=\"ghost\" onClick={onClickHistory}>\n <HistoryIcon size={24} />\n </Button>\n </Tooltip>\n <Tooltip content={i18n.t('Settings')}>\n <Button variant=\"ghost\" onClick={onClickSettings}>\n <SettingsIcon size={24} />\n </Button>\n </Tooltip>\n </ButtonsContainer>\n );\n}\n", "import { CSS } from '@stitches/react';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { config, styled } from '../../theme';\nimport { CloseIcon } from '../Icon/CloseIcon';\nimport { Typography } from '../Typography';\n\nexport interface PropTypes {\n title: string;\n open: boolean;\n onClose: () => void;\n content: React.ReactNode;\n action?: React.ReactNode;\n containerStyle?: CSS<typeof config>;\n}\n\nconst BackDrop = styled('div', {\n position: 'fixed',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n top: '0',\n left: '0',\n width: '100vw',\n height: '100vh',\n backgroundColor: 'rgba(0,0,0,.1)',\n zIndex: 10,\n});\n\nconst ModalContainer = styled('div', {\n backgroundColor: '$background',\n borderRadius: '$10',\n padding: '$16 $16',\n display: 'flex',\n flexDirection: 'column',\n zIndex: 20,\n});\nconst Row = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\nconst ModalHeader = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'relative',\n marginBottom: '$16',\n});\n\nexport function Modal(props: PropTypes) {\n const { title, content, open, onClose, containerStyle, action } = props;\n\n const handleBackDropClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.target === event.currentTarget) onClose();\n };\n useEffect(() => {\n if (open) document.body.style.overflow = 'hidden';\n else document.body.style.overflow = 'unset';\n }, [open]);\n return (\n <>\n {open &&\n createPortal(\n <BackDrop onClick={handleBackDropClick}>\n <ModalContainer css={containerStyle}>\n <ModalHeader>\n <Typography variant=\"h4\">{title}</Typography>\n <Row>\n {action}\n <CloseIcon size={24} onClick={onClose} />\n </Row>\n </ModalHeader>\n {content}\n </ModalContainer>\n </BackDrop>,\n document.body,\n )}\n </>\n );\n}\n", "import React from 'react';\nimport * as RadioGroup from '@radix-ui/react-radio-group';\nimport { styled } from '../../theme';\nimport { Typography } from '../Typography';\nimport { CSSProperties } from '@stitches/react';\n\nconst StyledRoot = styled(RadioGroup.Root, {\n variants: {\n direction: {\n horizontal: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n vertical: {\n display: 'grid',\n gridGap: '$24',\n },\n },\n },\n});\n\nconst ItemContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n marginRight: '$8',\n});\nconst StyledItem = styled(RadioGroup.Item, {\n padding: '0',\n width: '20px',\n height: '20px',\n borderRadius: '100%',\n cursor: 'pointer',\n backgroundColor: '$background',\n border: '1px solid $neutral400',\n\n '&:hover': {\n borderColor: '$neutral600',\n },\n});\n\nconst Container = styled('div', {\n display: 'flex',\n});\n\nconst StyledIndicator = styled(RadioGroup.Indicator, {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: '100%',\n position: 'relative',\n '&::after': {\n content: '',\n display: 'block',\n width: '10px',\n height: '10px',\n borderRadius: '50%',\n backgroundColor: '$success',\n },\n});\n\nconst Label = styled('label', {\n paddingLeft: '$8',\n cursor: 'pointer',\n color: '$foreground',\n});\n\nexport interface PropTypes {\n options: { label: string; value: string }[];\n value: string;\n onChange: (value: string) => void;\n direction?: 'vertical' | 'horizontal';\n style?: CSSProperties;\n}\n\nexport function Radio(props: PropTypes) {\n const { value, onChange, direction = 'vertical', style } = props;\n return (\n <Container>\n <StyledRoot\n onValueChange={onChange}\n value={value}\n direction={direction}\n style={style}\n >\n {props.options.map((option, index) => (\n <ItemContainer key={index}>\n <StyledItem value={option.value} id={option.value}>\n <StyledIndicator />\n </StyledItem>\n <Label className=\"_text\" htmlFor={option.value}>\n <Typography variant=\"body2\">{option.label}</Typography>\n </Label>\n </ItemContainer>\n ))}\n </StyledRoot>\n </Container>\n );\n}\n", "import React, { ReactNode, useState } from 'react';\nimport { styled } from '../../theme';\nimport { Divider } from '../Divider';\nimport { Header } from '../Header';\nimport { SearchIcon } from '../Icon';\nimport { TextField } from '../TextField';\n\nexport type PropTypes = (\n | {\n textField: true;\n children?: (searchedFor: string) => ReactNode;\n textFieldPlaceholder: string;\n }\n | {\n textField: false;\n children?: ReactNode;\n }\n) & {\n title?: string;\n onBack?: () => void;\n TopButton?: React.ReactNode;\n Footer?: React.ReactNode;\n hasHeader?: boolean;\n};\n\nconst ContentContainer = styled('div', {\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n flex: '1',\n padding: '0 $4',\n});\n\nconst TextFieldContainer = styled('div', {\n padding: '1px',\n});\n\nexport function SecondaryPage(props: PropTypes) {\n const { title, Footer, TopButton, onBack, hasHeader = true } = props;\n const [searchedFor, setSearchedFor] = useState('');\n\n return (\n <>\n {hasHeader && (\n <Header onBack={onBack} title={title || ''} suffix={TopButton} />\n )}\n\n <ContentContainer>\n {props.textField && (\n <TextFieldContainer>\n <TextField\n size=\"large\"\n prefix={<SearchIcon size={24} />}\n placeholder={props.textFieldPlaceholder}\n onChange={(event) => setSearchedFor(event.target.value)}\n value={searchedFor}\n autoFocus\n />\n <Divider size={16} />\n </TextFieldContainer>\n )}\n {props.textField && props.children?.(searchedFor)}\n {!props.textField && props.children}\n </ContentContainer>\n {Footer}\n </>\n );\n}\n", "import React, { PropsWithChildren, RefObject } from 'react';\n\nimport { styled } from '../../theme';\n\nconst InputContainer = styled('div', {\n backgroundColor: '$surface',\n padding: '1px',\n boxSizing: 'border-box',\n border: '1px solid $neutral400',\n borderRadius: '$5',\n height: '$48',\n display: 'flex',\n flexGrow: 1,\n position: 'relative',\n alignItems: 'center',\n color: '$foreground',\n overflowX: 'hidden',\n transition: 'border-color ease .3s',\n '&:focus-within': {\n borderColor: '$success',\n outline: '1px solid $success',\n },\n variants: {\n size: {\n small: {\n '& input': {\n fontSize: '$14',\n },\n height: '$32',\n },\n medium: {\n '& input': {\n fontSize: '$15',\n },\n height: '$40',\n },\n large: {\n '& input': {\n fontSize: '$16',\n },\n height: '$48',\n },\n },\n disabled: {\n true: {\n backgroundColor: '$neutral100',\n cursor: 'not-allowed',\n filter: 'grayscale(100%)',\n },\n },\n prefix: {\n true: {\n paddingLeft: '$16',\n },\n false: {\n paddingLeft: '$0',\n },\n },\n suffix: {\n true: {\n paddingRight: '$16',\n },\n false: {\n paddingRight: '$0',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n },\n});\n\nconst Input = styled('input', {\n color: '$foreground',\n paddingLeft: '$16',\n paddingRight: '$16',\n flexGrow: 1,\n width: '100%',\n border: 'none',\n borderRadius: '$5',\n outline: 'none',\n backgroundColor: 'transparent',\n '-webkit-appearance': 'none',\n margin: 0,\n '&:disabled': {\n cursor: 'not-allowed',\n },\n '&::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n '&[type=\"number\"]': {\n '-moz-appearance': 'textfield',\n }\n});\nconst Label = styled('label', {\n display: 'inline-block',\n fontSize: '$14',\n color: '$foreground',\n marginBottom: '$4',\n});\n\nexport type PropTypes = {\n label?: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'size'> & {\n ref?:\n | ((instance: HTMLInputElement | null) => void)\n | React.RefObject<HTMLInputElement>\n | null\n | undefined;\n };\n\nexport const TextField = React.forwardRef(\n (\n props: PropsWithChildren<PropTypes>,\n ref:\n | RefObject<HTMLInputElement>\n | ((instance: HTMLInputElement | null) => void)\n | null\n | undefined\n ) => {\n const { label, prefix, suffix, children, size, style, ...inputAttributes } =\n props;\n return (\n <>\n {label && (\n <Label\n className=\"_text\"\n {...(inputAttributes.id && { htmlFor: inputAttributes.id })}\n >\n {label}\n </Label>\n )}\n <InputContainer\n disabled={inputAttributes.disabled}\n prefix={!!prefix}\n suffix={!!suffix}\n size={size}\n style={style}\n className=\"_text\"\n >\n {prefix || null}\n <Input\n className=\"_text\"\n {...inputAttributes}\n spellCheck={false}\n ref={ref}\n />\n {suffix || null}\n </InputContainer>\n </>\n );\n }\n);\n", "import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { styled } from '../../theme';\nimport { SelectableWallet } from '../../types';\nimport { Typography } from '../Typography';\nimport { getConciseAddress } from '../../helper';\nimport { Image } from '../common';\n\nconst Row = styled('div', {\n display: 'flex',\n flexWrap: 'wrap',\n});\n\nconst Circle = styled('div', {\n width: 12,\n height: 12,\n borderRadius: 6,\n border: '1px solid $neutral400',\n position: 'absolute',\n top: 12,\n right: 12,\n variants: {\n checked: {\n true: {\n borderColor: '$success',\n },\n false: {\n borderColor: '$neutral400',\n },\n },\n },\n});\nconst SolidCircle = styled('div', {\n width: 6,\n margin: '20% auto',\n height: 6,\n borderRadius: 3,\n variants: {\n checked: {\n true: {\n backgroundColor: '$success',\n },\n false: {\n backgroundColor: '$neutral400',\n },\n },\n },\n});\nconst Container = styled('div', {\n border: '1.5px solid',\n borderRadius: '$5',\n padding: '$12',\n flexBasis: 'calc(33.33% - 10px)',\n margin: 5,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n width: 124,\n height: 92,\n cursor: 'pointer',\n position: 'relative',\n variants: {\n checked: {\n true: {\n borderColor: '$success',\n color: '$success',\n },\n false: {\n borderColor: '$neutral400',\n color: '$neutral400',\n },\n },\n },\n});\n\nexport interface PropTypes {\n list: SelectableWallet[];\n onChange: (w: SelectableWallet) => void;\n}\n\nexport function SelectableWalletList({ list, onChange }: PropsWithChildren<PropTypes>) {\n const [active, setActive] = useState<string>(\n list.find((item) => item.selected)?.walletType || '',\n );\n const onClick = (w: SelectableWallet) => {\n setActive(w.walletType);\n onChange(w);\n };\n\n useEffect(() => {\n setActive(list.find((item) => item.selected)?.walletType || '');\n }, [list]);\n\n return (\n <Row>\n {list.map((w, index) => {\n const checked = active === w.walletType;\n return (\n <Container checked={checked} onClick={onClick.bind(null, w)} key={index}>\n <Image src={w.image} alt={w.walletType} size={24} />\n <Typography variant=\"body2\">{w.name}</Typography>\n <Typography variant=\"caption\">{getConciseAddress(w.address)}</Typography>\n <Circle checked={checked}>{checked && <SolidCircle checked={checked} />}</Circle>\n </Container>\n );\n })}\n </Row>\n );\n}\n", "export function containsText(text: string, searchText: string): boolean {\n return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;\n}\n\nexport function getConciseAddress(\n address: string | null,\n maxChars = 8,\n ellipsisLength = 3\n): string | null {\n if (!address) return null;\n if (address.length < 2 * maxChars + ellipsisLength) return address;\n const start = Math.ceil((address.length - maxChars) / 2);\n const end = address.length - maxChars;\n return `${address.substr(start, maxChars)}${'.'.repeat(\n ellipsisLength\n )}${address.substr(end)}`;\n}\n\nexport function limitDecimalPlaces(\n numberString: string,\n maxDecimalPlaces = 4\n): string {\n const number = parseFloat(numberString);\n if (isNaN(number))\n return numberString; // Return the original string if it's not a valid number\n else {\n const multiplier = Math.pow(10, maxDecimalPlaces);\n const roundedNumber = Math.round(number * multiplier) / multiplier;\n return roundedNumber.toString();\n }\n}\n\nconst hexToRgb = (hex: string) =>\n ((value) =>\n value.length === 3\n ? value.split('').map((c) => parseInt(c.repeat(2), 16))\n : (value.match(/.{1,2}/g) || []).map((v) => parseInt(v, 16)))(\n hex.replace('#', '')\n );\n\nconst isHexTooDark = (hexColor: string) =>\n (([r, g, b]) => 0.2126 * r + 0.7152 * g + 0.0722 * b < 40)(\n hexToRgb(hexColor)\n );\n\nconst isHexTooLight = (hexColor: string) =>\n (([r, g, b]) => (r * 299 + g * 587 + b * 114) / 1000 > 155)(\n hexToRgb(hexColor)\n );\n\nconst colorShade = (col: string, amt: number) => {\n col = col.replace(/^#/, '');\n if (col.length === 3)\n col = col[0] + col[0] + col[1] + col[1] + col[2] + col[2];\n let [r, g, b]: any = col.match(/.{2}/g);\n [r, g, b] = [\n parseInt(r, 16) + amt,\n parseInt(g, 16) + amt,\n parseInt(b, 16) + amt,\n ];\n\n r = Math.max(Math.min(255, r), 0).toString(16);\n g = Math.max(Math.min(255, g), 0).toString(16);\n b = Math.max(Math.min(255, b), 0).toString(16);\n\n const rr = (r.length < 2 ? '0' : '') + r;\n const gg = (g.length < 2 ? '0' : '') + g;\n const bb = (b.length < 2 ? '0' : '') + b;\n\n return `#${rr}${gg}${bb}`;\n};\n\nexport const generateRangeColors = (\n name: string,\n mode: 'light' | 'dark',\n color?: string,\n) => {\n let colors = { [name]: color };\n if (color) {\n let c = color;\n if (isHexTooDark(color) || mode === 'dark') {\n for (let i = 1; i < 10; i++) {\n colors = {\n ...colors,\n [name + i * 100]:\n name === 'neutral'\n ? colorShade(c, i * 15)\n : colorShade(color, i * 5),\n };\n }\n }\n if (isHexTooLight(color) || mode === 'light') {\n for (let i = 1; i < 10; i++) {\n c = colorShade(c, -(i * 5));\n colors = {\n ...colors,\n [name + i * 100]:\n name === 'neutral'\n ? colorShade(c, -(i * 5))\n : colorShade(color, -(i * 5)),\n };\n }\n }\n }\n return colors;\n};\n", "import { CSSProperties } from '@stitches/react';\nimport React, { PropsWithChildren } from 'react';\nimport { styled } from '../../theme';\n\nconst MainContainer = styled('div', {\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: '$10',\n boxShadow: '$s',\n width: '100%',\n minWidth: '375px',\n maxWidth: '512px',\n padding: '$16',\n boxSizing: 'border-box',\n backgroundColor: '$background',\n overflow: 'hidden',\n '& *': {\n boxSizing: 'border-box',\n listStyleType: 'none',\n '&::-webkit-scrollbar': { width: '$8', height: '$8' },\n '&::-webkit-scrollbar-thumb': {\n backgroundColor: '$neutral400',\n borderRadius: '$10',\n },\n '&::-webkit-scrollbar-thumb:hover': {\n backgroundColor: '$neutral500',\n },\n '&::-webkit-scrollbar-track': {\n backgroundColor: '$neutral100',\n },\n },\n variants: {\n fixedHeight: {\n true: {\n height: '595px',\n maxHeight: '595px',\n },\n false: {\n height: 'auto',\n },\n },\n },\n});\n\nexport interface PropTypes {\n style?: CSSProperties;\n fixedHeight?: boolean;\n}\n\nexport function SwapContainer(props: PropsWithChildren<PropTypes>) {\n const { children, style, fixedHeight = true } = props;\n return (\n <MainContainer style={style} id=\"swap-box\" fixedHeight={fixedHeight}>\n {children}\n </MainContainer>\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { PendingSwap } from '../../containers/History/types';\nimport { styled } from '../../theme';\nimport { Button } from '../Button';\nimport { ArrowRightIcon } from '../Icon';\nimport { Divider } from '../Divider';\nimport { Spinner } from '../Spinner';\nimport { Token } from './Token';\nimport { limitDecimalPlaces } from '../../helper';\n\nconst Container = styled('div', {\n position: 'relative',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '$16 0',\n borderBottom: '1px solid $neutral100',\n\n '& > .info': {\n display: 'flex',\n alignItems: 'center',\n },\n\n '.status': {\n textTransform: 'uppercase',\n fontWeight: 'bold',\n fontSize: '$12',\n },\n\n '&.failed .status': {\n color: '$error',\n },\n '&.success .status': {\n color: '$success',\n },\n});\n\nexport interface PropTypes {\n swap: PendingSwap;\n status: 'running' | 'failed' | 'success';\n onClick: (requestId: string) => void;\n}\n\nexport function SwapDetail({\n swap,\n status,\n onClick,\n}: PropsWithChildren<PropTypes>) {\n const firstStep = swap.steps[0];\n const lastStep = swap.steps[swap.steps.length - 1];\n\n return (\n <Button\n variant=\"ghost\"\n size=\"free\"\n fullWidth\n onClick={onClick.bind(null, swap.requestId)}\n >\n <Container className={`${status}`}>\n <div className=\"info\">\n <Token\n data={{\n token: {\n logo: firstStep.fromLogo,\n symbol: firstStep.fromSymbol,\n },\n blockchain: {\n logo: firstStep.fromBlockchainLogo || '',\n name: firstStep.fromBlockchain,\n },\n amount: limitDecimalPlaces(swap.inputAmount),\n }}\n />\n <Divider size={12} direction=\"horizontal\" />\n <ArrowRightIcon size={12} />\n <Divider size={12} direction=\"horizontal\" />\n <Token\n data={{\n token: {\n logo: lastStep.toLogo,\n symbol: lastStep.toSymbol,\n },\n blockchain: {\n logo: lastStep.toBlockchainLogo || '',\n name: lastStep.toBlockchain,\n },\n amount: limitDecimalPlaces(lastStep.outputAmount || ''),\n estimatedAmount: limitDecimalPlaces(\n lastStep.expectedOutputAmountHumanReadable || ''\n ),\n }}\n />\n </div>\n <div className={`status`}>\n {status === 'running' ? (\n <Spinner size={24} color=\"primary\" />\n ) : (\n status\n )}\n </div>\n </Container>\n </Button>\n );\n}\n", "import React from 'react';\nimport { styled } from '../../theme';\nimport { Divider } from '../Divider';\nimport { Image } from '../common';\n\nconst TokenContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n width: '160px',\n\n '& .amount': {\n fontWeight: 'bold',\n },\n '& .estimated': {\n color: '$neutral600',\n },\n});\n\nconst TokenImage = styled('div', {\n position: 'relative',\n img: {\n borderRadius: '50%',\n },\n '.overlay': {\n position: 'absolute',\n right: -4,\n bottom: -4,\n width: '$16',\n height: '$16',\n padding: '$2',\n borderRadius: '50%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: '$background',\n border: '1px solid $neutral400',\n },\n});\n\ninterface PropTypes {\n data: {\n token: {\n logo: string;\n symbol: string;\n };\n blockchain: {\n logo: string;\n name: string;\n };\n amount: string;\n estimatedAmount?: string;\n };\n}\nexport function Token(props: PropTypes) {\n const {\n data: { token, blockchain, amount, estimatedAmount },\n } = props;\n return (\n <TokenContainer>\n <TokenImage>\n <Image src={token.logo} alt=\"\" size={24} />\n <div className=\"overlay\">\n <Image src={blockchain.logo} alt={blockchain.name} size={12} />\n </div>\n </TokenImage>\n <Divider size={8} direction=\"horizontal\" />\n {!!amount && <span className=\"amount\">{props.data.amount}</span>}\n {!amount && estimatedAmount && (\n <span className=\"amount estimated\">{props.data.estimatedAmount}</span>\n )}\n <Divider size={4} direction=\"horizontal\" />\n {token.symbol}\n </TokenContainer>\n );\n}\n", "import React from 'react';\nimport * as RadixSwitch from '@radix-ui/react-switch';\n\nimport { styled } from '../../theme';\n\nconst StyledSwitchRoot = styled(RadixSwitch.Root, {\n boxSizing: 'border-box',\n boxShadow: 'none',\n borderStyle: 'solid',\n width: '42px',\n height: '22px',\n backgroundColor: '$neutral600',\n borderColor: '$neutral600',\n borderRadius: '99999px',\n position: 'relative',\n padding: '0',\n cursor: 'pointer',\n\n '&[data-state=\"checked\"]': {\n backgroundColor: '$success',\n borderColor: '$success',\n },\n '-webkit-tap-highlight-color': 'rgba(0, 0, 0, 0)',\n});\n\nconst StyledSwitchThumb = styled(RadixSwitch.Thumb, {\n position: 'absolute',\n top: '0',\n boxSizing: 'border-box',\n display: 'block',\n width: '18px',\n height: '18px',\n backgroundColor: '$white',\n transition: ' transform 300ms',\n borderRadius: '999999px',\n willChange: 'transform',\n\n '&[data-state=\"checked\"]': {\n transform: 'translateX(20px)',\n },\n});\n\nexport interface PropTypes {\n checked: boolean;\n onChange?: (checked: boolean) => void;\n}\n\nexport function Switch(props: PropTypes) {\n const { checked, onChange } = props;\n return (\n <StyledSwitchRoot checked={checked} onCheckedChange={onChange}>\n <StyledSwitchThumb />\n </StyledSwitchRoot>\n );\n}\n", "import React, { forwardRef, useEffect, useState } from 'react';\nimport { CommonProps } from 'react-window';\nimport { Asset, Token } from 'rango-sdk';\nimport { VirtualizedList } from '../VirtualizedList/VirtualizedList';\nimport { TokenItem } from './TokenItem';\n\nexport interface TokenWithAmount extends Token {\n balance?: {\n amount: string;\n usdValue: string;\n };\n}\n\nconst PAGE_SIZE = 20;\nexport interface PropTypes {\n list: TokenWithAmount[];\n selected?: TokenWithAmount | null;\n searchedText: string;\n onChange: (token: TokenWithAmount) => void;\n multiSelect?: boolean;\n selectedList?: Asset[];\n}\n\nexport function TokenList(props: PropTypes) {\n const { list, searchedText, onChange, multiSelect, selectedList } = props;\n const [selected, setSelected] = useState(props.selected);\n\n const changeSelected = (token: TokenWithAmount) => {\n setSelected(token);\n onChange(token);\n };\n\n const isSelected = (token: Token) => {\n if (multiSelect && selectedList) {\n return (\n selectedList\n .map((item) => item.symbol + item.address)\n .indexOf(token.symbol + token.address) > -1\n );\n }\n return (\n selected?.symbol === token.symbol && selected?.address === token.address\n );\n };\n\n const [hasNextPage, setHasNextPage] = useState<boolean>(true);\n const [tokens, setTokens] = useState<TokenWithAmount[]>(list);\n\n const loadNextPage = () => {\n setTokens(list.slice(0, tokens.length + PAGE_SIZE));\n };\n\n useEffect(() => {\n setTokens(list.slice(0, PAGE_SIZE));\n }, [searchedText, list]);\n\n useEffect(() => {\n setHasNextPage(list.length > tokens.length);\n }, [tokens.length]);\n\n const innerElementType: React.FC<CommonProps> = forwardRef(\n ({ style, ...rest }, ref) => {\n return (\n <div\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={{\n ...style,\n height: `${parseFloat(style?.height as string) + 8 * 2}px`,\n }}\n {...rest}\n />\n );\n }\n );\n\n return (\n <VirtualizedList\n Item={({ index, style }) => (\n <TokenItem\n token={tokens[index]}\n style={style}\n onClick={changeSelected}\n selected={isSelected(tokens[index])}\n />\n )}\n hasNextPage={hasNextPage}\n itemCount={tokens.length}\n loadNextPage={loadNextPage}\n innerElementType={innerElementType}\n size={56}\n />\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { ReactElementType, VariableSizeList as List } from 'react-window';\nimport InfiniteLoader from 'react-window-infinite-loader';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { CSSProperties } from '@stitches/react';\n\nexport type VirtualizedListItem = ({\n index,\n style,\n}: {\n index: number;\n style: CSSProperties | undefined;\n}) => JSX.Element | null;\n\ntype PropTypes = {\n itemCount: number;\n hasNextPage: boolean;\n loadNextPage: () => void;\n Item: VirtualizedListItem;\n innerElementType: ReactElementType | undefined;\n size: number;\n};\n\nexport function VirtualizedList(props: PropsWithChildren<PropTypes>) {\n const { itemCount, hasNextPage, loadNextPage, Item, innerElementType, size } =\n props;\n\n const isItemLoaded = (index: number) => !hasNextPage || index < itemCount;\n\n return (\n <AutoSizer>\n {({ width, height }) => (\n <InfiniteLoader\n isItemLoaded={isItemLoaded}\n itemCount={hasNextPage ? itemCount + 1 : itemCount}\n loadMoreItems={loadNextPage}\n threshold={1}\n >\n {({ onItemsRendered, ref }) => {\n return (\n <List\n innerElementType={innerElementType}\n ref={ref}\n itemSize={() => size}\n itemCount={itemCount}\n height={height || 0}\n width={width || 0}\n onItemsRendered={onItemsRendered}\n >\n {({ index, style }) =>\n isItemLoaded(index) ? (\n <Item index={index} style={style as CSSProperties} />\n ) : null\n }\n </List>\n );\n }}\n </InfiniteLoader>\n )}\n </AutoSizer>\n );\n}\n", "import { Token } from 'rango-sdk';\nimport React, { CSSProperties } from 'react';\nimport { styled } from '../../theme';\nimport { Button } from '../Button';\nimport { Typography } from '../Typography';\nimport { TokenWithAmount } from './TokenList';\nimport { Image } from '../common';\n\nconst TokenImageContainer = styled('div', {\n paddingRight: '$16',\n});\n\nconst TokenNameContainer = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst TokenAmountContainer = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n});\n\ninterface PropTypes {\n token: TokenWithAmount;\n selected: boolean;\n onClick: (token: Token) => void;\n style?: CSSProperties;\n}\n\nexport function TokenItem(props: PropTypes) {\n const { token, style, onClick, selected } = props;\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n ...style,\n height: '48px',\n top: `${parseFloat(style?.top as string) + 0}px`,\n padding: '0 4px',\n }}\n >\n <Button\n variant=\"outlined\"\n size=\"large\"\n align=\"start\"\n onClick={onClick.bind(null, token)}\n type={selected ? 'primary' : undefined}\n prefix={\n <TokenImageContainer>\n <Image src={token.image} size={32} />\n </TokenImageContainer>\n }\n suffix={\n token.balance?.amount && (\n <TokenAmountContainer>\n <Typography variant=\"body2\">{token.balance.amount}</Typography>\n <Typography variant=\"caption\">\n {`${token.balance.usdValue}$`}\n </Typography>\n </TokenAmountContainer>\n )\n }\n >\n <TokenNameContainer>\n <Typography variant=\"body1\">{token.symbol}</Typography>\n <Typography variant=\"caption\" color=\"neutral600\">\n {token.name}\n </Typography>\n </TokenNameContainer>\n </Button>\n </div>\n );\n}\n", "import { detectInstallLink, WalletType } from '@rango-dev/wallets-shared';\nimport React from 'react';\n\nimport { styled } from '../../theme';\nimport { WalletInfo, WalletState } from '../../types/wallet';\nimport { Button } from '../Button/Button';\nimport { Typography } from '../Typography';\nimport { State } from './State';\nimport { Image } from '../common';\n\nconst WalletImageContainer = styled('div', {\n paddingRight: '$12',\n '& img': {\n borderRadius: '50%',\n },\n});\n\nconst Text = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst ExtendedButton = styled(Button, {\n variants: {\n type: {\n primary: {\n outline: '1px solid $primary',\n borderColor: '$primary',\n\n '&:hover': {\n borderColor: '$primary',\n },\n },\n },\n },\n});\n\nexport type PropTypes = WalletInfo & {\n onClick: (walletType: WalletType) => void;\n};\n\nexport function Wallet(props: PropTypes) {\n const { name, type, image, state, onClick, installLink } = props;\n\n return (\n <ExtendedButton\n type={state === WalletState.CONNECTED ? 'primary' : undefined}\n disabled={state == WalletState.CONNECTING}\n onClick={() => {\n if (state === WalletState.NOT_INSTALLED) {\n window.open(detectInstallLink(installLink), '_blank');\n } else onClick(type);\n }}\n align=\"start\"\n variant=\"outlined\"\n size=\"large\"\n prefix={\n <WalletImageContainer>\n <Image src={image} size={24} />\n </WalletImageContainer>\n }\n suffix={<State walletState={state} installLink={installLink} />}\n >\n <Text>\n <Typography variant=\"h5\" noWrap={false}>\n {name}\n </Typography>\n {state === WalletState.CONNECTED ? (\n <Typography variant=\"caption\" noWrap={false} color=\"primary\">\n Connected\n </Typography>\n ) : null}\n </Text>\n </ExtendedButton>\n );\n}\n", "import { InstallObjects, WalletType } from '@rango-dev/wallets-shared';\n\nexport enum WalletState {\n NOT_INSTALLED = 'not installed',\n DISCONNECTED = 'disconnected',\n CONNECTING = 'connecting',\n CONNECTED = 'connected',\n}\n\nexport type WalletInfo = {\n state:\n | WalletState.CONNECTED\n | WalletState.DISCONNECTED\n | WalletState.CONNECTING\n | WalletState.NOT_INSTALLED;\n installLink: InstallObjects | string;\n name: string;\n image: string;\n type: WalletType;\n showOnMobile: boolean;\n};\n\nexport interface SelectableWallet {\n chain: string;\n walletType: WalletType;\n address: string;\n image: string;\n selected: boolean;\n name: string;\n}\n", "import React, { Fragment } from 'react';\nimport { styled } from '../../theme';\nimport { DisconnectIcon, DownloadIcon } from '../Icon';\nimport { Spinner } from '../Spinner';\nimport { WalletState } from '../../types/wallet';\nimport { InstallObjects, detectInstallLink } from '@rango-dev/wallets-shared';\n\nconst StateIconContainer = styled('span', {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n});\n\nexport const State = ({\n walletState,\n installLink,\n}: {\n walletState: WalletState;\n installLink: InstallObjects | string;\n}) => (\n <Fragment>\n {walletState !== WalletState.DISCONNECTED && (\n <StateIconContainer>\n {walletState === WalletState.NOT_INSTALLED && (\n <a href={detectInstallLink(installLink)} target=\"_blank\">\n <DownloadIcon size={24} color=\"success\" />\n </a>\n )}\n {walletState === WalletState.CONNECTING && <Spinner />}\n {walletState === WalletState.CONNECTED && <DisconnectIcon />}\n </StateIconContainer>\n )}\n </Fragment>\n);\n", "import React, { PropsWithChildren, ReactNode } from 'react';\nimport { Alert, Checkbox, Divider, TextField } from '../../components';\nimport { Button } from '../../components/Button';\nimport { SecondaryPage } from '../../components/SecondaryPage/SecondaryPage';\nimport { SelectableWalletList } from '../../components/SelectableWalletList';\nimport { Typography } from '../../components/Typography';\nimport { styled } from '../../theme';\nimport { SelectableWallet } from '../../types';\n\nconst MainContainer = styled('div', {\n overflowY: 'auto',\n});\n\nconst Section = styled('div', {\n paddingBottom: '$32',\n marginBottom: '$32',\n borderBottom: '1px solid $neutral400',\n});\n\nconst Footer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nconst AlertContainer = styled('div', {\n padding: '$16 0',\n});\n\nconst ConfirmButton = styled(Button, {\n marginTop: '$16',\n});\n\nconst Container = styled('div', {\n paddingBottom: '$24',\n\n '.title': {\n paddingBottom: '$8',\n display: 'flex',\n alignItems: 'center',\n },\n '.num': {\n backgroundColor: '$neutral100',\n display: 'inline-flex',\n width: '24px',\n height: '24px',\n color: '$neutral800',\n borderRadius: '50%',\n fontSize: '$14',\n border: '1px solid $neutral400',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nconst Alerts = styled('div', { paddingBottom: '$16' });\n\ntype Message = string | ReactNode;\n\nexport interface PropTypes {\n onBack: () => void;\n onConfirm?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n confirmDisabled?: boolean;\n loading?: boolean;\n requiredWallets: string[];\n selectableWallets: SelectableWallet[];\n onChange: (w: SelectableWallet) => void;\n isExperimentalChain?: (wallet: string) => boolean;\n handleConnectChain?: (wallet: string) => void;\n previewInputs?: ReactNode;\n previewRoutes?: ReactNode;\n confirmButtonTitle: string;\n errors?: Message[];\n warnings?: Message[];\n extraMessages?: ReactNode;\n customDestination?: string;\n checkedDestination: boolean;\n setDestinationChain: (chain: string) => void;\n setCustomDestination: (customDestination: string) => void;\n customDestinationEnabled?: boolean;\n isValidCustomDestination: (blockchain: string, address: string) => boolean;\n isWalletRequired?: boolean;\n}\nexport function ConfirmSwap(props: PropsWithChildren<PropTypes>) {\n const {\n onBack,\n loading,\n onConfirm,\n requiredWallets,\n selectableWallets,\n onChange,\n confirmDisabled,\n isExperimentalChain,\n handleConnectChain,\n confirmButtonTitle,\n errors,\n warnings,\n extraMessages,\n customDestination,\n setCustomDestination,\n checkedDestination,\n setDestinationChain,\n customDestinationEnabled = true,\n isValidCustomDestination,\n isWalletRequired,\n } = props;\n\n return (\n <SecondaryPage\n textField={false}\n title=\"Confirm Swap\"\n onBack={onBack}\n Footer={\n <Footer>\n <ConfirmButton\n fullWidth\n loading={loading}\n type=\"primary\"\n variant=\"contained\"\n onClick={onConfirm}\n disabled={\n confirmDisabled ||\n (!!customDestination &&\n !isValidCustomDestination(\n requiredWallets[requiredWallets.length - 1],\n customDestination,\n ))\n }>\n {confirmButtonTitle}\n </ConfirmButton>\n </Footer>\n }>\n <MainContainer>\n <div>\n {extraMessages || null}\n <Alerts>\n {errors?.map((error, index) => (\n <React.Fragment key={index}>\n <Divider />\n <Alert\n type=\"error\"\n key={index}\n {...(typeof error === 'string' ? { title: error } : { children: error })}\n />\n </React.Fragment>\n ))}\n {warnings?.map((warning, index) => (\n <React.Fragment key={index}>\n <Divider />\n <Alert\n type=\"warning\"\n key={index}\n {...(typeof warning === 'string' ? { title: warning } : { children: warning })}\n />\n </React.Fragment>\n ))}\n </Alerts>\n </div>\n {props.previewInputs || props.previewRoutes ? (\n <Section>\n {props.previewInputs}\n {!!props.previewRoutes ? <Divider size={16} /> : null}\n {props.previewRoutes}\n </Section>\n ) : null}\n {requiredWallets.map((wallet, index) => {\n const list = selectableWallets.filter((w) => wallet === w.chain);\n return (\n <Container key={index}>\n <div className=\"title\">\n <div className=\"num\">{index + 1}</div>\n <Divider size={8} direction=\"horizontal\" />\n <Typography variant=\"body2\">Your {wallet} Wallet</Typography>\n </div>\n {list.length === 0 &&\n (isWalletRequired || (!isWalletRequired && !checkedDestination)) && (\n <>\n <AlertContainer>\n <Alert type=\"error\">\n You need to connect a compatible wallet with {wallet}.\n </Alert>\n </AlertContainer>\n {isExperimentalChain?.(wallet) && (\n <Button\n variant=\"contained\"\n type=\"primary\"\n align=\"grow\"\n onClick={() => handleConnectChain?.(wallet)}>\n {`Add ${wallet} chain to Cosmos wallets`}\n </Button>\n )}\n </>\n )}\n {list.length != 0 && (\n <SelectableWalletList\n list={list}\n onChange={(w) => {\n onChange(w);\n setDestinationChain('');\n setCustomDestination('');\n }}\n />\n )}\n {index === requiredWallets.length - 1 && customDestinationEnabled && (\n <>\n <Divider />\n <Checkbox\n label={`Choose a custom ${wallet} address`}\n checked={checkedDestination}\n onCheckedChange={(checked) => {\n if (!checked) {\n setDestinationChain('');\n setCustomDestination('');\n list.length && onChange(list[0]);\n } else {\n setDestinationChain(wallet);\n }\n }}\n id={'custom_destination'}\n />\n <Divider />\n\n {checkedDestination && (\n <>\n <TextField\n placeholder=\"Your destination address\"\n value={customDestination}\n onChange={(e) => {\n setCustomDestination(e.target.value);\n }}\n />\n {!!customDestination &&\n !isValidCustomDestination(wallet, customDestination) && (\n <AlertContainer>\n <Alert type=\"error\">Not a valid {wallet} address.</Alert>\n </AlertContainer>\n )}\n </>\n )}\n </>\n )}\n </Container>\n );\n })}\n </MainContainer>\n </SecondaryPage>\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { Spinner } from '../../components';\nimport { SecondaryPage } from '../../components/SecondaryPage';\nimport { containsText } from '../../helper';\nimport { styled } from '../../theme';\nimport { PendingSwap } from './types';\nimport { NotFoundAlert } from '../../components/Alert/NotFoundAlert';\nimport { SwapsGroup, PropTypes as SwapsGroupPropTypes } from './SwapsGroup';\nimport { LoaderContainer } from '../TokenSelector/TokenSelector';\n\nconst Container = styled('div', {\n overflowY: 'auto',\n});\nconst filteredHistory = (\n list: PendingSwap[],\n searchedFor: string\n): PendingSwap[] => {\n return list.filter((swap) => {\n const firstStep = swap.steps[0];\n const lastStep = swap.steps[swap.steps.length - 1];\n return (\n containsText(firstStep.fromBlockchain, searchedFor) ||\n containsText(firstStep.fromSymbol, searchedFor) ||\n containsText(lastStep.toBlockchain, searchedFor) ||\n containsText(lastStep.toSymbol, searchedFor) ||\n containsText(swap.requestId, searchedFor)\n );\n });\n};\n\nexport type PropTypes = SwapsGroupPropTypes & { loading: boolean };\n\nexport function History(props: PropsWithChildren<PropTypes>) {\n const { list = [], onBack, onSwapClick, groupBy, loading } = props;\n\n return (\n <SecondaryPage\n onBack={onBack}\n textField={true}\n textFieldPlaceholder=\"Search by blockchain, token or request Id\"\n title=\"Swaps\"\n >\n {(searchedFor) => {\n const filterSwaps = filteredHistory(list, searchedFor);\n return (\n <>\n {loading && (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n )}\n <Container>\n {!loading && (\n <>\n {filterSwaps.length ? (\n <SwapsGroup\n list={filterSwaps}\n onSwapClick={onSwapClick}\n groupBy={groupBy}\n />\n ) : (\n <NotFoundAlert catergory=\"Swap\" />\n )}\n </>\n )}\n </Container>\n </>\n );\n }}\n </SecondaryPage>\n );\n}\n", "import { PendingSwap } from '@rango-dev/queue-manager-rango-preset';\nimport React from 'react';\nimport { Typography, SwapDetail, Divider } from '../../components';\nimport { styled } from '../../theme';\n\nconst Group = styled('div', {\n '.group-title': {\n textTransform: 'uppercase',\n },\n});\n\nexport type GroupBy = (list: PendingSwap[]) => {\n title: string;\n swaps: PendingSwap[];\n}[];\n\nexport interface PropTypes {\n list: PendingSwap[];\n onBack: () => void;\n onSwapClick: (requestId: string) => void;\n groupBy?: GroupBy;\n}\n\nexport function SwapsGroup(props: Omit<PropTypes, 'onBack'>) {\n const { list, onSwapClick, groupBy } = props;\n const groups = groupBy ? groupBy(list) : [{ title: 'History', swaps: list }];\n\n return (\n <>\n {groups\n .filter((group) => group.swaps.length > 0)\n .map((group, index) => (\n <React.Fragment key={index}>\n <Group>\n <Typography\n variant=\"body2\"\n color=\"neutral600\"\n className=\"group-title\"\n >\n {group.title}\n </Typography>\n {group.swaps.map((swap: PendingSwap) => (\n <React.Fragment\n key={swap.requestId}>\n <SwapDetail\n swap={swap}\n status={swap.status}\n onClick={onSwapClick}\n />\n <Divider size={12} />\n </React.Fragment>\n ))}\n </Group>\n <Divider size={24} />\n </React.Fragment>\n ))}\n </>\n );\n}\n", "import React from 'react';\nimport { containsText } from '../../helper';\n\nimport { LoadingStatus } from '../../types/meta';\nimport { styled } from '../../theme';\nimport { NotFoundAlert } from '../../components/Alert/NotFoundAlert';\nimport { LoadingFailedAlert, SecondaryPage, Spinner } from '../../components';\nimport {\n TokenList,\n TokenWithAmount,\n} from '../../components/TokenList/TokenList';\n\nexport const LoaderContainer = styled('div', {\n display: 'flex',\n justifyContent: 'center',\n width: '100%',\n paddingTop: '33%',\n flex: 1,\n});\nexport interface PropTypes {\n list: TokenWithAmount[];\n type?: 'Source' | 'Destination';\n selected: TokenWithAmount | null;\n onChange: (token: TokenWithAmount) => void;\n onBack?: () => void;\n loadingStatus: LoadingStatus;\n hasHeader?: boolean;\n}\n\nconst filterTokens = (list: TokenWithAmount[], searchedFor: string) =>\n list.filter(\n (token) =>\n containsText(token.symbol, searchedFor) ||\n containsText(token.address || '', searchedFor) ||\n containsText(token.name || '', searchedFor)\n );\n\nexport function TokenSelector(props: PropTypes) {\n const { list, type, selected, hasHeader, onChange, onBack, loadingStatus } =\n props;\n\n return (\n <SecondaryPage\n textField={true}\n hasHeader={hasHeader}\n title={`Select ${type} token`}\n onBack={onBack}\n textFieldPlaceholder=\"Search tokens by name\"\n >\n {(searchedFor) => {\n const filteredTokens = filterTokens(list, searchedFor);\n\n return loadingStatus === 'loading' ? (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n ) : loadingStatus === 'failed' ? (\n <LoadingFailedAlert />\n ) : filteredTokens.length ? (\n <TokenList\n searchedText={searchedFor}\n list={filteredTokens}\n selected={selected}\n onChange={onChange}\n />\n ) : (\n <NotFoundAlert catergory=\"Token\" searchedFor={searchedFor} />\n );\n }}\n </SecondaryPage>\n );\n}\n", "import React, { useState } from 'react';\nimport {\n StepDetail,\n SecondaryPage,\n GasIcon,\n Typography,\n CheckCircleIcon,\n InfoCircleIcon,\n Divider,\n Button,\n Alert,\n Drawer,\n Spinner,\n Image,\n} from '../../components';\nimport { styled } from '../../theme';\nimport { PendingSwap } from '../History/types';\nimport { pulse } from '../../components/BestRoute/BestRoute';\nimport {\n SwapMessages,\n PropTypes as SwapMessagesPropTypes,\n} from './SwapMessages';\n\nexport const SwapperContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n paddingLeft: '$4',\n variants: {\n created: {\n true: {\n filter: 'grayscale(100%)',\n },\n },\n running: {\n true: {\n animation: `${pulse} 2s ease-in-out infinite`,\n },\n },\n },\n});\n\nexport const BodyError = styled('div', {\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n});\n\nexport const ErrorMsg = styled(Typography, {\n color: '$error',\n});\n\nexport const FeeContainer = styled('div', {\n paddingLeft: '$16',\n color: '$neutral800',\n});\n\nexport const Fee = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const RelativeContainer = styled('div', {\n position: 'relative',\n});\n\nexport const Footer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const Dot = styled('div', {\n width: '$8',\n height: '$8',\n backgroundColor: '$foreground',\n borderRadius: '4px',\n marginLeft: '11px',\n});\n\nexport const ArrowDown = styled('div', {\n width: '0px',\n height: '0px',\n borderLeft: '5px solid transparent',\n borderRight: '5px solid transparent',\n borderTop: '5px solid $foreground',\n marginLeft: '$10',\n});\n\nconst StyledAnchor = styled('a', {\n color: '$primary',\n fontWeight: '$600',\n});\n\nconst SwapInfoContainer = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n paddingBottom: '$16',\n borderBottom: '1px solid $neutral100',\n});\n\nconst InternalDetailsContainer = styled('div', {\n display: 'flex',\n '.details': {\n padding: '$8 0',\n },\n});\n\nconst InternalDetail = styled('div', {\n display: 'flex',\n margin: '$12 0 $12 $20',\n});\n\nconst DescriptionContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nconst Description = styled(Typography, {\n color: '$success',\n paddingLeft: '$4',\n});\n\nexport const Line = styled('div', {\n width: '0',\n minHeight: '$16',\n marginLeft: '14px',\n border: '1px dashed $foreground',\n borderRadius: 'inherit',\n});\n\nconst Row = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n fontSize: '$14',\n padding: '$8 0',\n\n '.name': {\n color: '$neutral600',\n },\n '.value': {\n display: 'flex',\n alignItems: 'center',\n color: '$neutral800',\n justifyContent: 'flex-end',\n },\n '.status': {\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n '.status.failed': {\n color: '$error',\n },\n '.status.success': {\n color: '$success',\n },\n});\n\nconst RequestId = styled('div', {\n width: '150px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n '@md': {\n width: 'auto',\n },\n});\n\nconst ExtraDetails = styled('div', {\n padding: '0',\n color: '$neutral600',\n fontSize: '$10',\n});\n\nconst SwapFlowContainer = styled('div', {\n overflowY: 'auto',\n padding: '$8 $4 $2 $4',\n});\n\nexport type PropTypes = {\n pendingSwap: PendingSwap;\n onCopy: (requestId: string) => void;\n onBack: () => void;\n isCopied: boolean;\n onCancel: (requestId: string) => void;\n onRetry?: () => void;\n date: string;\n previewInputs?: React.ReactNode;\n} & SwapMessagesPropTypes;\n\nexport function SwapHistory(props: PropTypes) {\n const {\n pendingSwap,\n onBack,\n onCopy,\n isCopied,\n onCancel,\n date,\n onRetry,\n previewInputs,\n ...extraMessageProps\n } = props;\n const [showDrawer, setShowDrawer] = useState(false);\n\n return (\n <SecondaryPage\n title=\"Swap Details\"\n textField={false}\n onBack={onBack}\n Footer={\n <>\n {pendingSwap?.status === 'running' && (\n <Button\n variant=\"outlined\"\n fullWidth\n type=\"error\"\n onClick={setShowDrawer.bind(null, true)}\n >\n Cancel\n </Button>\n )}\n {!!onRetry && (\n <Button\n variant=\"contained\"\n fullWidth\n type=\"primary\"\n onClick={onRetry}\n >\n Try again\n </Button>\n )}\n </>\n }\n >\n <div>\n <SwapInfoContainer>\n <Row>\n <div className=\"name\">\n Request Id:\n <span\n className=\"value requestId\"\n onClick={onCopy.bind(null, pendingSwap?.requestId)}\n >\n <RequestId>{pendingSwap?.requestId}</RequestId>\n <Divider size={4} direction=\"horizontal\" />\n <Button type=\"primary\" variant=\"ghost\" size=\"compact\">\n {isCopied ? 'Copied!' : 'Copy'}\n </Button>\n </span>\n </div>\n <div className=\"name\">\n <span className={`value status ${pendingSwap?.status || ''}`}>\n {pendingSwap?.status}\n {pendingSwap?.status === 'running' && (\n <Spinner size={16} color=\"primary\" />\n )}\n </span>\n <ExtraDetails>{date}</ExtraDetails>\n </div>\n </Row>\n </SwapInfoContainer>\n {/* TODO: It was temporarily removed to find a better solution. \n\n <Divider size={16} />*/}\n </div>\n <SwapFlowContainer>\n {/*{previewInputs} */}\n\n {extraMessageProps.shortMessage && (\n <SwapMessages {...extraMessageProps} />\n )}\n\n <Divider size={16} />\n\n {pendingSwap?.steps.map((step, index) => (\n <div key={index}>\n {index === 0 && (\n <RelativeContainer>\n <StepDetail\n logo={step.fromLogo}\n symbol={step.fromSymbol}\n chainLogo={step.fromBlockchainLogo || ''}\n blockchain={step.fromBlockchain}\n amount={pendingSwap.inputAmount}\n />\n <Dot />\n </RelativeContainer>\n )}\n <Line />\n <SwapperContainer\n created={step.status === 'created'}\n running={!['created', 'success', 'failed'].includes(step.status)}\n >\n <Image\n src={step.swapperLogo || ''}\n alt={step.swapperId}\n size={20}\n />\n\n <FeeContainer>\n <Typography variant=\"body2\">\n {step.swapperType === 'DEX' ? 'Swap' : 'Bridge'} via{' '}\n {step.swapperId}\n </Typography>\n <Fee>\n <GasIcon />\n <Typography variant=\"body2\">\n ${step.feeInUsd} estimated gas fee\n </Typography>\n </Fee>\n </FeeContainer>\n </SwapperContainer>\n <div\n style={{\n display: 'flex',\n }}\n >\n <InternalDetailsContainer>\n <Line />\n <div className=\"details\">\n {!!step.explorerUrl && (\n <div>\n {step.explorerUrl.map((item, index) => (\n <InternalDetail key={index}>\n <DescriptionContainer>\n <Divider size={4} />\n <CheckCircleIcon color=\"primary\" />\n <Description variant=\"body2\">\n <StyledAnchor\n href={item.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n key={index}\n >\n {!item.description ? (\n <b>View transaction</b>\n ) : (\n <b>\n {item.description\n .substring(0, 1)\n .toUpperCase()}\n {item.description.substring(1)} Tx\n </b>\n )}\n </StyledAnchor>\n </Description>\n </DescriptionContainer>\n </InternalDetail>\n ))}\n </div>\n )}\n {step.status === 'failed' && (\n <InternalDetail>\n <DescriptionContainer>\n <InfoCircleIcon color=\"error\" />\n <Description variant=\"body2\" color=\"$error500\">\n Step failed\n </Description>\n </DescriptionContainer>\n </InternalDetail>\n )}\n </div>\n </InternalDetailsContainer>\n </div>\n {index + 1 === pendingSwap.steps.length && <ArrowDown />}\n <StepDetail\n logo={step.toLogo}\n symbol={step.toSymbol}\n chainLogo={step.toBlockchainLogo || ''}\n blockchain={step.toBlockchain}\n amount={step.outputAmount || ''}\n estimatedAmount={step.expectedOutputAmountHumanReadable || ''}\n success={step.status === 'success'}\n />\n </div>\n ))}\n\n <Divider size={32} />\n </SwapFlowContainer>\n <Drawer\n onClose={setShowDrawer.bind(null, false)}\n open={showDrawer}\n showClose={true}\n anchor=\"bottom\"\n title=\"Cancel Progress\"\n content={\n <Alert type=\"warning\">\n <Typography variant=\"body2\">\n Warning: Cancel <u>doesn't revert</u> your transaction if you've\n already signed and sent a transaction to the blockchain. It only\n stops next steps from being executed.\n </Typography>\n </Alert>\n }\n footer={\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Button\n variant=\"contained\"\n type=\"success\"\n onClick={setShowDrawer.bind(null, false)}\n >\n Skip\n </Button>\n <Divider size={16} direction=\"horizontal\" />\n <Button\n variant=\"contained\"\n type=\"error\"\n onClick={() => {\n onCancel(pendingSwap.requestId);\n setShowDrawer(false);\n }}\n >\n Cancel progress\n </Button>\n </div>\n }\n container={document.getElementById('swap-box')!}\n />\n </SecondaryPage>\n );\n}\n", "import React, { useState } from 'react';\nimport { Alert, Button, Typography } from '../../components';\nimport { styled } from '../../theme';\n\nconst getAlertType = (messageType: PropTypes['type']) => {\n if (!messageType || messageType === 'info') return 'secondary';\n else return messageType;\n};\n\nconst DetailedMessage = styled('div', {\n width: '90%',\n overflowWrap: 'break-word',\n color: '$error500 !important',\n});\n\nexport type PropTypes = {\n currentStepBlockchain: string;\n switchNetwork?: () => Promise<any>;\n shortMessage: string;\n detailedMessage: { content: string; long: boolean };\n type?: 'success' | 'error' | 'warning' | 'info';\n lastConvertedTokenInFailedSwap?: {\n symbol: string;\n blockchain: string;\n outputAmount: string;\n };\n};\n\nconst SuccessText = styled(Typography, {\n color: '$success500 !important',\n});\n\nexport const SwapMessages: React.FC<PropTypes> = (props) => {\n const {\n shortMessage,\n detailedMessage,\n currentStepBlockchain,\n type,\n lastConvertedTokenInFailedSwap,\n } = props;\n\n const [expandedMessage, setExpandedMessage] = useState(false);\n\n const allowedNumberOfChars = detailedMessage.long ? 0 : 150;\n\n const shouldShowMoreDetailsButton =\n !expandedMessage && detailedMessage.content.length > allowedNumberOfChars;\n\n return (\n <Alert\n type={getAlertType(type)}\n title={shortMessage}\n {...(shouldShowMoreDetailsButton && {\n footer: (\n <Button\n variant=\"outlined\"\n type=\"primary\"\n onClick={setExpandedMessage.bind(null, (prevState) => !prevState)}\n >\n Show more details\n </Button>\n ),\n })}\n {...(!!props.switchNetwork && {\n footer: (\n <Button\n variant={'outlined'}\n type=\"primary\"\n onClick={() => {\n props?.switchNetwork && props.switchNetwork().catch(() => {})\n }}\n >\n Change network to {currentStepBlockchain}\n </Button>\n ),\n })}\n >\n {!!detailedMessage.content ? (\n <DetailedMessage>\n <Typography variant=\"body2\">\n {shouldShowMoreDetailsButton && !expandedMessage\n ? detailedMessage.content.substring(0, allowedNumberOfChars) +\n (allowedNumberOfChars > 0 ? '...' : '')\n : detailedMessage.content}\n </Typography>\n </DetailedMessage>\n ) : null}\n {!!lastConvertedTokenInFailedSwap && (\n <>\n <p>\n <Typography variant=\"body2\">\n Don't worry, your fund is \n </Typography>\n <SuccessText variant=\"body2\">\n <b>Safe</b>\n </SuccessText>\n </p>\n\n <p>\n <Typography variant=\"body2\">\n It is converted to \n <u>{lastConvertedTokenInFailedSwap.outputAmount}</u>\n \n </Typography>\n <SuccessText variant=\"body2\">\n <b>{lastConvertedTokenInFailedSwap.symbol} </b>\n </SuccessText>\n <Typography variant=\"body2\">on your </Typography>\n <SuccessText variant=\"body2\">\n <b>{lastConvertedTokenInFailedSwap.blockchain} </b>\n </SuccessText>\n <Typography variant=\"body2\">wallet</Typography>\n </p>\n </>\n )}\n </Alert>\n );\n};\n", "import React from 'react';\nimport { BlockchainMeta } from 'rango-sdk';\nimport { BlockchainsList } from '../../components/BlockchainsList';\nimport { SecondaryPage } from '../../components/SecondaryPage/SecondaryPage';\nimport { Spinner } from '../../components/Spinner';\nimport { styled } from '../../theme';\nimport { CSSProperties } from '@stitches/react';\nimport { containsText } from '../../helper';\nimport { LoadingStatus } from '../../types/meta';\nimport { LoadingFailedAlert } from '../../components/Alert/LoadingFailedAlert';\nimport { NotFoundAlert } from '../../components/Alert/NotFoundAlert';\nimport { LoaderContainer } from '../TokenSelector/TokenSelector';\n\nconst ListContainer = styled('div', {\n overflowY: 'auto',\n padding: '0 $4',\n});\n\nconst filterBlockchains = (list: BlockchainMeta[], searchedFor: string) =>\n list.filter(\n (blockchain) =>\n containsText(blockchain.name, searchedFor) ||\n containsText(blockchain.displayName, searchedFor)\n );\n\nexport interface PropTypes {\n type?: 'Source' | 'Destination';\n list: BlockchainMeta[];\n selected?: BlockchainMeta | null;\n onChange: (blockchain: BlockchainMeta) => void;\n onBack?: () => void;\n loadingStatus: LoadingStatus;\n hasHeader?: boolean;\n listContainerStyle?: CSSProperties;\n multiSelect?: boolean;\n selectedList?: BlockchainMeta[] | 'all';\n}\n\nexport function BlockchainSelector(props: PropTypes) {\n const {\n type,\n list,\n onChange,\n selected,\n onBack,\n loadingStatus,\n hasHeader,\n listContainerStyle,\n multiSelect,\n selectedList,\n } = props;\n\n return (\n <SecondaryPage\n textField={true}\n hasHeader={hasHeader}\n textFieldPlaceholder=\"Search blockchains by name\"\n title={`Select ${type} Blockchain`}\n onBack={onBack}\n >\n {(searchedFor) => {\n const filteredBlockchains = filterBlockchains(list, searchedFor);\n return (\n <>\n {loadingStatus === 'loading' && (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n )}\n <ListContainer style={listContainerStyle} key=\"1\">\n {loadingStatus === 'failed' && <LoadingFailedAlert />}\n {loadingStatus === 'success' && (\n <>\n {filteredBlockchains.length ? (\n <BlockchainsList\n list={filteredBlockchains}\n selected={selected}\n multiSelect={multiSelect}\n selectedList={selectedList}\n onChange={onChange}\n />\n ) : (\n <NotFoundAlert\n catergory=\"Blockchain\"\n searchedFor={searchedFor}\n />\n )}\n </>\n )}\n </ListContainer>\n </>\n );\n }}\n </SecondaryPage>\n );\n}\n", "import React, { useState } from 'react';\nimport { styled } from '../../theme';\nimport { BlockchainMeta } from 'rango-sdk';\nimport { Button } from '../Button/Button';\nimport { FilledCircle, Image } from '../common';\nimport { Typography } from '../Typography';\n\nexport interface PropTypes {\n list: BlockchainMeta[];\n selected?: BlockchainMeta | null;\n onChange: (blockchain: BlockchainMeta) => void;\n multiSelect?: boolean;\n selectedList?: BlockchainMeta[] | 'all';\n}\n\nconst ListContainer = styled('div', {\n display: 'grid',\n gap: '.5rem',\n gridTemplateColumns: ' repeat(2, minmax(0, 1fr))',\n alignContent: 'baseline',\n width: '100%',\n height: '100%',\n});\n\nconst ImageContainer = styled('div', {\n paddingRight: '$4',\n});\n\nexport function BlockchainsList(props: PropTypes) {\n const { list, onChange, multiSelect, selectedList } = props;\n const [selected, setSelected] = useState(props.selected);\n\n const changeSelectedBlockchain = (blockchain: BlockchainMeta) => {\n setSelected(blockchain);\n onChange(blockchain);\n };\n\n const isSelect = (name: string) => {\n if (multiSelect && selectedList) {\n return (\n selectedList === 'all' ||\n selectedList.findIndex((item) => name === item.name) > -1\n );\n }\n return name === selected?.name;\n };\n\n return (\n <ListContainer>\n {list.map((blockchain, index) => {\n return (\n <Button\n type={isSelect(blockchain.name) ? 'primary' : undefined}\n variant=\"outlined\"\n size=\"large\"\n prefix={\n <ImageContainer>\n <Image size={24} src={blockchain.logo} />\n </ImageContainer>\n }\n suffix={isSelect(blockchain.name) ? <FilledCircle /> : undefined}\n align=\"start\"\n onClick={changeSelectedBlockchain.bind(null, blockchain)}\n key={index}\n >\n <Typography variant=\"body2\">{blockchain.displayName}</Typography>\n </Button>\n );\n })}\n </ListContainer>\n );\n}\n", "import React from 'react';\nimport { styled } from '../../theme';\nimport { WalletInfo } from '../../types/wallet';\nimport { WalletType } from '@rango-dev/wallets-shared';\nimport { Modal, Wallet } from '../../components';\nimport { i18n } from '@lingui/core';\n\nexport interface PropTypes {\n open: boolean;\n list: WalletInfo[];\n onSelect: (walletType: WalletType) => void;\n onClose: () => void;\n error?: string;\n}\n\nconst ModalContent = styled('div', {\n display: 'grid',\n gap: '$8',\n gridTemplateColumns: 'repeat(2, minmax(0, 1fr))',\n overflow: 'auto',\n});\n\nexport function ConnectWalletsModal(props: PropTypes) {\n const { open, list, onSelect, onClose } = props;\n\n const Content = (\n <ModalContent>\n {list.map((info, index) => (\n <Wallet {...info} key={index} onClick={onSelect} />\n ))}\n </ModalContent>\n );\n\n return (\n <Modal\n title={i18n.t('Connect Wallets')}\n open={open}\n content={Content}\n onClose={onClose}\n containerStyle={{ width: '75%', maxWidth: '30rem', height: '60%' }}\n />\n );\n}\n", "import { CSSProperties } from '@stitches/react';\nimport React from 'react';\nimport { containsText } from '../../helper';\nimport { LiquiditySource, LoadingStatus } from '../../types/meta';\nimport { Button, SecondaryPage } from '../../components';\nimport { LiquiditySourceList } from '../../components/LiquiditySourceList';\n\nconst filterLiquiditySources = (\n liquiditySources: LiquiditySource[],\n searchedFor: string\n) =>\n liquiditySources.filter((liquiditySource) =>\n containsText(liquiditySource.title, searchedFor || '')\n );\nexport interface PropTypes {\n list: LiquiditySource[];\n onChange: (liquiditySource: LiquiditySource) => void;\n toggleAll?: () => void;\n onBack?: () => void;\n hasHeader?: boolean;\n listContainerStyle?: CSSProperties;\n loadingStatus: LoadingStatus;\n}\n\nexport function LiquiditySourcesSelector(props: PropTypes) {\n const {\n list,\n onChange,\n onBack,\n hasHeader,\n listContainerStyle,\n toggleAll,\n loadingStatus,\n } = props;\n\n return (\n <SecondaryPage\n textField={true}\n textFieldPlaceholder=\"Search by name\"\n title=\"Liquidity Sources\"\n TopButton={\n <Button variant=\"ghost\" type=\"primary\" onClick={toggleAll}>\n {list.find((item) => item.selected) ? 'Deselect all' : 'Select all'}\n </Button>\n }\n hasHeader={hasHeader}\n onBack={onBack}\n >\n {(searchedFor) => (\n <LiquiditySourceList\n listContainerStyle={listContainerStyle}\n list={filterLiquiditySources(list, searchedFor)}\n onChange={onChange}\n loadingStatus={loadingStatus}\n searchedFor={searchedFor}\n />\n )}\n </SecondaryPage>\n );\n}\n", "import { CSSProperties } from '@stitches/react';\nimport React, { useEffect, useState } from 'react';\nimport { i18n } from '@lingui/core';\nimport { styled } from '../../theme';\nimport { LiquiditySource, LoadingStatus } from '../../types/meta';\nimport { Button } from '../Button/Button';\nimport { Divider } from '../Divider';\nimport { Switch } from '../Switch';\nimport { Typography } from '../Typography';\nimport { Spinner } from '../Spinner';\nimport { LoadingFailedAlert } from '../Alert/LoadingFailedAlert';\nimport { NotFoundAlert } from '../Alert/NotFoundAlert';\nimport { Image } from '../common';\n\nconst groupLiquiditySources = (\n liquiditySources: LiquiditySource[]\n): { [key in 'bridge' | 'exchange']: LiquiditySource[] } => ({\n bridge: liquiditySources.filter(\n (liquiditySource) =>\n liquiditySource.type === 'BRIDGE' || liquiditySource.type === 'AGGREGATOR'\n ),\n exchange: liquiditySources.filter(\n (liquiditySource) => liquiditySource.type === 'DEX'\n ),\n});\n\nconst MainContainer = styled('div', {\n variants: {\n loaded: {\n true: {\n overflowY: 'auto',\n padding: '0 $4',\n },\n },\n },\n});\n\nconst LiquiditySourceType = styled('div', {\n position: 'sticky',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n top: '0',\n backgroundColor: '$background',\n zIndex: '9999',\n paddingTop: '$8',\n paddingBottom: '$8',\n});\n\nconst LiquidityImageContainer = styled('div', {\n paddingRight: '$16',\n});\n\nconst LoaderContainer = styled('div', {\n display: 'flex',\n justifyContent: 'center',\n});\n\nexport interface PropTypes {\n list: LiquiditySource[];\n onChange: (liquiditySource: LiquiditySource) => void;\n listContainerStyle?: CSSProperties;\n loadingStatus: LoadingStatus;\n searchedFor: string;\n}\n\nexport function LiquiditySourceList(props: PropTypes) {\n const { list, onChange, listContainerStyle, loadingStatus, searchedFor } =\n props;\n\n const [selected, setSelected] = useState(\n list.filter((item) => item.selected)\n );\n\n const changeLiquiditySources = (clickedItem: LiquiditySource) => {\n clickedItem.selected = !clickedItem.selected;\n setSelected((prevState) => {\n if (clickedItem.selected) return [...prevState, clickedItem];\n return prevState.filter((item) => item.title != clickedItem.title);\n });\n onChange(clickedItem);\n };\n\n const isSelected = (liquiditySource: LiquiditySource) =>\n !!selected.find((item) => liquiditySource.title === item.title);\n\n useEffect(() => {\n setSelected(list.filter((item) => item.selected));\n }, [list]);\n\n const sections = groupLiquiditySources(list);\n const bridges = sections.bridge;\n const exchanges = sections.exchange;\n\n const totalBridges = bridges.length;\n const totalExchanges = exchanges.length;\n // TODO: This is not performant\n const totalSelectedBridges = bridges.filter(isSelected).length;\n const totalSelectedExchanges = exchanges.filter(isSelected).length;\n\n return (\n <MainContainer\n style={listContainerStyle}\n loaded={loadingStatus === 'success'}>\n <div>\n <LiquiditySourceType>\n <Typography variant=\"h5\">{i18n.t('Bridges')}</Typography>\n <Typography variant=\"body1\" color=\"neutral800\">\n {totalSelectedBridges === totalBridges\n ? totalBridges\n : `${totalSelectedBridges} / ${totalBridges}`}\n </Typography>\n </LiquiditySourceType>\n <Divider size={12} />\n {loadingStatus === 'loading' && (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n )}\n {loadingStatus === 'failed' && <LoadingFailedAlert />}\n {loadingStatus === 'success' && (\n <>\n {totalBridges ? (\n bridges.map((liquiditySource, index) => (\n <LiquiditySourceItem\n liquiditySource={liquiditySource}\n key={index}\n selected={isSelected(liquiditySource)}\n onChange={changeLiquiditySources}\n />\n ))\n ) : (\n <NotFoundAlert catergory=\"Bridge\" searchedFor={searchedFor} />\n )}\n </>\n )}\n </div>\n <div>\n <LiquiditySourceType>\n <Typography variant=\"h5\">{i18n.t('Exchanges')}</Typography>\n <Typography variant=\"body1\" color=\"neutral800\">\n {totalSelectedExchanges === totalExchanges\n ? totalExchanges\n : `${totalSelectedExchanges} / ${totalExchanges}`}\n </Typography>\n </LiquiditySourceType>\n <Divider size={12} />\n {loadingStatus === 'loading' && (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n )}\n {loadingStatus === 'failed' && <LoadingFailedAlert />}\n {loadingStatus == 'success' && (\n <>\n {totalExchanges ? (\n exchanges.map((liquiditySource, index) => (\n <LiquiditySourceItem\n liquiditySource={liquiditySource}\n key={index}\n selected={isSelected(liquiditySource)}\n onChange={changeLiquiditySources}\n />\n ))\n ) : (\n <NotFoundAlert catergory=\"Exchange\" searchedFor={searchedFor} />\n )}\n </>\n )}\n </div>\n </MainContainer>\n );\n}\n\nconst LiquiditySourceItem = ({\n liquiditySource,\n selected,\n onChange,\n}: {\n liquiditySource: LiquiditySource;\n selected: boolean;\n onChange: (clickedItem: LiquiditySource) => void;\n}) => (\n <Button\n size=\"large\"\n align=\"start\"\n variant=\"outlined\"\n prefix={\n <LiquidityImageContainer>\n <Image src={liquiditySource.logo} size={20} />\n </LiquidityImageContainer>\n }\n suffix={<Switch checked={selected} />}\n style={{ marginBottom: '12px' }}\n onClick={onChange.bind(null, liquiditySource)}>\n <Typography variant=\"body1\">{liquiditySource.title}</Typography>\n </Button>\n);\n", "import { styled } from '../../theme';\nimport React, { useState } from 'react';\nimport { i18n } from '@lingui/core';\n\nimport { LiquiditySource, LoadingStatus } from '../../types/meta';\nimport {\n AngleRightIcon,\n Button,\n Chip,\n Radio,\n SecondaryPage,\n Switch,\n TextField,\n Typography,\n} from '../../components';\n\nconst BaseContainer = styled('div', {\n borderRadius: '$5',\n backgroundColor: '$neutral100',\n padding: '$16',\n});\n\nconst Title = styled(Typography, { marginBottom: '$16' });\n\nconst SlippageChipsContainer = styled('div', {\n display: 'grid',\n rowGap: '$16',\n gridTemplateColumns: 'repeat(auto-fill, 64px)',\n});\n\nconst LiquiditySourceContainer = styled(BaseContainer, {\n display: 'flex',\n justifyContent: 'space-between',\n marginTop: '$16',\n cursor: 'pointer',\n});\nconst InfiniteContainer = styled(BaseContainer, {\n display: 'flex',\n justifyContent: 'space-between',\n marginTop: '$16',\n});\n\nconst StyledAngleRight = styled(AngleRightIcon, { marginLeft: '$8' });\n\nconst LiquiditySourceNumber = styled('div', {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n\nconst ThemesContainer = styled(BaseContainer, {\n marginTop: '$16',\n});\n\nconst Head = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingBottom: '$16',\n});\n\ntype Theme = 'dark' | 'light' | 'auto';\n\nexport interface PropTypes {\n slippages: number[];\n selectedSlippage: number;\n customSlippage: number | null;\n maxSlippage: number;\n minSlippage: number;\n liquiditySources: LiquiditySource[];\n onLiquiditySourcesClick: () => void;\n selectedLiquiditySources: LiquiditySource[];\n onSlippageChange: (slippage: number) => void;\n onCustomSlippageChange: (customSlippage: number | null) => void;\n selectedTheme: Theme;\n onThemeChange: (theme: Theme) => void;\n onBack: () => void;\n infiniteApprove: boolean;\n toggleInfiniteApprove: (infinite: boolean) => void;\n loadingStatus: LoadingStatus;\n singleTheme?: boolean;\n}\n\nexport function Settings(props: PropTypes) {\n const {\n slippages,\n selectedLiquiditySources,\n liquiditySources,\n onSlippageChange,\n onLiquiditySourcesClick,\n onBack,\n customSlippage,\n onCustomSlippageChange,\n maxSlippage,\n minSlippage,\n selectedTheme,\n onThemeChange,\n toggleInfiniteApprove,\n infiniteApprove,\n loadingStatus,\n singleTheme,\n } = props;\n\n const [selectedSlippage, setSelectedSlippage] = useState(\n props.selectedSlippage\n );\n\n const changeSlippage = (slippage: number) => {\n setSelectedSlippage(slippage);\n onSlippageChange(slippage);\n };\n\n const PageContent = (\n <>\n <BaseContainer>\n <Head>\n <Typography variant=\"body2\">\n {i18n.t('Slippage tolerance')}\n </Typography>\n {customSlippage ? (\n <Typography variant=\"caption\" color=\"error\">\n {customSlippage}% {i18n.t('Custom')}\n </Typography>\n ) : undefined}\n </Head>\n <SlippageChipsContainer>\n {slippages.map((slippage, index) => (\n <Chip\n key={index}\n onClick={() => {\n if (customSlippage) onCustomSlippageChange(null);\n changeSlippage(slippage);\n }}\n selected={!customSlippage && slippage === selectedSlippage}\n label={`${slippage.toString()}%`}\n style={{\n marginRight: '8px',\n }}\n />\n ))}\n <TextField\n type=\"number\"\n value={customSlippage || ''}\n onChange={(event) => {\n const parsedValue = parseFloat(event.target.value);\n if (\n !parsedValue ||\n (parsedValue >= minSlippage && parsedValue <= maxSlippage)\n )\n onCustomSlippageChange(parsedValue);\n }}\n suffix={\n customSlippage && <Typography variant=\"body2\">%</Typography>\n }\n size=\"small\"\n placeholder=\"Custom %\"\n style={{\n width: '128px',\n flexGrow: 'initial',\n }}\n />\n </SlippageChipsContainer>\n </BaseContainer>\n {!singleTheme && (\n <ThemesContainer>\n <Title variant=\"body2\">{i18n.t('Theme')}</Title>\n <Radio\n value={selectedTheme}\n options={[\n { value: 'dark', label: `${i18n.t('Dark')}` },\n { value: 'light', label: `${i18n.t('Light')}` },\n { value: 'auto', label: `${i18n.t('Auto')}` },\n ]}\n onChange={(value) => onThemeChange(value as Theme)}\n direction=\"horizontal\"\n style={{ marginTop: '$24' }}\n />\n </ThemesContainer>\n )}\n <InfiniteContainer>\n <Typography variant=\"body2\">{i18n.t('Infinite Approval')}</Typography>\n <Switch checked={infiniteApprove} onChange={toggleInfiniteApprove} />\n </InfiniteContainer>\n <LiquiditySourceContainer>\n <Button\n onClick={onLiquiditySourcesClick}\n align=\"start\"\n variant=\"ghost\"\n loading={loadingStatus === 'loading'}\n suffix={\n <LiquiditySourceNumber>\n {loadingStatus === 'success' && (\n <Typography variant=\"body2\" color=\"neutral800\">\n {liquiditySources.length !== selectedLiquiditySources.length\n ? `${selectedLiquiditySources.length} / ${liquiditySources.length}`\n : liquiditySources.length}\n </Typography>\n )}\n {loadingStatus === 'failed' && (\n <Typography variant=\"body2\" color=\"$error500\">\n Loading failed\n </Typography>\n )}\n <StyledAngleRight />\n </LiquiditySourceNumber>\n }>\n <Typography variant=\"body2\">{i18n.t('Liquidity Sources')}</Typography>\n </Button>\n </LiquiditySourceContainer>\n </>\n );\n\n return (\n <SecondaryPage title=\"Settings\" textField={false} onBack={onBack}>\n {PageContent}\n </SecondaryPage>\n );\n}\n", "import { Alert } from '../../components/Alert';\nimport React from 'react';\nimport { ChangeSlippageButton } from '../../components/ChangeSlippageButton';\nimport { i18n } from '@lingui/core';\n\ninterface PropTypes {\n selectedSlippage: number;\n highSlippage: boolean;\n changeSlippage: () => void;\n}\n\nexport function HighSlippageWarning(props: PropTypes) {\n const { highSlippage, selectedSlippage, changeSlippage } = props;\n\n return (\n <>\n {highSlippage && (\n <Alert\n type=\"warning\"\n footer={<ChangeSlippageButton onClick={changeSlippage} />}>\n {i18n.t(\n 'highSlippage',\n { selectedSlippage },\n {\n message:\n ' Caution, your slippage is high (={selectedSlippage}). Your trade may be front run.',\n }\n )}\n </Alert>\n )}\n </>\n );\n}\n", "import React from 'react';\nimport { i18n } from '@lingui/core';\nimport { Divider, Typography, ChangeSlippageButton } from '../../components';\nimport { styled } from '../../theme';\n\ninterface PropTypes {\n minRequiredSlippage: string | null;\n changeSlippage: () => void;\n}\n\nconst StyledMessage = styled(Typography, {\n color: '$error500 !important',\n});\n\nexport function MinRequiredSlippage({\n minRequiredSlippage,\n changeSlippage,\n}: PropTypes) {\n return (\n <StyledMessage variant=\"body2\">\n {i18n.t(\n 'increaseSlippage',\n { minRequiredSlippage },\n {\n message:\n 'We recommend you to increase slippage to at least {minRequiredSlippage} for this route.',\n }\n )}\n <Divider size={8} />\n <ChangeSlippageButton onClick={changeSlippage} />\n </StyledMessage>\n );\n}\n", "import { Divider, Typography } from '../../components';\nimport { styled } from '../../theme';\nimport React from 'react';\nimport { i18n } from '@lingui/core';\ninterface PropTypes {\n messages: string[];\n}\n\nconst List = styled('ul', {\n padding: 0,\n margin: 0,\n variants: {\n showListStyle: {\n true: { paddingLeft: '$24' },\n },\n },\n});\n\nconst ListItem = styled('li', {\n variants: {\n showListStyle: {\n true: { listStyleType: 'disc', listStylePosition: 'outside' },\n },\n },\n});\n\nconst Message = styled(Typography, {\n display: 'block',\n});\n\nexport function BalanceErrors({ messages }: PropTypes) {\n const showListStyle = messages.length > 1;\n return (\n <>\n <Typography className=\"title\" variant=\"title\" color={'error'}>\n {i18n.t('Insufficent Balance:')}\n </Typography>\n <Divider size={8} />\n <List showListStyle={showListStyle}>\n {messages.map((warning, index) => (\n <ListItem showListStyle={showListStyle} key={index}>\n <Message variant=\"body2\">{warning}</Message>\n </ListItem>\n ))}\n </List>\n </>\n );\n}\n", "import React from 'react';\nimport copy from 'copy-to-clipboard';\n\nexport function useCopyToClipboard(resetInterval?: number) {\n const [isCopied, setCopied] = React.useState(false);\n\n const handleCopy = React.useCallback((text: string | number) => {\n copy(text.toString());\n setCopied(true);\n }, []);\n\n React.useEffect(() => {\n let timeout: NodeJS.Timeout;\n if (isCopied && resetInterval) {\n timeout = setTimeout(() => setCopied(false), resetInterval);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, [isCopied, resetInterval]);\n\n return [isCopied, handleCopy] as const;\n}\n"],
|
|
5
|
-
"mappings": "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,MAAO,CACL,SAAU,KACZ,EACA,MAAO,CACL,SAAU,KACZ,CACF,EACA,MAAO,CACL,SAAU,MACV,WAAY,OACZ,MAAO,CACL,SAAU,KACZ,CACF,EACA,MAAO,CACL,SAAU,MACV,WAAY,OACZ,MAAO,CACL,SAAU,KACZ,EACA,MAAO,CACL,SAAU,KACZ,CACF,EACA,MAAO,CACL,SAAU,MACV,WAAY,MAId,EACA,MAAO,CACL,SAAU,MACV,WAAY,MACd,EACA,QAAS,CACP,SAAU,MACV,WAAY,OACZ,MAAO,CACL,SAAU,KACZ,CACF,CACF,EACA,MAAO,CACL,OAAQ,CACN,UAAW,QACb,EACA,KAAM,CACJ,UAAW,MACb,EACA,MAAO,CACL,UAAW,OACb,CACF,EACA,OAAQ,CACN,KAAM,CACJ,WAAY,QACd,CACF,EACA,GAAI,CACF,EAAG,CACD,WAAY,IACd,EACA,EAAG,CACD,WAAY,IACd,EACA,EAAG,CACD,WAAY,IACd,EACA,GAAI,CACF,WAAY,KACd,CACF,EACA,GAAI,CACF,EAAG,CACD,UAAW,IACb,EACA,EAAG,CACD,UAAW,IACb,EACA,EAAG,CACD,UAAW,IACb,EACA,GAAI,CACF,UAAW,KACb,CACF,EACA,GAAI,CACF,EAAG,CACD,YAAa,IACf,EACA,EAAG,CACD,YAAa,IACf,EACA,EAAG,CACD,YAAa,IACf,EACA,GAAI,CACF,YAAa,KACf,CACF,EACA,GAAI,CACF,EAAG,CACD,aAAc,IAChB,EACA,EAAG,CACD,aAAc,IAChB,EACA,EAAG,CACD,aAAc,IAChB,EACA,GAAI,CACF,aAAc,KAChB,CACF,CACF,CACF,CAAC,EA0BM,SAASC,EAAW,CACzB,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,GAAGC,CACL,EAAiC,CAC/B,IAAMC,EAAYF,EACd,CACE,MAAOA,EAAM,WAAW,GAAG,EAAIA,EAAQ,IAAIA,GAC7C,EACA,CACE,MAAO,aACT,EAEJ,OACEG,GAAA,cAACR,GAAA,CACC,UAAW,qBAAqBI,GAAa,KAC7C,IAAKG,EACJ,GAAGD,GAEHH,CACH,CAEJ,CAvBgBM,EAAAP,EAAA,cAyBhBA,EAAW,SAAW,IAAM,eC/N5B,OAAOQ,OAAW,QAGlB,IAAMC,GAAmBC,EAAO,MAAO,CACrC,SAAU,CACR,KAAM,CACJ,EAAG,CAAC,EACJ,EAAG,CAAC,EACJ,GAAI,CAAC,EACL,GAAI,CAAC,EACL,GAAI,CAAC,EACL,GAAI,CAAC,EACL,GAAI,CAAC,EACL,GAAI,CAAC,CACP,EACA,UAAW,CACT,SAAU,CAAC,EACX,WAAY,CAAC,CACf,CACF,EACA,iBAAkB,CAChB,CACE,KAAM,EACN,UAAW,aACX,IAAK,CACH,MAAO,IACT,CACF,EACA,CACE,KAAM,EACN,UAAW,WACX,IAAK,CACH,OAAQ,IACV,CACF,EACA,CACE,KAAM,EACN,UAAW,aACX,IAAK,CACH,MAAO,IACT,CACF,EACA,CACE,KAAM,EACN,UAAW,WACX,IAAK,CACH,OAAQ,IACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,CACF,CACF,CAAC,EAMM,SAASC,EA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,KAAM,CACJ,MAAO,MACT,CACF,EACA,QAAS,CACP,KAAM,CAAC,CACT,EACA,KAAM,CACJ,QAAS,CAAC,EACV,MAAO,CAAC,EACR,QAAS,CAAC,EACV,QAAS,CAAC,CACZ,CACF,EAEA,iBAAkB,CAChB,CACE,KAAM,UACN,QAAS,YACT,IAAK,CACH,WAAY,WACZ,MAAO,SACP,UAAW,CACT,WAAY,aACd,EACA,YAAa,CACX,WAAY,aACd,EACA,UAAW,CACT,WAAY,aACd,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,WACT,IAAK,CACH,MAAO,WACP,YAAa,WACb,UAAW,CACT,MAAO,cACP,YAAa,aACf,EACA,YAAa,CACX,MAAO,cACP,YAAa,aACf,EACA,UAAW,CACT,MAAO,cACP,YAAa,aACf,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,QACT,IAAK,CACH,MAAO,WACP,UAAW,CACT,MAAO,aACT,EACA,YAAa,CAAE,MAAO,aAAc,EACpC,UAAW,CACT,MAAO,aACT,CACF,CACF,EACA,CACE,KAAM,QACN,QAAS,YACT,IAAK,CACH,WAAY,SACZ,QAAS,qBACT,CAAC,IAAIC,KAAa,EAAG,CACnB,QAAS,oBACX,EACA,MAAO,UACP,UAAW,CACT,WAAY,WACd,EACA,YAAa,CACX,WAAY,WACd,EACA,UAAW,CACT,WAAY,WACd,CACF,CACF,EACA,CACE,KAAM,QACN,QAAS,WACT,IAAK,CACH,MAAO,SACP,YAAa,SACb,UAAW,CACT,MAAO,YACP,YAAa,WACf,EACA,YAAa,CACX,MAAO,YACP,YAAa,WACf,EACA,UAAW,CACT,MAAO,YACP,YAAa,WACf,CACF,CACF,EACA,CACE,KAAM,QACN,QAAS,QACT,IAAK,CACH,MAAO,SACP,UAAW,CACT,MAAO,WACT,EACA,YAAa,CACX,MAAO,WACT,EACA,UAAW,CACT,MAAO,WACT,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,YACT,IAAK,CACH,WAAY,WACZ,QAAS,qBACT,CAAC,IAAIA,KAAa,EAAG,CACnB,QAAS,oBACX,EACA,MAAO,UACP,UAAW,CACT,WAAY,aACd,EACA,YAAa,CACX,WAAY,aACd,EACA,UAAW,CACT,WAAY,aACd,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,WACT,IAAK,CACH,MAAO,WACP,YAAa,WACb,UAAW,CACT,MAAO,cACP,YAAa,aACf,EACA,YAAa,CACX,MAAO,cACP,YAAa,aACf,EACA,UAAW,CACT,MAAO,cACP,YAAa,aACf,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,QACT,IAAK,CACH,MAAO,WACP,UAAW,CACT,MAAO,aACT,EACA,YAAa,CACX,MAAO,aACT,EACA,UAAW,CACT,MAAO,aACT,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,YACT,IAAK,CACH,WAAY,WACZ,QAAS,qBACT,CAAC,IAAIA,KAAa,EAAG,CACnB,QAAS,oBACX,EACA,MAAO,UACP,UAAW,CACT,WAAY,aACd,EACA,YAAa,CACX,WAAY,aACd,EACA,UAAW,CACT,WAAY,aACd,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,WACT,IAAK,CACH,MAAO,WACP,YAAa,WACb,UAAW,CACT,MAAO,cACP,YAAa,aACf,EACA,YAAa,CACX,MAAO,cACP,YAAa,aACf,EACA,UAAW,CACT,MAAO,cACP,YAAa,aACf,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,QACT,IAAK,CACH,MAAO,WACP,UAAW,CACT,MAAO,aACT,EACA,YAAa,CACX,MAAO,aACT,EACA,UAAW,CACT,MAAO,aACT,CACF,CACF,EACA,CACE,KAAM,UACN,IAAK,CACH,QAAS,QACT,SAAU,KACZ,CACF,CACF,EACA,gBAAiB,CACf,KAAM,SACN,QAAS,WACX,CACF,CAAC,EAEKC,GAAUH,EAAO,MAAO,CAC5B,KAAM,EACN,SAAU,CACR,MAAO,CACL,MAAO,CACL,UAAW,MACb,EACA,KAAM,CACJ,UAAW,QACb,CACF,EACA,GAAI,CACF,KAAM,CACJ,WAAY,IACd,CACF,EACA,GAAI,CACF,KAAM,CACJ,YAAa,IACf,CACF,EACA,YAAa,CACX,KAAM,CACJ,QAAS,OAC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",
|
|
4
|
+
"sourcesContent": ["import React, { useEffect } from 'react';\nimport { i18n } from '@lingui/core';\nimport { I18nProvider } from '@lingui/react';\nimport { PropsWithChildren } from 'react';\n/* \n Note: esbuild doesn't work properly with paths yet, so I couldn't use `paths` to make this path shorter. \n e.g:\n \"paths\": {\n \"translations/*\": [\"../../translations/*\"]\n } \n*/\nimport { messages as enMessages } from '../../../../../translations/en';\nimport { messages as esMessages } from '../../../../../translations/es';\nimport { messages as jpMessages } from '../../../../../translations/jp';\nimport { messages as frMessages } from '../../../../../translations/fr';\n\nconst DEFAULT_LANGUAGE = 'en';\nconst messages = {\n en: enMessages,\n es: esMessages,\n jp: jpMessages,\n fr: frMessages,\n};\n\ni18n.load(messages);\n\nexport type Language = keyof typeof messages;\ninterface PropTypes {\n language?: Language;\n}\n\nfunction I18nManager(props: PropsWithChildren<PropTypes>) {\n useEffect(() => {\n i18n.activate(props?.language || DEFAULT_LANGUAGE);\n }, [props?.language]);\n\n return <I18nProvider i18n={i18n}>{props.children}</I18nProvider>;\n}\n\nexport { I18nManager };\n", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\" Error connecting server, please reload the app and try again.\\\":\\\" Error connecting server, please reload the app and try again.\\\",\\\"Transaction cost (fee)\\\":\\\"Transaction cost (fee)\\\",\\\"Time estimate\\\":\\\"Time estimate\\\",\\\"No routes found\\\":\\\"No routes found\\\",\\\"Powered By\\\":\\\"Powered By\\\",\\\"Change Slippage\\\":\\\"Change Slippage\\\",\\\"Refresh\\\":\\\"Refresh\\\",\\\"Transactions History\\\":\\\"Transactions History\\\",\\\"Settings\\\":\\\"Settings\\\",\\\"Bridges\\\":\\\"Bridges\\\",\\\"Exchanges\\\":\\\"Exchanges\\\",\\\"Connect Wallets\\\":\\\"Connect Wallets\\\",\\\"Slippage tolerance\\\":\\\"Slippage tolerance\\\",\\\"Custom\\\":\\\"Custom\\\",\\\"Theme\\\":\\\"Theme\\\",\\\"Dark\\\":\\\"Dark\\\",\\\"Light\\\":\\\"Light\\\",\\\"Auto\\\":\\\"Auto\\\",\\\"Infinite Approval\\\":\\\"Infinite Approval\\\",\\\"Liquidity Sources\\\":\\\"Liquidity Sources\\\",\\\"Insufficent Balance:\\\":\\\"Insufficent Balance:\\\",\\\"Connect Wallet\\\":\\\"Connect Wallet\\\",\\\"Swap Details\\\":\\\"Swap Details\\\",\\\"Balance\\\":\\\"Balance\\\",\\\"Chain\\\":\\\"Chain\\\",\\\"Token\\\":\\\"Token\\\",\\\"From\\\":\\\"From\\\",\\\"To\\\":\\\"To\\\",\\\"Proceed anyway!\\\":\\\"Proceed anyway!\\\",\\\"Confirm swap!\\\":\\\"Confirm swap!\\\",\\\"SWAP\\\":\\\"SWAP\\\",\\\"Select Wallet\\\":\\\"Select Wallet\\\",\\\"Finding Best Route...\\\":\\\"Finding Best Route...\\\",\\\"Enter an amount\\\":\\\"Enter an amount\\\",\\\"Swap\\\":\\\"Swap\\\",\\\"Limit Error\\\":\\\"Limit Error\\\",\\\"Price impact is too high!\\\":\\\"Price impact is too high!\\\",\\\"USD price is unknown, price impact might be high!\\\":\\\"USD price is unknown, price impact might be high!\\\",\\\"The route goes through Ethereum. Continue?\\\":\\\"The route goes through Ethereum. Continue?\\\",\\\"swap from\\\":\\\"From\\\",\\\"maximum amount of asset\\\":\\\"Max\\\",\\\"swapNotFound\\\":[\\\"Swap with request ID = $\\\",[\\\"requestId\\\"],\\\" not found.\\\"],\\\"swap to\\\":\\\"To\\\",\\\"highSlippage\\\":[\\\" Caution, your slippage is high (=\\\",[\\\"selectedSlippage\\\"],\\\"). Your trade may be front run.\\\"],\\\"increaseSlippage\\\":[\\\"We recommend you to increase slippage to at least \\\",[\\\"minRequiredSlippage\\\"],\\\" for this route.\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\" Error connecting server, please reload the app and try again.\\\":\\\" Error connecting server, please reload the app and try again.\\\",\\\"Transaction cost (fee)\\\":\\\"Transaction cost (fee)\\\",\\\"Time estimate\\\":\\\"Time estimate\\\",\\\"No routes found\\\":\\\"No routes found\\\",\\\"Powered By\\\":\\\"Powered By\\\",\\\"Change Slippage\\\":\\\"Change Slippage\\\",\\\"Refresh\\\":\\\"Refresh\\\",\\\"Transactions History\\\":\\\"Transactions History\\\",\\\"Settings\\\":\\\"Settings\\\",\\\"Bridges\\\":\\\"Bridges\\\",\\\"Exchanges\\\":\\\"Exchanges\\\",\\\"Connect Wallets\\\":\\\"Connect Wallets\\\",\\\"Slippage tolerance\\\":\\\"Slippage tolerance\\\",\\\"Custom\\\":\\\"Custom\\\",\\\"Theme\\\":\\\"Theme\\\",\\\"Dark\\\":\\\"Dark\\\",\\\"Light\\\":\\\"Light\\\",\\\"Auto\\\":\\\"Auto\\\",\\\"Infinite Approval\\\":\\\"Infinite Approval\\\",\\\"Liquidity Sources\\\":\\\"Liquidity Sources\\\",\\\"Insufficent Balance:\\\":\\\"Insufficent Balance:\\\",\\\"Connect Wallet\\\":\\\"Connect Wallet\\\",\\\"Swap Details\\\":\\\"Swap Details\\\",\\\"Balance\\\":\\\"Balance\\\",\\\"Chain\\\":\\\"Chain\\\",\\\"Token\\\":\\\"Token\\\",\\\"From\\\":\\\"From\\\",\\\"To\\\":\\\"To\\\",\\\"Proceed anyway!\\\":\\\"Proceed anyway!\\\",\\\"Confirm swap!\\\":\\\"Confirm swap!\\\",\\\"SWAP\\\":\\\"SWAP\\\",\\\"Select Wallet\\\":\\\"Select Wallet\\\",\\\"Finding Best Route...\\\":\\\"Finding Best Route...\\\",\\\"Enter an amount\\\":\\\"Enter an amount\\\",\\\"Swap\\\":\\\"Swap\\\",\\\"Limit Error\\\":\\\"Limit Error\\\",\\\"Price impact is too high!\\\":\\\"Price impact is too high!\\\",\\\"USD price is unknown, price impact might be high!\\\":\\\"USD price is unknown, price impact might be high!\\\",\\\"The route goes through Ethereum. Continue?\\\":\\\"The route goes through Ethereum. Continue?\\\",\\\"swap from\\\":\\\"From\\\",\\\"maximum amount of asset\\\":\\\"Max\\\",\\\"swapNotFound\\\":[\\\"Swap with request ID = $\\\",[\\\"requestId\\\"],\\\" not found.\\\"],\\\"swap to\\\":\\\"To\\\",\\\"highSlippage\\\":[\\\" Caution, your slippage is high (=\\\",[\\\"selectedSlippage\\\"],\\\"). Your trade may be front run.\\\"],\\\"increaseSlippage\\\":[\\\"We recommend you to increase slippage to at least \\\",[\\\"minRequiredSlippage\\\"],\\\" for this route.\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\" Error connecting server, please reload the app and try again.\\\":\\\" Error connecting server, please reload the app and try again.\\\",\\\"Transaction cost (fee)\\\":\\\"Transaction cost (fee)\\\",\\\"Time estimate\\\":\\\"Time estimate\\\",\\\"No routes found\\\":\\\"No routes found\\\",\\\"Powered By\\\":\\\"Powered By\\\",\\\"Change Slippage\\\":\\\"Change Slippage\\\",\\\"Refresh\\\":\\\"Refresh\\\",\\\"Transactions History\\\":\\\"Transactions History\\\",\\\"Settings\\\":\\\"Settings\\\",\\\"Bridges\\\":\\\"Bridges\\\",\\\"Exchanges\\\":\\\"Exchanges\\\",\\\"Connect Wallets\\\":\\\"Connect Wallets\\\",\\\"Slippage tolerance\\\":\\\"Slippage tolerance\\\",\\\"Custom\\\":\\\"Custom\\\",\\\"Theme\\\":\\\"Theme\\\",\\\"Dark\\\":\\\"Dark\\\",\\\"Light\\\":\\\"Light\\\",\\\"Auto\\\":\\\"Auto\\\",\\\"Infinite Approval\\\":\\\"Infinite Approval\\\",\\\"Liquidity Sources\\\":\\\"Liquidity Sources\\\",\\\"Insufficent Balance:\\\":\\\"Insufficent Balance:\\\",\\\"Connect Wallet\\\":\\\"Connect Wallet\\\",\\\"Swap Details\\\":\\\"Swap Details\\\",\\\"Balance\\\":\\\"Balance\\\",\\\"Chain\\\":\\\"Chain\\\",\\\"Token\\\":\\\"Token\\\",\\\"From\\\":\\\"From\\\",\\\"To\\\":\\\"To\\\",\\\"Proceed anyway!\\\":\\\"Proceed anyway!\\\",\\\"Confirm swap!\\\":\\\"Confirm swap!\\\",\\\"SWAP\\\":\\\"SWAP\\\",\\\"Select Wallet\\\":\\\"Select Wallet\\\",\\\"Finding Best Route...\\\":\\\"Finding Best Route...\\\",\\\"Enter an amount\\\":\\\"Enter an amount\\\",\\\"Swap\\\":\\\"Swap\\\",\\\"Limit Error\\\":\\\"Limit Error\\\",\\\"Price impact is too high!\\\":\\\"Price impact is too high!\\\",\\\"USD price is unknown, price impact might be high!\\\":\\\"USD price is unknown, price impact might be high!\\\",\\\"The route goes through Ethereum. Continue?\\\":\\\"The route goes through Ethereum. Continue?\\\",\\\"swap from\\\":\\\"From\\\",\\\"maximum amount of asset\\\":\\\"Max\\\",\\\"swapNotFound\\\":[\\\"Swap with request ID = $\\\",[\\\"requestId\\\"],\\\" not found.\\\"],\\\"swap to\\\":\\\"To\\\",\\\"highSlippage\\\":[\\\" Caution, your slippage is high (=\\\",[\\\"selectedSlippage\\\"],\\\"). Your trade may be front run.\\\"],\\\"increaseSlippage\\\":[\\\"We recommend you to increase slippage to at least \\\",[\\\"minRequiredSlippage\\\"],\\\" for this route.\\\"]}\");", "/*eslint-disable*/export const messages=JSON.parse(\"{\\\" Error connecting server, please reload the app and try again.\\\":\\\" Error connecting server, please reload the app and try again.\\\",\\\"Transaction cost (fee)\\\":\\\"Transaction cost (fee)\\\",\\\"Time estimate\\\":\\\"Time estimate\\\",\\\"No routes found\\\":\\\"No routes found\\\",\\\"Powered By\\\":\\\"Powered By\\\",\\\"Change Slippage\\\":\\\"Change Slippage\\\",\\\"Refresh\\\":\\\"Refresh\\\",\\\"Transactions History\\\":\\\"Transactions History\\\",\\\"Settings\\\":\\\"Settings\\\",\\\"Bridges\\\":\\\"Bridges\\\",\\\"Exchanges\\\":\\\"Exchanges\\\",\\\"Connect Wallets\\\":\\\"Connect Wallets\\\",\\\"Slippage tolerance\\\":\\\"Slippage tolerance\\\",\\\"Custom\\\":\\\"Custom\\\",\\\"Theme\\\":\\\"Theme\\\",\\\"Dark\\\":\\\"Dark\\\",\\\"Light\\\":\\\"Light\\\",\\\"Auto\\\":\\\"Auto\\\",\\\"Infinite Approval\\\":\\\"Infinite Approval\\\",\\\"Liquidity Sources\\\":\\\"Liquidity Sources\\\",\\\"Insufficent Balance:\\\":\\\"Insufficent Balance:\\\",\\\"Connect Wallet\\\":\\\"Connect Wallet\\\",\\\"Swap Details\\\":\\\"Swap Details\\\",\\\"Balance\\\":\\\"Balance\\\",\\\"Chain\\\":\\\"Chain\\\",\\\"Token\\\":\\\"Token\\\",\\\"From\\\":\\\"From\\\",\\\"To\\\":\\\"To\\\",\\\"Proceed anyway!\\\":\\\"Proceed anyway!\\\",\\\"Confirm swap!\\\":\\\"Confirm swap!\\\",\\\"SWAP\\\":\\\"SWAP\\\",\\\"Select Wallet\\\":\\\"Select Wallet\\\",\\\"Finding Best Route...\\\":\\\"Finding Best Route...\\\",\\\"Enter an amount\\\":\\\"Enter an amount\\\",\\\"Swap\\\":\\\"Swap\\\",\\\"Limit Error\\\":\\\"Limit Error\\\",\\\"Price impact is too high!\\\":\\\"Price impact is too high!\\\",\\\"USD price is unknown, price impact might be high!\\\":\\\"USD price is unknown, price impact might be high!\\\",\\\"The route goes through Ethereum. Continue?\\\":\\\"The route goes through Ethereum. Continue?\\\",\\\"swap from\\\":\\\"From\\\",\\\"maximum amount of asset\\\":\\\"Max\\\",\\\"swapNotFound\\\":[\\\"Swap with request ID = $\\\",[\\\"requestId\\\"],\\\" not found.\\\"],\\\"swap to\\\":\\\"To\\\",\\\"highSlippage\\\":[\\\" Caution, your slippage is high (=\\\",[\\\"selectedSlippage\\\"],\\\"). Your trade may be front run.\\\"],\\\"increaseSlippage\\\":[\\\"We recommend you to increase slippage to at least \\\",[\\\"minRequiredSlippage\\\"],\\\" for this route.\\\"]}\");", "import React, { PropsWithChildren, ReactNode } from 'react';\nimport { CheckCircleIcon, InfoCircleIcon, WarningIcon } from '../Icon';\nimport { Typography } from '../Typography';\nimport { styled } from '../../theme';\nimport { Divider } from '../Divider';\n\nconst MainContainer = styled('div', {\n width: '100%',\n padding: '$16',\n borderRadius: '$5',\n backgroundColor: '$neutral100',\n color: '$neutral800',\n\n '.main': {\n display: 'flex',\n alignItems: 'center',\n },\n\n '.footer': {\n paddingTop: '$8',\n },\n '&.hasIcon .footer': {\n paddingLeft: '$32',\n },\n variants: {\n type: {\n primary: {\n color: '$primary200',\n },\n secondary: {\n color: '$foreground',\n },\n success: {\n color: '$success300',\n },\n warning: {\n color: '$warning500',\n },\n error: {\n color: '$error300',\n },\n },\n },\n});\n\nexport interface PropTypes {\n type?: 'primary' | 'secondary' | 'success' | 'warning' | 'error';\n title?: string;\n footer?: ReactNode;\n}\n\nexport function Alert(props: PropsWithChildren<PropTypes>) {\n const { type, children, title } = props;\n\n const showIcon = (\n ['error', 'success', 'warning'] as PropTypes['type'][]\n ).includes(type);\n\n return (\n <MainContainer type={type} className={showIcon ? 'hasIcon' : ''}>\n <div className=\"main\">\n {showIcon && (\n <>\n <div\n style={{\n width: '32px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n {type === 'success' && <CheckCircleIcon color={type} size={24} />}\n {type === 'warning' && <WarningIcon color={type} size={24} />}\n {type === 'error' && <InfoCircleIcon color={type} size={24} />}\n <Divider size={4} direction='horizontal' />\n </div>\n </>\n )}\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'start',\n flexDirection: 'column',\n width: '100%',\n }}\n >\n {title && (\n <>\n <Typography className=\"title\" variant=\"title\" color={type}>\n {title}\n </Typography>\n {!!children && <Divider size={4} />}\n </>\n )}\n {children}\n </div>\n </div>\n {props.footer ? <div className=\"footer\">{props.footer}</div> : null}\n </MainContainer>\n );\n}\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const DeleteCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM9.17 14.83l5.66-5.66M14.83 14.83 9.17 9.17\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nDeleteCircleIcon.toString = () => '._icon';\n", "// TSDX + stiches doesn't work with import statement and has a bug.\n\nimport { PropertyValue, CreateStitches } from '@stitches/react';\nimport { DefaultThemeMap } from '@stitches/react/types/config';\nimport { createStitches } from '@stitches/react';\n\n/* ----------------------- Values ----------------------- */\n\nconst theme = {\n colors: {\n primary: '#5FA425',\n primary100: '#9FC87C',\n primary200: '#8FBF66',\n primary300: '#7FB651',\n primary400: '#6FAD3B',\n primary500: '#5FA425',\n primary600: '#4C831E',\n primary700: '#396216',\n primary800: '#26420F',\n primary900: '#132107',\n surface: '#fff',\n neutral100: '#f3f3f3',\n neutral200: '#FAFAFA',\n neutral300: '#EAEAEA',\n neutral400: '#999999',\n neutral500: '#888888',\n neutral600: '#666666',\n neutral700: '#444444',\n neutral800: '#333333',\n neutral900: '#111111',\n background: '#fff',\n foreground: '#000',\n success: '#0070F3',\n success100: '#D3E5FF',\n success300: '#3291FF',\n success500: '#0070F3',\n success700: '#0761D1',\n warning: '#F5A623',\n warning100: '#FFEFCF',\n warning300: '#F7B955',\n warning500: '#F5A623',\n warning700: '#AB570A',\n error: '#FF0000',\n error100: '#F7D4D6',\n error300: '#FF3333',\n error500: '#FF0000',\n error700: '#E60000',\n // Only use this color when you are going to use white for both dark and light theme.\n white: '#fff',\n },\n space: {\n 2: '2px',\n 4: '4px',\n 6: '6px',\n 8: '8px',\n 10: '10px',\n 12: '12px',\n 16: '16px',\n 20: '20px',\n 24: '24px',\n 28: '28px',\n 30: '30px',\n 32: '32px',\n },\n fontSizes: {\n 10: '10px',\n 12: '12px',\n 14: '14px',\n 16: '16px',\n 18: '18px',\n 20: '20px',\n 24: '24px',\n 32: '32px',\n 36: '36px',\n 40: '40px',\n 48: '48px',\n },\n fonts: {},\n fontWeights: {\n 400: '400',\n 500: '500',\n 600: '600',\n 700: '700',\n },\n lineHeights: {},\n letterSpacings: {},\n sizes: {\n 4: '4px',\n 6: '6px',\n 8: '8px',\n 12: '12px',\n 16: '16px',\n 20: '20px',\n 24: '24px',\n 28: '28px',\n 32: '32px',\n 36: '36px',\n 40: '40px',\n 48: '48px',\n },\n borderWidths: {},\n borderStyles: {},\n radii: {\n 5: '8px',\n 10: '12px',\n },\n shadows: {\n s: '0px 3px 5px 3px #f0f2f5, 0px 6px 10px 3px #f0f2f5, 0px 1px 18px 3px #f0f2f5',\n },\n zIndices: {},\n transitions: {},\n};\nconst media = {\n sm: '(min-width: 640px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 1024px)',\n};\nconst utils = {\n bc: (value: PropertyValue<'backgroundColor'>) => ({\n backgroundColor: value,\n }),\n};\n\n/* ----------------------- End of Values ----------------------- */\n\nconst typedCreateStiches = createStitches as CreateStitches;\n\nexport const { styled, css, createTheme, keyframes, globalCss, config } = typedCreateStiches<\n '',\n typeof media,\n typeof theme,\n DefaultThemeMap,\n // TODO: Make `utils` typesafe as well.\n {}\n>({\n media,\n theme,\n utils,\n});\n\nexport const lightTheme = createTheme({});\n\nexport const darkTheme = createTheme({\n colors: {\n surface: '#000',\n neutral900: '#f3f3f3',\n neutral800: '#FAFAFA',\n neutral700: '#EAEAEA',\n neutral600: '#999999',\n neutral500: '#888888',\n neutral400: '#666666',\n neutral300: '#444444',\n neutral200: '#333333',\n neutral100: '#111111',\n foreground: '#fff',\n background: '#000',\n },\n shadows: {\n s: '0px 3px 5px 3px #222, 0px 6px 10px 3px #222, 0px 1px 18px 3px #222',\n },\n});\n", "import { darkTheme, styled } from '../../theme';\n\nexport const SvgWithStrokeColor = styled('svg', {\n stroke: '$foreground',\n variants: {\n color: {\n primary: {\n stroke: '$primary',\n },\n error: {\n stroke: '$error',\n },\n warning: {\n stroke: '$warning',\n },\n success: {\n stroke: '$success',\n },\n black: {\n $$color: '$colors$foreground',\n [`.${darkTheme} &`]: {\n $$color: '$colors$background',\n },\n stroke: '$$color',\n },\n white: {\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n stroke: '$$color',\n },\n },\n disabled: {\n true: {\n stroke: '$neutral400',\n },\n },\n },\n});\n\nexport const SvgWithFillColor = styled('svg', {\n fill: '$foreground',\n variants: {\n color: {\n primary: {\n fill: '$primary',\n },\n error: {\n fill: '$error',\n },\n warning: {\n fill: '$warning',\n },\n success: {\n fill: '$success',\n },\n black: {\n $$color: '$colors$foreground',\n [`.${darkTheme} &`]: {\n $$color: '$colors$background',\n },\n fill: '$$color',\n },\n white: {\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n fill: '$$color',\n },\n },\n disabled: {\n true: {\n stroke: '$neutral400',\n },\n },\n },\n});\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const CheckSquareIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M9 22h6c5 0 7-2 7-7V9c0-5-2-7-7-7H9C4 2 2 4 2 9v6c0 5 2 7 7 7Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"m7.75 12 2.83 2.83 5.67-5.66\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nCheckSquareIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const AddIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M6 12h12M12 18V6\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAddIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithFillColor } from './common';\n\nexport const InfoCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM12 8v5\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#fff\"\n />\n <path\n d=\"M11.994 16h.01\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#fff\"\n />\n </SvgWithFillColor>\n );\n};\n\nInfoCircleIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const AddCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10ZM8 12h8M12 16V8\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAddCircleIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const MinusCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M11.92 22c5.5 0 10-4.5 10-10s-4.5-10-10-10-10 4.5-10 10 4.5 10 10 10ZM7.92 12h8\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nMinusCircleIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithFillColor } from './common';\n\nexport const CheckCircleIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.5 0 10-4.5 10-10S17.5 2 12 2 2 6.5 2 12s4.5 10 10 10Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#fff\"\n />\n <path\n d=\"m7.75 12 2.83 2.83 5.67-5.66\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n stroke=\"#fff\"\n />\n </SvgWithFillColor>\n );\n};\n\nCheckCircleIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const CheckIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 15 15\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n color={color}\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z\"\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n />\n </SvgWithFillColor>\n );\n};\n\nCheckIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const BanIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 22c5.52 0 10-4.48 10-10S17.52 2 12 2 2 6.48 2 12s4.48 10 10 10ZM18.9 5l-14 14\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nBanIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const WarningIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M12 9v5M12 21.41H5.94c-3.47 0-4.92-2.48-3.24-5.51l3.12-5.62L8.76 5c1.78-3.21 4.7-3.21 6.48 0l2.94 5.29 3.12 5.62c1.68 3.03.22 5.51-3.24 5.51H12v-.01Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M11.994 17h.01\"\n strokeWidth={2}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nWarningIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const HistoryIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"></path>\n <polyline points=\"14 2 14 8 20 8\"></polyline>\n <line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"></line>\n <line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"></line>\n <polyline points=\"10 9 9 9 8 9\"></polyline>\n </SvgWithStrokeColor>\n );\n};\n\nHistoryIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const GasIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M4 22V5c0-2 1.34-3 3-3h8c1.66 0 3 1 3 3v17H4ZM2.5 22h17\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M8.89 10h4.23c1.04 0 1.89-.5 1.89-1.89V6.88c0-1.39-.85-1.89-1.89-1.89H8.89C7.85 4.99 7 5.49 7 6.88v1.23C7 9.5 7.85 10 8.89 10ZM7 13h3M18 16.01l4.5-.01v-6l-2-1\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nGasIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const SettingsIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <circle cx=\"12\" cy=\"12\" r=\"3\"></circle>\n <path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\"></path>\n </SvgWithStrokeColor>\n );\n};\n\nSettingsIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const TrashIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M21.5 5.98c-3.33-.33-6.68-.5-10.02-.5-1.98 0-3.96.1-5.94.3l-2.04.2M9 4.97l.22-1.31C9.38 2.71 9.5 2 11.19 2h2.62c1.69 0 1.82.75 1.97 1.67l.22 1.3M19.35 9.14l-.65 10.07c-.11 1.57-.2 2.79-2.99 2.79H9.29c-2.79 0-2.88-1.22-2.99-2.79L5.65 9.14M10.83 16.5h3.33M10 12.5h5\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nTrashIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const SearchMinusIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M9 11.7h5M11.5 21a9.5 9.5 0 1 0 0-19 9.5 9.5 0 0 0 0 19ZM22 22l-2-2\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nSearchMinusIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const SearchIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M11.5 21a9.5 9.5 0 1 0 0-19 9.5 9.5 0 0 0 0 19ZM22 22l-2-2\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nSearchIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const AngleRightIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n color={color}\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"m8.91 19.92 6.52-6.52c.77-.77.77-2.03 0-2.8L8.91 4.08\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAngleRightIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const AngleUpIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n color={color}\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M19.92 15.05 13.4 8.53c-.77-.77-2.03-.77-2.8 0l-6.52 6.52\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAngleUpIcon.toString = () => '._icon';\n", "import React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const AngleDownIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"m19.92 8.95-6.52 6.52c-.77.77-2.03.77-2.8 0L4.08 8.95\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n);\n\nAngleDownIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\nimport { AngleDownIcon } from './AngleDownIcon';\n\nexport const AngleLeftIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n color={color}\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M15 19.92 8.48 13.4c-.77-.77-.77-2.03 0-2.8L15 4.08\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nAngleDownIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const DownloadIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M16.44 8.9c3.6.31 5.07 2.16 5.07 6.21v.13c0 4.47-1.79 6.26-6.26 6.26H8.74c-4.47 0-6.26-1.79-6.26-6.26v-.13c0-4.02 1.45-5.87 4.99-6.2M12 2v12.88\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M15.35 12.65 12 16l-3.35-3.35\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nDownloadIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const ChevronRightIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'black', size = 16, ...props }, forwardedRef) => {\n return (\n <SvgWithStrokeColor\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n color={color}\n viewBox={`0 0 24 24`}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"_icon\"\n {...props}\n ref={forwardedRef}\n >\n <polyline points=\"9 18 15 12 9 6\"></polyline>\n </SvgWithStrokeColor>\n );\n }\n);\n\nChevronRightIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const ArrowRightIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"></line>\n <polyline points=\"12 5 19 12 12 19\"></polyline>\n </SvgWithStrokeColor>\n );\n};\n\nArrowRightIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const RetryRightIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M14.89 5.08c-.87-.26-1.83-.43-2.89-.43-4.79 0-8.67 3.88-8.67 8.67C3.33 18.12 7.21 22 12 22s8.67-3.88 8.67-8.67c0-1.78-.54-3.44-1.46-4.82M16.13 5.32 13.24 2M16.13 5.32l-3.37 2.46\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nRetryRightIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithStrokeColor } from './common';\n\nexport const RetryLeftIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M9.11 5.08c.87-.26 1.83-.43 2.89-.43 4.79 0 8.67 3.88 8.67 8.67s-3.88 8.67-8.67 8.67-8.67-3.88-8.67-8.67c0-1.78.54-3.44 1.46-4.82M7.87 5.32 10.76 2M7.87 5.32l3.37 2.46\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nRetryLeftIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const TryAgainIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M22 12c0 5.52-4.48 10-10 10s-8.89-5.56-8.89-5.56m0 0h4.52m-4.52 0v5M2 12C2 6.48 6.44 2 12 2c6.67 0 10 5.56 10 5.56m0 0v-5m0 5h-4.44\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nTryAgainIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const VerticalSwapIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"m13.82 6.85 3.04 3.04M13.82 17.15V6.85M10.18 17.15l-3.04-3.04M10.18 6.85v10.3\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nVerticalSwapIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const HorizontalSwapIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"m17.15 13.82-3.04 3.04M6.85 13.82h10.3M6.85 10.18l3.04-3.04M17.15 10.18H6.85\"\n strokeWidth={1.5}\n strokeMiterlimit={10}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M12 22c5.523 0 10-4.477 10-10S17.523 2 12 2 2 6.477 2 12s4.477 10 10 10Z\"\n strokeWidth={1.5}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </SvgWithStrokeColor>\n );\n};\n\nHorizontalSwapIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const RetryIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'black', size = 16, ...props }, forwardedRef) => {\n return (\n <SvgWithStrokeColor\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n color={color}\n viewBox={`0 0 24 24`}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"_icon\"\n {...props}\n ref={forwardedRef}\n >\n <polyline points=\"23 4 23 10 17 10\"></polyline>\n <path d=\"M20.49 15a9 9 0 1 1-2.12-9.36L23 10\"></path>\n </SvgWithStrokeColor>\n );\n }\n);\n\nRetryIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const WalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.51 7.205a3.018 3.018 0 0 0-3.01 3.01v6.73a3.018 3.018 0 0 0 3.01 3.01h11.48a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227 2.743 2.743 0 0 1 1.971-.82H19v-.69a3.018 3.018 0 0 0-3.01-3.01H4.51ZM0 10.215a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.36 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.377 1.022v.009c.053.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H4.51A4.518 4.518 0 0 1 0 16.945v-6.73Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.35 2.655a1.15 1.15 0 0 0-1.554-1.079l-7.94 3A2.098 2.098 0 0 0 1.5 6.547v4.569a.75.75 0 1 1-1.5 0v-4.57c0-1.5.922-2.84 2.325-3.371l7.94-3s-.001 0 0 0c1.732-.657 3.585.629 3.585 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM17.729 12.405c-.36 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.377 1.022v.009c.053.635.664 1.182 1.413 1.182h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.778-1.03-2.907-2.553a2.759 2.759 0 0 1 .816-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4.5 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const AddWalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.569 7.205a3.018 3.018 0 0 0-3.01 3.01v3.076a4.749 4.749 0 0 1 6.5 4.414c0 .808-.206 1.579-.574 2.25h8.564a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H6.569Zm-4.51 3.01a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.36 0-.675.14-.903.373l-.014.014c-.266.26-.414.63-.377 1.022l.001.009c.053.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H7.939a.75.75 0 0 1-.482-1.324c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-5.283-2.533.75.75 0 0 1-1.217-.587v-4.37Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.409 2.655a1.15 1.15 0 0 0-1.555-1.078l-7.94 3a2.098 2.098 0 0 0-1.355 1.968v4.57a.75.75 0 0 1-1.5 0v-4.57c0-1.5.921-2.84 2.324-3.371l7.94-3c1.733-.657 3.586.629 3.586 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM19.787 12.405c-.359 0-.674.14-.902.374l-.014.013c-.266.26-.414.63-.377 1.022v.01c.054.634.664 1.181 1.413 1.181h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.777-1.03-2.907-2.553a2.759 2.759 0 0 1 .817-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.559 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM5.309 14.455c-.762 0-1.469.267-2.033.717h-.001a3.22 3.22 0 0 0-1.216 2.533c0 .61.17 1.184.468 1.667l.006.01a3.22 3.22 0 0 0 2.776 1.573 3.155 3.155 0 0 0 2.148-.824c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-3.25-3.25Zm-2.967-.457a4.749 4.749 0 0 1 7.717 3.707c0 .888-.248 1.73-.687 2.446-.25.427-.57.808-.941 1.12a4.656 4.656 0 0 1-3.122 1.184 4.72 4.72 0 0 1-4.062-2.301 4.671 4.671 0 0 1-.688-2.449 4.72 4.72 0 0 1 1.783-3.707Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.07 17.685a.75.75 0 0 1 .75-.75H6.8a.75.75 0 0 1 0 1.5H3.82a.75.75 0 0 1-.75-.75Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.309 15.475a.75.75 0 0 1 .75.75v2.99a.75.75 0 0 1-1.5 0v-2.99a.75.75 0 0 1 .75-.75Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nAddWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const DeleteWalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.627 7.205a3.018 3.018 0 0 0-3.01 3.01v3.076a4.749 4.749 0 0 1 6.5 4.414c0 .808-.205 1.579-.573 2.25h8.563a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.777-1.03-2.907-2.553a2.759 2.759 0 0 1 .817-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H6.627Zm-4.51 3.01a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.359 0-.675.14-.902.373l-.014.014c-.266.26-.415.63-.377 1.022v.009c.054.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H7.997a.75.75 0 0 1-.482-1.325c.243-.203.457-.456.624-.743l.01-.016a3.17 3.17 0 0 0 .468-1.666 3.249 3.249 0 0 0-5.282-2.533.75.75 0 0 1-1.218-.587v-4.37Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.467 2.655a1.15 1.15 0 0 0-1.554-1.079l-7.94 3a2.098 2.098 0 0 0-1.356 1.97v4.569a.75.75 0 1 1-1.5 0v-4.57c0-1.5.922-2.84 2.325-3.371l7.94-3c1.732-.657 3.585.629 3.585 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM19.846 12.405c-.359 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.377 1.022v.009c.053.635.664 1.182 1.413 1.182h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.778-1.03-2.907-2.553a2.759 2.759 0 0 1 .816-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.617 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM5.367 14.455c-.761 0-1.468.267-2.032.717h-.002a3.22 3.22 0 0 0-1.216 2.533c0 .61.17 1.183.469 1.666l.006.01a3.22 3.22 0 0 0 2.775 1.574 3.155 3.155 0 0 0 2.148-.825c.243-.203.457-.456.624-.743l.01-.016a3.17 3.17 0 0 0 .468-1.666 3.249 3.249 0 0 0-3.25-3.25ZM2.4 13.998a4.749 4.749 0 0 1 7.717 3.707 4.67 4.67 0 0 1-.687 2.446c-.25.427-.57.808-.94 1.12a4.655 4.655 0 0 1-3.123 1.184 4.72 4.72 0 0 1-4.061-2.301 4.67 4.67 0 0 1-.689-2.449A4.72 4.72 0 0 1 2.4 13.998Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.785 16.106a.75.75 0 0 1 1.06-.003l2.12 2.11a.75.75 0 1 1-1.058 1.064l-2.12-2.11a.75.75 0 0 1-.002-1.061Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.948 16.136a.75.75 0 0 1-.002 1.06l-2.12 2.11a.75.75 0 0 1-1.058-1.063l2.12-2.11a.75.75 0 0 1 1.06.003Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nDeleteWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { IconProps } from './types';\nimport { SvgWithFillColor } from './common';\n\nexport const CheckWalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.686 7.205a3.018 3.018 0 0 0-3.01 3.01v3.076a4.749 4.749 0 0 1 6.5 4.414c0 .808-.205 1.579-.573 2.25h8.563a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H6.686Zm-4.51 3.01a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.36 0-.675.14-.903.373l-.013.014c-.266.26-.415.63-.378 1.022l.001.009c.053.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51H8.056a.75.75 0 0 1-.482-1.324c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-5.283-2.533.75.75 0 0 1-1.217-.587v-4.37Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M14.526 2.655a1.15 1.15 0 0 0-1.554-1.078l-7.94 3a2.098 2.098 0 0 0-1.356 1.968v4.57a.75.75 0 0 1-1.5 0v-4.57c0-1.5.921-2.84 2.324-3.371l7.94-3c1.733-.657 3.586.629 3.586 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM19.905 12.405c-.36 0-.675.14-.903.374l-.014.013c-.265.26-.414.63-.377 1.022l.001.01c.053.634.664 1.181 1.413 1.181h1.942a.276.276 0 0 0 .268-.27v-2.06a.276.276 0 0 0-.268-.27h-2.062Zm-1.971-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.724 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.778-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.676 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM5.426 14.455c-.762 0-1.469.267-2.033.717h-.001a3.22 3.22 0 0 0-1.216 2.533c0 .61.17 1.184.468 1.667l.006.01a3.22 3.22 0 0 0 2.776 1.573 3.155 3.155 0 0 0 2.148-.824c.243-.204.457-.457.624-.744l.01-.015a3.17 3.17 0 0 0 .468-1.667 3.249 3.249 0 0 0-3.25-3.25Zm-2.967-.457a4.749 4.749 0 0 1 7.717 3.707c0 .888-.248 1.73-.687 2.446-.25.427-.57.808-.941 1.12a4.656 4.656 0 0 1-3.122 1.184 4.72 4.72 0 0 1-4.062-2.301 4.671 4.671 0 0 1-.688-2.449 4.72 4.72 0 0 1 1.783-3.707Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.538 16.215a.75.75 0 0 1-.042 1.06l-2.13 1.97a.75.75 0 0 1-1.04-.02l-.99-.99a.75.75 0 1 1 1.062-1.06l.48.48 1.6-1.48a.75.75 0 0 1 1.06.04Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nCheckWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const SwapWalletIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.244 7.205a3.018 3.018 0 0 0-3.01 3.01v1.73a.75.75 0 0 1-1.5 0v-1.73a4.518 4.518 0 0 1 4.51-4.51h11.48a4.518 4.518 0 0 1 4.51 4.51v1.44a.75.75 0 0 1-.75.75h-2.02c-.359 0-.674.14-.902.373l-.014.014c-.266.26-.414.63-.377 1.022v.009c.054.635.664 1.182 1.413 1.182h1.9a.75.75 0 0 1 .75.75v1.19a4.518 4.518 0 0 1-4.51 4.51h-5.48a.75.75 0 0 1 0-1.5h5.48a3.018 3.018 0 0 0 3.01-3.01v-.44h-1.15c-1.41 0-2.777-1.03-2.907-2.553a2.758 2.758 0 0 1 .817-2.227 2.743 2.743 0 0 1 1.97-.82h1.27v-.69a3.018 3.018 0 0 0-3.01-3.01H5.244Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M13.084 2.655a1.15 1.15 0 0 0-1.554-1.078l-7.94 3a2.098 2.098 0 0 0-1.356 1.968v4.57a.75.75 0 0 1-1.5 0v-4.57c0-1.5.922-2.84 2.325-3.371l7.94-3c1.732-.657 3.585.629 3.585 2.481v3.8a.75.75 0 0 1-1.5 0v-3.8ZM18.463 12.405c-.359 0-.675.14-.902.374l-.014.013c-.266.26-.415.63-.377 1.022v.01c.053.634.664 1.181 1.413 1.181h1.943a.276.276 0 0 0 .267-.27v-2.06a.276.276 0 0 0-.267-.27h-2.063Zm-1.97-.68a2.743 2.743 0 0 1 1.97-.82h2.107a1.777 1.777 0 0 1 1.723 1.77v2.06a1.777 1.777 0 0 1-1.75 1.77h-1.96c-1.41 0-2.777-1.03-2.907-2.553a2.758 2.758 0 0 1 .816-2.227Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.234 10.705a.75.75 0 0 1 .75-.75h7a.75.75 0 0 1 0 1.5h-7a.75.75 0 0 1-.75-.75ZM1.234 15.205a.75.75 0 0 1 .75-.75h5.34a1.91 1.91 0 0 1 1.91 1.91v1.28a.75.75 0 0 1-1.5 0v-1.28a.41.41 0 0 0-.41-.41h-5.34a.75.75 0 0 1-.75-.75Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3.735 13.455a.75.75 0 0 1 0 1.06l-.69.69.69.69a.75.75 0 1 1-1.061 1.06l-1.22-1.22a.75.75 0 0 1 0-1.06l1.22-1.22a.75.75 0 0 1 1.06 0ZM1.984 17.296a.75.75 0 0 1 .75.75v1.28c0 .225.185.41.41.41h5.34a.75.75 0 0 1 0 1.5h-5.34a1.91 1.91 0 0 1-1.91-1.91v-1.28a.75.75 0 0 1 .75-.75Z\"\n />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.735 18.735a.75.75 0 0 1 1.061 0l1.22 1.22a.75.75 0 0 1 0 1.061l-1.22 1.22a.75.75 0 1 1-1.06-1.06l.689-.69-.69-.69a.75.75 0 0 1 0-1.06Z\"\n />\n </SvgWithFillColor>\n );\n};\n\nSwapWalletIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const DisconnectIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'black', size = 16, ...props }, forwardedRef) => {\n return (\n <SvgWithStrokeColor\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n color={color}\n viewBox={`0 0 24 24`}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"_icon\"\n {...props}\n ref={forwardedRef}\n >\n <path d=\"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4\"></path>\n <polyline points=\"16 17 21 12 16 7\"></polyline>\n <line x1=\"21\" y1=\"12\" x2=\"9\" y2=\"12\"></line>\n </SvgWithStrokeColor>\n );\n }\n);\n\nDisconnectIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const BagIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 32 32\"\n color={color}\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <g clipPath=\"url(#a)\" strokeWidth={1.5}>\n <path d=\"M9.333 9.333V4.8a.8.8 0 0 1 .8-.8h11.734a.8.8 0 0 1 .8.8v4.533M13.333 4v5.333M16 4v5.333m9.333 17.334H6.667A2.667 2.667 0 0 1 4 24V12a2.667 2.667 0 0 1 2.667-2.667h18.666A2.667 2.667 0 0 1 28 12v12a2.667 2.667 0 0 1-2.667 2.667Z\" />\n <path\n d=\"M22 18.666a.667.667 0 1 1 0-1.334.667.667 0 0 1 0 1.334Z\"\n fill={color}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </g>\n <defs>\n <clipPath id=\"a\">\n <path fill={color} d=\"M0 0h32v32H0z\" />\n </clipPath>\n </defs>\n </SvgWithStrokeColor>\n );\n};\n\nBagIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithStrokeColor } from './common';\nimport { IconProps } from './types';\n\nexport const TimeIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ size = 16, ...props }, forwardedRef) => {\n return (\n <SvgWithStrokeColor\n width={size}\n height={size}\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx={10} cy={10} r={7.25} strokeWidth={1.5} />\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M10.134 6.6a.6.6 0 0 0-1.2 0v4.27a.6.6 0 0 0 .28.507c.009.01.018.019.029.028l2.59 2.373a.472.472 0 0 0 .753-.109.763.763 0 0 0-.133-.919l-2.319-2.123V6.6Z\"\n />\n </SvgWithStrokeColor>\n );\n }\n);\n\nTimeIcon.toString = () => '._icon';\n", "import { styled } from '../../theme';\nimport { AddIcon } from './AddIcon';\n\nexport const CloseIcon = styled(AddIcon, {\n transform: 'rotate(45deg)',\n cursor: 'pointer',\n});\n\nCloseIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const SignatureIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n color={color}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 122.88 107.95\"\n xmlSpace=\"preserve\"\n className=\"_icon\"\n {...props}\n >\n <path\n d=\"M82.19 0c1.22-.01 2.27.4 3.18 1.27l13.27 12.7c.86.82 1.28 1.91 1.3 3.11.02 1.22-.34 2.33-1.18 3.18l-7.06 7.35L72.09 8.67l6.99-7.28C79.94.5 80.98.02 82.19 0zM20.08 68.29a4.536 4.536 0 1 1 2.67 8.67c-6.98 2.14-11.66 6.28-13.21 10.17-.41 1.04-.55 1.99-.39 2.77.12.59.48 1.13 1.07 1.56 2.55 1.86 8.04 2.34 17.26.1 5.46-1.33 11.31-3.13 16.49-4.73 5.29-1.63 9.91-3.06 13.12-3.66 5.92-1.1 11.83-1.85 16.6-1.61 6.26.31 10.96 2.32 12.57 7.13 1.04 3.11.75 5.81.49 8.23-.09.87-.18 1.68-.14 2.21 0 .02.95-.05 5.53-.41 5.3-.42 10.79-2.51 16.21-4.58 2.78-1.06 5.54-2.11 8.67-3.07 2.4-.73 4.93.63 5.65 3.02.73 2.4-.63 4.93-3.02 5.65-2.43.74-5.24 1.82-8.06 2.89-6.04 2.3-12.14 4.63-18.74 5.15-12.07.95-14.87-2.46-15.3-7.95-.1-1.29.03-2.54.17-3.88.16-1.5.34-3.18-.07-4.39-.18-.54-1.89-.82-4.39-.94-3.99-.2-9.22.48-14.54 1.47-2.65.49-7.05 1.85-12.09 3.41-5.27 1.63-11.22 3.46-17.02 4.87-12.14 2.95-20.21 1.7-24.73-1.6-2.54-1.85-4.05-4.27-4.63-7-.54-2.54-.23-5.28.85-8 2.46-6.14 9.23-12.5 18.98-15.48zm21.19-19.84L53.3 60.02l-14.71 3.95c-.53.1-.74-.11-.65-.6l3.33-14.92zm24.6-33.34 19.59 18.87L58.7 62.23l-23.98 6.43c-.86.17-1.2-.17-1.06-.98l5.43-24.31 26.78-28.26z\"\n style={{\n fillRule: 'evenodd',\n clipRule: 'evenodd',\n }}\n />\n </SvgWithFillColor>\n );\n};\n\nSignatureIcon.toString = () => '._icon';\n", "import * as React from 'react';\nimport { SvgWithFillColor } from './common';\nimport { IconProps } from './types';\n\nexport const CopyIcon: React.FC<IconProps> = ({\n size = 16,\n color,\n ...props\n}) => {\n return (\n <SvgWithFillColor\n width={size}\n height={size}\n viewBox=\"0 0 64 64\"\n color={color}\n xmlns=\"http://www.w3.org/2000/svg\"\n className=\"_icon\"\n {...props}\n >\n <g id=\"Text-files\">\n <path\n d=\"M53.9791489,9.1429005H50.010849c-0.0826988,0-0.1562004,0.0283995-0.2331009,0.0469999V5.0228\n\t\tC49.7777481,2.253,47.4731483,0,44.6398468,0h-34.422596C7.3839517,0,5.0793519,2.253,5.0793519,5.0228v46.8432999\n\t\tc0,2.7697983,2.3045998,5.0228004,5.1378999,5.0228004h6.0367002v2.2678986C16.253952,61.8274002,18.4702511,64,21.1954517,64\n\t\th32.783699c2.7252007,0,4.9414978-2.1725998,4.9414978-4.8432007V13.9861002\n\t\tC58.9206467,11.3155003,56.7043495,9.1429005,53.9791489,9.1429005z M7.1110516,51.8661003V5.0228\n\t\tc0-1.6487999,1.3938999-2.9909999,3.1062002-2.9909999h34.422596c1.7123032,0,3.1062012,1.3422,3.1062012,2.9909999v46.8432999\n\t\tc0,1.6487999-1.393898,2.9911003-3.1062012,2.9911003h-34.422596C8.5049515,54.8572006,7.1110516,53.5149002,7.1110516,51.8661003z\n\t\t M56.8888474,59.1567993c0,1.550602-1.3055,2.8115005-2.9096985,2.8115005h-32.783699\n\t\tc-1.6042004,0-2.9097996-1.2608986-2.9097996-2.8115005v-2.2678986h26.3541946\n\t\tc2.8333015,0,5.1379013-2.2530022,5.1379013-5.0228004V11.1275997c0.0769005,0.0186005,0.1504021,0.0469999,0.2331009,0.0469999\n\t\th3.9682999c1.6041985,0,2.9096985,1.2609005,2.9096985,2.8115005V59.1567993z\"\n />\n <path\n d=\"M38.6031494,13.2063999H16.253952c-0.5615005,0-1.0159006,0.4542999-1.0159006,1.0158005\n\t\tc0,0.5615997,0.4544001,1.0158997,1.0159006,1.0158997h22.3491974c0.5615005,0,1.0158997-0.4542999,1.0158997-1.0158997\n\t\tC39.6190491,13.6606998,39.16465,13.2063999,38.6031494,13.2063999z\"\n />\n <path\n d=\"M38.6031494,21.3334007H16.253952c-0.5615005,0-1.0159006,0.4542999-1.0159006,1.0157986\n\t\tc0,0.5615005,0.4544001,1.0159016,1.0159006,1.0159016h22.3491974c0.5615005,0,1.0158997-0.454401,1.0158997-1.0159016\n\t\tC39.6190491,21.7877007,39.16465,21.3334007,38.6031494,21.3334007z\"\n />\n <path\n d=\"M38.6031494,29.4603004H16.253952c-0.5615005,0-1.0159006,0.4543991-1.0159006,1.0158997\n\t\ts0.4544001,1.0158997,1.0159006,1.0158997h22.3491974c0.5615005,0,1.0158997-0.4543991,1.0158997-1.0158997\n\t\tS39.16465,29.4603004,38.6031494,29.4603004z\"\n />\n <path\n d=\"M28.4444485,37.5872993H16.253952c-0.5615005,0-1.0159006,0.4543991-1.0159006,1.0158997\n\t\ts0.4544001,1.0158997,1.0159006,1.0158997h12.1904964c0.5615025,0,1.0158005-0.4543991,1.0158005-1.0158997\n\t\tS29.0059509,37.5872993,28.4444485,37.5872993z\"\n />\n </g>\n </SvgWithFillColor>\n );\n};\n\nCopyIcon.toString = () => '._icon';\n", "import { CSSProperties } from '@stitches/react';\nimport React, { PropsWithChildren } from 'react';\nimport { styled } from '../../theme';\n\nconst TypographyContainer = styled('span', {\n margin: 0,\n display: 'inline-block',\n variants: {\n variant: {\n h1: {\n fontSize: '$36',\n fontWeight: '$700',\n '@md': {\n fontSize: '$40',\n },\n '@lg': {\n fontSize: '$48',\n },\n },\n h2: {\n fontSize: '$32',\n fontWeight: '$700',\n '@md': {\n fontSize: '$36',\n },\n '@lg': {\n fontSize: '$40',\n },\n },\n h3: {\n fontSize: '$20',\n fontWeight: '$700',\n '@md': {\n fontSize: '$24',\n },\n '@lg': {\n fontSize: '$32',\n },\n },\n h4: {\n fontSize: '$18',\n fontWeight: '$600',\n '@md': {\n fontSize: '$20',\n },\n '@lg': {\n fontSize: '$24',\n },\n },\n h5: {\n fontSize: '$16',\n fontWeight: '$600',\n },\n h6: {\n fontSize: '$14',\n fontWeight: '$500',\n '@md': {\n fontSize: '$16',\n },\n '@lg': {\n fontSize: '$18',\n },\n },\n title: {\n fontSize: '$14',\n fontWeight: '$500',\n '@md': {\n fontSize: '$15',\n }\n },\n body1: {\n fontSize: '$14',\n fontWeight: '$400',\n '@md': {\n fontSize: '$16',\n },\n '@lg': {\n fontSize: '$18',\n },\n },\n body2: {\n fontSize: '$14',\n fontWeight: '$400',\n // '@lg': {\n // fontSize: '$14',\n // },\n },\n body3: {\n fontSize: '$12',\n fontWeight: '$400',\n },\n caption: {\n fontSize: '$10',\n fontWeight: '$400',\n '@lg': {\n fontSize: '$12',\n },\n },\n },\n align: {\n center: {\n textAlign: 'center',\n },\n left: {\n textAlign: 'left',\n },\n right: {\n textAlign: 'right',\n },\n },\n noWrap: {\n true: {\n whiteSpace: 'nowrap',\n },\n },\n ml: {\n 2: {\n marginLeft: '$2',\n },\n 4: {\n marginLeft: '$4',\n },\n 8: {\n marginLeft: '$8',\n },\n 12: {\n marginLeft: '$12',\n },\n },\n mt: {\n 2: {\n marginTop: '$2',\n },\n 4: {\n marginTop: '$4',\n },\n 8: {\n marginTop: '$8',\n },\n 12: {\n marginTop: '$12',\n },\n },\n mr: {\n 2: {\n marginRight: '$2',\n },\n 4: {\n marginRight: '$4',\n },\n 8: {\n marginRight: '$8',\n },\n 12: {\n marginRight: '$12',\n },\n },\n mb: {\n 2: {\n marginBottom: '$2',\n },\n 4: {\n marginBottom: '$4',\n },\n 8: {\n marginBottom: '$8',\n },\n 12: {\n marginBottom: '$12',\n },\n },\n },\n});\n\nexport interface PropTypes {\n variant:\n | 'h1'\n | 'h2'\n | 'h3'\n | 'h4'\n | 'h5'\n | 'h6'\n | 'title'\n | 'body1'\n | 'body2'\n | 'body3'\n | 'caption';\n align?: 'center' | 'left' | 'right';\n noWrap?: boolean;\n mt?: 2 | 4 | 8 | 12;\n mb?: 2 | 4 | 8 | 12;\n ml?: 2 | 4 | 8 | 12;\n mr?: 2 | 4 | 8 | 12;\n className?: string;\n style?: CSSProperties;\n color?: string;\n}\n\nexport function Typography({\n children,\n className,\n color,\n ...props\n}: PropsWithChildren<PropTypes>) {\n const customCss = color\n ? {\n color: color.startsWith('$') ? color : `$${color}`,\n }\n : {\n color: '$foreground',\n };\n\n return (\n <TypographyContainer\n className={`_typography _text ${className || ''}`}\n css={customCss}\n {...props}\n >\n {children}\n </TypographyContainer>\n );\n}\n\nTypography.toString = () => '._typography';\n", "import React from 'react';\nimport { styled } from '../../theme';\n\nconst DividerContainer = styled('div', {\n variants: {\n size: {\n 4: {},\n 8: {},\n 12: {},\n 16: {},\n 18: {},\n 20: {},\n 24: {},\n 32: {},\n },\n direction: {\n vertical: {},\n horizontal: {},\n },\n },\n compoundVariants: [\n {\n size: 4,\n direction: 'horizontal',\n css: {\n width: '$4',\n },\n },\n {\n size: 4,\n direction: 'vertical',\n css: {\n height: '$4',\n },\n },\n {\n size: 8,\n direction: 'horizontal',\n css: {\n width: '$8',\n },\n },\n {\n size: 8,\n direction: 'vertical',\n css: {\n height: '$8',\n },\n },\n {\n size: 12,\n direction: 'horizontal',\n css: {\n width: '$12',\n },\n },\n {\n size: 12,\n direction: 'vertical',\n css: {\n height: '$12',\n },\n },\n {\n size: 16,\n direction: 'horizontal',\n css: {\n width: '$16',\n },\n },\n {\n size: 16,\n direction: 'vertical',\n css: {\n height: '$16',\n },\n },\n {\n size: 18,\n direction: 'horizontal',\n css: {\n width: '$18',\n },\n },\n {\n size: 18,\n direction: 'vertical',\n css: {\n height: '$18',\n },\n },\n {\n size: 20,\n direction: 'horizontal',\n css: {\n width: '$20',\n },\n },\n {\n size: 20,\n direction: 'vertical',\n css: {\n height: '$20',\n },\n },\n {\n size: 24,\n direction: 'horizontal',\n css: {\n width: '$24',\n },\n },\n {\n size: 24,\n direction: 'vertical',\n css: {\n height: '$24',\n },\n },\n {\n size: 32,\n direction: 'horizontal',\n css: {\n width: '$32',\n },\n },\n {\n size: 32,\n direction: 'vertical',\n css: {\n height: '$32',\n },\n },\n ],\n});\nexport interface PropTypes {\n size?: 4 | 8 | 12 | 16 | 18 | 20 | 24 | 32;\n direction?: 'vertical' | 'horizontal';\n}\n\nexport function Divider({ size = 12, direction = 'vertical' }: PropTypes) {\n return <DividerContainer size={size} direction={direction} />;\n}\n", "import React from 'react';\nimport { i18n } from '@lingui/core';\nimport { Alert } from './Alert';\n\nexport function LoadingFailedAlert() {\n return (\n <Alert\n type=\"error\"\n title={i18n.t(\n ' Error connecting server, please reload the app and try again.'\n )}\n />\n );\n}\n", "import React from 'react';\nimport { Alert } from './Alert';\n\ninterface PropTypes {\n catergory: string;\n searchedFor?: string;\n}\n\nexport function NotFoundAlert(props: PropTypes) {\n const { catergory, searchedFor } = props;\n return (\n <Alert\n type=\"secondary\"\n title={`${catergory} ${\n searchedFor ? \"'\" + searchedFor + \"'\" : ''\n } not found.`}\n />\n );\n}\n", "import React, { Fragment, PropsWithChildren } from 'react';\nimport { i18n } from '@lingui/core';\nimport { GasIcon, TimeIcon } from '../../components/Icon';\nimport { StepDetail } from '../../components/StepDetail';\nimport { Typography } from '../../components/Typography';\nimport { keyframes, styled } from '../../theme';\nimport { Skeleton } from '../Skeleton';\nimport { Spinner } from '../Spinner';\nimport { BestRouteResponse } from 'rango-sdk';\nimport { Tooltip } from '../Tooltip';\nimport { Image } from '../common';\n\nconst Container = styled('div', {\n borderRadius: '$5',\n border: '1px solid $neutral100',\n display: 'flex',\n alignItems: 'center',\n minHeight: 126,\n justifyContent: 'space-between',\n backgroundColor: '$surface',\n});\n\nconst ErrorMsg = styled(Typography, {\n color: '$error',\n});\nconst BestRouteContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n margin: '0 auto',\n overflowX: 'auto',\n overflowY: 'hidden',\n alignSelf: 'stretch',\n padding: '$4',\n '@md': {\n padding: '$8',\n },\n});\nconst Line = styled('div', {\n height: '0',\n width: '$20',\n border: '1px dashed $foreground',\n borderRadius: 'inherit',\n '@lg': {\n width: '$32',\n },\n});\n\nconst HR = styled('hr', {\n width: '100%',\n border: '1px solid $neutral400',\n margin: '$8 0',\n});\n\nconst RelativeContainer = styled('div', {\n position: 'relative',\n});\nconst Dot = styled('div', {\n width: '$6',\n height: '$6',\n backgroundColor: '$foreground',\n position: 'absolute',\n top: '45%',\n right: -5,\n marginLeft: '$8',\n borderRadius: '50%',\n '@md': {\n width: '$8',\n height: '$8',\n right: -8,\n top: '45%',\n },\n});\nconst ArrowRight = styled('div', {\n width: '0px',\n height: '0px',\n borderTop: '5px solid transparent',\n borderBottom: '5px solid transparent',\n borderLeft: '5px solid $foreground',\n});\n\nexport const pulse = keyframes({\n '0%': {\n opacity: 1,\n },\n '50%': {\n opacity: 0.3,\n },\n '100%': {\n opacity: 1,\n },\n});\n\nconst GasContainer = styled('div', {\n backgroundColor: '$neutral100',\n borderRadius: '5px',\n margin: '$4',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n padding: '$4',\n '@md': {\n padding: '$8',\n margin: '$8',\n },\n});\n\nconst CostContainer = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n variants: {\n warning: {\n true: {\n animation: `${pulse} 2s ease-in-out infinite`,\n },\n },\n },\n});\n\nconst TotalFee = styled(Typography, {\n variants: {\n warning: {\n true: {\n color: '$warning300',\n },\n },\n },\n});\n\nconst SkeletonContainer = styled('div', {\n padding: '$4',\n '@md': {\n padding: '$8',\n },\n});\nconst SwapperContainer = styled('div', {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n});\n\nexport interface PropTypes {\n data: BestRouteResponse | null;\n totalFee: string;\n feeWarning: boolean;\n totalTime: string;\n loading?: boolean;\n error?: string;\n}\nexport function BestRoute(props: PropsWithChildren<PropTypes>) {\n const { data, loading, error, totalFee, feeWarning, totalTime } = props;\n return (\n <Container>\n {loading ? (\n <SkeletonContainer>\n <Skeleton width={48} height={94} />\n </SkeletonContainer>\n ) : (\n <GasContainer>\n <Tooltip content={i18n.t('Transaction cost (fee)')}>\n <CostContainer warning={feeWarning}>\n <GasIcon size={20} color={feeWarning ? 'warning' : undefined} />\n <TotalFee\n mt={4}\n align=\"center\"\n variant=\"caption\"\n warning={feeWarning}>\n {error && '-'}\n {!!data && `$${totalFee}`}\n </TotalFee>\n </CostContainer>\n </Tooltip>\n <HR />\n <Tooltip content={i18n.t('Time estimate')}>\n <CostContainer warning={feeWarning}>\n <TimeIcon size={20} />\n <Typography mt={4} align=\"center\" variant=\"caption\">\n {error && '-'}\n {!!data && `~${totalTime}m`}\n </Typography>\n </CostContainer>\n </Tooltip>\n </GasContainer>\n )}\n <BestRouteContainer>\n {loading && <Spinner color=\"primary\" />}\n\n {error && <ErrorMsg variant=\"caption\">{error}</ErrorMsg>}\n\n {!!data &&\n data.result?.swaps.map((swap, index) => (\n <Fragment key={index}>\n {index === 0 && (\n <RelativeContainer>\n <StepDetail\n direction=\"vertical\"\n logo={swap.from.logo}\n symbol={swap.from.symbol}\n chainLogo={swap.from.blockchainLogo}\n blockchain={swap.from.blockchain}\n amount={swap.fromAmount}\n />\n <Dot />\n </RelativeContainer>\n )}\n <SwapperContainer>\n <Line />\n <Image src={swap.swapperLogo} alt={swap.swapperId} size={20} />\n <Line />\n </SwapperContainer>\n\n {index + 1 === data.result?.swaps.length && <ArrowRight />}\n <StepDetail\n direction=\"vertical\"\n logo={swap.to.logo}\n symbol={swap.to.symbol}\n chainLogo={swap.to.blockchainLogo}\n blockchain={swap.to.blockchain}\n amount={swap.toAmount}\n />\n </Fragment>\n ))}\n {!!data && !data?.result && (\n <Typography variant=\"body2\">{i18n.t('No routes found')}</Typography>\n )}\n </BestRouteContainer>\n </Container>\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { styled } from '../../theme';\nimport { Typography } from '../Typography';\n\nconst StepLogoContainer = styled('div', {\n position: 'relative',\n width: '$28',\n height: '$28',\n variants: {\n direction: {\n vertical: {\n margin: 'auto',\n },\n horizontal: {},\n },\n },\n});\nconst Logo = styled('img', {\n width: '$28',\n height: '$28',\n borderRadius: '50%',\n});\n\nconst ChainLogo = styled('div', {\n position: 'absolute',\n right: -4,\n bottom: -4,\n width: '$16',\n height: '$16',\n padding: '$2',\n borderRadius: '50%',\n backgroundColor: '$background',\n border: '1px solid $neutral400',\n\n img: {\n width: '100%',\n display: 'block',\n },\n});\nconst StepContainer = styled('div', {\n display: 'flex',\n variants: {\n direction: {\n horizontal: {\n alignItems: 'center',\n },\n vertical: {\n flexDirection: 'column',\n textAlign: 'center',\n justifyContent: 'center',\n },\n },\n success: {\n true: { filter: 'none' },\n false: {\n filter: 'grayscale(100%)',\n },\n },\n },\n});\nconst Detail = styled('div', {\n variants: {\n pl: {\n true: {\n paddingLeft: '$4',\n '@lg': {\n paddingLeft: '$8',\n },\n },\n false: {\n paddingTop: '$8',\n },\n },\n },\n});\nconst SubTitle = styled(Typography, {\n color: '$neutral600',\n display: 'block',\n paddingLeft: '$8',\n});\nexport interface PropTypes {\n logo: string;\n chainLogo: string;\n amount: string;\n symbol: string;\n blockchain: string;\n estimatedAmount?: string;\n direction?: 'horizontal' | 'vertical';\n success?: boolean;\n}\n\nexport function StepDetail(props: PropsWithChildren<PropTypes>) {\n const {\n logo,\n chainLogo,\n amount,\n symbol,\n blockchain,\n estimatedAmount,\n success = true,\n direction = 'horizontal',\n } = props;\n return (\n <StepContainer direction={direction} success={success}>\n <StepLogoContainer direction={direction}>\n <Logo src={logo} alt={symbol} />\n <ChainLogo>\n <img src={chainLogo} alt={blockchain} />\n </ChainLogo>\n </StepLogoContainer>\n <Detail pl={direction === 'horizontal'}>\n {amount && (\n <Typography\n noWrap\n variant={direction === 'vertical' ? 'body2' : 'title'}\n >\n {amount}\n </Typography>\n )}\n {!amount && estimatedAmount && (\n <Typography\n noWrap\n variant={direction === 'vertical' ? 'body2' : 'title'}\n color={'$neutral600'}\n >\n {estimatedAmount}\n </Typography>\n )}\n \n <Typography\n variant={direction === 'vertical' ? 'body2' : 'title'}\n noWrap\n >\n {symbol}\n </Typography>\n <SubTitle noWrap variant=\"caption\" color=\"$neutral800\">\n on {blockchain}\n </SubTitle>\n </Detail>\n </StepContainer>\n );\n}\n", "import React from 'react';\nimport { keyframes, styled } from '../../theme';\n\nconst waveSquares = keyframes({\n '0%': {\n backgroundPosition: '-468px 0',\n },\n '100%': {\n backgroundPosition: '468px 0',\n },\n});\n\nconst SkeletonContainer = styled('div', {\n borderRadius: '$5',\n backgroundColor: '$neutral100',\n background: `linear-gradient(to right, rgba(130, 130, 130, 0.2) 8%, rgba(130, 130, 130, 0.3) 18%, rgba(130, 130, 130, 0.2) 33%)`,\n backgroundSize: '800px 100px',\n animation: `${waveSquares} 2s infinite ease-out`,\n variants: {\n width: {\n 16: {\n width: '$16',\n },\n 20: {\n width: '$20',\n },\n 24: {\n width: '$24',\n },\n 36: {\n width: '$36',\n },\n 48: {\n width: '$48',\n },\n },\n height: {\n 16: {\n height: '$16',\n },\n 20: {\n height: '$20',\n },\n 24: {\n height: '$24',\n },\n 36: {\n height: '$36',\n },\n 48: {\n height: '$48',\n },\n 94: {\n height: 94,\n },\n },\n },\n});\nexport interface PropTypes {\n width?: 20 | 24 | 36 | 48;\n height?: 20 | 24 | 36 | 48 | 94;\n}\n\nexport function Skeleton({ width = 20, height = 20 }: PropTypes) {\n return <SkeletonContainer width={width} height={height} />;\n}\n", "import React from 'react';\nimport { keyframes, styled } from '../../theme';\n\nconst spin = keyframes({\n '100%': {\n transform: 'rotate(360deg)',\n },\n});\n\nconst SpinnerContainer = styled('div', {\n borderRadius: '50%',\n position: 'relative',\n border: `2px solid $neutral100`,\n borderRight: `2px solid`,\n animation: `${spin} 1.5s linear infinite`,\n margin: `0px $8`,\n variants: {\n color: {\n primary: {\n borderRightColor: '$primary',\n },\n error: {\n borderRightColor: '$error',\n },\n warning: {\n borderRightColor: '$warning',\n },\n success: {\n borderRightColor: '$success',\n },\n black: {\n borderRightColor: '$black',\n },\n white: {\n borderRightColor: '$white',\n },\n },\n size: {\n 16: {\n width: '$16',\n height: '$16',\n },\n 20: {\n width: '$20',\n height: '$20',\n },\n 24: {\n width: '$24',\n height: '$24',\n },\n },\n },\n});\nexport interface PropTypes {\n size?: 16 | 20 | 24;\n color?: 'primary' | 'error' | 'warning' | 'success' | 'black' | 'white';\n}\n\nexport function Spinner({ size = 16, color = 'primary' }: PropTypes) {\n return <SpinnerContainer size={size} color={color} />;\n}\n", "import * as RadixTooltip from '@radix-ui/react-tooltip';\nimport { styled } from '../../theme';\nimport React, { PropsWithChildren } from 'react';\n\nexport interface PropTypes {\n content: string;\n side?: 'top' | 'right' | 'bottom' | 'left';\n color?:\n | 'primary'\n | 'error'\n | 'warning'\n | 'success'\n | 'gray'\n | 'white'\n | 'black';\n}\nconst TooltipTrigger = styled(RadixTooltip.Trigger, {\n border: 0,\n padding: 0,\n\n backgroundColor: 'transparent',\n});\nconst TooltipContent = styled(RadixTooltip.Content, {\n borderRadius: '$5',\n padding: '$4 $8',\n fontSize: '$14',\n animationDuration: '400ms',\n animationTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n willChange: 'transform, opacity',\n variants: {\n color: {\n primary: {\n backgroundColor: '$primary',\n color: '$white',\n },\n error: {\n backgroundColor: '$error',\n color: '$white',\n },\n warning: {\n backgroundColor: '$warning',\n color: '$white',\n },\n success: {\n backgroundColor: '$success',\n color: '$white',\n },\n gray: {\n backgroundColor: '$neutral100',\n color: '$black',\n },\n black: {\n backgroundColor: '$black',\n color: '$white',\n },\n white: {\n backgroundColor: '$white',\n color: '$black',\n },\n },\n },\n});\nconst TooltipArrow = styled(RadixTooltip.Arrow, {\n variants: {\n color: {\n primary: {\n fill: '$primary',\n },\n error: {\n fill: '$error',\n },\n warning: {\n fill: '$warning',\n },\n success: {\n fill: '$success',\n },\n gray: {\n fill: '$neutral100',\n },\n black: {\n fill: '$black',\n },\n white: {\n fill: '$white',\n },\n },\n },\n});\n\nconst ChildrenWrapper = styled('div', {\n display: 'inline-block',\n});\n\nexport function Tooltip({\n children,\n content,\n side = 'top',\n color = 'gray',\n}: PropsWithChildren<PropTypes>) {\n return (\n <RadixTooltip.Provider>\n <RadixTooltip.Root>\n <TooltipTrigger asChild>\n <ChildrenWrapper>{children}</ChildrenWrapper>\n </TooltipTrigger>\n <RadixTooltip.Portal>\n <TooltipContent color={color} side={side} sideOffset={5}>\n {content}\n <TooltipArrow color={color} />\n </TooltipContent>\n </RadixTooltip.Portal>\n </RadixTooltip.Root>\n </RadixTooltip.Provider>\n );\n}\n", "import { styled } from '../../theme';\n\nexport const FilledCircle = styled('span', {\n width: '10px',\n height: '10px',\n backgroundColor: '$primary',\n borderRadius: '99999px',\n});\n", "import React from 'react';\nimport { styled } from '../../theme';\n\nconst ImageContainer = styled('div', {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n '.image': {\n width: '100%',\n height: '100%',\n objectFit: 'contain',\n },\n});\n\ntype PropTypes = {\n size: number;\n} & React.ImgHTMLAttributes<HTMLImageElement>;\n\nexport function Image(props: PropTypes) {\n const { size, ...otherProps } = props;\n\n return (\n <ImageContainer css={{ width: size + 'px', height: size + 'px' }}>\n <img className=\"image\" {...otherProps} />\n </ImageContainer>\n );\n}\n", "import React from 'react';\nimport { i18n } from '@lingui/core';\nimport { styled } from '../../theme';\nimport { Typography } from '../Typography';\n\nconst Container = styled('div', {\n display: 'flex',\n width: '100%',\n justifyContent: 'end',\n alignItems: 'center',\n paddingTop: '$16',\n});\n\nconst Logo = styled('svg', {\n fill: '$foreground',\n width: '$24',\n margin: '0 $8 0 $16',\n});\n\nconst StyledAnchor = styled('a', {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n textDecoration: 'none',\n});\n\nexport function BottomLogo() {\n return (\n <Container>\n <Typography variant=\"caption\" color=\"$neutral600\">\n {i18n.t('Powered By')}\n </Typography>\n <StyledAnchor href=\"https://rango.exchange\" target=\"_blank\">\n <Logo xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 33.68 29\">\n <defs></defs>\n <g id=\"Layer_2\" data-name=\"Layer 2\">\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\n <path d=\"M33.68,18.05A17.93,17.93,0,0,0,28.34,5.29,18.31,18.31,0,0,0,15.45,0H13.54V7.41L6.07,0H.69L9.83,9.07H0V11A17.93,17.93,0,0,0,5.34,23.71,18.32,18.32,0,0,0,18.24,29h1.9V21.59l7.38,7.31h5.39l-9-9h9.82ZM17.37,16.16H12.49a1.93,1.93,0,0,0-1.35.55,1.89,1.89,0,0,0-.56,1.34,1.85,1.85,0,0,0,.56,1.33,1.93,1.93,0,0,0,1.35.55h3.84V25.1A14.43,14.43,0,0,1,8,21a14.21,14.21,0,0,1-4.1-8.2H21.2a1.86,1.86,0,0,0,.74-.13,1.92,1.92,0,0,0,.64-.4,2,2,0,0,0,.43-.62,1.88,1.88,0,0,0,0-1.47,2,2,0,0,0-.43-.62,1.92,1.92,0,0,0-.64-.4,1.86,1.86,0,0,0-.74-.13H17.35V3.9A14.43,14.43,0,0,1,25.64,8a14.19,14.19,0,0,1,4.11,8.2Zm2.12-5.27a1.43,1.43,0,0,1,.26-.83,1.52,1.52,0,0,1,.67-.56,1.55,1.55,0,0,1,.88-.08,1.51,1.51,0,0,1,.77.4,1.54,1.54,0,0,1,.42.77,1.41,1.41,0,0,1-.09.86,1.47,1.47,0,0,1-.55.68,1.56,1.56,0,0,1-.84.25,1.52,1.52,0,0,1-1.52-1.49Z\" />\n <path d=\"M21.7,11.57a.68.68,0,0,0-.12-.38.64.64,0,0,0-.31-.25.68.68,0,0,0-.75.15.61.61,0,0,0-.19.35.62.62,0,0,0,0,.4.67.67,0,0,0,.25.3.69.69,0,0,0,.39.12.7.7,0,0,0,.49-.2A.68.68,0,0,0,21.7,11.57Z\" />\n </g>\n </g>\n </Logo>\n <Typography variant=\"body2\">RANGO</Typography>\n </StyledAnchor>\n </Container>\n );\n}\n", "import { CSSProperties } from '@stitches/react';\nimport React, { PropsWithChildren, HTMLAttributes } from 'react';\nimport { darkTheme, styled } from '../../theme';\nimport { Spinner } from '../Spinner';\nimport { Typography } from '../Typography';\n\nconst ButtonContainer = styled('button', {\n borderRadius: '$5',\n fontSize: '$16',\n fontWeight: '$400',\n cursor: 'pointer',\n padding: '0 $12',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: 'all 0.35s',\n border: '0',\n\n '&:active': {\n transform: 'scale(0.95)',\n },\n\n variants: {\n align: {\n start: {\n display: 'flex',\n width: '100%',\n },\n grow: {\n display: 'flex',\n width: '100%',\n },\n },\n size: {\n compact: {},\n free: {},\n small: {\n height: '$32',\n },\n medium: {\n height: '$40',\n },\n large: {\n height: '$48',\n },\n },\n variant: {\n contained: {\n backgroundColor: '$neutral100',\n color: '$foreground',\n border: 0,\n '&:hover': {\n backgroundColor: '$neutral200',\n },\n '&:disabled': {\n background: '$neutral400',\n },\n '&:disabled:hover': {\n background: '$neutral400',\n transform: 'unset',\n },\n },\n outlined: {\n backgroundColor: '$surface',\n border: 1,\n borderStyle: 'solid',\n borderColor: '$neutral400',\n color: '$foreground',\n '&:hover': {\n borderColor: '$neutral600',\n },\n '&:disabled': {\n borderColor: '$neutral400',\n color: '$neutral400',\n },\n },\n ghost: {\n color: '$foreground',\n '&:hover': {\n backgroundColor: '$neutral200',\n },\n '&:disabled': {\n color: '$neutral400',\n },\n background: 'transparent',\n border: 0,\n\n [`& ${Typography}`]: {\n color: 'inherit',\n },\n },\n },\n fullWidth: {\n true: {\n width: '100%',\n },\n },\n loading: {\n true: {},\n },\n type: {\n primary: {},\n error: {},\n warning: {},\n success: {},\n },\n },\n\n compoundVariants: [\n {\n type: 'primary',\n variant: 'contained',\n css: {\n background: '$primary',\n color: '$white',\n '&:hover': {\n background: '$primary700',\n },\n '&:visited': {\n background: '$primary900',\n },\n '&:focus': {\n background: '$primary600',\n },\n },\n },\n {\n type: 'primary',\n variant: 'outlined',\n css: {\n color: '$primary',\n borderColor: '$primary',\n '&:hover': {\n color: '$primary700',\n borderColor: '$primary700',\n },\n '&:visited': {\n color: '$primary900',\n borderColor: '$primary900',\n },\n '&:focus': {\n color: '$primary600',\n borderColor: '$primary600',\n },\n },\n },\n {\n type: 'primary',\n variant: 'ghost',\n css: {\n color: '$primary',\n '&:hover': {\n color: '$primary700',\n },\n '&:visited': { color: '$primary900' },\n '&:focus': {\n color: '$primary600',\n },\n },\n },\n {\n type: 'error',\n variant: 'contained',\n css: {\n background: '$error',\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n color: '$$color',\n '&:hover': {\n background: '$error300',\n },\n '&:visited': {\n background: '$error700',\n },\n '&:focus': {\n background: '$error700',\n },\n },\n },\n {\n type: 'error',\n variant: 'outlined',\n css: {\n color: '$error',\n borderColor: '$error',\n '&:hover': {\n color: '$error300',\n borderColor: '$error300',\n },\n '&:visited': {\n color: '$error700',\n borderColor: '$error700',\n },\n '&:focus': {\n color: '$error700',\n borderColor: '$error700',\n },\n },\n },\n {\n type: 'error',\n variant: 'ghost',\n css: {\n color: '$error',\n '&:hover': {\n color: '$error300',\n },\n '&:visited': {\n color: '$error700',\n },\n '&:focus': {\n color: '$error700',\n },\n },\n },\n {\n type: 'warning',\n variant: 'contained',\n css: {\n background: '$warning',\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n color: '$$color',\n '&:hover': {\n background: '$warning300',\n },\n '&:visited': {\n background: '$warning700',\n },\n '&:focus': {\n background: '$warning700',\n },\n },\n },\n {\n type: 'warning',\n variant: 'outlined',\n css: {\n color: '$warning',\n borderColor: '$warning',\n '&:hover': {\n color: '$warning300',\n borderColor: '$warning300',\n },\n '&:visited': {\n color: '$warning700',\n borderColor: '$warning700',\n },\n '&:focus': {\n color: '$warning700',\n borderColor: '$warning700',\n },\n },\n },\n {\n type: 'warning',\n variant: 'ghost',\n css: {\n color: '$warning',\n '&:hover': {\n color: '$warning300',\n },\n '&:visited': {\n color: '$warning700',\n },\n '&:focus': {\n color: '$warning700',\n },\n },\n },\n {\n type: 'success',\n variant: 'contained',\n css: {\n background: '$success',\n $$color: '$colors$background',\n [`.${darkTheme} &`]: {\n $$color: '$colors$foreground',\n },\n color: '$$color',\n '&:hover': {\n background: '$success300',\n },\n '&:visited': {\n background: '$success700',\n },\n '&:focus': {\n background: '$success700',\n },\n },\n },\n {\n type: 'success',\n variant: 'outlined',\n css: {\n color: '$success',\n borderColor: '$success',\n '&:hover': {\n color: '$success300',\n borderColor: '$success300',\n },\n '&:visited': {\n color: '$success700',\n borderColor: '$success700',\n },\n '&:focus': {\n color: '$success700',\n borderColor: '$success700',\n },\n },\n },\n {\n type: 'success',\n variant: 'ghost',\n css: {\n color: '$success',\n '&:hover': {\n color: '$success300',\n },\n '&:visited': {\n color: '$success700',\n },\n '&:focus': {\n color: '$success700',\n },\n },\n },\n {\n size: 'compact',\n css: {\n padding: '$2 $4',\n fontSize: '$12',\n },\n },\n ],\n defaultVariants: {\n size: 'medium',\n variant: 'contained',\n },\n});\n\nconst Content = styled('div', {\n flex: 1,\n variants: {\n align: {\n start: {\n textAlign: 'left',\n },\n grow: {\n textAlign: 'center',\n },\n },\n ml: {\n true: {\n marginLeft: '$8',\n },\n },\n mr: {\n true: {\n marginRight: '$8',\n },\n },\n flexContent: {\n true: {\n display: 'flex',\n alignItems: 'center',\n },\n },\n },\n});\n\nexport interface PropTypes\n extends Omit<HTMLAttributes<HTMLButtonElement>, 'prefix'> {\n onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;\n size?: 'small' | 'medium' | 'large' | 'compact' | 'free';\n variant?: 'contained' | 'outlined' | 'ghost';\n type?: 'primary' | 'error' | 'warning' | 'success';\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n align?: 'start' | 'grow';\n loading?: boolean;\n fullWidth?: boolean;\n disabled?: boolean;\n style?: CSSProperties;\n flexContent?: boolean;\n}\n\nexport function Button({\n children,\n loading,\n disabled,\n prefix,\n suffix,\n align,\n flexContent,\n ...props\n}: PropsWithChildren<PropTypes>) {\n const isDisabled = loading || disabled;\n return (\n <ButtonContainer disabled={isDisabled} {...props} align={align}>\n {prefix}\n {children && (\n <Content\n align={align}\n ml={!!prefix}\n mr={!!suffix && !loading}\n flexContent={flexContent}\n className=\"_text\"\n >\n {children}\n </Content>\n )}\n {loading && <Spinner size={16} color={props.type} />}\n {suffix}\n </ButtonContainer>\n );\n}\n", "import React from 'react';\nimport { Button } from '../Button';\nimport { i18n } from '@lingui/core';\n\ninterface PropTypes {\n onClick: () => void;\n}\n\nexport function ChangeSlippageButton(props: PropTypes) {\n const { onClick } = props;\n\n return (\n <Button type=\"primary\" variant=\"outlined\" size=\"small\" onClick={onClick}>\n {i18n.t('Change Slippage')}\n </Button>\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { styled } from '../../theme';\nimport * as RadixCheckbox from '@radix-ui/react-checkbox';\nimport { CheckIcon } from '../Icon';\n\nconst CheckboxContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nconst CheckboxRoot = styled(RadixCheckbox.Root, {\n borderRadius: '5px',\n width: 20,\n padding: 0,\n height: 20,\n border: '1px solid $foreground',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginRight: '$2',\n backgroundColor: '$neutral-100',\n cursor: 'pointer',\n});\nconst Label = styled('label', {\n color: '$foreground',\n fontSize: '$m',\n marginLeft: '$8',\n cursor: 'pointer',\n});\n\nexport interface PropTypes {\n id: string;\n defaultChecked?: boolean;\n label: string;\n checked?: boolean;\n onCheckedChange?: (checked: boolean) => void;\n disabled?: boolean;\n name?: string;\n}\n\nexport function Checkbox({\n label,\n id,\n ...props\n}: PropsWithChildren<PropTypes>) {\n return (\n <CheckboxContainer>\n <CheckboxRoot id={id} {...props}>\n <RadixCheckbox.Indicator>\n <CheckIcon size={20} />\n </RadixCheckbox.Indicator>\n </CheckboxRoot>\n <Label className=\"_text\" htmlFor={id}>\n {label}\n </Label>\n </CheckboxContainer>\n );\n}\n", "import { CSSProperties } from '@stitches/react';\nimport React from 'react';\nimport { styled } from '../../theme';\n\nconst ChipCointainer = styled('div', {\n display: 'inline-flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '$5',\n padding: '$4 $8',\n height: '32',\n fontSize: '$14',\n cursor: 'pointer',\n transition: 'all 0.35s',\n color: '$foreground',\n\n '&:hover': {\n backgroundColor: '$success700',\n color: '$background',\n },\n variants: {\n selected: {\n true: { backgroundColor: '$success', color: '$background' },\n false: { backgroundColor: '$surface' },\n },\n },\n});\n\nexport interface PropTypes {\n label: string;\n selected?: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n className?: string;\n style?: CSSProperties;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n}\n\nexport function Chip(props: PropTypes) {\n const { label, selected, prefix, suffix, onClick, style } = props;\n return (\n <ChipCointainer selected={selected} onClick={onClick} style={style}>\n {prefix || null}\n {label}\n {suffix || null}\n </ChipCointainer>\n );\n}\n", "import React, { useState } from 'react';\nimport { styled } from '../../theme';\nimport { Button } from '../Button';\nimport { CloseIcon } from '../Icon';\nimport rgbHex from 'rgb-hex';\nimport ReactColor from 'react-color';\n\nconst { ChromePicker } = ReactColor;\n\nconst Container = styled('div', {\n position: 'relative',\n});\n\nconst Color = styled('div', {\n border: '1px solid $neutral100',\n borderRadius: '$5',\n width: '$32',\n height: '$32',\n});\nconst Cover = styled('div', {\n position: 'fixed',\n top: '0px',\n right: '0px',\n bottom: '0px',\n left: '0px',\n});\nconst Popover = styled('div', {\n position: 'absolute',\n zIndex: '2',\n variants: {\n place: {\n top: {\n top: '-241px',\n },\n bottom: {},\n left: {\n top: '-50%',\n left: '-225px',\n },\n right: {\n top: '-50%',\n right: '-225px',\n },\n },\n },\n});\nexport interface PropTypes {\n color?: string;\n place: 'top' | 'bottom' | 'left' | 'right';\n onChangeColor: (color?: string) => void;\n label?: string;\n placeholder?: string;\n}\n\nconst Label = styled('label', {\n display: 'inline-block',\n fontSize: '$14',\n marginBottom: '$4',\n color: '$foreground',\n});\n\nexport function ColorPicker({\n color,\n onChangeColor,\n label,\n place,\n placeholder,\n}: PropTypes) {\n const [displayColorPicker, setDisplayColorPicker] = useState<boolean>(false);\n\n return (\n <Container>\n <Label className=\"_text\">{label}</Label>\n <Button\n variant=\"outlined\"\n prefix={<Color style={{ backgroundColor: color }} />}\n fullWidth\n align=\"start\"\n size=\"large\"\n suffix={\n color && (\n <div\n onClick={(e) => {\n e.stopPropagation();\n onChangeColor(undefined);\n }}>\n <CloseIcon size={20} />\n </div>\n )\n }\n onClick={() => setDisplayColorPicker((prev) => !prev)}>\n {color || placeholder}\n </Button>\n\n {displayColorPicker && (\n <Popover place={place}>\n <Cover onClick={() => setDisplayColorPicker(false)} />\n <ChromePicker\n color={color}\n onChange={(c) => {\n const color = '#' + rgbHex(c.rgb.r, c.rgb.g, c.rgb.b, c.rgb.a);\n onChangeColor(color);\n }}\n />\n </Popover>\n )}\n </Container>\n );\n}\n", "import React from 'react';\nimport { styled } from '../../theme';\nimport { CloseIcon } from '../Icon';\nimport { Typography } from '../Typography';\nimport { createPortal } from 'react-dom';\n\nexport interface PropTypes {\n title?: string;\n open: boolean;\n onClose: () => void;\n content: React.ReactNode;\n containerStyle?: React.CSSProperties;\n anchor?: 'bottom' | 'left' | 'right' | 'top';\n showClose?: boolean;\n footer?: React.ReactNode;\n container: Element | null;\n}\n\nconst BackDrop = styled('div', {\n position: 'absolute',\n top: '0',\n left: '0',\n width: '100%',\n height: '100%',\n zIndex: 9999999,\n backgroundColor: 'rgba(0,0,0,.1)',\n borderRadius: '$10',\n});\n\nconst DrawerContainer = styled('div', {\n position: 'absolute',\n boxShadow: '$s',\n background: '$background',\n padding: '$20',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n zIndex: 9999999,\n borderRadius: '$10',\n\n variants: {\n anchor: {\n left: {\n top: 0,\n left: 0,\n height: '100%',\n minWidth: '300px',\n maxWidth: '90%',\n },\n right: {\n top: 0,\n right: 0,\n height: '100%',\n minWidth: '300px',\n maxWidth: '90%',\n },\n bottom: {\n bottom: 0,\n width: '100%',\n maxHeight: '90%',\n },\n top: {\n top: 0,\n width: '100%',\n maxHeight: '90%',\n },\n },\n },\n});\n\nconst DrawerHeader = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'relative',\n marginBottom: '$16',\n});\n\nconst Body = styled('div', {\n overflowY: 'auto',\n height: '100%',\n});\nconst Footer = styled('footer', {\n width: '100%',\n marginTop: '$28',\n});\n\nexport function Drawer(props: PropTypes) {\n const {\n title,\n content,\n open,\n onClose,\n containerStyle,\n anchor = 'bottom',\n showClose = false,\n footer,\n container,\n } = props;\n\n const handleBackDropClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.target === event.currentTarget) onClose();\n };\n\n return (\n <>\n {open &&\n container &&\n createPortal(\n <BackDrop onClick={handleBackDropClick}>\n <DrawerContainer anchor={anchor} style={containerStyle}>\n <DrawerHeader>\n <Typography variant=\"h6\">{title}</Typography>\n {showClose && <CloseIcon size={24} onClick={onClose} />}\n </DrawerHeader>\n <Body>{content}</Body>\n <Footer>{footer}</Footer>\n </DrawerContainer>\n </BackDrop>,\n container\n )}\n </>\n );\n}\n", "import { styled } from '../../theme';\nimport React, { PropsWithChildren } from 'react';\nimport { AngleLeftIcon } from '../Icon';\nimport { Typography } from '../Typography';\nimport { Button } from '../Button';\n\nconst HeaderContainer = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '$8 0',\n position: 'relative',\n});\n\nconst BackButton = styled(Button, {\n padding: '$8',\n});\n\ninterface PropTypes {\n onBack?: () => void;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n title: string;\n}\n\nexport function Header(props: PropsWithChildren<PropTypes>) {\n return (\n <HeaderContainer>\n {props.onBack ? (\n <BackButton variant=\"ghost\" size=\"small\" onClick={props.onBack}>\n <AngleLeftIcon size={24} />\n </BackButton>\n ) : null}\n {props.prefix}\n <Typography variant=\"h4\">{props.title}</Typography>\n {props.suffix || <div></div>}\n </HeaderContainer>\n );\n}\n", "import React from 'react';\nimport { i18n } from '@lingui/core';\nimport { SettingsIcon, Tooltip, Button, HistoryIcon, RetryIcon } from '..';\nimport { styled } from '../../theme';\n\nconst ButtonsContainer = styled('div', {\n display: 'flex',\n});\n\ninterface PropTypes {\n onClickRefresh?: () => void;\n onClickHistory?: () => void;\n onClickSettings?: () => void;\n}\n\nexport function HeaderButtons(props: PropTypes) {\n const { onClickRefresh, onClickHistory, onClickSettings } = props;\n\n return (\n <ButtonsContainer>\n <Tooltip content={i18n.t('Refresh')}>\n <Button\n variant=\"ghost\"\n onClick={onClickRefresh}\n disabled={!onClickRefresh}>\n <RetryIcon size={24} disabled={!onClickRefresh} />\n </Button>\n </Tooltip>\n <Tooltip content={i18n.t('Transactions History')}>\n <Button variant=\"ghost\" onClick={onClickHistory}>\n <HistoryIcon size={24} />\n </Button>\n </Tooltip>\n <Tooltip content={i18n.t('Settings')}>\n <Button variant=\"ghost\" onClick={onClickSettings}>\n <SettingsIcon size={24} />\n </Button>\n </Tooltip>\n </ButtonsContainer>\n );\n}\n", "import { CSS } from '@stitches/react';\nimport React, { useEffect } from 'react';\nimport { createPortal } from 'react-dom';\nimport { config, styled } from '../../theme';\nimport { CloseIcon } from '../Icon/CloseIcon';\nimport { Typography } from '../Typography';\n\nexport interface PropTypes {\n title: string;\n open: boolean;\n onClose: () => void;\n content: React.ReactNode;\n action?: React.ReactNode;\n containerStyle?: CSS<typeof config>;\n}\n\nconst BackDrop = styled('div', {\n position: 'fixed',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n top: '0',\n left: '0',\n width: '100vw',\n height: '100vh',\n backgroundColor: 'rgba(0,0,0,.1)',\n zIndex: 10,\n});\n\nconst ModalContainer = styled('div', {\n backgroundColor: '$background',\n borderRadius: '$10',\n padding: '$16 $16',\n display: 'flex',\n flexDirection: 'column',\n zIndex: 20,\n});\nconst Row = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\nconst ModalHeader = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'relative',\n marginBottom: '$16',\n});\n\nexport function Modal(props: PropTypes) {\n const { title, content, open, onClose, containerStyle, action } = props;\n\n const handleBackDropClick = (event: React.MouseEvent<HTMLDivElement>) => {\n if (event.target === event.currentTarget) onClose();\n };\n useEffect(() => {\n if (open) document.body.style.overflow = 'hidden';\n else document.body.style.overflow = 'unset';\n }, [open]);\n return (\n <>\n {open &&\n createPortal(\n <BackDrop onClick={handleBackDropClick}>\n <ModalContainer css={containerStyle}>\n <ModalHeader>\n <Typography variant=\"h4\">{title}</Typography>\n <Row>\n {action}\n <CloseIcon size={24} onClick={onClose} />\n </Row>\n </ModalHeader>\n {content}\n </ModalContainer>\n </BackDrop>,\n document.body,\n )}\n </>\n );\n}\n", "import React from 'react';\nimport * as RadioGroup from '@radix-ui/react-radio-group';\nimport { styled } from '../../theme';\nimport { Typography } from '../Typography';\nimport { CSSProperties } from '@stitches/react';\n\nconst StyledRoot = styled(RadioGroup.Root, {\n variants: {\n direction: {\n horizontal: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n vertical: {\n display: 'grid',\n gridGap: '$24',\n },\n },\n },\n});\n\nconst ItemContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n marginRight: '$8',\n});\nconst StyledItem = styled(RadioGroup.Item, {\n padding: '0',\n width: '20px',\n height: '20px',\n borderRadius: '100%',\n cursor: 'pointer',\n backgroundColor: '$background',\n border: '1px solid $neutral400',\n\n '&:hover': {\n borderColor: '$neutral600',\n },\n});\n\nconst Container = styled('div', {\n display: 'flex',\n});\n\nconst StyledIndicator = styled(RadioGroup.Indicator, {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n height: '100%',\n position: 'relative',\n '&::after': {\n content: '',\n display: 'block',\n width: '10px',\n height: '10px',\n borderRadius: '50%',\n backgroundColor: '$success',\n },\n});\n\nconst Label = styled('label', {\n paddingLeft: '$8',\n cursor: 'pointer',\n color: '$foreground',\n});\n\nexport interface PropTypes {\n options: { label: string; value: string }[];\n value: string;\n onChange: (value: string) => void;\n direction?: 'vertical' | 'horizontal';\n style?: CSSProperties;\n}\n\nexport function Radio(props: PropTypes) {\n const { value, onChange, direction = 'vertical', style } = props;\n return (\n <Container>\n <StyledRoot\n onValueChange={onChange}\n value={value}\n direction={direction}\n style={style}\n >\n {props.options.map((option, index) => (\n <ItemContainer key={index}>\n <StyledItem value={option.value} id={option.value}>\n <StyledIndicator />\n </StyledItem>\n <Label className=\"_text\" htmlFor={option.value}>\n <Typography variant=\"body2\">{option.label}</Typography>\n </Label>\n </ItemContainer>\n ))}\n </StyledRoot>\n </Container>\n );\n}\n", "import React, { ReactNode, useState } from 'react';\nimport { styled } from '../../theme';\nimport { Divider } from '../Divider';\nimport { Header } from '../Header';\nimport { SearchIcon } from '../Icon';\nimport { TextField } from '../TextField';\n\nexport type PropTypes = (\n | {\n textField: true;\n children?: (searchedFor: string) => ReactNode;\n textFieldPlaceholder: string;\n }\n | {\n textField: false;\n children?: ReactNode;\n }\n) & {\n title?: string;\n onBack?: () => void;\n TopButton?: React.ReactNode;\n Footer?: React.ReactNode;\n hasHeader?: boolean;\n};\n\nconst ContentContainer = styled('div', {\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n flex: '1',\n padding: '0 $4',\n});\n\nconst TextFieldContainer = styled('div', {\n padding: '1px',\n});\n\nexport function SecondaryPage(props: PropTypes) {\n const { title, Footer, TopButton, onBack, hasHeader = true } = props;\n const [searchedFor, setSearchedFor] = useState('');\n\n return (\n <>\n {hasHeader && (\n <Header onBack={onBack} title={title || ''} suffix={TopButton} />\n )}\n\n <ContentContainer>\n {props.textField && (\n <TextFieldContainer>\n <TextField\n size=\"large\"\n prefix={<SearchIcon size={24} />}\n placeholder={props.textFieldPlaceholder}\n onChange={(event) => setSearchedFor(event.target.value)}\n value={searchedFor}\n autoFocus\n />\n <Divider size={16} />\n </TextFieldContainer>\n )}\n {props.textField && props.children?.(searchedFor)}\n {!props.textField && props.children}\n </ContentContainer>\n {Footer}\n </>\n );\n}\n", "import React, { PropsWithChildren, RefObject } from 'react';\n\nimport { styled } from '../../theme';\n\nconst InputContainer = styled('div', {\n backgroundColor: '$surface',\n padding: '1px',\n boxSizing: 'border-box',\n border: '1px solid $neutral400',\n borderRadius: '$5',\n height: '$48',\n display: 'flex',\n flexGrow: 1,\n position: 'relative',\n alignItems: 'center',\n color: '$foreground',\n overflowX: 'hidden',\n transition: 'border-color ease .3s',\n '&:focus-within': {\n borderColor: '$success',\n outline: '1px solid $success',\n },\n variants: {\n size: {\n small: {\n '& input': {\n fontSize: '$14',\n },\n height: '$32',\n },\n medium: {\n '& input': {\n fontSize: '$15',\n },\n height: '$40',\n },\n large: {\n '& input': {\n fontSize: '$16',\n },\n height: '$48',\n },\n },\n disabled: {\n true: {\n backgroundColor: '$neutral100',\n cursor: 'not-allowed',\n filter: 'grayscale(100%)',\n },\n },\n prefix: {\n true: {\n paddingLeft: '$16',\n },\n false: {\n paddingLeft: '$0',\n },\n },\n suffix: {\n true: {\n paddingRight: '$16',\n },\n false: {\n paddingRight: '$0',\n },\n },\n },\n defaultVariants: {\n size: 'medium',\n },\n});\n\nconst Input = styled('input', {\n color: '$foreground',\n paddingLeft: '$16',\n paddingRight: '$16',\n flexGrow: 1,\n width: '100%',\n border: 'none',\n borderRadius: '$5',\n outline: 'none',\n backgroundColor: 'transparent',\n '-webkit-appearance': 'none',\n margin: 0,\n '&:disabled': {\n cursor: 'not-allowed',\n },\n '&::-webkit-outer-spin-button, &::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n '&[type=\"number\"]': {\n '-moz-appearance': 'textfield',\n }\n});\nconst Label = styled('label', {\n display: 'inline-block',\n fontSize: '$14',\n color: '$foreground',\n marginBottom: '$4',\n});\n\nexport type PropTypes = {\n label?: string;\n prefix?: React.ReactNode;\n suffix?: React.ReactNode;\n size?: 'small' | 'medium' | 'large';\n} & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'prefix' | 'size'> & {\n ref?:\n | ((instance: HTMLInputElement | null) => void)\n | React.RefObject<HTMLInputElement>\n | null\n | undefined;\n };\n\nexport const TextField = React.forwardRef(\n (\n props: PropsWithChildren<PropTypes>,\n ref:\n | RefObject<HTMLInputElement>\n | ((instance: HTMLInputElement | null) => void)\n | null\n | undefined\n ) => {\n const { label, prefix, suffix, children, size, style, ...inputAttributes } =\n props;\n return (\n <>\n {label && (\n <Label\n className=\"_text\"\n {...(inputAttributes.id && { htmlFor: inputAttributes.id })}\n >\n {label}\n </Label>\n )}\n <InputContainer\n disabled={inputAttributes.disabled}\n prefix={!!prefix}\n suffix={!!suffix}\n size={size}\n style={style}\n className=\"_text\"\n >\n {prefix || null}\n <Input\n className=\"_text\"\n {...inputAttributes}\n spellCheck={false}\n ref={ref}\n />\n {suffix || null}\n </InputContainer>\n </>\n );\n }\n);\n", "import React, { PropsWithChildren, useEffect, useState } from 'react';\nimport { styled } from '../../theme';\nimport { SelectableWallet } from '../../types';\nimport { Typography } from '../Typography';\nimport { getConciseAddress } from '../../helper';\nimport { Image } from '../common';\n\nconst Row = styled('div', {\n display: 'flex',\n flexWrap: 'wrap',\n});\n\nconst Circle = styled('div', {\n width: 12,\n height: 12,\n borderRadius: 6,\n border: '1px solid $neutral400',\n position: 'absolute',\n top: 12,\n right: 12,\n variants: {\n checked: {\n true: {\n borderColor: '$success',\n },\n false: {\n borderColor: '$neutral400',\n },\n },\n },\n});\nconst SolidCircle = styled('div', {\n width: 6,\n margin: '20% auto',\n height: 6,\n borderRadius: 3,\n variants: {\n checked: {\n true: {\n backgroundColor: '$success',\n },\n false: {\n backgroundColor: '$neutral400',\n },\n },\n },\n});\nconst Container = styled('div', {\n border: '1.5px solid',\n borderRadius: '$5',\n padding: '$12',\n flexBasis: 'calc(33.33% - 10px)',\n margin: 5,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n width: 124,\n height: 92,\n cursor: 'pointer',\n position: 'relative',\n variants: {\n checked: {\n true: {\n borderColor: '$success',\n color: '$success',\n },\n false: {\n borderColor: '$neutral400',\n color: '$neutral400',\n },\n },\n },\n});\n\nexport interface PropTypes {\n list: SelectableWallet[];\n onChange: (w: SelectableWallet) => void;\n}\n\nexport function SelectableWalletList({ list, onChange }: PropsWithChildren<PropTypes>) {\n const [active, setActive] = useState<string>(\n list.find((item) => item.selected)?.walletType || '',\n );\n const onClick = (w: SelectableWallet) => {\n setActive(w.walletType);\n onChange(w);\n };\n\n useEffect(() => {\n setActive(list.find((item) => item.selected)?.walletType || '');\n }, [list]);\n\n return (\n <Row>\n {list.map((w, index) => {\n const checked = active === w.walletType;\n return (\n <Container checked={checked} onClick={onClick.bind(null, w)} key={index}>\n <Image src={w.image} alt={w.walletType} size={24} />\n <Typography variant=\"body2\">{w.name}</Typography>\n <Typography variant=\"caption\">{getConciseAddress(w.address)}</Typography>\n <Circle checked={checked}>{checked && <SolidCircle checked={checked} />}</Circle>\n </Container>\n );\n })}\n </Row>\n );\n}\n", "export function containsText(text: string, searchText: string): boolean {\n return text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;\n}\n\nexport function getConciseAddress(\n address: string | null,\n maxChars = 8,\n ellipsisLength = 3\n): string | null {\n if (!address) return null;\n if (address.length < 2 * maxChars + ellipsisLength) return address;\n const start = Math.ceil((address.length - maxChars) / 2);\n const end = address.length - maxChars;\n return `${address.substr(start, maxChars)}${'.'.repeat(\n ellipsisLength\n )}${address.substr(end)}`;\n}\n\nexport function limitDecimalPlaces(\n numberString: string,\n maxDecimalPlaces = 4\n): string {\n const number = parseFloat(numberString);\n if (isNaN(number))\n return numberString; // Return the original string if it's not a valid number\n else {\n const multiplier = Math.pow(10, maxDecimalPlaces);\n const roundedNumber = Math.round(number * multiplier) / multiplier;\n return roundedNumber.toString();\n }\n}\n\nconst hexToRgb = (hex: string) =>\n ((value) =>\n value.length === 3\n ? value.split('').map((c) => parseInt(c.repeat(2), 16))\n : (value.match(/.{1,2}/g) || []).map((v) => parseInt(v, 16)))(\n hex.replace('#', '')\n );\n\nconst isHexTooDark = (hexColor: string) =>\n (([r, g, b]) => 0.2126 * r + 0.7152 * g + 0.0722 * b < 40)(\n hexToRgb(hexColor)\n );\n\nconst isHexTooLight = (hexColor: string) =>\n (([r, g, b]) => (r * 299 + g * 587 + b * 114) / 1000 > 155)(\n hexToRgb(hexColor)\n );\n\nconst colorShade = (col: string, amt: number) => {\n col = col.replace(/^#/, '');\n if (col.length === 3)\n col = col[0] + col[0] + col[1] + col[1] + col[2] + col[2];\n let [r, g, b]: any = col.match(/.{2}/g);\n [r, g, b] = [\n parseInt(r, 16) + amt,\n parseInt(g, 16) + amt,\n parseInt(b, 16) + amt,\n ];\n\n r = Math.max(Math.min(255, r), 0).toString(16);\n g = Math.max(Math.min(255, g), 0).toString(16);\n b = Math.max(Math.min(255, b), 0).toString(16);\n\n const rr = (r.length < 2 ? '0' : '') + r;\n const gg = (g.length < 2 ? '0' : '') + g;\n const bb = (b.length < 2 ? '0' : '') + b;\n\n return `#${rr}${gg}${bb}`;\n};\n\nexport const generateRangeColors = (\n name: string,\n mode: 'light' | 'dark',\n color?: string,\n) => {\n let colors = { [name]: color };\n if (color) {\n let c = color;\n if (isHexTooDark(color) || mode === 'dark') {\n for (let i = 1; i < 10; i++) {\n colors = {\n ...colors,\n [name + i * 100]:\n name === 'neutral'\n ? colorShade(c, i * 15)\n : colorShade(color, i * 5),\n };\n }\n }\n if (isHexTooLight(color) || mode === 'light') {\n for (let i = 1; i < 10; i++) {\n c = colorShade(c, -(i * 5));\n colors = {\n ...colors,\n [name + i * 100]:\n name === 'neutral'\n ? colorShade(c, -(i * 5))\n : colorShade(color, -(i * 5)),\n };\n }\n }\n }\n return colors;\n};\n", "import { CSSProperties } from '@stitches/react';\nimport React, { PropsWithChildren } from 'react';\nimport { styled } from '../../theme';\n\nconst MainContainer = styled('div', {\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: '$10',\n boxShadow: '$s',\n width: '100%',\n minWidth: '375px',\n maxWidth: '512px',\n padding: '$16',\n boxSizing: 'border-box',\n backgroundColor: '$background',\n overflow: 'hidden',\n '& *': {\n boxSizing: 'border-box',\n listStyleType: 'none',\n '&::-webkit-scrollbar': { width: '$8', height: '$8' },\n '&::-webkit-scrollbar-thumb': {\n backgroundColor: '$neutral400',\n borderRadius: '$10',\n },\n '&::-webkit-scrollbar-thumb:hover': {\n backgroundColor: '$neutral500',\n },\n '&::-webkit-scrollbar-track': {\n backgroundColor: '$neutral100',\n },\n },\n variants: {\n fixedHeight: {\n true: {\n height: '595px',\n maxHeight: '595px',\n },\n false: {\n height: 'auto',\n },\n },\n },\n});\n\nexport interface PropTypes {\n style?: CSSProperties;\n fixedHeight?: boolean;\n}\n\nexport function SwapContainer(props: PropsWithChildren<PropTypes>) {\n const { children, style, fixedHeight = true } = props;\n return (\n <MainContainer style={style} id=\"swap-box\" fixedHeight={fixedHeight}>\n {children}\n </MainContainer>\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { PendingSwap } from '../../containers/History/types';\nimport { styled } from '../../theme';\nimport { Button } from '../Button';\nimport { ArrowRightIcon } from '../Icon';\nimport { Divider } from '../Divider';\nimport { Spinner } from '../Spinner';\nimport { Token } from './Token';\nimport { limitDecimalPlaces } from '../../helper';\n\nconst Container = styled('div', {\n position: 'relative',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n padding: '$16 0',\n borderBottom: '1px solid $neutral100',\n\n '& > .info': {\n display: 'flex',\n alignItems: 'center',\n },\n\n '.status': {\n textTransform: 'uppercase',\n fontWeight: 'bold',\n fontSize: '$12',\n },\n\n '&.failed .status': {\n color: '$error',\n },\n '&.success .status': {\n color: '$success',\n },\n});\n\nexport interface PropTypes {\n swap: PendingSwap;\n status: 'running' | 'failed' | 'success';\n onClick: (requestId: string) => void;\n}\n\nexport function SwapDetail({\n swap,\n status,\n onClick,\n}: PropsWithChildren<PropTypes>) {\n const firstStep = swap.steps[0];\n const lastStep = swap.steps[swap.steps.length - 1];\n\n return (\n <Button\n variant=\"ghost\"\n size=\"free\"\n fullWidth\n onClick={onClick.bind(null, swap.requestId)}\n >\n <Container className={`${status}`}>\n <div className=\"info\">\n <Token\n data={{\n token: {\n logo: firstStep.fromLogo,\n symbol: firstStep.fromSymbol,\n },\n blockchain: {\n logo: firstStep.fromBlockchainLogo || '',\n name: firstStep.fromBlockchain,\n },\n amount: limitDecimalPlaces(swap.inputAmount),\n }}\n />\n <Divider size={12} direction=\"horizontal\" />\n <ArrowRightIcon size={12} />\n <Divider size={12} direction=\"horizontal\" />\n <Token\n data={{\n token: {\n logo: lastStep.toLogo,\n symbol: lastStep.toSymbol,\n },\n blockchain: {\n logo: lastStep.toBlockchainLogo || '',\n name: lastStep.toBlockchain,\n },\n amount: limitDecimalPlaces(lastStep.outputAmount || ''),\n estimatedAmount: limitDecimalPlaces(\n lastStep.expectedOutputAmountHumanReadable || ''\n ),\n }}\n />\n </div>\n <div className={`status`}>\n {status === 'running' ? (\n <Spinner size={24} color=\"primary\" />\n ) : (\n status\n )}\n </div>\n </Container>\n </Button>\n );\n}\n", "import React from 'react';\nimport { styled } from '../../theme';\nimport { Divider } from '../Divider';\nimport { Image } from '../common';\n\nconst TokenContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n width: '160px',\n\n '& .amount': {\n fontWeight: 'bold',\n },\n '& .estimated': {\n color: '$neutral600',\n },\n});\n\nconst TokenImage = styled('div', {\n position: 'relative',\n img: {\n borderRadius: '50%',\n },\n '.overlay': {\n position: 'absolute',\n right: -4,\n bottom: -4,\n width: '$16',\n height: '$16',\n padding: '$2',\n borderRadius: '50%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: '$background',\n border: '1px solid $neutral400',\n },\n});\n\ninterface PropTypes {\n data: {\n token: {\n logo: string;\n symbol: string;\n };\n blockchain: {\n logo: string;\n name: string;\n };\n amount: string;\n estimatedAmount?: string;\n };\n}\nexport function Token(props: PropTypes) {\n const {\n data: { token, blockchain, amount, estimatedAmount },\n } = props;\n return (\n <TokenContainer>\n <TokenImage>\n <Image src={token.logo} alt=\"\" size={24} />\n <div className=\"overlay\">\n <Image src={blockchain.logo} alt={blockchain.name} size={12} />\n </div>\n </TokenImage>\n <Divider size={8} direction=\"horizontal\" />\n {!!amount && <span className=\"amount\">{props.data.amount}</span>}\n {!amount && estimatedAmount && (\n <span className=\"amount estimated\">{props.data.estimatedAmount}</span>\n )}\n <Divider size={4} direction=\"horizontal\" />\n {token.symbol}\n </TokenContainer>\n );\n}\n", "import React from 'react';\nimport * as RadixSwitch from '@radix-ui/react-switch';\n\nimport { styled } from '../../theme';\n\nconst StyledSwitchRoot = styled(RadixSwitch.Root, {\n boxSizing: 'border-box',\n boxShadow: 'none',\n borderStyle: 'solid',\n width: '42px',\n height: '22px',\n backgroundColor: '$neutral600',\n borderColor: '$neutral600',\n borderRadius: '99999px',\n position: 'relative',\n padding: '0',\n cursor: 'pointer',\n\n '&[data-state=\"checked\"]': {\n backgroundColor: '$success',\n borderColor: '$success',\n },\n '-webkit-tap-highlight-color': 'rgba(0, 0, 0, 0)',\n});\n\nconst StyledSwitchThumb = styled(RadixSwitch.Thumb, {\n position: 'absolute',\n top: '0',\n boxSizing: 'border-box',\n display: 'block',\n width: '18px',\n height: '18px',\n backgroundColor: '$white',\n transition: ' transform 300ms',\n borderRadius: '999999px',\n willChange: 'transform',\n\n '&[data-state=\"checked\"]': {\n transform: 'translateX(20px)',\n },\n});\n\nexport interface PropTypes {\n checked: boolean;\n onChange?: (checked: boolean) => void;\n}\n\nexport function Switch(props: PropTypes) {\n const { checked, onChange } = props;\n return (\n <StyledSwitchRoot checked={checked} onCheckedChange={onChange}>\n <StyledSwitchThumb />\n </StyledSwitchRoot>\n );\n}\n", "import React, { forwardRef, useEffect, useState } from 'react';\nimport { CommonProps } from 'react-window';\nimport { Asset, Token } from 'rango-sdk';\nimport { VirtualizedList } from '../VirtualizedList/VirtualizedList';\nimport { TokenItem } from './TokenItem';\n\nexport interface TokenWithAmount extends Token {\n balance?: {\n amount: string;\n usdValue: string;\n };\n}\n\nconst PAGE_SIZE = 20;\nexport interface PropTypes {\n list: TokenWithAmount[];\n selected?: TokenWithAmount | null;\n searchedText: string;\n onChange: (token: TokenWithAmount) => void;\n multiSelect?: boolean;\n selectedList?: Asset[];\n}\n\nexport function TokenList(props: PropTypes) {\n const { list, searchedText, onChange, multiSelect, selectedList } = props;\n const [selected, setSelected] = useState(props.selected);\n\n const changeSelected = (token: TokenWithAmount) => {\n setSelected(token);\n onChange(token);\n };\n\n const isSelected = (token: Token) => {\n if (multiSelect && selectedList) {\n return (\n selectedList\n .map((item) => item.symbol + item.address)\n .indexOf(token.symbol + token.address) > -1\n );\n }\n return (\n selected?.symbol === token.symbol && selected?.address === token.address\n );\n };\n\n const [hasNextPage, setHasNextPage] = useState<boolean>(true);\n const [tokens, setTokens] = useState<TokenWithAmount[]>(list);\n\n const loadNextPage = () => {\n setTokens(list.slice(0, tokens.length + PAGE_SIZE));\n };\n\n useEffect(() => {\n setTokens(list.slice(0, PAGE_SIZE));\n }, [searchedText, list]);\n\n useEffect(() => {\n setHasNextPage(list.length > tokens.length);\n }, [tokens.length]);\n\n const innerElementType: React.FC<CommonProps> = forwardRef(\n ({ style, ...rest }, ref) => {\n return (\n <div\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n style={{\n ...style,\n height: `${parseFloat(style?.height as string) + 8 * 2}px`,\n }}\n {...rest}\n />\n );\n }\n );\n\n return (\n <VirtualizedList\n Item={({ index, style }) => (\n <TokenItem\n token={tokens[index]}\n style={style}\n onClick={changeSelected}\n selected={isSelected(tokens[index])}\n />\n )}\n hasNextPage={hasNextPage}\n itemCount={tokens.length}\n loadNextPage={loadNextPage}\n innerElementType={innerElementType}\n size={56}\n />\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { ReactElementType, VariableSizeList as List } from 'react-window';\nimport InfiniteLoader from 'react-window-infinite-loader';\nimport AutoSizer from 'react-virtualized-auto-sizer';\nimport { CSSProperties } from '@stitches/react';\n\nexport type VirtualizedListItem = ({\n index,\n style,\n}: {\n index: number;\n style: CSSProperties | undefined;\n}) => JSX.Element | null;\n\ntype PropTypes = {\n itemCount: number;\n hasNextPage: boolean;\n loadNextPage: () => void;\n Item: VirtualizedListItem;\n innerElementType: ReactElementType | undefined;\n size: number;\n};\n\nexport function VirtualizedList(props: PropsWithChildren<PropTypes>) {\n const { itemCount, hasNextPage, loadNextPage, Item, innerElementType, size } =\n props;\n\n const isItemLoaded = (index: number) => !hasNextPage || index < itemCount;\n\n return (\n <AutoSizer>\n {({ width, height }: { width: number; height: number }) => (\n <InfiniteLoader\n isItemLoaded={isItemLoaded}\n itemCount={hasNextPage ? itemCount + 1 : itemCount}\n loadMoreItems={loadNextPage}\n threshold={1}>\n {({ onItemsRendered, ref }) => {\n return (\n <List\n innerElementType={innerElementType}\n ref={ref}\n itemSize={() => size}\n itemCount={itemCount}\n height={height || 0}\n width={width || 0}\n onItemsRendered={onItemsRendered}>\n {({ index, style }) =>\n isItemLoaded(index) ? (\n <Item index={index} style={style as CSSProperties} />\n ) : null\n }\n </List>\n );\n }}\n </InfiniteLoader>\n )}\n </AutoSizer>\n );\n}\n", "import { Token } from 'rango-sdk';\nimport React, { CSSProperties } from 'react';\nimport { styled } from '../../theme';\nimport { Button } from '../Button';\nimport { Typography } from '../Typography';\nimport { TokenWithAmount } from './TokenList';\nimport { Image } from '../common';\n\nconst TokenImageContainer = styled('div', {\n paddingRight: '$16',\n});\n\nconst TokenNameContainer = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst TokenAmountContainer = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n});\n\ninterface PropTypes {\n token: TokenWithAmount;\n selected: boolean;\n onClick: (token: Token) => void;\n style?: CSSProperties;\n}\n\nexport function TokenItem(props: PropTypes) {\n const { token, style, onClick, selected } = props;\n return (\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n ...style,\n height: '48px',\n top: `${parseFloat(style?.top as string) + 0}px`,\n padding: '0 4px',\n }}\n >\n <Button\n variant=\"outlined\"\n size=\"large\"\n align=\"start\"\n onClick={onClick.bind(null, token)}\n type={selected ? 'primary' : undefined}\n prefix={\n <TokenImageContainer>\n <Image src={token.image} size={32} />\n </TokenImageContainer>\n }\n suffix={\n token.balance?.amount && (\n <TokenAmountContainer>\n <Typography variant=\"body2\">{token.balance.amount}</Typography>\n <Typography variant=\"caption\">\n {`${token.balance.usdValue}$`}\n </Typography>\n </TokenAmountContainer>\n )\n }\n >\n <TokenNameContainer>\n <Typography variant=\"body1\">{token.symbol}</Typography>\n <Typography variant=\"caption\" color=\"neutral600\">\n {token.name}\n </Typography>\n </TokenNameContainer>\n </Button>\n </div>\n );\n}\n", "import { detectInstallLink, WalletType } from '@rango-dev/wallets-shared';\nimport React from 'react';\n\nimport { styled } from '../../theme';\nimport { WalletInfo, WalletState } from '../../types/wallet';\nimport { Button } from '../Button/Button';\nimport { Typography } from '../Typography';\nimport { State } from './State';\nimport { Image } from '../common';\n\nconst WalletImageContainer = styled('div', {\n paddingRight: '$12',\n '& img': {\n borderRadius: '50%',\n },\n});\n\nconst Text = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n});\n\nconst ExtendedButton = styled(Button, {\n variants: {\n type: {\n primary: {\n outline: '1px solid $primary',\n borderColor: '$primary',\n\n '&:hover': {\n borderColor: '$primary',\n },\n },\n },\n },\n});\n\nexport type PropTypes = WalletInfo & {\n onClick: (walletType: WalletType) => void;\n};\n\nexport function Wallet(props: PropTypes) {\n const { name, type, image, state, onClick, installLink } = props;\n\n return (\n <ExtendedButton\n type={state === WalletState.CONNECTED ? 'primary' : undefined}\n disabled={state == WalletState.CONNECTING}\n onClick={() => {\n if (state === WalletState.NOT_INSTALLED) {\n window.open(detectInstallLink(installLink), '_blank');\n } else onClick(type);\n }}\n align=\"start\"\n variant=\"outlined\"\n size=\"large\"\n prefix={\n <WalletImageContainer>\n <Image src={image} size={24} />\n </WalletImageContainer>\n }\n suffix={<State walletState={state} installLink={installLink} />}\n >\n <Text>\n <Typography variant=\"h5\" noWrap={false}>\n {name}\n </Typography>\n {state === WalletState.CONNECTED ? (\n <Typography variant=\"caption\" noWrap={false} color=\"primary\">\n Connected\n </Typography>\n ) : null}\n </Text>\n </ExtendedButton>\n );\n}\n", "import { InstallObjects, WalletType } from '@rango-dev/wallets-shared';\n\nexport enum WalletState {\n NOT_INSTALLED = 'not installed',\n DISCONNECTED = 'disconnected',\n CONNECTING = 'connecting',\n CONNECTED = 'connected',\n}\n\nexport type WalletInfo = {\n state:\n | WalletState.CONNECTED\n | WalletState.DISCONNECTED\n | WalletState.CONNECTING\n | WalletState.NOT_INSTALLED;\n installLink: InstallObjects | string;\n name: string;\n image: string;\n type: WalletType;\n showOnMobile: boolean;\n};\n\nexport interface SelectableWallet {\n chain: string;\n walletType: WalletType;\n address: string;\n image: string;\n selected: boolean;\n name: string;\n}\n", "import React, { Fragment } from 'react';\nimport { styled } from '../../theme';\nimport { DisconnectIcon, DownloadIcon } from '../Icon';\nimport { Spinner } from '../Spinner';\nimport { WalletState } from '../../types/wallet';\nimport { InstallObjects, detectInstallLink } from '@rango-dev/wallets-shared';\n\nconst StateIconContainer = styled('span', {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n});\n\nexport const State = ({\n walletState,\n installLink,\n}: {\n walletState: WalletState;\n installLink: InstallObjects | string;\n}) => (\n <Fragment>\n {walletState !== WalletState.DISCONNECTED && (\n <StateIconContainer>\n {walletState === WalletState.NOT_INSTALLED && (\n <a href={detectInstallLink(installLink)} target=\"_blank\">\n <DownloadIcon size={24} color=\"success\" />\n </a>\n )}\n {walletState === WalletState.CONNECTING && <Spinner />}\n {walletState === WalletState.CONNECTED && <DisconnectIcon />}\n </StateIconContainer>\n )}\n </Fragment>\n);\n", "import React, { PropsWithChildren, ReactNode } from 'react';\nimport { Alert, Checkbox, Divider, TextField } from '../../components';\nimport { Button } from '../../components/Button';\nimport { SecondaryPage } from '../../components/SecondaryPage/SecondaryPage';\nimport { SelectableWalletList } from '../../components/SelectableWalletList';\nimport { Typography } from '../../components/Typography';\nimport { styled } from '../../theme';\nimport { SelectableWallet } from '../../types';\n\nconst MainContainer = styled('div', {\n overflowY: 'auto',\n});\n\nconst Section = styled('div', {\n paddingBottom: '$32',\n marginBottom: '$32',\n borderBottom: '1px solid $neutral400',\n});\n\nconst Footer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nconst AlertContainer = styled('div', {\n padding: '$16 0',\n});\n\nconst ConfirmButton = styled(Button, {\n marginTop: '$16',\n});\n\nconst Container = styled('div', {\n paddingBottom: '$24',\n\n '.title': {\n paddingBottom: '$8',\n display: 'flex',\n alignItems: 'center',\n },\n '.num': {\n backgroundColor: '$neutral100',\n display: 'inline-flex',\n width: '24px',\n height: '24px',\n color: '$neutral800',\n borderRadius: '50%',\n fontSize: '$14',\n border: '1px solid $neutral400',\n justifyContent: 'center',\n alignItems: 'center',\n },\n});\n\nconst Alerts = styled('div', { paddingBottom: '$16' });\n\ntype Message = string | ReactNode;\n\nexport interface PropTypes {\n onBack: () => void;\n onConfirm?: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;\n confirmDisabled?: boolean;\n loading?: boolean;\n requiredWallets: string[];\n selectableWallets: SelectableWallet[];\n onChange: (w: SelectableWallet) => void;\n isExperimentalChain?: (wallet: string) => boolean;\n handleConnectChain?: (wallet: string) => void;\n previewInputs?: ReactNode;\n previewRoutes?: ReactNode;\n confirmButtonTitle: string;\n errors?: Message[];\n warnings?: Message[];\n extraMessages?: ReactNode;\n customDestination?: string;\n checkedDestination: boolean;\n setDestinationChain: (chain: string) => void;\n setCustomDestination: (customDestination: string) => void;\n customDestinationEnabled?: boolean;\n isValidCustomDestination: (blockchain: string, address: string) => boolean;\n isWalletRequired?: boolean;\n}\nexport function ConfirmSwap(props: PropsWithChildren<PropTypes>) {\n const {\n onBack,\n loading,\n onConfirm,\n requiredWallets,\n selectableWallets,\n onChange,\n confirmDisabled,\n isExperimentalChain,\n handleConnectChain,\n confirmButtonTitle,\n errors,\n warnings,\n extraMessages,\n customDestination,\n setCustomDestination,\n checkedDestination,\n setDestinationChain,\n customDestinationEnabled = true,\n isValidCustomDestination,\n isWalletRequired,\n } = props;\n\n return (\n <SecondaryPage\n textField={false}\n title=\"Confirm Swap\"\n onBack={onBack}\n Footer={\n <Footer>\n <ConfirmButton\n fullWidth\n loading={loading}\n type=\"primary\"\n variant=\"contained\"\n onClick={onConfirm}\n disabled={\n confirmDisabled ||\n (!!customDestination &&\n !isValidCustomDestination(\n requiredWallets[requiredWallets.length - 1],\n customDestination,\n ))\n }>\n {confirmButtonTitle}\n </ConfirmButton>\n </Footer>\n }>\n <MainContainer>\n <div>\n {extraMessages || null}\n <Alerts>\n {errors?.map((error, index) => (\n <React.Fragment key={index}>\n <Divider />\n <Alert\n type=\"error\"\n key={index}\n {...(typeof error === 'string' ? { title: error } : { children: error })}\n />\n </React.Fragment>\n ))}\n {warnings?.map((warning, index) => (\n <React.Fragment key={index}>\n <Divider />\n <Alert\n type=\"warning\"\n key={index}\n {...(typeof warning === 'string' ? { title: warning } : { children: warning })}\n />\n </React.Fragment>\n ))}\n </Alerts>\n </div>\n {props.previewInputs || props.previewRoutes ? (\n <Section>\n {props.previewInputs}\n {!!props.previewRoutes ? <Divider size={16} /> : null}\n {props.previewRoutes}\n </Section>\n ) : null}\n {requiredWallets.map((wallet, index) => {\n const list = selectableWallets.filter((w) => wallet === w.chain);\n return (\n <Container key={index}>\n <div className=\"title\">\n <div className=\"num\">{index + 1}</div>\n <Divider size={8} direction=\"horizontal\" />\n <Typography variant=\"body2\">Your {wallet} Wallet</Typography>\n </div>\n {list.length === 0 &&\n (isWalletRequired || (!isWalletRequired && !checkedDestination)) && (\n <>\n <AlertContainer>\n <Alert type=\"error\">\n You need to connect a compatible wallet with {wallet}.\n </Alert>\n </AlertContainer>\n {isExperimentalChain?.(wallet) && (\n <Button\n variant=\"contained\"\n type=\"primary\"\n align=\"grow\"\n onClick={() => handleConnectChain?.(wallet)}>\n {`Add ${wallet} chain to Cosmos wallets`}\n </Button>\n )}\n </>\n )}\n {list.length != 0 && (\n <SelectableWalletList\n list={list}\n onChange={(w) => {\n onChange(w);\n setDestinationChain('');\n setCustomDestination('');\n }}\n />\n )}\n {index === requiredWallets.length - 1 && customDestinationEnabled && (\n <>\n <Divider />\n <Checkbox\n label={`Choose a custom ${wallet} address`}\n checked={checkedDestination}\n onCheckedChange={(checked) => {\n if (!checked) {\n setDestinationChain('');\n setCustomDestination('');\n list.length && onChange(list[0]);\n } else {\n setDestinationChain(wallet);\n }\n }}\n id={'custom_destination'}\n />\n <Divider />\n\n {checkedDestination && (\n <>\n <TextField\n placeholder=\"Your destination address\"\n value={customDestination}\n onChange={(e) => {\n setCustomDestination(e.target.value);\n }}\n />\n {!!customDestination &&\n !isValidCustomDestination(wallet, customDestination) && (\n <AlertContainer>\n <Alert type=\"error\">Not a valid {wallet} address.</Alert>\n </AlertContainer>\n )}\n </>\n )}\n </>\n )}\n </Container>\n );\n })}\n </MainContainer>\n </SecondaryPage>\n );\n}\n", "import React, { PropsWithChildren } from 'react';\nimport { Spinner } from '../../components';\nimport { SecondaryPage } from '../../components/SecondaryPage';\nimport { containsText } from '../../helper';\nimport { styled } from '../../theme';\nimport { PendingSwap } from './types';\nimport { NotFoundAlert } from '../../components/Alert/NotFoundAlert';\nimport { SwapsGroup, PropTypes as SwapsGroupPropTypes } from './SwapsGroup';\nimport { LoaderContainer } from '../TokenSelector/TokenSelector';\n\nconst Container = styled('div', {\n overflowY: 'auto',\n});\nconst filteredHistory = (\n list: PendingSwap[],\n searchedFor: string\n): PendingSwap[] => {\n return list.filter((swap) => {\n const firstStep = swap.steps[0];\n const lastStep = swap.steps[swap.steps.length - 1];\n return (\n containsText(firstStep.fromBlockchain, searchedFor) ||\n containsText(firstStep.fromSymbol, searchedFor) ||\n containsText(lastStep.toBlockchain, searchedFor) ||\n containsText(lastStep.toSymbol, searchedFor) ||\n containsText(swap.requestId, searchedFor)\n );\n });\n};\n\nexport type PropTypes = SwapsGroupPropTypes & { loading: boolean };\n\nexport function History(props: PropsWithChildren<PropTypes>) {\n const { list = [], onBack, onSwapClick, groupBy, loading } = props;\n\n return (\n <SecondaryPage\n onBack={onBack}\n textField={true}\n textFieldPlaceholder=\"Search by blockchain, token or request Id\"\n title=\"Swaps\"\n >\n {(searchedFor) => {\n const filterSwaps = filteredHistory(list, searchedFor);\n return (\n <>\n {loading && (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n )}\n <Container>\n {!loading && (\n <>\n {filterSwaps.length ? (\n <SwapsGroup\n list={filterSwaps}\n onSwapClick={onSwapClick}\n groupBy={groupBy}\n />\n ) : (\n <NotFoundAlert catergory=\"Swap\" />\n )}\n </>\n )}\n </Container>\n </>\n );\n }}\n </SecondaryPage>\n );\n}\n", "import { PendingSwap } from '@rango-dev/queue-manager-rango-preset';\nimport React from 'react';\nimport { Typography, SwapDetail, Divider } from '../../components';\nimport { styled } from '../../theme';\n\nconst Group = styled('div', {\n '.group-title': {\n textTransform: 'uppercase',\n },\n});\n\nexport type GroupBy = (list: PendingSwap[]) => {\n title: string;\n swaps: PendingSwap[];\n}[];\n\nexport interface PropTypes {\n list: PendingSwap[];\n onBack: () => void;\n onSwapClick: (requestId: string) => void;\n groupBy?: GroupBy;\n}\n\nexport function SwapsGroup(props: Omit<PropTypes, 'onBack'>) {\n const { list, onSwapClick, groupBy } = props;\n const groups = groupBy ? groupBy(list) : [{ title: 'History', swaps: list }];\n\n return (\n <>\n {groups\n .filter((group) => group.swaps.length > 0)\n .map((group, index) => (\n <React.Fragment key={index}>\n <Group>\n <Typography\n variant=\"body2\"\n color=\"neutral600\"\n className=\"group-title\"\n >\n {group.title}\n </Typography>\n {group.swaps.map((swap: PendingSwap) => (\n <React.Fragment\n key={swap.requestId}>\n <SwapDetail\n swap={swap}\n status={swap.status}\n onClick={onSwapClick}\n />\n <Divider size={12} />\n </React.Fragment>\n ))}\n </Group>\n <Divider size={24} />\n </React.Fragment>\n ))}\n </>\n );\n}\n", "import React from 'react';\nimport { containsText } from '../../helper';\n\nimport { LoadingStatus } from '../../types/meta';\nimport { styled } from '../../theme';\nimport { NotFoundAlert } from '../../components/Alert/NotFoundAlert';\nimport { LoadingFailedAlert, SecondaryPage, Spinner } from '../../components';\nimport {\n TokenList,\n TokenWithAmount,\n} from '../../components/TokenList/TokenList';\n\nexport const LoaderContainer = styled('div', {\n display: 'flex',\n justifyContent: 'center',\n width: '100%',\n paddingTop: '33%',\n flex: 1,\n});\nexport interface PropTypes {\n list: TokenWithAmount[];\n type?: 'Source' | 'Destination';\n selected: TokenWithAmount | null;\n onChange: (token: TokenWithAmount) => void;\n onBack?: () => void;\n loadingStatus: LoadingStatus;\n hasHeader?: boolean;\n}\n\nconst filterTokens = (list: TokenWithAmount[], searchedFor: string) =>\n list.filter(\n (token) =>\n containsText(token.symbol, searchedFor) ||\n containsText(token.address || '', searchedFor) ||\n containsText(token.name || '', searchedFor)\n );\n\nexport function TokenSelector(props: PropTypes) {\n const { list, type, selected, hasHeader, onChange, onBack, loadingStatus } =\n props;\n\n return (\n <SecondaryPage\n textField={true}\n hasHeader={hasHeader}\n title={`Select ${type} token`}\n onBack={onBack}\n textFieldPlaceholder=\"Search tokens by name\"\n >\n {(searchedFor) => {\n const filteredTokens = filterTokens(list, searchedFor);\n\n return loadingStatus === 'loading' ? (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n ) : loadingStatus === 'failed' ? (\n <LoadingFailedAlert />\n ) : filteredTokens.length ? (\n <TokenList\n searchedText={searchedFor}\n list={filteredTokens}\n selected={selected}\n onChange={onChange}\n />\n ) : (\n <NotFoundAlert catergory=\"Token\" searchedFor={searchedFor} />\n );\n }}\n </SecondaryPage>\n );\n}\n", "import React, { useState } from 'react';\nimport {\n StepDetail,\n SecondaryPage,\n GasIcon,\n Typography,\n CheckCircleIcon,\n InfoCircleIcon,\n Divider,\n Button,\n Alert,\n Drawer,\n Spinner,\n Image,\n} from '../../components';\nimport { styled } from '../../theme';\nimport { PendingSwap } from '../History/types';\nimport { pulse } from '../../components/BestRoute/BestRoute';\nimport {\n SwapMessages,\n PropTypes as SwapMessagesPropTypes,\n} from './SwapMessages';\n\nexport const SwapperContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n paddingLeft: '$4',\n variants: {\n created: {\n true: {\n filter: 'grayscale(100%)',\n },\n },\n running: {\n true: {\n animation: `${pulse} 2s ease-in-out infinite`,\n },\n },\n },\n});\n\nexport const BodyError = styled('div', {\n height: '100%',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n});\n\nexport const ErrorMsg = styled(Typography, {\n color: '$error',\n});\n\nexport const FeeContainer = styled('div', {\n paddingLeft: '$16',\n color: '$neutral800',\n});\n\nexport const Fee = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const RelativeContainer = styled('div', {\n position: 'relative',\n});\n\nexport const Footer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nexport const Dot = styled('div', {\n width: '$8',\n height: '$8',\n backgroundColor: '$foreground',\n borderRadius: '4px',\n marginLeft: '11px',\n});\n\nexport const ArrowDown = styled('div', {\n width: '0px',\n height: '0px',\n borderLeft: '5px solid transparent',\n borderRight: '5px solid transparent',\n borderTop: '5px solid $foreground',\n marginLeft: '$10',\n});\n\nconst StyledAnchor = styled('a', {\n color: '$primary',\n fontWeight: '$600',\n});\n\nconst SwapInfoContainer = styled('div', {\n display: 'flex',\n flexDirection: 'column',\n paddingBottom: '$16',\n borderBottom: '1px solid $neutral100',\n});\n\nconst InternalDetailsContainer = styled('div', {\n display: 'flex',\n '.details': {\n padding: '$8 0',\n },\n});\n\nconst InternalDetail = styled('div', {\n display: 'flex',\n margin: '$12 0 $12 $20',\n});\n\nconst DescriptionContainer = styled('div', {\n display: 'flex',\n alignItems: 'center',\n});\n\nconst Description = styled(Typography, {\n color: '$success',\n paddingLeft: '$4',\n});\n\nexport const Line = styled('div', {\n width: '0',\n minHeight: '$16',\n marginLeft: '14px',\n border: '1px dashed $foreground',\n borderRadius: 'inherit',\n});\n\nconst Row = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n fontSize: '$14',\n padding: '$8 0',\n\n '.name': {\n color: '$neutral600',\n },\n '.value': {\n display: 'flex',\n alignItems: 'center',\n color: '$neutral800',\n justifyContent: 'flex-end',\n },\n '.status': {\n fontWeight: 'bold',\n textTransform: 'uppercase',\n },\n '.status.failed': {\n color: '$error',\n },\n '.status.success': {\n color: '$success',\n },\n});\n\nconst RequestId = styled('div', {\n width: '150px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n '@md': {\n width: 'auto',\n },\n});\n\nconst ExtraDetails = styled('div', {\n padding: '0',\n color: '$neutral600',\n fontSize: '$10',\n});\n\nconst SwapFlowContainer = styled('div', {\n overflowY: 'auto',\n padding: '$8 $4 $2 $4',\n});\n\nexport type PropTypes = {\n pendingSwap: PendingSwap;\n onCopy: (requestId: string) => void;\n onBack: () => void;\n isCopied: boolean;\n onCancel: (requestId: string) => void;\n onRetry?: () => void;\n date: string;\n previewInputs?: React.ReactNode;\n} & SwapMessagesPropTypes;\n\nexport function SwapHistory(props: PropTypes) {\n const {\n pendingSwap,\n onBack,\n onCopy,\n isCopied,\n onCancel,\n date,\n onRetry,\n previewInputs,\n ...extraMessageProps\n } = props;\n const [showDrawer, setShowDrawer] = useState(false);\n\n return (\n <SecondaryPage\n title=\"Swap Details\"\n textField={false}\n onBack={onBack}\n Footer={\n <>\n {pendingSwap?.status === 'running' && (\n <Button\n variant=\"outlined\"\n fullWidth\n type=\"error\"\n onClick={setShowDrawer.bind(null, true)}\n >\n Cancel\n </Button>\n )}\n {!!onRetry && (\n <Button\n variant=\"contained\"\n fullWidth\n type=\"primary\"\n onClick={onRetry}\n >\n Try again\n </Button>\n )}\n </>\n }\n >\n <div>\n <SwapInfoContainer>\n <Row>\n <div className=\"name\">\n Request Id:\n <span\n className=\"value requestId\"\n onClick={onCopy.bind(null, pendingSwap?.requestId)}\n >\n <RequestId>{pendingSwap?.requestId}</RequestId>\n <Divider size={4} direction=\"horizontal\" />\n <Button type=\"primary\" variant=\"ghost\" size=\"compact\">\n {isCopied ? 'Copied!' : 'Copy'}\n </Button>\n </span>\n </div>\n <div className=\"name\">\n <span className={`value status ${pendingSwap?.status || ''}`}>\n {pendingSwap?.status}\n {pendingSwap?.status === 'running' && (\n <Spinner size={16} color=\"primary\" />\n )}\n </span>\n <ExtraDetails>{date}</ExtraDetails>\n </div>\n </Row>\n </SwapInfoContainer>\n {/* TODO: It was temporarily removed to find a better solution. \n\n <Divider size={16} />*/}\n </div>\n <SwapFlowContainer>\n {/*{previewInputs} */}\n\n {extraMessageProps.shortMessage && (\n <SwapMessages {...extraMessageProps} />\n )}\n\n <Divider size={16} />\n\n {pendingSwap?.steps.map((step, index) => (\n <div key={index}>\n {index === 0 && (\n <RelativeContainer>\n <StepDetail\n logo={step.fromLogo}\n symbol={step.fromSymbol}\n chainLogo={step.fromBlockchainLogo || ''}\n blockchain={step.fromBlockchain}\n amount={pendingSwap.inputAmount}\n />\n <Dot />\n </RelativeContainer>\n )}\n <Line />\n <SwapperContainer\n created={step.status === 'created'}\n running={!['created', 'success', 'failed'].includes(step.status)}\n >\n <Image\n src={step.swapperLogo || ''}\n alt={step.swapperId}\n size={20}\n />\n\n <FeeContainer>\n <Typography variant=\"body2\">\n {step.swapperType === 'DEX' ? 'Swap' : 'Bridge'} via{' '}\n {step.swapperId}\n </Typography>\n <Fee>\n <GasIcon />\n <Typography variant=\"body2\">\n ${step.feeInUsd} estimated gas fee\n </Typography>\n </Fee>\n </FeeContainer>\n </SwapperContainer>\n <div\n style={{\n display: 'flex',\n }}\n >\n <InternalDetailsContainer>\n <Line />\n <div className=\"details\">\n {!!step.explorerUrl && (\n <div>\n {step.explorerUrl.map((item, index) => (\n <InternalDetail key={index}>\n <DescriptionContainer>\n <Divider size={4} />\n <CheckCircleIcon color=\"primary\" />\n <Description variant=\"body2\">\n <StyledAnchor\n href={item.url}\n target=\"_blank\"\n rel=\"noreferrer\"\n key={index}\n >\n {!item.description ? (\n <b>View transaction</b>\n ) : (\n <b>\n {item.description\n .substring(0, 1)\n .toUpperCase()}\n {item.description.substring(1)} Tx\n </b>\n )}\n </StyledAnchor>\n </Description>\n </DescriptionContainer>\n </InternalDetail>\n ))}\n </div>\n )}\n {step.status === 'failed' && (\n <InternalDetail>\n <DescriptionContainer>\n <InfoCircleIcon color=\"error\" />\n <Description variant=\"body2\" color=\"$error500\">\n Step failed\n </Description>\n </DescriptionContainer>\n </InternalDetail>\n )}\n </div>\n </InternalDetailsContainer>\n </div>\n {index + 1 === pendingSwap.steps.length && <ArrowDown />}\n <StepDetail\n logo={step.toLogo}\n symbol={step.toSymbol}\n chainLogo={step.toBlockchainLogo || ''}\n blockchain={step.toBlockchain}\n amount={step.outputAmount || ''}\n estimatedAmount={step.expectedOutputAmountHumanReadable || ''}\n success={step.status === 'success'}\n />\n </div>\n ))}\n\n <Divider size={32} />\n </SwapFlowContainer>\n <Drawer\n onClose={setShowDrawer.bind(null, false)}\n open={showDrawer}\n showClose={true}\n anchor=\"bottom\"\n title=\"Cancel Progress\"\n content={\n <Alert type=\"warning\">\n <Typography variant=\"body2\">\n Warning: Cancel <u>doesn't revert</u> your transaction if you've\n already signed and sent a transaction to the blockchain. It only\n stops next steps from being executed.\n </Typography>\n </Alert>\n }\n footer={\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n }}\n >\n <Button\n variant=\"contained\"\n type=\"success\"\n onClick={setShowDrawer.bind(null, false)}\n >\n Skip\n </Button>\n <Divider size={16} direction=\"horizontal\" />\n <Button\n variant=\"contained\"\n type=\"error\"\n onClick={() => {\n onCancel(pendingSwap.requestId);\n setShowDrawer(false);\n }}\n >\n Cancel progress\n </Button>\n </div>\n }\n container={document.getElementById('swap-box')!}\n />\n </SecondaryPage>\n );\n}\n", "import React, { useState } from 'react';\nimport { Alert, Button, Typography } from '../../components';\nimport { styled } from '../../theme';\n\nconst getAlertType = (messageType: PropTypes['type']) => {\n if (!messageType || messageType === 'info') return 'secondary';\n else return messageType;\n};\n\nconst DetailedMessage = styled('div', {\n width: '90%',\n overflowWrap: 'break-word',\n color: '$error500 !important',\n});\n\nexport type PropTypes = {\n currentStepBlockchain: string;\n switchNetwork?: () => Promise<any>;\n shortMessage: string;\n detailedMessage: { content: string; long: boolean };\n type?: 'success' | 'error' | 'warning' | 'info';\n lastConvertedTokenInFailedSwap?: {\n symbol: string;\n blockchain: string;\n outputAmount: string;\n };\n};\n\nconst SuccessText = styled(Typography, {\n color: '$success500 !important',\n});\n\nexport const SwapMessages: React.FC<PropTypes> = (props) => {\n const {\n shortMessage,\n detailedMessage,\n currentStepBlockchain,\n type,\n lastConvertedTokenInFailedSwap,\n } = props;\n\n const [expandedMessage, setExpandedMessage] = useState(false);\n\n const allowedNumberOfChars = detailedMessage.long ? 0 : 150;\n\n const shouldShowMoreDetailsButton =\n !expandedMessage && detailedMessage.content.length > allowedNumberOfChars;\n\n return (\n <Alert\n type={getAlertType(type)}\n title={shortMessage}\n {...(shouldShowMoreDetailsButton && {\n footer: (\n <Button\n variant=\"outlined\"\n type=\"primary\"\n onClick={setExpandedMessage.bind(null, (prevState) => !prevState)}\n >\n Show more details\n </Button>\n ),\n })}\n {...(!!props.switchNetwork && {\n footer: (\n <Button\n variant={'outlined'}\n type=\"primary\"\n onClick={() => {\n props?.switchNetwork && props.switchNetwork().catch(() => {})\n }}\n >\n Change network to {currentStepBlockchain}\n </Button>\n ),\n })}\n >\n {!!detailedMessage.content ? (\n <DetailedMessage>\n <Typography variant=\"body2\">\n {shouldShowMoreDetailsButton && !expandedMessage\n ? detailedMessage.content.substring(0, allowedNumberOfChars) +\n (allowedNumberOfChars > 0 ? '...' : '')\n : detailedMessage.content}\n </Typography>\n </DetailedMessage>\n ) : null}\n {!!lastConvertedTokenInFailedSwap && (\n <>\n <p>\n <Typography variant=\"body2\">\n Don't worry, your fund is \n </Typography>\n <SuccessText variant=\"body2\">\n <b>Safe</b>\n </SuccessText>\n </p>\n\n <p>\n <Typography variant=\"body2\">\n It is converted to \n <u>{lastConvertedTokenInFailedSwap.outputAmount}</u>\n \n </Typography>\n <SuccessText variant=\"body2\">\n <b>{lastConvertedTokenInFailedSwap.symbol} </b>\n </SuccessText>\n <Typography variant=\"body2\">on your </Typography>\n <SuccessText variant=\"body2\">\n <b>{lastConvertedTokenInFailedSwap.blockchain} </b>\n </SuccessText>\n <Typography variant=\"body2\">wallet</Typography>\n </p>\n </>\n )}\n </Alert>\n );\n};\n", "import React from 'react';\nimport { BlockchainMeta } from 'rango-sdk';\nimport { BlockchainsList } from '../../components/BlockchainsList';\nimport { SecondaryPage } from '../../components/SecondaryPage/SecondaryPage';\nimport { Spinner } from '../../components/Spinner';\nimport { styled } from '../../theme';\nimport { CSSProperties } from '@stitches/react';\nimport { containsText } from '../../helper';\nimport { LoadingStatus } from '../../types/meta';\nimport { LoadingFailedAlert } from '../../components/Alert/LoadingFailedAlert';\nimport { NotFoundAlert } from '../../components/Alert/NotFoundAlert';\nimport { LoaderContainer } from '../TokenSelector/TokenSelector';\n\nconst ListContainer = styled('div', {\n overflowY: 'auto',\n padding: '0 $4',\n});\n\nconst filterBlockchains = (list: BlockchainMeta[], searchedFor: string) =>\n list.filter(\n (blockchain) =>\n containsText(blockchain.name, searchedFor) ||\n containsText(blockchain.displayName, searchedFor)\n );\n\nexport interface PropTypes {\n type?: 'Source' | 'Destination';\n list: BlockchainMeta[];\n selected?: BlockchainMeta | null;\n onChange: (blockchain: BlockchainMeta) => void;\n onBack?: () => void;\n loadingStatus: LoadingStatus;\n hasHeader?: boolean;\n listContainerStyle?: CSSProperties;\n multiSelect?: boolean;\n selectedList?: BlockchainMeta[] | 'all';\n}\n\nexport function BlockchainSelector(props: PropTypes) {\n const {\n type,\n list,\n onChange,\n selected,\n onBack,\n loadingStatus,\n hasHeader,\n listContainerStyle,\n multiSelect,\n selectedList,\n } = props;\n\n return (\n <SecondaryPage\n textField={true}\n hasHeader={hasHeader}\n textFieldPlaceholder=\"Search blockchains by name\"\n title={`Select ${type} Blockchain`}\n onBack={onBack}\n >\n {(searchedFor) => {\n const filteredBlockchains = filterBlockchains(list, searchedFor);\n return (\n <>\n {loadingStatus === 'loading' && (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n )}\n <ListContainer style={listContainerStyle} key=\"1\">\n {loadingStatus === 'failed' && <LoadingFailedAlert />}\n {loadingStatus === 'success' && (\n <>\n {filteredBlockchains.length ? (\n <BlockchainsList\n list={filteredBlockchains}\n selected={selected}\n multiSelect={multiSelect}\n selectedList={selectedList}\n onChange={onChange}\n />\n ) : (\n <NotFoundAlert\n catergory=\"Blockchain\"\n searchedFor={searchedFor}\n />\n )}\n </>\n )}\n </ListContainer>\n </>\n );\n }}\n </SecondaryPage>\n );\n}\n", "import React, { useState } from 'react';\nimport { styled } from '../../theme';\nimport { BlockchainMeta } from 'rango-sdk';\nimport { Button } from '../Button/Button';\nimport { FilledCircle, Image } from '../common';\nimport { Typography } from '../Typography';\n\nexport interface PropTypes {\n list: BlockchainMeta[];\n selected?: BlockchainMeta | null;\n onChange: (blockchain: BlockchainMeta) => void;\n multiSelect?: boolean;\n selectedList?: BlockchainMeta[] | 'all';\n}\n\nconst ListContainer = styled('div', {\n display: 'grid',\n gap: '.5rem',\n gridTemplateColumns: ' repeat(2, minmax(0, 1fr))',\n alignContent: 'baseline',\n width: '100%',\n height: '100%',\n});\n\nconst ImageContainer = styled('div', {\n paddingRight: '$4',\n});\n\nexport function BlockchainsList(props: PropTypes) {\n const { list, onChange, multiSelect, selectedList } = props;\n const [selected, setSelected] = useState(props.selected);\n\n const changeSelectedBlockchain = (blockchain: BlockchainMeta) => {\n setSelected(blockchain);\n onChange(blockchain);\n };\n\n const isSelect = (name: string) => {\n if (multiSelect && selectedList) {\n return (\n selectedList === 'all' ||\n selectedList.findIndex((item) => name === item.name) > -1\n );\n }\n return name === selected?.name;\n };\n\n return (\n <ListContainer>\n {list.map((blockchain, index) => {\n return (\n <Button\n type={isSelect(blockchain.name) ? 'primary' : undefined}\n variant=\"outlined\"\n size=\"large\"\n prefix={\n <ImageContainer>\n <Image size={24} src={blockchain.logo} />\n </ImageContainer>\n }\n suffix={isSelect(blockchain.name) ? <FilledCircle /> : undefined}\n align=\"start\"\n onClick={changeSelectedBlockchain.bind(null, blockchain)}\n key={index}\n >\n <Typography variant=\"body2\">{blockchain.displayName}</Typography>\n </Button>\n );\n })}\n </ListContainer>\n );\n}\n", "import React from 'react';\nimport { styled } from '../../theme';\nimport { WalletInfo } from '../../types/wallet';\nimport { WalletType } from '@rango-dev/wallets-shared';\nimport { Modal, Wallet } from '../../components';\nimport { i18n } from '@lingui/core';\n\nexport interface PropTypes {\n open: boolean;\n list: WalletInfo[];\n onSelect: (walletType: WalletType) => void;\n onClose: () => void;\n error?: string;\n}\n\nconst ModalContent = styled('div', {\n display: 'grid',\n gap: '$8',\n gridTemplateColumns: 'repeat(2, minmax(0, 1fr))',\n overflow: 'auto',\n});\n\nexport function ConnectWalletsModal(props: PropTypes) {\n const { open, list, onSelect, onClose } = props;\n\n const Content = (\n <ModalContent>\n {list.map((info, index) => (\n <Wallet {...info} key={index} onClick={onSelect} />\n ))}\n </ModalContent>\n );\n\n return (\n <Modal\n title={i18n.t('Connect Wallets')}\n open={open}\n content={Content}\n onClose={onClose}\n containerStyle={{ width: '75%', maxWidth: '30rem', height: '60%' }}\n />\n );\n}\n", "import { CSSProperties } from '@stitches/react';\nimport React from 'react';\nimport { containsText } from '../../helper';\nimport { LiquiditySource, LoadingStatus } from '../../types/meta';\nimport { Button, SecondaryPage } from '../../components';\nimport { LiquiditySourceList } from '../../components/LiquiditySourceList';\n\nconst filterLiquiditySources = (\n liquiditySources: LiquiditySource[],\n searchedFor: string\n) =>\n liquiditySources.filter((liquiditySource) =>\n containsText(liquiditySource.title, searchedFor || '')\n );\nexport interface PropTypes {\n list: LiquiditySource[];\n onChange: (liquiditySource: LiquiditySource) => void;\n toggleAll?: () => void;\n onBack?: () => void;\n hasHeader?: boolean;\n listContainerStyle?: CSSProperties;\n loadingStatus: LoadingStatus;\n}\n\nexport function LiquiditySourcesSelector(props: PropTypes) {\n const {\n list,\n onChange,\n onBack,\n hasHeader,\n listContainerStyle,\n toggleAll,\n loadingStatus,\n } = props;\n\n return (\n <SecondaryPage\n textField={true}\n textFieldPlaceholder=\"Search by name\"\n title=\"Liquidity Sources\"\n TopButton={\n <Button variant=\"ghost\" type=\"primary\" onClick={toggleAll}>\n {list.find((item) => item.selected) ? 'Deselect all' : 'Select all'}\n </Button>\n }\n hasHeader={hasHeader}\n onBack={onBack}\n >\n {(searchedFor) => (\n <LiquiditySourceList\n listContainerStyle={listContainerStyle}\n list={filterLiquiditySources(list, searchedFor)}\n onChange={onChange}\n loadingStatus={loadingStatus}\n searchedFor={searchedFor}\n />\n )}\n </SecondaryPage>\n );\n}\n", "import { CSSProperties } from '@stitches/react';\nimport React, { useEffect, useState } from 'react';\nimport { i18n } from '@lingui/core';\nimport { styled } from '../../theme';\nimport { LiquiditySource, LoadingStatus } from '../../types/meta';\nimport { Button } from '../Button/Button';\nimport { Divider } from '../Divider';\nimport { Switch } from '../Switch';\nimport { Typography } from '../Typography';\nimport { Spinner } from '../Spinner';\nimport { LoadingFailedAlert } from '../Alert/LoadingFailedAlert';\nimport { NotFoundAlert } from '../Alert/NotFoundAlert';\nimport { Image } from '../common';\n\nconst groupLiquiditySources = (\n liquiditySources: LiquiditySource[]\n): { [key in 'bridge' | 'exchange']: LiquiditySource[] } => ({\n bridge: liquiditySources.filter(\n (liquiditySource) =>\n liquiditySource.type === 'BRIDGE' || liquiditySource.type === 'AGGREGATOR'\n ),\n exchange: liquiditySources.filter(\n (liquiditySource) => liquiditySource.type === 'DEX'\n ),\n});\n\nconst MainContainer = styled('div', {\n variants: {\n loaded: {\n true: {\n overflowY: 'auto',\n padding: '0 $4',\n },\n },\n },\n});\n\nconst LiquiditySourceType = styled('div', {\n position: 'sticky',\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n top: '0',\n backgroundColor: '$background',\n zIndex: '9999',\n paddingTop: '$8',\n paddingBottom: '$8',\n});\n\nconst LiquidityImageContainer = styled('div', {\n paddingRight: '$16',\n});\n\nconst LoaderContainer = styled('div', {\n display: 'flex',\n justifyContent: 'center',\n});\n\nexport interface PropTypes {\n list: LiquiditySource[];\n onChange: (liquiditySource: LiquiditySource) => void;\n listContainerStyle?: CSSProperties;\n loadingStatus: LoadingStatus;\n searchedFor: string;\n}\n\nexport function LiquiditySourceList(props: PropTypes) {\n const { list, onChange, listContainerStyle, loadingStatus, searchedFor } =\n props;\n\n const [selected, setSelected] = useState(\n list.filter((item) => item.selected)\n );\n\n const changeLiquiditySources = (clickedItem: LiquiditySource) => {\n clickedItem.selected = !clickedItem.selected;\n setSelected((prevState) => {\n if (clickedItem.selected) return [...prevState, clickedItem];\n return prevState.filter((item) => item.title != clickedItem.title);\n });\n onChange(clickedItem);\n };\n\n const isSelected = (liquiditySource: LiquiditySource) =>\n !!selected.find((item) => liquiditySource.title === item.title);\n\n useEffect(() => {\n setSelected(list.filter((item) => item.selected));\n }, [list]);\n\n const sections = groupLiquiditySources(list);\n const bridges = sections.bridge;\n const exchanges = sections.exchange;\n\n const totalBridges = bridges.length;\n const totalExchanges = exchanges.length;\n // TODO: This is not performant\n const totalSelectedBridges = bridges.filter(isSelected).length;\n const totalSelectedExchanges = exchanges.filter(isSelected).length;\n\n return (\n <MainContainer\n style={listContainerStyle}\n loaded={loadingStatus === 'success'}>\n <div>\n <LiquiditySourceType>\n <Typography variant=\"h5\">{i18n.t('Bridges')}</Typography>\n <Typography variant=\"body1\" color=\"neutral800\">\n {totalSelectedBridges === totalBridges\n ? totalBridges\n : `${totalSelectedBridges} / ${totalBridges}`}\n </Typography>\n </LiquiditySourceType>\n <Divider size={12} />\n {loadingStatus === 'loading' && (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n )}\n {loadingStatus === 'failed' && <LoadingFailedAlert />}\n {loadingStatus === 'success' && (\n <>\n {totalBridges ? (\n bridges.map((liquiditySource, index) => (\n <LiquiditySourceItem\n liquiditySource={liquiditySource}\n key={index}\n selected={isSelected(liquiditySource)}\n onChange={changeLiquiditySources}\n />\n ))\n ) : (\n <NotFoundAlert catergory=\"Bridge\" searchedFor={searchedFor} />\n )}\n </>\n )}\n </div>\n <div>\n <LiquiditySourceType>\n <Typography variant=\"h5\">{i18n.t('Exchanges')}</Typography>\n <Typography variant=\"body1\" color=\"neutral800\">\n {totalSelectedExchanges === totalExchanges\n ? totalExchanges\n : `${totalSelectedExchanges} / ${totalExchanges}`}\n </Typography>\n </LiquiditySourceType>\n <Divider size={12} />\n {loadingStatus === 'loading' && (\n <LoaderContainer>\n <Spinner size={24} />\n </LoaderContainer>\n )}\n {loadingStatus === 'failed' && <LoadingFailedAlert />}\n {loadingStatus == 'success' && (\n <>\n {totalExchanges ? (\n exchanges.map((liquiditySource, index) => (\n <LiquiditySourceItem\n liquiditySource={liquiditySource}\n key={index}\n selected={isSelected(liquiditySource)}\n onChange={changeLiquiditySources}\n />\n ))\n ) : (\n <NotFoundAlert catergory=\"Exchange\" searchedFor={searchedFor} />\n )}\n </>\n )}\n </div>\n </MainContainer>\n );\n}\n\nconst LiquiditySourceItem = ({\n liquiditySource,\n selected,\n onChange,\n}: {\n liquiditySource: LiquiditySource;\n selected: boolean;\n onChange: (clickedItem: LiquiditySource) => void;\n}) => (\n <Button\n size=\"large\"\n align=\"start\"\n variant=\"outlined\"\n prefix={\n <LiquidityImageContainer>\n <Image src={liquiditySource.logo} size={20} />\n </LiquidityImageContainer>\n }\n suffix={<Switch checked={selected} />}\n style={{ marginBottom: '12px' }}\n onClick={onChange.bind(null, liquiditySource)}>\n <Typography variant=\"body1\">{liquiditySource.title}</Typography>\n </Button>\n);\n", "import { styled } from '../../theme';\nimport React, { useState } from 'react';\nimport { i18n } from '@lingui/core';\n\nimport { LiquiditySource, LoadingStatus } from '../../types/meta';\nimport {\n AngleRightIcon,\n Button,\n Chip,\n Radio,\n SecondaryPage,\n Switch,\n TextField,\n Typography,\n} from '../../components';\n\nconst BaseContainer = styled('div', {\n borderRadius: '$5',\n backgroundColor: '$neutral100',\n padding: '$16',\n});\n\nconst Title = styled(Typography, { marginBottom: '$16' });\n\nconst SlippageChipsContainer = styled('div', {\n display: 'grid',\n rowGap: '$16',\n gridTemplateColumns: 'repeat(auto-fill, 64px)',\n});\n\nconst LiquiditySourceContainer = styled(BaseContainer, {\n display: 'flex',\n justifyContent: 'space-between',\n marginTop: '$16',\n cursor: 'pointer',\n});\nconst InfiniteContainer = styled(BaseContainer, {\n display: 'flex',\n justifyContent: 'space-between',\n marginTop: '$16',\n});\n\nconst StyledAngleRight = styled(AngleRightIcon, { marginLeft: '$8' });\n\nconst LiquiditySourceNumber = styled('div', {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n});\n\nconst ThemesContainer = styled(BaseContainer, {\n marginTop: '$16',\n});\n\nconst Head = styled('div', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingBottom: '$16',\n});\n\ntype Theme = 'dark' | 'light' | 'auto';\n\nexport interface PropTypes {\n slippages: number[];\n selectedSlippage: number;\n customSlippage: number | null;\n maxSlippage: number;\n minSlippage: number;\n liquiditySources: LiquiditySource[];\n onLiquiditySourcesClick: () => void;\n selectedLiquiditySources: LiquiditySource[];\n onSlippageChange: (slippage: number) => void;\n onCustomSlippageChange: (customSlippage: number | null) => void;\n selectedTheme: Theme;\n onThemeChange: (theme: Theme) => void;\n onBack: () => void;\n infiniteApprove: boolean;\n toggleInfiniteApprove: (infinite: boolean) => void;\n loadingStatus: LoadingStatus;\n singleTheme?: boolean;\n}\n\nexport function Settings(props: PropTypes) {\n const {\n slippages,\n selectedLiquiditySources,\n liquiditySources,\n onSlippageChange,\n onLiquiditySourcesClick,\n onBack,\n customSlippage,\n onCustomSlippageChange,\n maxSlippage,\n minSlippage,\n selectedTheme,\n onThemeChange,\n toggleInfiniteApprove,\n infiniteApprove,\n loadingStatus,\n singleTheme,\n } = props;\n\n const [selectedSlippage, setSelectedSlippage] = useState(\n props.selectedSlippage\n );\n\n const changeSlippage = (slippage: number) => {\n setSelectedSlippage(slippage);\n onSlippageChange(slippage);\n };\n\n const PageContent = (\n <>\n <BaseContainer>\n <Head>\n <Typography variant=\"body2\">\n {i18n.t('Slippage tolerance')}\n </Typography>\n {customSlippage ? (\n <Typography variant=\"caption\" color=\"error\">\n {customSlippage}% {i18n.t('Custom')}\n </Typography>\n ) : undefined}\n </Head>\n <SlippageChipsContainer>\n {slippages.map((slippage, index) => (\n <Chip\n key={index}\n onClick={() => {\n if (customSlippage) onCustomSlippageChange(null);\n changeSlippage(slippage);\n }}\n selected={!customSlippage && slippage === selectedSlippage}\n label={`${slippage.toString()}%`}\n style={{\n marginRight: '8px',\n }}\n />\n ))}\n <TextField\n type=\"number\"\n value={customSlippage || ''}\n onChange={(event) => {\n const parsedValue = parseFloat(event.target.value);\n if (\n !parsedValue ||\n (parsedValue >= minSlippage && parsedValue <= maxSlippage)\n )\n onCustomSlippageChange(parsedValue);\n }}\n suffix={\n customSlippage && <Typography variant=\"body2\">%</Typography>\n }\n size=\"small\"\n placeholder=\"Custom %\"\n style={{\n width: '128px',\n flexGrow: 'initial',\n }}\n />\n </SlippageChipsContainer>\n </BaseContainer>\n {!singleTheme && (\n <ThemesContainer>\n <Title variant=\"body2\">{i18n.t('Theme')}</Title>\n <Radio\n value={selectedTheme}\n options={[\n { value: 'dark', label: `${i18n.t('Dark')}` },\n { value: 'light', label: `${i18n.t('Light')}` },\n { value: 'auto', label: `${i18n.t('Auto')}` },\n ]}\n onChange={(value) => onThemeChange(value as Theme)}\n direction=\"horizontal\"\n style={{ marginTop: '$24' }}\n />\n </ThemesContainer>\n )}\n <InfiniteContainer>\n <Typography variant=\"body2\">{i18n.t('Infinite Approval')}</Typography>\n <Switch checked={infiniteApprove} onChange={toggleInfiniteApprove} />\n </InfiniteContainer>\n <LiquiditySourceContainer>\n <Button\n onClick={onLiquiditySourcesClick}\n align=\"start\"\n variant=\"ghost\"\n loading={loadingStatus === 'loading'}\n suffix={\n <LiquiditySourceNumber>\n {loadingStatus === 'success' && (\n <Typography variant=\"body2\" color=\"neutral800\">\n {liquiditySources.length !== selectedLiquiditySources.length\n ? `${selectedLiquiditySources.length} / ${liquiditySources.length}`\n : liquiditySources.length}\n </Typography>\n )}\n {loadingStatus === 'failed' && (\n <Typography variant=\"body2\" color=\"$error500\">\n Loading failed\n </Typography>\n )}\n <StyledAngleRight />\n </LiquiditySourceNumber>\n }>\n <Typography variant=\"body2\">{i18n.t('Liquidity Sources')}</Typography>\n </Button>\n </LiquiditySourceContainer>\n </>\n );\n\n return (\n <SecondaryPage title=\"Settings\" textField={false} onBack={onBack}>\n {PageContent}\n </SecondaryPage>\n );\n}\n", "import { Alert } from '../../components/Alert';\nimport React from 'react';\nimport { ChangeSlippageButton } from '../../components/ChangeSlippageButton';\nimport { i18n } from '@lingui/core';\n\ninterface PropTypes {\n selectedSlippage: number;\n highSlippage: boolean;\n changeSlippage: () => void;\n}\n\nexport function HighSlippageWarning(props: PropTypes) {\n const { highSlippage, selectedSlippage, changeSlippage } = props;\n\n return (\n <>\n {highSlippage && (\n <Alert\n type=\"warning\"\n footer={<ChangeSlippageButton onClick={changeSlippage} />}>\n {i18n.t(\n 'highSlippage',\n { selectedSlippage },\n {\n message:\n ' Caution, your slippage is high (={selectedSlippage}). Your trade may be front run.',\n }\n )}\n </Alert>\n )}\n </>\n );\n}\n", "import React from 'react';\nimport { i18n } from '@lingui/core';\nimport { Divider, Typography, ChangeSlippageButton } from '../../components';\nimport { styled } from '../../theme';\n\ninterface PropTypes {\n minRequiredSlippage: string | null;\n changeSlippage: () => void;\n}\n\nconst StyledMessage = styled(Typography, {\n color: '$error500 !important',\n});\n\nexport function MinRequiredSlippage({\n minRequiredSlippage,\n changeSlippage,\n}: PropTypes) {\n return (\n <StyledMessage variant=\"body2\">\n {i18n.t(\n 'increaseSlippage',\n { minRequiredSlippage },\n {\n message:\n 'We recommend you to increase slippage to at least {minRequiredSlippage} for this route.',\n }\n )}\n <Divider size={8} />\n <ChangeSlippageButton onClick={changeSlippage} />\n </StyledMessage>\n );\n}\n", "import { Divider, Typography } from '../../components';\nimport { styled } from '../../theme';\nimport React from 'react';\nimport { i18n } from '@lingui/core';\ninterface PropTypes {\n messages: string[];\n}\n\nconst List = styled('ul', {\n padding: 0,\n margin: 0,\n variants: {\n showListStyle: {\n true: { paddingLeft: '$24' },\n },\n },\n});\n\nconst ListItem = styled('li', {\n variants: {\n showListStyle: {\n true: { listStyleType: 'disc', listStylePosition: 'outside' },\n },\n },\n});\n\nconst Message = styled(Typography, {\n display: 'block',\n});\n\nexport function BalanceErrors({ messages }: PropTypes) {\n const showListStyle = messages.length > 1;\n return (\n <>\n <Typography className=\"title\" variant=\"title\" color={'error'}>\n {i18n.t('Insufficent Balance:')}\n </Typography>\n <Divider size={8} />\n <List showListStyle={showListStyle}>\n {messages.map((warning, index) => (\n <ListItem showListStyle={showListStyle} key={index}>\n <Message variant=\"body2\">{warning}</Message>\n </ListItem>\n ))}\n </List>\n </>\n );\n}\n", "import React from 'react';\nimport copy from 'copy-to-clipboard';\n\nexport function useCopyToClipboard(resetInterval?: number) {\n const [isCopied, setCopied] = React.useState(false);\n\n const handleCopy = React.useCallback((text: string | number) => {\n copy(text.toString());\n setCopied(true);\n }, []);\n\n React.useEffect(() => {\n let timeout: NodeJS.Timeout;\n if (isCopied && resetInterval) {\n timeout = setTimeout(() => setCopied(false), resetInterval);\n }\n return () => {\n clearTimeout(timeout);\n };\n }, [isCopied, resetInterval]);\n\n return [isCopied, handleCopy] as const;\n}\n"],
|
|
5
|
+
"mappings": "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,MAAO,CACL,SAAU,KACZ,EACA,MAAO,CACL,SAAU,KACZ,CACF,EACA,MAAO,CACL,SAAU,MACV,WAAY,OACZ,MAAO,CACL,SAAU,KACZ,CACF,EACA,MAAO,CACL,SAAU,MACV,WAAY,OACZ,MAAO,CACL,SAAU,KACZ,EACA,MAAO,CACL,SAAU,KACZ,CACF,EACA,MAAO,CACL,SAAU,MACV,WAAY,MAId,EACA,MAAO,CACL,SAAU,MACV,WAAY,MACd,EACA,QAAS,CACP,SAAU,MACV,WAAY,OACZ,MAAO,CACL,SAAU,KACZ,CACF,CACF,EACA,MAAO,CACL,OAAQ,CACN,UAAW,QACb,EACA,KAAM,CACJ,UAAW,MACb,EACA,MAAO,CACL,UAAW,OACb,CACF,EACA,OAAQ,CACN,KAAM,CACJ,WAAY,QACd,CACF,EACA,GAAI,CACF,EAAG,CACD,WAAY,IACd,EACA,EAAG,CACD,WAAY,IACd,EACA,EAAG,CACD,WAAY,IACd,EACA,GAAI,CACF,WAAY,KACd,CACF,EACA,GAAI,CACF,EAAG,CACD,UAAW,IACb,EACA,EAAG,CACD,UAAW,IACb,EACA,EAAG,CACD,UAAW,IACb,EACA,GAAI,CACF,UAAW,KACb,CACF,EACA,GAAI,CACF,EAAG,CACD,YAAa,IACf,EACA,EAAG,CACD,YAAa,IACf,EACA,EAAG,CACD,YAAa,IACf,EACA,GAAI,CACF,YAAa,KACf,CACF,EACA,GAAI,CACF,EAAG,CACD,aAAc,IAChB,EACA,EAAG,CACD,aAAc,IAChB,EACA,EAAG,CACD,aAAc,IAChB,EACA,GAAI,CACF,aAAc,KAChB,CACF,CACF,CACF,CAAC,EA0BM,SAASC,EAAW,CACzB,SAAAC,EACA,UAAAC,EACA,MAAAC,EACA,GAAGC,CACL,EAAiC,CAC/B,IAAMC,EAAYF,EACd,CACE,MAAOA,EAAM,WAAW,GAAG,EAAIA,EAAQ,IAAIA,GAC7C,EACA,CACE,MAAO,aACT,EAEJ,OACEG,GAAA,cAACR,GAAA,CACC,UAAW,qBAAqBI,GAAa,KAC7C,IAAKG,EACJ,GAAGD,GAEHH,CACH,CAEJ,CAvBgBM,EAAAP,EAAA,cAyBhBA,EAAW,SAAW,IAAM,eC/N5B,OAAOQ,OAAW,QAGlB,IAAMC,GAAmBC,EAAO,MAAO,CACrC,SAAU,CACR,KAAM,CACJ,EAAG,CAAC,EACJ,EAAG,CAAC,EACJ,GAAI,CAAC,EACL,GAAI,CAAC,EACL,GAAI,CAAC,EACL,GAAI,CAAC,EACL,GAAI,CAAC,EACL,GAAI,CAAC,CACP,EACA,UAAW,CACT,SAAU,CAAC,EACX,WAAY,CAAC,CACf,CACF,EACA,iBAAkB,CAChB,CACE,KAAM,EACN,UAAW,aACX,IAAK,CACH,MAAO,IACT,CACF,EACA,CACE,KAAM,EACN,UAAW,WACX,IAAK,CACH,OAAQ,IACV,CACF,EACA,CACE,KAAM,EACN,UAAW,aACX,IAAK,CACH,MAAO,IACT,CACF,EACA,CACE,KAAM,EACN,UAAW,WACX,IAAK,CACH,OAAQ,IACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,EACA,CACE,KAAM,GACN,UAAW,aACX,IAAK,CACH,MAAO,KACT,CACF,EACA,CACE,KAAM,GACN,UAAW,WACX,IAAK,CACH,OAAQ,KACV,CACF,CACF,CACF,CAAC,EAMM,SAASC,EAAQ,CAAE,KAAAC,EAAO,GAAI,UAAAC,EAAY,UAAW,EAAc,CACxE,OAAOC,GAAA,cAACL,GAAA,CAAiB,KAAMG,EAAM,UAAWC,EAAW,CAC7D,CAFgBE,EAAAJ,EAAA,W5CtIhB,IAAMK,GAAgBC,EAAO,MAAO,CAClC,MAAO,OACP,QAAS,MACT,aAAc,KACd,gBAAiB,cACjB,MAAO,cAEP,QAAS,CACP,QAAS,OACT,WAAY,QACd,EAEA,UAAW,CACT,WAAY,IACd,EACA,oBAAqB,CACnB,YAAa,KACf,EACA,SAAU,CACR,KAAM,CACJ,QAAS,CACP,MAAO,aACT,EACA,UAAW,CACT,MAAO,aACT,EACA,QAAS,CACP,MAAO,aACT,EACA,QAAS,CACP,MAAO,aACT,EACA,MAAO,CACL,MAAO,WACT,CACF,CACF,CACF,CAAC,EAQM,SAASC,EAAMC,EAAqC,CACzD,GAAM,CAAE,KAAAC,EAAM,SAAAC,EAAU,MAAAC,CAAM,EAAIH,EAE5BI,EACJ,CAAC,QAAS,UAAW,SAAS,EAC9B,SAASH,CAAI,EAEf,OACEI,EAAA,cAACR,GAAA,CAAc,KAAMI,EAAM,UAAWG,EAAW,UAAY,IAC3DC,EAAA,cAAC,OAAI,UAAU,QACZD,GACCC,EAAA,cAAAA,EAAA,cACEA,EAAA,cAAC,OACC,MAAO,CACL,MAAO,OACP,QAAS,OACT,eAAgB,SAChB,WAAY,QACd,GAECJ,IAAS,WAAaI,EAAA,cAACC,GAAA,CAAgB,MAAOL,EAAM,KAAM,GAAI,EAC9DA,IAAS,WAAaI,EAAA,cAACE,GAAA,CAAY,MAAON,EAAM,KAAM,GAAI,EAC1DA,IAAS,SAAWI,EAAA,cAACG,GAAA,CAAe,MAAOP,EAAM,KAAM,GAAI,EAC5DI,EAAA,cAACI,EAAA,CAAQ,KAAM,EAAG,UAAU,aAAa,CAC3C,CACF,EAEFJ,EAAA,cAAC,OACC,MAAO,CACL,QAAS,OACT,eAAgB,SAChB,WAAY,QACZ,cAAe,SACf,MAAO,MACT,GAECF,GACCE,EAAA,cAAAA,EAAA,cACEA,EAAA,cAACK,EAAA,CAAW,UAAU,QAAQ,QAAQ,QAAQ,MAAOT,GAClDE,CACH,EACC,CAAC,CAACD,GAAYG,EAAA,cAACI,EAAA,CAAQ,KAAM,EAAG,CACnC,EAEDP,CACH,CACF,EACCF,EAAM,OAASK,EAAA,cAAC,OAAI,UAAU,UAAUL,EAAM,MAAO,EAAS,IACjE,CAEJ,CAlDgBW,EAAAZ,EAAA,S6CnDhB,OAAOa,OAAW,QAClB,OAAS,QAAAC,OAAY,eAGd,SAASC,IAAqB,CACnC,OACEC,GAAA,cAACC,EAAA,CACC,KAAK,QACL,MAAOC,GAAK,EACV,gEACF,EACF,CAEJ,CATgBC,EAAAJ,GAAA,sBCJhB,OAAOK,OAAW,QAQX,SAASC,EAAcC,EAAkB,CAC9C,GAAM,CAAE,UAAAC,EAAW,YAAAC,CAAY,EAAIF,EACnC,OACEG,GAAA,cAACC,EAAA,CACC,KAAK,YACL,MAAO,GAAGH,KACRC,EAAc,IAAMA,EAAc,IAAM,gBAE5C,CAEJ,CAVgBG,EAAAN,EAAA,iBCRhB,OAAOO,GAAS,YAAAC,OAAmC,QACnD,OAAS,QAAAC,OAAY,eCDrB,OAAOC,MAAkC,QAIzC,IAAMC,GAAoBC,EAAO,MAAO,CACtC,SAAU,WACV,MAAO,MACP,OAAQ,MACR,SAAU,CACR,UAAW,CACT,SAAU,CACR,OAAQ,MACV,EACA,WAAY,CAAC,CACf,CACF,CACF,CAAC,EACKC,GAAOD,EAAO,MAAO,CACzB,MAAO,MACP,OAAQ,MACR,aAAc,KAChB,CAAC,EAEKE,GAAYF,EAAO,MAAO,CAC9B,SAAU,WACV,MAAO,GACP,OAAQ,GACR,MAAO,MACP,OAAQ,MACR,QAAS,KACT,aAAc,MACd,gBAAiB,cACjB,OAAQ,wBAER,IAAK,CACH,MAAO,OACP,QAAS,OACX,CACF,CAAC,EACKG,GAAgBH,EAAO,MAAO,CAClC,QAAS,OACT,SAAU,CACR,UAAW,CACT,WAAY,CACV,WAAY,QACd,EACA,SAAU,CACR,cAAe,SACf,UAAW,SACX,eAAgB,QAClB,CACF,EACA,QAAS,CACP,KAAM,CAAE,OAAQ,MAAO,EACvB,MAAO,CACL,OAAQ,iBACV,CACF,CACF,CACF,CAAC,EACKI,GAASJ,EAAO,MAAO,CAC3B,SAAU,CACR,GAAI,CACF,KAAM,CACJ,YAAa,KACb,MAAO,CACL,YAAa,IACf,CACF,EACA,MAAO,CACL,WAAY,IACd,CACF,CACF,CACF,CAAC,EACKK,GAAWL,EAAOM,EAAY,CAClC,MAAO,cACP,QAAS,QACT,YAAa,IACf,CAAC,EAYM,SAASC,GAAWC,EAAqC,CAC9D,GAAM,CACJ,KAAAC,EACA,UAAAC,EACA,OAAAC,EACA,OAAAC,EACA,WAAAC,EACA,gBAAAC,EACA,QAAAC,EAAU,GACV,UAAAC,EAAY,YACd,EAAIR,EACJ,OACES,EAAA,cAACd,GAAA,CAAc,UAAWa,EAAW,QAASD,GAC5CE,EAAA,cAAClB,GAAA,CAAkB,UAAWiB,GAC5BC,EAAA,cAAChB,GAAA,CAAK,IAAKQ,EAAM,IAAKG,EAAQ,EAC9BK,EAAA,cAACf,GAAA,KACCe,EAAA,cAAC,OAAI,IAAKP,EAAW,IAAKG,EAAY,CACxC,CACF,EACAI,EAAA,cAACb,GAAA,CAAO,GAAIY,IAAc,cACvBL,GACCM,EAAA,cAACX,EAAA,CACC,OAAM,GACN,QAASU,IAAc,WAAa,QAAU,SAE7CL,CACH,EAED,CAACA,GAAUG,GACVG,EAAA,cAACX,EAAA,CACC,OAAM,GACN,QAASU,IAAc,WAAa,QAAU,QAC9C,MAAO,eAENF,CACH,EACA,OAEFG,EAAA,cAACX,EAAA,CACC,QAASU,IAAc,WAAa,QAAU,QAC9C,OAAM,IAELJ,CACH,EACAK,EAAA,cAACZ,GAAA,CAAS,OAAM,GAAC,QAAQ,UAAU,MAAM,eAAc,MACjDQ,CACN,CACF,CACF,CAEJ,CAlDgBK,EAAAX,GAAA,cC3FhB,OAAOY,OAAW,QAGlB,IAAMC,GAAcC,GAAU,CAC5B,KAAM,CACJ,mBAAoB,UACtB,EACA,OAAQ,CACN,mBAAoB,SACtB,CACF,CAAC,EAEKC,GAAoBC,EAAO,MAAO,CACtC,aAAc,KACd,gBAAiB,cACjB,WAAY,qHACZ,eAAgB,cAChB,UAAW,GAAGH,0BACd,SAAU,CACR,MAAO,CACL,GAAI,CACF,MAAO,KACT,EACA,GAAI,CACF,MAAO,KACT,EACA,GAAI,CACF,MAAO,KACT,EACA,GAAI,CACF,MAAO,KACT,EACA,GAAI,CACF,MAAO,KACT,CACF,EACA,OAAQ,CACN,GAAI,CACF,OAAQ,KACV,EACA,GAAI,CACF,OAAQ,KACV,EACA,GAAI,CACF,OAAQ,KACV,EACA,GAAI,CACF,OAAQ,KACV,EACA,GAAI,CACF,OAAQ,KACV,EACA,GAAI,CACF,OAAQ,EACV,CACF,CACF,CACF,CAAC,EAMM,SAASI,GAAS,CAAE,MAAAC,EAAQ,GAAI,OAAAC,EAAS,EAAG,EAAc,CAC/D,OAAOC,GAAA,cAACL,GAAA,CAAkB,MAAOG,EAAO,OAAQC,EAAQ,CAC1D,CAFgBE,EAAAJ,GAAA,YC/DhB,OAAOK,OAAW,QAGlB,IAAMC,GAAOC,GAAU,CACrB,OAAQ,CACN,UAAW,gBACb,CACF,CAAC,EAEKC,GAAmBC,EAAO,MAAO,CACrC,aAAc,MACd,SAAU,WACV,OAAQ,wBACR,YAAa,YACb,UAAW,GAAGH,0BACd,OAAQ,SACR,SAAU,CACR,MAAO,CACL,QAAS,CACP,iBAAkB,UACpB,EACA,MAAO,CACL,iBAAkB,QACpB,EACA,QAAS,CACP,iBAAkB,UACpB,EACA,QAAS,CACP,iBAAkB,UACpB,EACA,MAAO,CACL,iBAAkB,QACpB,EACA,MAAO,CACL,iBAAkB,QACpB,CACF,EACA,KAAM,CACJ,GAAI,CACF,MAAO,MACP,OAAQ,KACV,EACA,GAAI,CACF,MAAO,MACP,OAAQ,KACV,EACA,GAAI,CACF,MAAO,MACP,OAAQ,KACV,CACF,CACF,CACF,CAAC,EAMM,SAASI,EAAQ,CAAE,KAAAC,EAAO,GAAI,MAAAC,EAAQ,SAAU,EAAc,CACnE,OAAOC,GAAA,cAACL,GAAA,CAAiB,KAAMG,EAAM,MAAOC,EAAO,CACrD,CAFgBE,EAAAJ,EAAA,WC1DhB,UAAYK,MAAkB,0BAE9B,OAAOC,OAAkC,QAczC,IAAMC,GAAiBC,EAAoB,UAAS,CAClD,OAAQ,EACR,QAAS,EAET,gBAAiB,aACnB,CAAC,EACKC,GAAiBD,EAAoB,UAAS,CAClD,aAAc,KACd,QAAS,QACT,SAAU,MACV,kBAAmB,QACnB,wBAAyB,gCACzB,WAAY,qBACZ,SAAU,CACR,MAAO,CACL,QAAS,CACP,gBAAiB,WACjB,MAAO,QACT,EACA,MAAO,CACL,gBAAiB,SACjB,MAAO,QACT,EACA,QAAS,CACP,gBAAiB,WACjB,MAAO,QACT,EACA,QAAS,CACP,gBAAiB,WACjB,MAAO,QACT,EACA,KAAM,CACJ,gBAAiB,cACjB,MAAO,QACT,EACA,MAAO,CACL,gBAAiB,SACjB,MAAO,QACT,EACA,MAAO,CACL,gBAAiB,SACjB,MAAO,QACT,CACF,CACF,CACF,CAAC,EACKE,GAAeF,EAAoB,QAAO,CAC9C,SAAU,CACR,MAAO,CACL,QAAS,CACP,KAAM,UACR,EACA,MAAO,CACL,KAAM,QACR,EACA,QAAS,CACP,KAAM,UACR,EACA,QAAS,CACP,KAAM,UACR,EACA,KAAM,CACJ,KAAM,aACR,EACA,MAAO,CACL,KAAM,QACR,EACA,MAAO,CACL,KAAM,QACR,CACF,CACF,CACF,CAAC,EAEKG,GAAkBH,EAAO,MAAO,CACpC,QAAS,cACX,CAAC,EAEM,SAASI,GAAQ,CACtB,SAAAC,EACA,QAAAC,EACA,KAAAC,EAAO,MACP,MAAAC,EAAQ,MACV,EAAiC,CAC/B,OACEC,GAAA,cAAc,WAAb,KACCA,GAAA,cAAc,OAAb,KACCA,GAAA,cAACV,GAAA,CAAe,QAAO,IACrBU,GAAA,cAACN,GAAA,KAAiBE,CAAS,CAC7B,EACAI,GAAA,cAAc,SAAb,KACCA,GAAA,cAACR,GAAA,CAAe,MAAOO,EAAO,KAAMD,EAAM,WAAY,GACnDD,EACDG,GAAA,cAACP,GAAA,CAAa,MAAOM,EAAO,CAC9B,CACF,CACF,CACF,CAEJ,CArBgBE,EAAAN,GAAA,WC5FT,IAAMO,GAAeC,EAAO,OAAQ,CACzC,MAAO,OACP,OAAQ,OACR,gBAAiB,WACjB,aAAc,SAChB,CAAC,ECPD,OAAOC,OAAW,QAGlB,IAAMC,GAAiBC,EAAO,MAAO,CACnC,QAAS,OACT,eAAgB,SAChB,WAAY,SACZ,SAAU,CACR,MAAO,OACP,OAAQ,OACR,UAAW,SACb,CACF,CAAC,EAMM,SAASC,EAAMC,EAAkB,CACtC,GAAM,CAAE,KAAAC,EAAM,GAAGC,CAAW,EAAIF,EAEhC,OACEG,GAAA,cAACN,GAAA,CAAe,IAAK,CAAE,MAAOI,EAAO,KAAM,OAAQA,EAAO,IAAK,GAC7DE,GAAA,cAAC,OAAI,UAAU,QAAS,GAAGD,EAAY,CACzC,CAEJ,CARgBE,EAAAL,EAAA,SNNhB,IAAMM,GAAYC,EAAO,MAAO,CAC9B,aAAc,KACd,OAAQ,wBACR,QAAS,OACT,WAAY,SACZ,UAAW,IACX,eAAgB,gBAChB,gBAAiB,UACnB,CAAC,EAEKC,GAAWD,EAAOE,EAAY,CAClC,MAAO,QACT,CAAC,EACKC,GAAqBH,EAAO,MAAO,CACvC,QAAS,OACT,WAAY,SACZ,OAAQ,SACR,UAAW,OACX,UAAW,SACX,UAAW,UACX,QAAS,KACT,MAAO,CACL,QAAS,IACX,CACF,CAAC,EACKI,GAAOJ,EAAO,MAAO,CACzB,OAAQ,IACR,MAAO,MACP,OAAQ,yBACR,aAAc,UACd,MAAO,CACL,MAAO,KACT,CACF,CAAC,EAEKK,GAAKL,EAAO,KAAM,CACtB,MAAO,OACP,OAAQ,wBACR,OAAQ,MACV,CAAC,EAEKM,GAAoBN,EAAO,MAAO,CACtC,SAAU,UACZ,CAAC,EACKO,GAAMP,EAAO,MAAO,CACxB,MAAO,KACP,OAAQ,KACR,gBAAiB,cACjB,SAAU,WACV,IAAK,MACL,MAAO,GACP,WAAY,KACZ,aAAc,MACd,MAAO,CACL,MAAO,KACP,OAAQ,KACR,MAAO,GACP,IAAK,KACP,CACF,CAAC,EACKQ,GAAaR,EAAO,MAAO,CAC/B,MAAO,MACP,OAAQ,MACR,UAAW,wBACX,aAAc,wBACd,WAAY,uBACd,CAAC,EAEYS,GAAQC,GAAU,CAC7B,KAAM,CACJ,QAAS,CACX,EACA,MAAO,CACL,QAAS,EACX,EACA,OAAQ,CACN,QAAS,CACX,CACF,CAAC,EAEKC,GAAeX,EAAO,MAAO,CACjC,gBAAiB,cACjB,aAAc,MACd,OAAQ,KACR,QAAS,OACT,cAAe,SACf,eAAgB,SAChB,WAAY,SACZ,QAAS,KACT,MAAO,CACL,QAAS,KACT,OAAQ,IACV,CACF,CAAC,EAEKY,GAAgBZ,EAAO,MAAO,CAClC,QAAS,OACT,cAAe,SACf,WAAY,SACZ,SAAU,CACR,QAAS,CACP,KAAM,CACJ,UAAW,GAAGS,4BAChB,CACF,CACF,CACF,CAAC,EAEKI,GAAWb,EAAOE,EAAY,CAClC,SAAU,CACR,QAAS,CACP,KAAM,CACJ,MAAO,aACT,CACF,CACF,CACF,CAAC,EAEKY,GAAoBd,EAAO,MAAO,CACtC,QAAS,KACT,MAAO,CACL,QAAS,IACX,CACF,CAAC,EACKe,GAAmBf,EAAO,MAAO,CACrC,QAAS,OACT,eAAgB,SAChB,WAAY,QACd,CAAC,EAUM,SAASgB,GAAUC,EAAqC,CAC7D,GAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,MAAAC,EAAO,SAAAC,EAAU,WAAAC,EAAY,UAAAC,CAAU,EAAIN,EAClE,OACEO,EAAA,cAACzB,GAAA,KACEoB,EACCK,EAAA,cAACV,GAAA,KACCU,EAAA,cAACC,GAAA,CAAS,MAAO,GAAI,OAAQ,GAAI,CACnC,EAEAD,EAAA,cAACb,GAAA,KACCa,EAAA,cAACE,GAAA,CAAQ,QAASC,GAAK,EAAE,wBAAwB,GAC/CH,EAAA,cAACZ,GAAA,CAAc,QAASU,GACtBE,EAAA,cAACI,GAAA,CAAQ,KAAM,GAAI,MAAON,EAAa,UAAY,OAAW,EAC9DE,EAAA,cAACX,GAAA,CACC,GAAI,EACJ,MAAM,SACN,QAAQ,UACR,QAASS,GACRF,GAAS,IACT,CAAC,CAACF,GAAQ,IAAIG,GACjB,CACF,CACF,EACAG,EAAA,cAACnB,GAAA,IAAG,EACJmB,EAAA,cAACE,GAAA,CAAQ,QAASC,GAAK,EAAE,eAAe,GACtCH,EAAA,cAACZ,GAAA,CAAc,QAASU,GACtBE,EAAA,cAACK,GAAA,CAAS,KAAM,GAAI,EACpBL,EAAA,cAACtB,EAAA,CAAW,GAAI,EAAG,MAAM,SAAS,QAAQ,WACvCkB,GAAS,IACT,CAAC,CAACF,GAAQ,IAAIK,IACjB,CACF,CACF,CACF,EAEFC,EAAA,cAACrB,GAAA,KACEgB,GAAWK,EAAA,cAACM,EAAA,CAAQ,MAAM,UAAU,EAEpCV,GAASI,EAAA,cAACvB,GAAA,CAAS,QAAQ,WAAWmB,CAAM,EAE5C,CAAC,CAACF,GACDA,EAAK,QAAQ,MAAM,IAAI,CAACa,EAAMC,IAC5BR,EAAA,cAACS,GAAA,CAAS,IAAKD,GACZA,IAAU,GACTR,EAAA,cAAClB,GAAA,KACCkB,EAAA,cAACU,GAAA,CACC,UAAU,WACV,KAAMH,EAAK,KAAK,KAChB,OAAQA,EAAK,KAAK,OAClB,UAAWA,EAAK,KAAK,eACrB,WAAYA,EAAK,KAAK,WACtB,OAAQA,EAAK,WACf,EACAP,EAAA,cAACjB,GAAA,IAAI,CACP,EAEFiB,EAAA,cAACT,GAAA,KACCS,EAAA,cAACpB,GAAA,IAAK,EACNoB,EAAA,cAACW,EAAA,CAAM,IAAKJ,EAAK,YAAa,IAAKA,EAAK,UAAW,KAAM,GAAI,EAC7DP,EAAA,cAACpB,GAAA,IAAK,CACR,EAEC4B,EAAQ,IAAMd,EAAK,QAAQ,MAAM,QAAUM,EAAA,cAAChB,GAAA,IAAW,EACxDgB,EAAA,cAACU,GAAA,CACC,UAAU,WACV,KAAMH,EAAK,GAAG,KACd,OAAQA,EAAK,GAAG,OAChB,UAAWA,EAAK,GAAG,eACnB,WAAYA,EAAK,GAAG,WACpB,OAAQA,EAAK,SACf,CACF,CACD,EACF,CAAC,CAACb,GAAQ,CAACA,GAAM,QAChBM,EAAA,cAACtB,EAAA,CAAW,QAAQ,SAASyB,GAAK,EAAE,iBAAiB,CAAE,CAE3D,CACF,CAEJ,CA/EgBS,EAAApB,GAAA,aOtJhB,OAAOqB,MAAW,QAClB,OAAS,QAAAC,OAAY,eAIrB,IAAMC,GAAYC,EAAO,MAAO,CAC9B,QAAS,OACT,MAAO,OACP,eAAgB,MAChB,WAAY,SACZ,WAAY,KACd,CAAC,EAEKC,GAAOD,EAAO,MAAO,CACzB,KAAM,cACN,MAAO,MACP,OAAQ,YACV,CAAC,EAEKE,GAAeF,EAAO,IAAK,CAC/B,QAAS,OACT,eAAgB,SAChB,WAAY,SACZ,eAAgB,MAClB,CAAC,EAEM,SAASG,IAAa,CAC3B,OACEC,EAAA,cAACL,GAAA,KACCK,EAAA,cAACC,EAAA,CAAW,QAAQ,UAAU,MAAM,eACjCC,GAAK,EAAE,YAAY,CACtB,EACAF,EAAA,cAACF,GAAA,CAAa,KAAK,yBAAyB,OAAO,UACjDE,EAAA,cAACH,GAAA,CAAK,MAAM,6BAA6B,QAAQ,gBAC/CG,EAAA,cAAC,WAAK,EACNA,EAAA,cAAC,KAAE,GAAG,UAAU,YAAU,WACxBA,EAAA,cAAC,KAAE,GAAG,YAAY,YAAU,WAC1BA,EAAA,cAAC,QAAK,EAAE,mzBAAmzB,EAC3zBA,EAAA,cAAC,QAAK,EAAE,6LAA6L,CACvM,CACF,CACF,EACAA,EAAA,cAACC,EAAA,CAAW,QAAQ,SAAQ,OAAK,CACnC,CACF,CAEJ,CApBgBE,EAAAJ,GAAA,cCzBhB,OAAOK,OAAkD,QAKzD,IAAMC,GAAkBC,EAAO,SAAU,CACvC,aAAc,KACd,SAAU,MACV,WAAY,OACZ,OAAQ,UACR,QAAS,QACT,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,WAAY,YACZ,OAAQ,IAER,WAAY,CACV,UAAW,aACb,EAEA,SAAU,CACR,MAAO,CACL,MAAO,CACL,QAAS,OACT,MAAO,MACT,EACA,KAAM,CACJ,QAAS,OACT,MAAO,MACT,CACF,EACA,KAAM,CACJ,QAAS,CAAC,EACV,KAAM,CAAC,EACP,MAAO,CACL,OAAQ,KACV,EACA,OAAQ,CACN,OAAQ,KACV,EACA,MAAO,CACL,OAAQ,KACV,CACF,EACA,QAAS,CACP,UAAW,CACT,gBAAiB,cACjB,MAAO,cACP,OAAQ,EACR,UAAW,CACT,gBAAiB,aACnB,EACA,aAAc,CACZ,WAAY,aACd,EACA,mBAAoB,CAClB,WAAY,cACZ,UAAW,OACb,CACF,EACA,SAAU,CACR,gBAAiB,WACjB,OAAQ,EACR,YAAa,QACb,YAAa,cACb,MAAO,cACP,UAAW,CACT,YAAa,aACf,EACA,aAAc,CACZ,YAAa,cACb,MAAO,aACT,CACF,EACA,MAAO,CACL,MAAO,cACP,UAAW,CACT,gBAAiB,aACnB,EACA,aAAc,CACZ,MAAO,aACT,EACA,WAAY,cACZ,OAAQ,EAER,CAAC,KAAKC,GAAY,EAAG,CACnB,MAAO,SACT,CACF,CACF,EACA,UAAW,CACT,KAAM,CACJ,MAAO,MACT,CACF,EACA,QAAS,CACP,KAAM,CAAC,CACT,EACA,KAAM,CACJ,QAAS,CAAC,EACV,MAAO,CAAC,EACR,QAAS,CAAC,EACV,QAAS,CAAC,CACZ,CACF,EAEA,iBAAkB,CAChB,CACE,KAAM,UACN,QAAS,YACT,IAAK,CACH,WAAY,WACZ,MAAO,SACP,UAAW,CACT,WAAY,aACd,EACA,YAAa,CACX,WAAY,aACd,EACA,UAAW,CACT,WAAY,aACd,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,WACT,IAAK,CACH,MAAO,WACP,YAAa,WACb,UAAW,CACT,MAAO,cACP,YAAa,aACf,EACA,YAAa,CACX,MAAO,cACP,YAAa,aACf,EACA,UAAW,CACT,MAAO,cACP,YAAa,aACf,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,QACT,IAAK,CACH,MAAO,WACP,UAAW,CACT,MAAO,aACT,EACA,YAAa,CAAE,MAAO,aAAc,EACpC,UAAW,CACT,MAAO,aACT,CACF,CACF,EACA,CACE,KAAM,QACN,QAAS,YACT,IAAK,CACH,WAAY,SACZ,QAAS,qBACT,CAAC,IAAIC,KAAa,EAAG,CACnB,QAAS,oBACX,EACA,MAAO,UACP,UAAW,CACT,WAAY,WACd,EACA,YAAa,CACX,WAAY,WACd,EACA,UAAW,CACT,WAAY,WACd,CACF,CACF,EACA,CACE,KAAM,QACN,QAAS,WACT,IAAK,CACH,MAAO,SACP,YAAa,SACb,UAAW,CACT,MAAO,YACP,YAAa,WACf,EACA,YAAa,CACX,MAAO,YACP,YAAa,WACf,EACA,UAAW,CACT,MAAO,YACP,YAAa,WACf,CACF,CACF,EACA,CACE,KAAM,QACN,QAAS,QACT,IAAK,CACH,MAAO,SACP,UAAW,CACT,MAAO,WACT,EACA,YAAa,CACX,MAAO,WACT,EACA,UAAW,CACT,MAAO,WACT,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,YACT,IAAK,CACH,WAAY,WACZ,QAAS,qBACT,CAAC,IAAIA,KAAa,EAAG,CACnB,QAAS,oBACX,EACA,MAAO,UACP,UAAW,CACT,WAAY,aACd,EACA,YAAa,CACX,WAAY,aACd,EACA,UAAW,CACT,WAAY,aACd,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,WACT,IAAK,CACH,MAAO,WACP,YAAa,WACb,UAAW,CACT,MAAO,cACP,YAAa,aACf,EACA,YAAa,CACX,MAAO,cACP,YAAa,aACf,EACA,UAAW,CACT,MAAO,cACP,YAAa,aACf,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,QACT,IAAK,CACH,MAAO,WACP,UAAW,CACT,MAAO,aACT,EACA,YAAa,CACX,MAAO,aACT,EACA,UAAW,CACT,MAAO,aACT,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,YACT,IAAK,CACH,WAAY,WACZ,QAAS,qBACT,CAAC,IAAIA,KAAa,EAAG,CACnB,QAAS,oBACX,EACA,MAAO,UACP,UAAW,CACT,WAAY,aACd,EACA,YAAa,CACX,WAAY,aACd,EACA,UAAW,CACT,WAAY,aACd,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,WACT,IAAK,CACH,MAAO,WACP,YAAa,WACb,UAAW,CACT,MAAO,cACP,YAAa,aACf,EACA,YAAa,CACX,MAAO,cACP,YAAa,aACf,EACA,UAAW,CACT,MAAO,cACP,YAAa,aACf,CACF,CACF,EACA,CACE,KAAM,UACN,QAAS,QACT,IAAK,CACH,MAAO,WACP,UAAW,CACT,MAAO,aACT,EACA,YAAa,CACX,MAAO,aACT,EACA,UAAW,CACT,MAAO,aACT,CACF,CACF,EACA,CACE,KAAM,UACN,IAAK,CACH,QAAS,QACT,SAAU,KACZ,CACF,CACF,EACA,gBAAiB,CACf,KAAM,SACN,QAAS,WACX,CACF,CAAC,EAEKC,GAAUH,EAAO,MAAO,CAC5B,KAAM,EACN,SAAU,CACR,MAAO,CACL,MAAO,CACL,UAAW,MACb,EACA,KAAM,CACJ,UAAW,QACb,CACF,EACA,GAAI,CACF,KAAM,CACJ,WAAY,IACd,CACF,EACA,GAAI,CACF,KAAM,CACJ,YAAa,IACf,CACF,EACA,YAAa,CACX,KAAM,CACJ,QAAS,OAC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",
|
|
6
6
|
"names": ["React", "useEffect", "i18n", "I18nProvider", "messages", "messages", "messages", "messages", "DEFAULT_LANGUAGE", "messages", "i18n", "I18nManager", "props", "useEffect", "React", "I18nProvider", "__name", "React", "React", "createStitches", "theme", "media", "utils", "value", "typedCreateStiches", "styled", "css", "createTheme", "keyframes", "globalCss", "config", "lightTheme", "darkTheme", "SvgWithStrokeColor", "styled", "darkTheme", "SvgWithFillColor", "DeleteCircleIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "CheckSquareIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "AddIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "InfoCircleIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "AddCircleIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "MinusCircleIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "CheckCircleIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "CheckIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "BanIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "WarningIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "HistoryIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "GasIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "SettingsIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "TrashIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "SearchMinusIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "SearchIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "AngleRightIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "AngleUpIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "AngleDownIcon", "__name", "size", "color", "props", "React", "SvgWithStrokeColor", "React", "AngleLeftIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "AngleDownIcon", "React", "DownloadIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "ChevronRightIcon", "color", "size", "props", "forwardedRef", "SvgWithStrokeColor", "React", "ArrowRightIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "RetryRightIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "RetryLeftIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "TryAgainIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "VerticalSwapIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "HorizontalSwapIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "RetryIcon", "color", "size", "props", "forwardedRef", "SvgWithStrokeColor", "React", "WalletIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "AddWalletIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "DeleteWalletIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "CheckWalletIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "SwapWalletIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "DisconnectIcon", "color", "size", "props", "forwardedRef", "SvgWithStrokeColor", "React", "BagIcon", "__name", "size", "color", "props", "SvgWithStrokeColor", "React", "TimeIcon", "size", "props", "forwardedRef", "SvgWithStrokeColor", "CloseIcon", "styled", "AddIcon", "React", "SignatureIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "CopyIcon", "__name", "size", "color", "props", "SvgWithFillColor", "React", "TypographyContainer", "styled", "Typography", "children", "className", "color", "props", "customCss", "React", "__name", "React", "DividerContainer", "styled", "Divider", "size", "direction", "React", "__name", "MainContainer", "styled", "Alert", "props", "type", "children", "title", "showIcon", "React", "CheckCircleIcon", "WarningIcon", "InfoCircleIcon", "Divider", "Typography", "__name", "React", "i18n", "LoadingFailedAlert", "React", "Alert", "i18n", "__name", "React", "NotFoundAlert", "props", "catergory", "searchedFor", "React", "Alert", "__name", "React", "Fragment", "i18n", "React", "StepLogoContainer", "styled", "Logo", "ChainLogo", "StepContainer", "Detail", "SubTitle", "Typography", "StepDetail", "props", "logo", "chainLogo", "amount", "symbol", "blockchain", "estimatedAmount", "success", "direction", "React", "__name", "React", "waveSquares", "keyframes", "SkeletonContainer", "styled", "Skeleton", "width", "height", "React", "__name", "React", "spin", "keyframes", "SpinnerContainer", "styled", "Spinner", "size", "color", "React", "__name", "RadixTooltip", "React", "TooltipTrigger", "styled", "TooltipContent", "TooltipArrow", "ChildrenWrapper", "Tooltip", "children", "content", "side", "color", "React", "__name", "FilledCircle", "styled", "React", "ImageContainer", "styled", "Image", "props", "size", "otherProps", "React", "__name", "Container", "styled", "ErrorMsg", "Typography", "BestRouteContainer", "Line", "HR", "RelativeContainer", "Dot", "ArrowRight", "pulse", "keyframes", "GasContainer", "CostContainer", "TotalFee", "SkeletonContainer", "SwapperContainer", "BestRoute", "props", "data", "loading", "error", "totalFee", "feeWarning", "totalTime", "React", "Skeleton", "Tooltip", "i18n", "GasIcon", "TimeIcon", "Spinner", "swap", "index", "Fragment", "StepDetail", "Image", "__name", "React", "i18n", "Container", "styled", "Logo", "StyledAnchor", "BottomLogo", "React", "Typography", "i18n", "__name", "React", "ButtonContainer", "styled", "Typography", "darkTheme", "Content", "Button", "children", "loading", "disabled", "prefix", "suffix", "align", "flexContent", "props", "React", "Spinner", "__name", "React", "i18n", "ChangeSlippageButton", "props", "onClick", "React", "Button", "i18n", "__name", "React", "RadixCheckbox", "CheckboxContainer", "styled", "CheckboxRoot", "Label", "Checkbox", "label", "id", "props", "React", "CheckIcon", "__name", "React", "ChipCointainer", "styled", "Chip", "props", "label", "selected", "prefix", "suffix", "onClick", "style", "React", "__name", "React", "useState", "rgbHex", "ReactColor", "ChromePicker", "ReactColor", "Container", "styled", "Color", "Cover", "Popover", "Label", "ColorPicker", "color", "onChangeColor", "label", "place", "placeholder", "displayColorPicker", "setDisplayColorPicker", "useState", "React", "Button", "e", "CloseIcon", "prev", "c", "rgbHex", "__name", "React", "createPortal", "BackDrop", "styled", "DrawerContainer", "DrawerHeader", "Body", "Footer", "Drawer", "props", "title", "content", "open", "onClose", "containerStyle", "anchor", "showClose", "footer", "container", "React", "createPortal", "__name", "event", "Typography", "CloseIcon", "React", "HeaderContainer", "styled", "BackButton", "Button", "Header", "props", "React", "AngleLeftIcon", "Typography", "__name", "React", "i18n", "ButtonsContainer", "styled", "HeaderButtons", "props", "onClickRefresh", "onClickHistory", "onClickSettings", "React", "Tooltip", "i18n", "Button", "RetryIcon", "HistoryIcon", "SettingsIcon", "__name", "React", "useEffect", "createPortal", "BackDrop", "styled", "ModalContainer", "Row", "ModalHeader", "Modal", "props", "title", "content", "open", "onClose", "containerStyle", "action", "handleBackDropClick", "__name", "event", "useEffect", "React", "createPortal", "Typography", "CloseIcon", "React", "RadioGroup", "StyledRoot", "styled", "ItemContainer", "StyledItem", "Container", "StyledIndicator", "Label", "Radio", "props", "value", "onChange", "direction", "style", "React", "option", "index", "Typography", "__name", "React", "useState", "React", "InputContainer", "styled", "Input", "Label", "TextField", "React", "props", "ref", "label", "prefix", "suffix", "children", "size", "style", "inputAttributes", "ContentContainer", "styled", "TextFieldContainer", "SecondaryPage", "props", "title", "Footer", "TopButton", "onBack", "hasHeader", "searchedFor", "setSearchedFor", "useState", "React", "Header", "TextField", "SearchIcon", "event", "Divider", "__name", "React", "useEffect", "useState", "containsText", "text", "searchText", "__name", "getConciseAddress", "address", "maxChars", "ellipsisLength", "start", "end", "limitDecimalPlaces", "numberString", "maxDecimalPlaces", "number", "multiplier", "hexToRgb", "hex", "value", "c", "v", "isHexTooDark", "hexColor", "r", "g", "b", "isHexTooLight", "colorShade", "col", "amt", "rr", "gg", "bb", "generateRangeColors", "name", "mode", "color", "colors", "i", "Row", "styled", "Circle", "SolidCircle", "Container", "SelectableWalletList", "list", "onChange", "active", "setActive", "useState", "item", "onClick", "__name", "w", "useEffect", "React", "index", "checked", "Image", "Typography", "getConciseAddress", "React", "MainContainer", "styled", "SwapContainer", "props", "children", "style", "fixedHeight", "React", "__name", "React", "React", "TokenContainer", "styled", "TokenImage", "Token", "props", "token", "blockchain", "amount", "estimatedAmount", "React", "Image", "Divider", "__name", "Container", "styled", "SwapDetail", "swap", "status", "onClick", "firstStep", "lastStep", "React", "Button", "Token", "limitDecimalPlaces", "Divider", "ArrowRightIcon", "Spinner", "__name", "React", "RadixSwitch", "StyledSwitchRoot", "styled", "StyledSwitchThumb", "Switch", "props", "checked", "onChange", "React", "__name", "React", "forwardRef", "useEffect", "useState", "React", "List", "InfiniteLoader", "AutoSizer", "VirtualizedList", "props", "itemCount", "hasNextPage", "loadNextPage", "Item", "innerElementType", "size", "isItemLoaded", "__name", "index", "React", "AutoSizer", "width", "height", "InfiniteLoader", "onItemsRendered", "ref", "List", "style", "React", "TokenImageContainer", "styled", "TokenNameContainer", "TokenAmountContainer", "TokenItem", "props", "token", "style", "onClick", "selected", "React", "Button", "Image", "Typography", "__name", "PAGE_SIZE", "TokenList", "props", "list", "searchedText", "onChange", "multiSelect", "selectedList", "selected", "setSelected", "useState", "changeSelected", "__name", "token", "isSelected", "item", "hasNextPage", "setHasNextPage", "tokens", "setTokens", "loadNextPage", "useEffect", "innerElementType", "forwardRef", "style", "rest", "ref", "React", "VirtualizedList", "index", "TokenItem", "detectInstallLink", "React", "WalletState", "React", "Fragment", "detectInstallLink", "StateIconContainer", "styled", "State", "__name", "walletState", "installLink", "React", "Fragment", "detectInstallLink", "DownloadIcon", "Spinner", "DisconnectIcon", "WalletImageContainer", "styled", "Text", "ExtendedButton", "Button", "Wallet", "props", "name", "type", "image", "state", "onClick", "installLink", "React", "detectInstallLink", "Image", "State", "Typography", "__name", "React", "MainContainer", "styled", "Section", "Footer", "AlertContainer", "ConfirmButton", "Button", "Container", "Alerts", "ConfirmSwap", "props", "onBack", "loading", "onConfirm", "requiredWallets", "selectableWallets", "onChange", "confirmDisabled", "isExperimentalChain", "handleConnectChain", "confirmButtonTitle", "errors", "warnings", "extraMessages", "customDestination", "setCustomDestination", "checkedDestination", "setDestinationChain", "customDestinationEnabled", "isValidCustomDestination", "isWalletRequired", "React", "SecondaryPage", "error", "index", "Divider", "Alert", "warning", "wallet", "list", "w", "Typography", "SelectableWalletList", "Checkbox", "checked", "TextField", "e", "__name", "React", "React", "Group", "styled", "SwapsGroup", "props", "list", "onSwapClick", "groupBy", "groups", "React", "group", "index", "Typography", "swap", "SwapDetail", "Divider", "__name", "React", "LoaderContainer", "styled", "filterTokens", "__name", "list", "searchedFor", "token", "containsText", "TokenSelector", "props", "type", "selected", "hasHeader", "onChange", "onBack", "loadingStatus", "React", "SecondaryPage", "filteredTokens", "Spinner", "LoadingFailedAlert", "TokenList", "NotFoundAlert", "Container", "styled", "filteredHistory", "__name", "list", "searchedFor", "swap", "firstStep", "lastStep", "containsText", "History", "props", "onBack", "onSwapClick", "groupBy", "loading", "React", "SecondaryPage", "filterSwaps", "LoaderContainer", "Spinner", "SwapsGroup", "NotFoundAlert", "React", "useState", "React", "useState", "getAlertType", "__name", "messageType", "DetailedMessage", "styled", "SuccessText", "Typography", "SwapMessages", "props", "shortMessage", "detailedMessage", "currentStepBlockchain", "type", "lastConvertedTokenInFailedSwap", "expandedMessage", "setExpandedMessage", "useState", "allowedNumberOfChars", "shouldShowMoreDetailsButton", "React", "Alert", "Button", "prevState", "SwapperContainer", "styled", "pulse", "BodyError", "ErrorMsg", "Typography", "FeeContainer", "Fee", "RelativeContainer", "Footer", "Dot", "ArrowDown", "StyledAnchor", "SwapInfoContainer", "InternalDetailsContainer", "InternalDetail", "DescriptionContainer", "Description", "Line", "Row", "RequestId", "ExtraDetails", "SwapFlowContainer", "SwapHistory", "props", "pendingSwap", "onBack", "onCopy", "isCopied", "onCancel", "date", "onRetry", "previewInputs", "extraMessageProps", "showDrawer", "setShowDrawer", "useState", "React", "SecondaryPage", "Button", "Divider", "Spinner", "SwapMessages", "step", "index", "StepDetail", "Image", "GasIcon", "item", "CheckCircleIcon", "InfoCircleIcon", "Drawer", "Alert", "__name", "React", "React", "useState", "ListContainer", "styled", "ImageContainer", "BlockchainsList", "props", "list", "onChange", "multiSelect", "selectedList", "selected", "setSelected", "useState", "changeSelectedBlockchain", "__name", "blockchain", "isSelect", "name", "item", "React", "index", "Button", "Image", "FilledCircle", "Typography", "ListContainer", "styled", "filterBlockchains", "__name", "list", "searchedFor", "blockchain", "containsText", "BlockchainSelector", "props", "type", "onChange", "selected", "onBack", "loadingStatus", "hasHeader", "listContainerStyle", "multiSelect", "selectedList", "React", "SecondaryPage", "filteredBlockchains", "LoaderContainer", "Spinner", "LoadingFailedAlert", "BlockchainsList", "NotFoundAlert", "React", "i18n", "ModalContent", "styled", "ConnectWalletsModal", "props", "open", "list", "onSelect", "onClose", "Content", "React", "info", "index", "Wallet", "Modal", "i18n", "__name", "React", "React", "useEffect", "useState", "i18n", "groupLiquiditySources", "__name", "liquiditySources", "liquiditySource", "MainContainer", "styled", "LiquiditySourceType", "LiquidityImageContainer", "LoaderContainer", "LiquiditySourceList", "props", "list", "onChange", "listContainerStyle", "loadingStatus", "searchedFor", "selected", "setSelected", "useState", "item", "changeLiquiditySources", "clickedItem", "prevState", "isSelected", "useEffect", "sections", "bridges", "exchanges", "totalBridges", "totalExchanges", "totalSelectedBridges", "totalSelectedExchanges", "React", "Typography", "i18n", "Divider", "Spinner", "LoadingFailedAlert", "index", "LiquiditySourceItem", "NotFoundAlert", "Button", "Image", "Switch", "filterLiquiditySources", "__name", "liquiditySources", "searchedFor", "liquiditySource", "containsText", "LiquiditySourcesSelector", "props", "list", "onChange", "onBack", "hasHeader", "listContainerStyle", "toggleAll", "loadingStatus", "React", "SecondaryPage", "Button", "item", "LiquiditySourceList", "React", "useState", "i18n", "BaseContainer", "styled", "Title", "Typography", "SlippageChipsContainer", "LiquiditySourceContainer", "InfiniteContainer", "StyledAngleRight", "AngleRightIcon", "LiquiditySourceNumber", "ThemesContainer", "Head", "Settings", "props", "slippages", "selectedLiquiditySources", "liquiditySources", "onSlippageChange", "onLiquiditySourcesClick", "onBack", "customSlippage", "onCustomSlippageChange", "maxSlippage", "minSlippage", "selectedTheme", "onThemeChange", "toggleInfiniteApprove", "infiniteApprove", "loadingStatus", "singleTheme", "selectedSlippage", "setSelectedSlippage", "useState", "changeSlippage", "__name", "slippage", "PageContent", "React", "i18n", "index", "Chip", "TextField", "event", "parsedValue", "Radio", "value", "Switch", "Button", "SecondaryPage", "React", "i18n", "HighSlippageWarning", "props", "highSlippage", "selectedSlippage", "changeSlippage", "React", "Alert", "ChangeSlippageButton", "i18n", "__name", "React", "i18n", "StyledMessage", "styled", "Typography", "MinRequiredSlippage", "minRequiredSlippage", "changeSlippage", "React", "i18n", "Divider", "ChangeSlippageButton", "__name", "React", "i18n", "List", "styled", "ListItem", "Message", "Typography", "BalanceErrors", "messages", "showListStyle", "React", "i18n", "Divider", "warning", "index", "__name", "React", "copy", "useCopyToClipboard", "resetInterval", "isCopied", "setCopied", "React", "handleCopy", "text", "copy", "timeout", "__name"]
|
|
7
7
|
}
|