@reown/appkit-ui-react-native 1.2.6 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/assets/svg/ArrowBottom.js +1 -1
- package/lib/commonjs/assets/svg/ArrowBottomCircle.js +1 -1
- package/lib/commonjs/assets/svg/ArrowLeft.js +1 -1
- package/lib/commonjs/assets/svg/ArrowRight.js +1 -1
- package/lib/commonjs/assets/svg/ArrowTop.js +1 -1
- package/lib/commonjs/assets/svg/Browser.js +2 -2
- package/lib/commonjs/assets/svg/Card.js +21 -0
- package/lib/commonjs/assets/svg/Card.js.map +1 -0
- package/lib/commonjs/assets/svg/Checkmark.js +1 -1
- package/lib/commonjs/assets/svg/ChevronBottom.js +1 -1
- package/lib/commonjs/assets/svg/ChevronLeft.js +1 -1
- package/lib/commonjs/assets/svg/ChevronRight.js +1 -1
- package/lib/commonjs/assets/svg/ChevronRightSmall.js +1 -1
- package/lib/commonjs/assets/svg/ChevronTop.js +1 -1
- package/lib/commonjs/assets/svg/Clock.js +4 -4
- package/lib/commonjs/assets/svg/Clock.js.map +1 -1
- package/lib/commonjs/assets/svg/Close.js +1 -1
- package/lib/commonjs/assets/svg/CoinPlaceholder.js +1 -1
- package/lib/commonjs/assets/svg/Compass.js +1 -1
- package/lib/commonjs/assets/svg/Copy.js +1 -1
- package/lib/commonjs/assets/svg/CopySmall.js +1 -1
- package/lib/commonjs/assets/svg/CurrencyDollar.js +21 -0
- package/lib/commonjs/assets/svg/CurrencyDollar.js.map +1 -0
- package/lib/commonjs/assets/svg/Cursor.js +1 -1
- package/lib/commonjs/assets/svg/Desktop.js +2 -2
- package/lib/commonjs/assets/svg/Disconnect.js +1 -1
- package/lib/commonjs/assets/svg/Etherscan.js +1 -1
- package/lib/commonjs/assets/svg/Extension.js +1 -1
- package/lib/commonjs/assets/svg/ExternalLink.js +1 -1
- package/lib/commonjs/assets/svg/Filters.js +1 -1
- package/lib/commonjs/assets/svg/HelpCircle.js +2 -2
- package/lib/commonjs/assets/svg/InfoCircle.js +2 -2
- package/lib/commonjs/assets/svg/Mail.js +1 -1
- package/lib/commonjs/assets/svg/Mobile.js +2 -2
- package/lib/commonjs/assets/svg/More.js +1 -1
- package/lib/commonjs/assets/svg/NetworkPlaceholder.js +2 -2
- package/lib/commonjs/assets/svg/NftPlaceholder.js +1 -1
- package/lib/commonjs/assets/svg/Off.js +1 -1
- package/lib/commonjs/assets/svg/Paperplane.js +1 -1
- package/lib/commonjs/assets/svg/Plus.js +1 -1
- package/lib/commonjs/assets/svg/QrCode.js +1 -1
- package/lib/commonjs/assets/svg/RecycleHorizontal.js +1 -1
- package/lib/commonjs/assets/svg/Refresh.js +1 -1
- package/lib/commonjs/assets/svg/Search.js +1 -1
- package/lib/commonjs/assets/svg/Settings.js +21 -0
- package/lib/commonjs/assets/svg/Settings.js.map +1 -0
- package/lib/commonjs/assets/svg/SwapHorizontal.js +1 -1
- package/lib/commonjs/assets/svg/SwapVertical.js +1 -1
- package/lib/commonjs/assets/svg/Verify.js +1 -1
- package/lib/commonjs/assets/svg/Wallet.js +1 -1
- package/lib/commonjs/assets/svg/WalletConnect.js +1 -1
- package/lib/commonjs/assets/svg/WalletPlaceholder.js +1 -1
- package/lib/commonjs/assets/svg/WalletSmall.js +1 -1
- package/lib/commonjs/assets/svg/WarningCircle.js +2 -2
- package/lib/commonjs/components/wui-icon/index.js +6 -0
- package/lib/commonjs/components/wui-icon/index.js.map +1 -1
- package/lib/commonjs/components/wui-pressable/index.js +5 -2
- package/lib/commonjs/components/wui-pressable/index.js.map +1 -1
- package/lib/commonjs/composites/wui-button/index.js +3 -1
- package/lib/commonjs/composites/wui-button/index.js.map +1 -1
- package/lib/commonjs/composites/wui-button/styles.js +1 -1
- package/lib/commonjs/composites/wui-card-select/index.js +1 -1
- package/lib/commonjs/composites/wui-card-select/index.js.map +1 -1
- package/lib/commonjs/composites/wui-double-image-loader/index.js +57 -0
- package/lib/commonjs/composites/wui-double-image-loader/index.js.map +1 -0
- package/lib/commonjs/composites/wui-double-image-loader/index.native.js +94 -0
- package/lib/commonjs/composites/wui-double-image-loader/index.native.js.map +1 -0
- package/lib/commonjs/composites/wui-double-image-loader/styles.js +31 -0
- package/lib/commonjs/composites/wui-double-image-loader/styles.js.map +1 -0
- package/lib/commonjs/composites/wui-icon-box/index.js +4 -2
- package/lib/commonjs/composites/wui-icon-box/index.js.map +1 -1
- package/lib/commonjs/composites/wui-list-item/index.js +13 -8
- package/lib/commonjs/composites/wui-list-item/index.js.map +1 -1
- package/lib/commonjs/composites/wui-list-social/styles.js +1 -1
- package/lib/commonjs/composites/wui-list-social/styles.js.map +1 -1
- package/lib/commonjs/composites/wui-list-token/index.js +1 -3
- package/lib/commonjs/composites/wui-list-token/index.js.map +1 -1
- package/lib/commonjs/composites/wui-network-button/styles.js +1 -2
- package/lib/commonjs/composites/wui-network-button/styles.js.map +1 -1
- package/lib/commonjs/composites/wui-network-image/index.js +31 -28
- package/lib/commonjs/composites/wui-network-image/index.js.map +1 -1
- package/lib/commonjs/composites/wui-numeric-keyboard/index.js +56 -0
- package/lib/commonjs/composites/wui-numeric-keyboard/index.js.map +1 -0
- package/lib/commonjs/composites/wui-search-bar/index.js +8 -4
- package/lib/commonjs/composites/wui-search-bar/index.js.map +1 -1
- package/lib/commonjs/composites/wui-tag/index.js +3 -2
- package/lib/commonjs/composites/wui-tag/index.js.map +1 -1
- package/lib/commonjs/composites/wui-toggle/index.js +3 -2
- package/lib/commonjs/composites/wui-toggle/index.js.map +1 -1
- package/lib/commonjs/composites/wui-token-button/index.js +32 -10
- package/lib/commonjs/composites/wui-token-button/index.js.map +1 -1
- package/lib/commonjs/composites/wui-token-button/styles.js +14 -1
- package/lib/commonjs/composites/wui-token-button/styles.js.map +1 -1
- package/lib/commonjs/index.js +14 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/layout/wui-flex/index.js +2 -1
- package/lib/commonjs/layout/wui-flex/index.js.map +1 -1
- package/lib/commonjs/layout/wui-separator/index.js +5 -4
- package/lib/commonjs/layout/wui-separator/index.js.map +1 -1
- package/lib/module/assets/svg/ArrowBottom.js +1 -1
- package/lib/module/assets/svg/ArrowBottomCircle.js +1 -1
- package/lib/module/assets/svg/ArrowLeft.js +1 -1
- package/lib/module/assets/svg/ArrowRight.js +1 -1
- package/lib/module/assets/svg/ArrowTop.js +1 -1
- package/lib/module/assets/svg/Browser.js +2 -2
- package/lib/module/assets/svg/Card.js +13 -0
- package/lib/module/assets/svg/Card.js.map +1 -0
- package/lib/module/assets/svg/Checkmark.js +1 -1
- package/lib/module/assets/svg/ChevronBottom.js +1 -1
- package/lib/module/assets/svg/ChevronLeft.js +1 -1
- package/lib/module/assets/svg/ChevronRight.js +1 -1
- package/lib/module/assets/svg/ChevronRightSmall.js +1 -1
- package/lib/module/assets/svg/ChevronTop.js +1 -1
- package/lib/module/assets/svg/Clock.js +4 -4
- package/lib/module/assets/svg/Clock.js.map +1 -1
- package/lib/module/assets/svg/Close.js +1 -1
- package/lib/module/assets/svg/CoinPlaceholder.js +1 -1
- package/lib/module/assets/svg/Compass.js +1 -1
- package/lib/module/assets/svg/Copy.js +1 -1
- package/lib/module/assets/svg/CopySmall.js +1 -1
- package/lib/module/assets/svg/CurrencyDollar.js +13 -0
- package/lib/module/assets/svg/CurrencyDollar.js.map +1 -0
- package/lib/module/assets/svg/Cursor.js +1 -1
- package/lib/module/assets/svg/Desktop.js +2 -2
- package/lib/module/assets/svg/Disconnect.js +1 -1
- package/lib/module/assets/svg/Etherscan.js +1 -1
- package/lib/module/assets/svg/Extension.js +1 -1
- package/lib/module/assets/svg/ExternalLink.js +1 -1
- package/lib/module/assets/svg/Filters.js +1 -1
- package/lib/module/assets/svg/HelpCircle.js +2 -2
- package/lib/module/assets/svg/InfoCircle.js +2 -2
- package/lib/module/assets/svg/Mail.js +1 -1
- package/lib/module/assets/svg/Mobile.js +2 -2
- package/lib/module/assets/svg/More.js +1 -1
- package/lib/module/assets/svg/NetworkPlaceholder.js +2 -2
- package/lib/module/assets/svg/NftPlaceholder.js +1 -1
- package/lib/module/assets/svg/Off.js +1 -1
- package/lib/module/assets/svg/Paperplane.js +1 -1
- package/lib/module/assets/svg/Plus.js +1 -1
- package/lib/module/assets/svg/QrCode.js +1 -1
- package/lib/module/assets/svg/RecycleHorizontal.js +1 -1
- package/lib/module/assets/svg/Refresh.js +1 -1
- package/lib/module/assets/svg/Search.js +1 -1
- package/lib/module/assets/svg/Settings.js +13 -0
- package/lib/module/assets/svg/Settings.js.map +1 -0
- package/lib/module/assets/svg/SwapHorizontal.js +1 -1
- package/lib/module/assets/svg/SwapVertical.js +1 -1
- package/lib/module/assets/svg/Verify.js +1 -1
- package/lib/module/assets/svg/Wallet.js +1 -1
- package/lib/module/assets/svg/WalletConnect.js +1 -1
- package/lib/module/assets/svg/WalletPlaceholder.js +1 -1
- package/lib/module/assets/svg/WalletSmall.js +1 -1
- package/lib/module/assets/svg/WarningCircle.js +2 -2
- package/lib/module/components/wui-icon/index.js +6 -0
- package/lib/module/components/wui-icon/index.js.map +1 -1
- package/lib/module/components/wui-pressable/index.js +5 -2
- package/lib/module/components/wui-pressable/index.js.map +1 -1
- package/lib/module/composites/wui-button/index.js +3 -1
- package/lib/module/composites/wui-button/index.js.map +1 -1
- package/lib/module/composites/wui-button/styles.js +1 -1
- package/lib/module/composites/wui-card-select/index.js +1 -1
- package/lib/module/composites/wui-card-select/index.js.map +1 -1
- package/lib/module/composites/wui-double-image-loader/index.js +50 -0
- package/lib/module/composites/wui-double-image-loader/index.js.map +1 -0
- package/lib/module/composites/wui-double-image-loader/index.native.js +87 -0
- package/lib/module/composites/wui-double-image-loader/index.native.js.map +1 -0
- package/lib/module/composites/wui-double-image-loader/styles.js +25 -0
- package/lib/module/composites/wui-double-image-loader/styles.js.map +1 -0
- package/lib/module/composites/wui-icon-box/index.js +4 -2
- package/lib/module/composites/wui-icon-box/index.js.map +1 -1
- package/lib/module/composites/wui-list-item/index.js +13 -8
- package/lib/module/composites/wui-list-item/index.js.map +1 -1
- package/lib/module/composites/wui-list-social/styles.js +1 -1
- package/lib/module/composites/wui-list-social/styles.js.map +1 -1
- package/lib/module/composites/wui-list-token/index.js +1 -3
- package/lib/module/composites/wui-list-token/index.js.map +1 -1
- package/lib/module/composites/wui-network-button/styles.js +1 -2
- package/lib/module/composites/wui-network-button/styles.js.map +1 -1
- package/lib/module/composites/wui-network-image/index.js +31 -29
- package/lib/module/composites/wui-network-image/index.js.map +1 -1
- package/lib/module/composites/wui-numeric-keyboard/index.js +50 -0
- package/lib/module/composites/wui-numeric-keyboard/index.js.map +1 -0
- package/lib/module/composites/wui-search-bar/index.js +8 -4
- package/lib/module/composites/wui-search-bar/index.js.map +1 -1
- package/lib/module/composites/wui-tag/index.js +3 -2
- package/lib/module/composites/wui-tag/index.js.map +1 -1
- package/lib/module/composites/wui-toggle/index.js +3 -2
- package/lib/module/composites/wui-toggle/index.js.map +1 -1
- package/lib/module/composites/wui-token-button/index.js +29 -7
- package/lib/module/composites/wui-token-button/index.js.map +1 -1
- package/lib/module/composites/wui-token-button/styles.js +14 -1
- package/lib/module/composites/wui-token-button/styles.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/layout/wui-flex/index.js +2 -1
- package/lib/module/layout/wui-flex/index.js.map +1 -1
- package/lib/module/layout/wui-separator/index.js +5 -4
- package/lib/module/layout/wui-separator/index.js.map +1 -1
- package/lib/module/utils/TransactionUtil.js.map +1 -1
- package/lib/typescript/assets/svg/Card.d.ts +4 -0
- package/lib/typescript/assets/svg/Card.d.ts.map +1 -0
- package/lib/typescript/assets/svg/CurrencyDollar.d.ts +4 -0
- package/lib/typescript/assets/svg/CurrencyDollar.d.ts.map +1 -0
- package/lib/typescript/assets/svg/Settings.d.ts +4 -0
- package/lib/typescript/assets/svg/Settings.d.ts.map +1 -0
- package/lib/typescript/components/wui-icon/index.d.ts.map +1 -1
- package/lib/typescript/components/wui-pressable/index.d.ts +2 -1
- package/lib/typescript/components/wui-pressable/index.d.ts.map +1 -1
- package/lib/typescript/components/wui-shimmer/index.d.ts +2 -2
- package/lib/typescript/components/wui-shimmer/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-button/index.d.ts +2 -1
- package/lib/typescript/composites/wui-button/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-double-image-loader/index.d.ts +16 -0
- package/lib/typescript/composites/wui-double-image-loader/index.d.ts.map +1 -0
- package/lib/typescript/composites/wui-double-image-loader/index.native.d.ts +16 -0
- package/lib/typescript/composites/wui-double-image-loader/index.native.d.ts.map +1 -0
- package/lib/typescript/composites/wui-double-image-loader/styles.d.ts +24 -0
- package/lib/typescript/composites/wui-double-image-loader/styles.d.ts.map +1 -0
- package/lib/typescript/composites/wui-icon-box/index.d.ts +2 -1
- package/lib/typescript/composites/wui-icon-box/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-list-item/index.d.ts +6 -2
- package/lib/typescript/composites/wui-list-item/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-list-token/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-network-button/styles.d.ts +0 -1
- package/lib/typescript/composites/wui-network-button/styles.d.ts.map +1 -1
- package/lib/typescript/composites/wui-network-image/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-numeric-keyboard/index.d.ts +8 -0
- package/lib/typescript/composites/wui-numeric-keyboard/index.d.ts.map +1 -0
- package/lib/typescript/composites/wui-search-bar/index.d.ts +3 -2
- package/lib/typescript/composites/wui-search-bar/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-tag/index.d.ts +3 -2
- package/lib/typescript/composites/wui-tag/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-toggle/index.d.ts +8 -1
- package/lib/typescript/composites/wui-toggle/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-token-button/index.d.ts +7 -2
- package/lib/typescript/composites/wui-token-button/index.d.ts.map +1 -1
- package/lib/typescript/composites/wui-token-button/styles.d.ts +13 -0
- package/lib/typescript/composites/wui-token-button/styles.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +2 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/layout/wui-flex/index.d.ts +1 -0
- package/lib/typescript/layout/wui-flex/index.d.ts.map +1 -1
- package/lib/typescript/layout/wui-separator/index.d.ts +3 -1
- package/lib/typescript/layout/wui-separator/index.d.ts.map +1 -1
- package/lib/typescript/utils/TransactionUtil.d.ts +1 -1
- package/lib/typescript/utils/TransactionUtil.d.ts.map +1 -1
- package/lib/typescript/utils/TypesUtil.d.ts +1 -1
- package/lib/typescript/utils/TypesUtil.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/assets/svg/ArrowBottom.tsx +1 -1
- package/src/assets/svg/ArrowBottomCircle.tsx +1 -1
- package/src/assets/svg/ArrowLeft.tsx +1 -1
- package/src/assets/svg/ArrowRight.tsx +1 -1
- package/src/assets/svg/ArrowTop.tsx +1 -1
- package/src/assets/svg/Browser.tsx +2 -2
- package/src/assets/svg/Card.tsx +13 -0
- package/src/assets/svg/Checkmark.tsx +1 -1
- package/src/assets/svg/ChevronBottom.tsx +1 -1
- package/src/assets/svg/ChevronLeft.tsx +1 -1
- package/src/assets/svg/ChevronRight.tsx +1 -1
- package/src/assets/svg/ChevronRightSmall.tsx +1 -1
- package/src/assets/svg/ChevronTop.tsx +1 -1
- package/src/assets/svg/Clock.tsx +3 -3
- package/src/assets/svg/Close.tsx +1 -1
- package/src/assets/svg/CoinPlaceholder.tsx +1 -1
- package/src/assets/svg/Compass.tsx +1 -1
- package/src/assets/svg/Copy.tsx +1 -1
- package/src/assets/svg/CopySmall.tsx +1 -1
- package/src/assets/svg/CurrencyDollar.tsx +12 -0
- package/src/assets/svg/Cursor.tsx +1 -1
- package/src/assets/svg/Desktop.tsx +2 -2
- package/src/assets/svg/Disconnect.tsx +1 -1
- package/src/assets/svg/Etherscan.tsx +1 -1
- package/src/assets/svg/Extension.tsx +1 -1
- package/src/assets/svg/ExternalLink.tsx +1 -1
- package/src/assets/svg/Filters.tsx +1 -1
- package/src/assets/svg/HelpCircle.tsx +2 -2
- package/src/assets/svg/InfoCircle.tsx +2 -2
- package/src/assets/svg/Mail.tsx +1 -1
- package/src/assets/svg/Mobile.tsx +2 -2
- package/src/assets/svg/More.tsx +1 -1
- package/src/assets/svg/NetworkPlaceholder.tsx +2 -2
- package/src/assets/svg/NftPlaceholder.tsx +1 -1
- package/src/assets/svg/Off.tsx +1 -1
- package/src/assets/svg/Paperplane.tsx +1 -1
- package/src/assets/svg/Plus.tsx +1 -1
- package/src/assets/svg/QrCode.tsx +1 -1
- package/src/assets/svg/RecycleHorizontal.tsx +1 -1
- package/src/assets/svg/Refresh.tsx +1 -1
- package/src/assets/svg/Search.tsx +1 -1
- package/src/assets/svg/Settings.tsx +12 -0
- package/src/assets/svg/SwapHorizontal.tsx +1 -1
- package/src/assets/svg/SwapVertical.tsx +1 -1
- package/src/assets/svg/Verify.tsx +1 -1
- package/src/assets/svg/Wallet.tsx +1 -1
- package/src/assets/svg/WalletConnect.tsx +1 -1
- package/src/assets/svg/WalletPlaceholder.tsx +1 -1
- package/src/assets/svg/WalletSmall.tsx +1 -1
- package/src/assets/svg/WarningCircle.tsx +2 -2
- package/src/components/wui-icon/index.tsx +6 -0
- package/src/components/wui-pressable/index.tsx +10 -1
- package/src/components/wui-shimmer/index.tsx +2 -2
- package/src/composites/wui-button/index.tsx +3 -0
- package/src/composites/wui-button/styles.ts +1 -1
- package/src/composites/wui-card-select/index.tsx +1 -1
- package/src/composites/wui-double-image-loader/index.native.tsx +120 -0
- package/src/composites/wui-double-image-loader/index.tsx +74 -0
- package/src/composites/wui-double-image-loader/styles.ts +25 -0
- package/src/composites/wui-icon-box/index.tsx +4 -1
- package/src/composites/wui-list-item/index.tsx +36 -7
- package/src/composites/wui-list-social/styles.ts +1 -1
- package/src/composites/wui-list-token/index.tsx +1 -4
- package/src/composites/wui-network-button/styles.ts +1 -2
- package/src/composites/wui-network-image/index.tsx +47 -31
- package/src/composites/wui-numeric-keyboard/index.tsx +67 -0
- package/src/composites/wui-search-bar/index.tsx +30 -25
- package/src/composites/wui-tag/index.tsx +4 -3
- package/src/composites/wui-toggle/index.tsx +10 -2
- package/src/composites/wui-token-button/index.tsx +27 -4
- package/src/composites/wui-token-button/styles.ts +14 -1
- package/src/index.ts +2 -0
- package/src/layout/wui-flex/index.tsx +2 -1
- package/src/layout/wui-separator/index.tsx +6 -8
- package/src/utils/TransactionUtil.ts +6 -6
- package/src/utils/TypesUtil.ts +3 -0
|
@@ -2,7 +2,7 @@ import Svg, { ClipPath, Defs, G, Path, type SvgProps } from 'react-native-svg';
|
|
|
2
2
|
const SvgWalletConnect = (props: SvgProps) => (
|
|
3
3
|
<Svg fill="none" viewBox="0 0 96 67" {...props}>
|
|
4
4
|
<Path
|
|
5
|
-
fill={props.fill
|
|
5
|
+
fill={props.fill ?? '#fff'}
|
|
6
6
|
d="M25.32 18.8a32.56 32.56 0 0 1 45.36 0l1.5 1.47c.63.62.63 1.61 0 2.22l-5.15 5.05c-.31.3-.82.3-1.14 0l-2.07-2.03a22.71 22.71 0 0 0-31.64 0l-2.22 2.18c-.31.3-.82.3-1.14 0l-5.15-5.05a1.55 1.55 0 0 1 0-2.22l1.65-1.62Zm56.02 10.44 4.59 4.5c.63.6.63 1.6 0 2.21l-20.7 20.26c-.62.61-1.63.61-2.26 0L48.28 41.83a.4.4 0 0 0-.56 0L33.03 56.21c-.63.61-1.64.61-2.27 0L10.07 35.95a1.55 1.55 0 0 1 0-2.22l4.59-4.5a1.63 1.63 0 0 1 2.27 0L31.6 43.63a.4.4 0 0 0 .57 0l14.69-14.38a1.63 1.63 0 0 1 2.26 0l14.69 14.38a.4.4 0 0 0 .57 0l14.68-14.38a1.63 1.63 0 0 1 2.27 0Z"
|
|
7
7
|
/>
|
|
8
8
|
<Path
|
|
@@ -11,7 +11,7 @@ const SvgWalletPlaceholder = (props: SvgProps) => {
|
|
|
11
11
|
d="M4.56 8.64c-1.23 1.68-1.23 4.08-1.23 8.88v8.96c0 4.8 0 7.2 1.23 8.88.39.55.87 1.02 1.41 1.42C7.65 38 10.05 38 14.85 38h14.3c4.8 0 7.2 0 8.88-1.22a6.4 6.4 0 0 0 1.41-1.42c.83-1.14 1.1-2.6 1.19-4.92a6.4 6.4 0 0 0 5.16-4.65c.21-.81.21-1.8.21-3.79 0-1.98 0-2.98-.22-3.79a6.4 6.4 0 0 0-5.15-4.65c-.1-2.32-.36-3.78-1.19-4.92a6.4 6.4 0 0 0-1.41-1.42C36.35 6 33.95 6 29.15 6h-14.3c-4.8 0-7.2 0-8.88 1.22a6.4 6.4 0 0 0-1.41 1.42Z"
|
|
12
12
|
/>
|
|
13
13
|
<Path
|
|
14
|
-
fill={props.fill
|
|
14
|
+
fill={props.fill ?? Theme['bg-300']}
|
|
15
15
|
fillRule="evenodd"
|
|
16
16
|
d="M2.27 11.33a6.4 6.4 0 0 1 6.4-6.4h26.66a6.4 6.4 0 0 1 6.4 6.4v1.7a6.4 6.4 0 0 1 5.34 6.3v5.34a6.4 6.4 0 0 1-5.34 6.3v1.7a6.4 6.4 0 0 1-6.4 6.4H8.67a6.4 6.4 0 0 1-6.4-6.4V11.33ZM39.6 31.07h-6.93a9.07 9.07 0 1 1 0-18.14h6.93v-1.6a4.27 4.27 0 0 0-4.27-4.26H8.67a4.27 4.27 0 0 0-4.27 4.26v21.34a4.27 4.27 0 0 0 4.27 4.26h26.66a4.27 4.27 0 0 0 4.27-4.26v-1.6Zm-6.93-16a6.93 6.93 0 0 0 0 13.86h8a4.27 4.27 0 0 0 4.26-4.26v-5.34a4.27 4.27 0 0 0-4.26-4.26h-8Z"
|
|
17
17
|
clipRule="evenodd"
|
|
@@ -2,7 +2,7 @@ import Svg, { Path, type SvgProps } from 'react-native-svg';
|
|
|
2
2
|
const SvgWalletSmall = (props: SvgProps) => (
|
|
3
3
|
<Svg viewBox="0 0 14 14" fill="none" {...props}>
|
|
4
4
|
<Path
|
|
5
|
-
fill={props.fill
|
|
5
|
+
fill={props.fill ?? '#fff'}
|
|
6
6
|
fillRule="evenodd"
|
|
7
7
|
d="M0 4C0 2.61929 1.11929 1.5 2.5 1.5H10C11.3666 1.5 12.4772 2.59659 12.4997 3.95787C13.3828 4.34357 14 5.22471 14 6.25V7.75C14 8.77529 13.3828 9.65643 12.4997 10.0421C12.4772 11.4034 11.3666 12.5 10 12.5H2.5C1.11929 12.5 0 11.3807 0 10V4ZM10.4331 10.25H9.25C7.45507 10.25 6 8.79492 6 7C6 5.20507 7.45507 3.75 9.25 3.75L10.4331 3.75C10.3467 3.60055 10.1851 3.5 10 3.5H2.5C2.22386 3.5 2 3.72386 2 4V10C2 10.2761 2.22386 10.5 2.5 10.5H10C10.1851 10.5 10.3467 10.3995 10.4331 10.25ZM9.25 5.75C8.55964 5.75 8 6.30964 8 7C8 7.69036 8.55964 8.25 9.25 8.25H11.5C11.7761 8.25 12 8.02614 12 7.75V6.25C12 5.97386 11.7761 5.75 11.5 5.75L9.25 5.75Z"
|
|
8
8
|
clipRule="evenodd"
|
|
@@ -2,11 +2,11 @@ import Svg, { Path, type SvgProps } from 'react-native-svg';
|
|
|
2
2
|
const SvgWarningCircle = (props: SvgProps) => (
|
|
3
3
|
<Svg viewBox="0 0 20 20" fill="none" {...props}>
|
|
4
4
|
<Path
|
|
5
|
-
fill={props.fill
|
|
5
|
+
fill={props.fill ?? '#fff'}
|
|
6
6
|
d="M11 6.67a1 1 0 1 0-2 0v2.66a1 1 0 0 0 2 0V6.67ZM10 14.5a1.25 1.25 0 1 0 0-2.5 1.25 1.25 0 0 0 0 2.5Z"
|
|
7
7
|
/>
|
|
8
8
|
<Path
|
|
9
|
-
fill={props.fill
|
|
9
|
+
fill={props.fill ?? '#fff'}
|
|
10
10
|
fillRule="evenodd"
|
|
11
11
|
d="M10 1a9 9 0 1 0 0 18 9 9 0 0 0 0-18Zm-7 9a7 7 0 1 1 14 0 7 7 0 0 1-14 0Z"
|
|
12
12
|
clipRule="evenodd"
|
|
@@ -10,6 +10,7 @@ import ArrowLeftSvg from '../../assets/svg/ArrowLeft';
|
|
|
10
10
|
import ArrowRightSvg from '../../assets/svg/ArrowRight';
|
|
11
11
|
import ArrowTopSvg from '../../assets/svg/ArrowTop';
|
|
12
12
|
import BrowserSvg from '../../assets/svg/Browser';
|
|
13
|
+
import CardSvg from '../../assets/svg/Card';
|
|
13
14
|
import CheckmarkSvg from '../../assets/svg/Checkmark';
|
|
14
15
|
import ChevronBottomSvg from '../../assets/svg/ChevronBottom';
|
|
15
16
|
import ChevronLeftSvg from '../../assets/svg/ChevronLeft';
|
|
@@ -23,6 +24,7 @@ import CoinPlaceholderSvg from '../../assets/svg/CoinPlaceholder';
|
|
|
23
24
|
import CopySvg from '../../assets/svg/Copy';
|
|
24
25
|
import CopySmallSvg from '../../assets/svg/CopySmall';
|
|
25
26
|
import CursorSvg from '../../assets/svg/Cursor';
|
|
27
|
+
import CurrencyDollarSvg from '../../assets/svg/CurrencyDollar';
|
|
26
28
|
import DesktopSvg from '../../assets/svg/Desktop';
|
|
27
29
|
import DisconnectSvg from '../../assets/svg/Disconnect';
|
|
28
30
|
import DiscordSvg from '../../assets/svg/Discord';
|
|
@@ -48,6 +50,7 @@ import QrCodeSvg from '../../assets/svg/QrCode';
|
|
|
48
50
|
import RecycleHorizontalSvg from '../../assets/svg/RecycleHorizontal';
|
|
49
51
|
import RefreshSvg from '../../assets/svg/Refresh';
|
|
50
52
|
import SearchSvg from '../../assets/svg/Search';
|
|
53
|
+
import SettingsSvg from '../../assets/svg/Settings';
|
|
51
54
|
import SwapHorizontalSvg from '../../assets/svg/SwapHorizontal';
|
|
52
55
|
import SwapVerticalSvg from '../../assets/svg/SwapVertical';
|
|
53
56
|
import TelegramSvg from '../../assets/svg/Telegram';
|
|
@@ -71,6 +74,7 @@ const svgOptions: Record<IconType, (props: SvgProps) => JSX.Element> = {
|
|
|
71
74
|
arrowRight: ArrowRightSvg,
|
|
72
75
|
arrowTop: ArrowTopSvg,
|
|
73
76
|
browser: BrowserSvg,
|
|
77
|
+
card: CardSvg,
|
|
74
78
|
checkmark: CheckmarkSvg,
|
|
75
79
|
chevronBottom: ChevronBottomSvg,
|
|
76
80
|
chevronLeft: ChevronLeftSvg,
|
|
@@ -84,6 +88,7 @@ const svgOptions: Record<IconType, (props: SvgProps) => JSX.Element> = {
|
|
|
84
88
|
copy: CopySvg,
|
|
85
89
|
copySmall: CopySmallSvg,
|
|
86
90
|
cursor: CursorSvg,
|
|
91
|
+
currencyDollar: CurrencyDollarSvg,
|
|
87
92
|
desktop: DesktopSvg,
|
|
88
93
|
disconnect: DisconnectSvg,
|
|
89
94
|
discord: DiscordSvg,
|
|
@@ -109,6 +114,7 @@ const svgOptions: Record<IconType, (props: SvgProps) => JSX.Element> = {
|
|
|
109
114
|
recycleHorizontal: RecycleHorizontalSvg,
|
|
110
115
|
refresh: RefreshSvg,
|
|
111
116
|
search: SearchSvg,
|
|
117
|
+
settings: SettingsSvg,
|
|
112
118
|
swapHorizontal: SwapHorizontalSvg,
|
|
113
119
|
swapVertical: SwapVerticalSvg,
|
|
114
120
|
telegram: TelegramSvg,
|
|
@@ -20,6 +20,7 @@ export interface PressableProps extends RNPressableProps {
|
|
|
20
20
|
animationDuration?: number;
|
|
21
21
|
disabled?: boolean;
|
|
22
22
|
pressable?: boolean;
|
|
23
|
+
transparent?: boolean;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
export function Pressable({
|
|
@@ -28,6 +29,7 @@ export function Pressable({
|
|
|
28
29
|
disabled = false,
|
|
29
30
|
pressable = true,
|
|
30
31
|
onPress,
|
|
32
|
+
transparent = false,
|
|
31
33
|
backgroundColor = 'gray-glass-002',
|
|
32
34
|
pressedBackgroundColor = 'gray-glass-010',
|
|
33
35
|
bounceScale = 0.99, // Scale to 99% of original size
|
|
@@ -80,7 +82,14 @@ export function Pressable({
|
|
|
80
82
|
return (
|
|
81
83
|
<AnimatedPressable
|
|
82
84
|
disabled={disabled || !pressable}
|
|
83
|
-
style={[
|
|
85
|
+
style={[
|
|
86
|
+
// eslint-disable-next-line react-native/no-inline-styles
|
|
87
|
+
{
|
|
88
|
+
backgroundColor: transparent ? 'transparent' : bgColor,
|
|
89
|
+
transform: [{ scale: scaleAnimation.current }]
|
|
90
|
+
},
|
|
91
|
+
style
|
|
92
|
+
]}
|
|
84
93
|
onPressIn={onPressIn}
|
|
85
94
|
onPressOut={onPressOut}
|
|
86
95
|
onPress={onPress}
|
|
@@ -5,8 +5,8 @@ import { useTheme } from '../../hooks/useTheme';
|
|
|
5
5
|
const AnimatedRect = Animated.createAnimatedComponent(Rect);
|
|
6
6
|
|
|
7
7
|
export interface ShimmerProps {
|
|
8
|
-
width?: number;
|
|
9
|
-
height?: number;
|
|
8
|
+
width?: number | string;
|
|
9
|
+
height?: number | string;
|
|
10
10
|
duration?: number;
|
|
11
11
|
borderRadius?: number;
|
|
12
12
|
backgroundColor?: string;
|
|
@@ -28,6 +28,7 @@ export type ButtonProps = NativeProps & {
|
|
|
28
28
|
style?: StyleProp<ViewStyle>;
|
|
29
29
|
iconStyle?: SvgProps['style'];
|
|
30
30
|
loading?: boolean;
|
|
31
|
+
testID?: string;
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
export function Button({
|
|
@@ -41,6 +42,7 @@ export function Button({
|
|
|
41
42
|
iconRight,
|
|
42
43
|
iconStyle,
|
|
43
44
|
loading,
|
|
45
|
+
testID,
|
|
44
46
|
...rest
|
|
45
47
|
}: ButtonProps) {
|
|
46
48
|
const Theme = useTheme();
|
|
@@ -84,6 +86,7 @@ export function Button({
|
|
|
84
86
|
onPressIn={onPressIn}
|
|
85
87
|
onPressOut={onPressOut}
|
|
86
88
|
onPress={onPress}
|
|
89
|
+
testID={testID}
|
|
87
90
|
{...rest}
|
|
88
91
|
>
|
|
89
92
|
<FlexView flexDirection="row" alignItems="center" justifyContent="center">
|
|
@@ -28,7 +28,7 @@ export const getThemedButtonStyle = (
|
|
|
28
28
|
|
|
29
29
|
return {
|
|
30
30
|
...buttonBaseStyle,
|
|
31
|
-
backgroundColor: variant === 'fill' ? theme['accent-100'] : theme['gray-glass-
|
|
31
|
+
backgroundColor: variant === 'fill' ? theme['accent-100'] : theme['gray-glass-005']
|
|
32
32
|
};
|
|
33
33
|
};
|
|
34
34
|
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { Animated, useAnimatedValue, type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
+
|
|
3
|
+
import { useEffect } from 'react';
|
|
4
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
5
|
+
import { FlexView } from '../../layout/wui-flex';
|
|
6
|
+
import { Image } from '../../components/wui-image';
|
|
7
|
+
import { Icon } from '../../components/wui-icon';
|
|
8
|
+
import { type IconType } from '../../utils/TypesUtil';
|
|
9
|
+
import { WalletImage } from '../wui-wallet-image';
|
|
10
|
+
import styles from './styles';
|
|
11
|
+
interface Props {
|
|
12
|
+
style?: StyleProp<ViewStyle>;
|
|
13
|
+
leftImage?: string;
|
|
14
|
+
rightImage?: string;
|
|
15
|
+
renderRightPlaceholder?: () => React.ReactElement;
|
|
16
|
+
leftPlaceholderIcon?: IconType;
|
|
17
|
+
rightPlaceholderIcon?: IconType;
|
|
18
|
+
leftItemStyle?: StyleProp<ViewStyle>;
|
|
19
|
+
rightItemStyle?: StyleProp<ViewStyle>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function DoubleImageLoader({
|
|
23
|
+
style,
|
|
24
|
+
leftImage,
|
|
25
|
+
rightImage,
|
|
26
|
+
renderRightPlaceholder,
|
|
27
|
+
leftPlaceholderIcon = 'mobile',
|
|
28
|
+
rightPlaceholderIcon = 'browser',
|
|
29
|
+
leftItemStyle,
|
|
30
|
+
rightItemStyle
|
|
31
|
+
}: Props) {
|
|
32
|
+
const Theme = useTheme();
|
|
33
|
+
const leftPosition = useAnimatedValue(10);
|
|
34
|
+
const rightPosition = useAnimatedValue(-10);
|
|
35
|
+
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
const leftAnimation = Animated.loop(
|
|
38
|
+
Animated.sequence([
|
|
39
|
+
Animated.timing(leftPosition, {
|
|
40
|
+
toValue: -5,
|
|
41
|
+
duration: 1500,
|
|
42
|
+
useNativeDriver: true
|
|
43
|
+
}),
|
|
44
|
+
Animated.timing(leftPosition, {
|
|
45
|
+
toValue: 10,
|
|
46
|
+
duration: 1500,
|
|
47
|
+
useNativeDriver: true
|
|
48
|
+
})
|
|
49
|
+
])
|
|
50
|
+
);
|
|
51
|
+
|
|
52
|
+
const rightAnimation = Animated.loop(
|
|
53
|
+
Animated.sequence([
|
|
54
|
+
Animated.timing(rightPosition, {
|
|
55
|
+
toValue: 5,
|
|
56
|
+
duration: 1500,
|
|
57
|
+
useNativeDriver: true
|
|
58
|
+
}),
|
|
59
|
+
Animated.timing(rightPosition, {
|
|
60
|
+
toValue: -10,
|
|
61
|
+
duration: 1500,
|
|
62
|
+
useNativeDriver: true
|
|
63
|
+
})
|
|
64
|
+
])
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
leftAnimation.start();
|
|
68
|
+
rightAnimation.start();
|
|
69
|
+
|
|
70
|
+
return () => {
|
|
71
|
+
leftAnimation.stop();
|
|
72
|
+
rightAnimation.stop();
|
|
73
|
+
};
|
|
74
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
75
|
+
}, []);
|
|
76
|
+
|
|
77
|
+
return (
|
|
78
|
+
<FlexView flexDirection="row" alignItems="center" justifyContent="center" style={style}>
|
|
79
|
+
<Animated.View
|
|
80
|
+
style={[
|
|
81
|
+
styles.itemBorder,
|
|
82
|
+
styles.leftItemBorder,
|
|
83
|
+
{
|
|
84
|
+
transform: [{ translateX: leftPosition }],
|
|
85
|
+
backgroundColor: Theme['bg-200']
|
|
86
|
+
},
|
|
87
|
+
leftItemStyle
|
|
88
|
+
]}
|
|
89
|
+
>
|
|
90
|
+
{leftImage ? (
|
|
91
|
+
<Image
|
|
92
|
+
source={leftImage}
|
|
93
|
+
style={[styles.rightImage, { backgroundColor: Theme['bg-200'] }]}
|
|
94
|
+
/>
|
|
95
|
+
) : (
|
|
96
|
+
<Icon name={leftPlaceholderIcon} size="lg" color="fg-200" />
|
|
97
|
+
)}
|
|
98
|
+
</Animated.View>
|
|
99
|
+
<Animated.View
|
|
100
|
+
style={[
|
|
101
|
+
styles.itemBorder,
|
|
102
|
+
styles.rightItemBorder,
|
|
103
|
+
{
|
|
104
|
+
transform: [{ translateX: rightPosition }],
|
|
105
|
+
backgroundColor: Theme['bg-200']
|
|
106
|
+
},
|
|
107
|
+
rightItemStyle
|
|
108
|
+
]}
|
|
109
|
+
>
|
|
110
|
+
{rightImage ? (
|
|
111
|
+
<WalletImage imageSrc={rightImage} size="lg" border={false} />
|
|
112
|
+
) : (
|
|
113
|
+
renderRightPlaceholder?.() ?? (
|
|
114
|
+
<Icon name={rightPlaceholderIcon} size="lg" color="fg-200" />
|
|
115
|
+
)
|
|
116
|
+
)}
|
|
117
|
+
</Animated.View>
|
|
118
|
+
</FlexView>
|
|
119
|
+
);
|
|
120
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
+
|
|
3
|
+
import { useTheme } from '../../hooks/useTheme';
|
|
4
|
+
import { FlexView } from '../../layout/wui-flex';
|
|
5
|
+
import { Image } from '../../components/wui-image';
|
|
6
|
+
import { Icon } from '../../components/wui-icon';
|
|
7
|
+
import { type IconType } from '../../utils/TypesUtil';
|
|
8
|
+
import { WalletImage } from '../wui-wallet-image';
|
|
9
|
+
import styles from './styles';
|
|
10
|
+
interface Props {
|
|
11
|
+
style?: StyleProp<ViewStyle>;
|
|
12
|
+
leftImage?: string;
|
|
13
|
+
rightImage?: string;
|
|
14
|
+
renderRightPlaceholder?: () => React.ReactElement;
|
|
15
|
+
leftPlaceholderIcon?: IconType;
|
|
16
|
+
rightPlaceholderIcon?: IconType;
|
|
17
|
+
leftItemStyle?: StyleProp<ViewStyle>;
|
|
18
|
+
rightItemStyle?: StyleProp<ViewStyle>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function DoubleImageLoader({
|
|
22
|
+
style,
|
|
23
|
+
leftImage,
|
|
24
|
+
rightImage,
|
|
25
|
+
renderRightPlaceholder,
|
|
26
|
+
leftPlaceholderIcon = 'mobile',
|
|
27
|
+
rightPlaceholderIcon = 'browser',
|
|
28
|
+
leftItemStyle,
|
|
29
|
+
rightItemStyle
|
|
30
|
+
}: Props) {
|
|
31
|
+
const Theme = useTheme();
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<FlexView flexDirection="row" alignItems="center" justifyContent="center" style={style}>
|
|
35
|
+
<FlexView
|
|
36
|
+
style={[
|
|
37
|
+
styles.itemBorder,
|
|
38
|
+
styles.leftItemBorder,
|
|
39
|
+
{
|
|
40
|
+
backgroundColor: Theme['bg-200']
|
|
41
|
+
},
|
|
42
|
+
leftItemStyle
|
|
43
|
+
]}
|
|
44
|
+
>
|
|
45
|
+
{leftImage ? (
|
|
46
|
+
<Image
|
|
47
|
+
source={leftImage}
|
|
48
|
+
style={[styles.rightImage, { backgroundColor: Theme['bg-200'] }]}
|
|
49
|
+
/>
|
|
50
|
+
) : (
|
|
51
|
+
<Icon name={leftPlaceholderIcon} size="lg" color="fg-200" />
|
|
52
|
+
)}
|
|
53
|
+
</FlexView>
|
|
54
|
+
<FlexView
|
|
55
|
+
style={[
|
|
56
|
+
styles.itemBorder,
|
|
57
|
+
styles.rightItemBorder,
|
|
58
|
+
{
|
|
59
|
+
backgroundColor: Theme['bg-200']
|
|
60
|
+
},
|
|
61
|
+
rightItemStyle
|
|
62
|
+
]}
|
|
63
|
+
>
|
|
64
|
+
{rightImage ? (
|
|
65
|
+
<WalletImage imageSrc={rightImage} size="lg" border={false} />
|
|
66
|
+
) : (
|
|
67
|
+
renderRightPlaceholder?.() ?? (
|
|
68
|
+
<Icon name={rightPlaceholderIcon} size="lg" color="fg-200" />
|
|
69
|
+
)
|
|
70
|
+
)}
|
|
71
|
+
</FlexView>
|
|
72
|
+
</FlexView>
|
|
73
|
+
);
|
|
74
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
import { BorderRadius } from '../../utils/ThemeUtil';
|
|
3
|
+
|
|
4
|
+
export default StyleSheet.create({
|
|
5
|
+
rightImage: {
|
|
6
|
+
height: 64,
|
|
7
|
+
width: 64,
|
|
8
|
+
borderRadius: BorderRadius.full
|
|
9
|
+
},
|
|
10
|
+
itemBorder: {
|
|
11
|
+
width: 74,
|
|
12
|
+
height: 74,
|
|
13
|
+
alignItems: 'center',
|
|
14
|
+
justifyContent: 'center'
|
|
15
|
+
},
|
|
16
|
+
leftItemBorder: {
|
|
17
|
+
borderRadius: BorderRadius.full,
|
|
18
|
+
zIndex: 2
|
|
19
|
+
},
|
|
20
|
+
rightItemBorder: {
|
|
21
|
+
borderRadius: 22,
|
|
22
|
+
width: 72,
|
|
23
|
+
height: 72
|
|
24
|
+
}
|
|
25
|
+
});
|
|
@@ -16,6 +16,7 @@ export interface IconBoxProps {
|
|
|
16
16
|
borderColor?: ThemeKeys;
|
|
17
17
|
borderSize?: number;
|
|
18
18
|
style?: StyleProp<ViewStyle>;
|
|
19
|
+
testID?: string;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
export function IconBox({
|
|
@@ -28,7 +29,8 @@ export function IconBox({
|
|
|
28
29
|
border,
|
|
29
30
|
borderColor,
|
|
30
31
|
borderSize = 4,
|
|
31
|
-
style
|
|
32
|
+
style,
|
|
33
|
+
testID
|
|
32
34
|
}: IconBoxProps) {
|
|
33
35
|
const Theme = useTheme();
|
|
34
36
|
let _iconSize: SizeType;
|
|
@@ -97,6 +99,7 @@ export function IconBox({
|
|
|
97
99
|
border && { borderColor: Theme[borderColor || 'bg-125'], borderWidth: borderSize / 2 },
|
|
98
100
|
style
|
|
99
101
|
]}
|
|
102
|
+
testID={testID}
|
|
100
103
|
>
|
|
101
104
|
<Icon size={iconSize || _iconSize} color={iconColor} name={icon} />
|
|
102
105
|
</View>
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
View,
|
|
4
|
+
Pressable,
|
|
5
|
+
Animated,
|
|
6
|
+
type StyleProp,
|
|
7
|
+
type ViewStyle,
|
|
8
|
+
type ImageStyle,
|
|
9
|
+
type ImageProps
|
|
10
|
+
} from 'react-native';
|
|
3
11
|
import { Icon } from '../../components/wui-icon';
|
|
4
12
|
import { Image } from '../../components/wui-image';
|
|
5
13
|
import { LoadingSpinner } from '../../components/wui-loading-spinner';
|
|
@@ -16,8 +24,12 @@ export interface ListItemProps {
|
|
|
16
24
|
iconColor?: ColorType;
|
|
17
25
|
iconBackgroundColor?: ColorType;
|
|
18
26
|
iconBorderColor?: ColorType;
|
|
27
|
+
backgroundColor?: ColorType;
|
|
19
28
|
imageSrc?: string;
|
|
20
29
|
imageHeaders?: Record<string, string>;
|
|
30
|
+
imageStyle?: StyleProp<ImageStyle>;
|
|
31
|
+
imageProps?: ImageProps;
|
|
32
|
+
imageContainerStyle?: StyleProp<ViewStyle>;
|
|
21
33
|
chevron?: boolean;
|
|
22
34
|
disabled?: boolean;
|
|
23
35
|
loading?: boolean;
|
|
@@ -32,7 +44,10 @@ export function ListItem({
|
|
|
32
44
|
children,
|
|
33
45
|
icon,
|
|
34
46
|
imageSrc,
|
|
47
|
+
imageProps,
|
|
35
48
|
imageHeaders,
|
|
49
|
+
imageStyle,
|
|
50
|
+
imageContainerStyle,
|
|
36
51
|
iconColor = 'fg-200',
|
|
37
52
|
iconBackgroundColor,
|
|
38
53
|
iconBorderColor = 'gray-glass-005',
|
|
@@ -42,28 +57,42 @@ export function ListItem({
|
|
|
42
57
|
onPress,
|
|
43
58
|
style,
|
|
44
59
|
contentStyle,
|
|
45
|
-
testID
|
|
60
|
+
testID,
|
|
61
|
+
backgroundColor = 'gray-glass-002'
|
|
46
62
|
}: ListItemProps) {
|
|
47
63
|
const Theme = useTheme();
|
|
48
64
|
const { animatedValue, setStartValue, setEndValue } = useAnimatedValue(
|
|
49
|
-
Theme[
|
|
65
|
+
Theme[backgroundColor],
|
|
50
66
|
Theme['gray-glass-010']
|
|
51
67
|
);
|
|
52
68
|
|
|
53
69
|
function visualTemplate() {
|
|
54
70
|
if (imageSrc) {
|
|
55
71
|
return (
|
|
56
|
-
<View
|
|
72
|
+
<View
|
|
73
|
+
style={[
|
|
74
|
+
styles.imageContainer,
|
|
75
|
+
{ borderColor: Theme['gray-glass-005'] },
|
|
76
|
+
imageContainerStyle
|
|
77
|
+
]}
|
|
78
|
+
>
|
|
57
79
|
<Image
|
|
58
|
-
|
|
80
|
+
{...imageProps}
|
|
59
81
|
headers={imageHeaders}
|
|
60
|
-
|
|
82
|
+
source={imageSrc}
|
|
83
|
+
style={[styles.image, (disabled || loading) && styles.disabledImage, imageStyle]}
|
|
61
84
|
/>
|
|
62
85
|
</View>
|
|
63
86
|
);
|
|
64
87
|
} else if (icon) {
|
|
65
88
|
return (
|
|
66
|
-
<View
|
|
89
|
+
<View
|
|
90
|
+
style={[
|
|
91
|
+
styles.imageContainer,
|
|
92
|
+
{ borderColor: Theme[iconBorderColor] },
|
|
93
|
+
imageContainerStyle
|
|
94
|
+
]}
|
|
95
|
+
>
|
|
67
96
|
<IconBox
|
|
68
97
|
icon={icon}
|
|
69
98
|
iconColor={iconColor}
|
|
@@ -50,10 +50,7 @@ export function ListToken({
|
|
|
50
50
|
>
|
|
51
51
|
<FlexView flexDirection="row" alignItems="center">
|
|
52
52
|
{imageSrc ? (
|
|
53
|
-
<Image
|
|
54
|
-
source={imageSrc}
|
|
55
|
-
style={[styles.image, { backgroundColor: Theme['gray-glass-005'] }]}
|
|
56
|
-
/>
|
|
53
|
+
<Image source={imageSrc} style={styles.image} />
|
|
57
54
|
) : (
|
|
58
55
|
<FlexView
|
|
59
56
|
style={[styles.image, { backgroundColor: Theme['gray-glass-005'] }]}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { Path, Svg, Image, Defs, Pattern } from 'react-native-svg';
|
|
1
|
+
import { Path, Svg, Image, Defs, Pattern, G } from 'react-native-svg';
|
|
2
2
|
import type { StyleProp, ViewStyle } from 'react-native';
|
|
3
3
|
import { useTheme } from '../../hooks/useTheme';
|
|
4
4
|
import type { SizeType } from '../../utils/TypesUtil';
|
|
5
|
-
import
|
|
6
|
-
import { FlexView } from '../../layout/wui-flex';
|
|
5
|
+
import NetworkPlaceholderSvg from '../../assets/svg/NetworkPlaceholder';
|
|
7
6
|
import { PathLg, PathNormal, PathSmall, PathXS } from './styles';
|
|
8
7
|
|
|
9
8
|
export interface NetworkImageProps {
|
|
@@ -31,6 +30,13 @@ const sizeToHeight = {
|
|
|
31
30
|
xs: 20
|
|
32
31
|
};
|
|
33
32
|
|
|
33
|
+
const sizeToIconSize = {
|
|
34
|
+
lg: 24,
|
|
35
|
+
md: 16,
|
|
36
|
+
sm: 14,
|
|
37
|
+
xs: 12
|
|
38
|
+
};
|
|
39
|
+
|
|
34
40
|
export function NetworkImage({
|
|
35
41
|
imageSrc,
|
|
36
42
|
imageHeaders,
|
|
@@ -44,42 +50,52 @@ export function NetworkImage({
|
|
|
44
50
|
const Theme = useTheme();
|
|
45
51
|
const svgStroke = selected ? Theme['accent-100'] : Theme['gray-glass-010'];
|
|
46
52
|
const opacity = disabled ? 0.5 : 1;
|
|
53
|
+
const containerSize = sizeToHeight[size];
|
|
54
|
+
const iconSize = sizeToIconSize[size];
|
|
47
55
|
|
|
48
56
|
return (
|
|
49
57
|
<Svg
|
|
50
|
-
width={
|
|
51
|
-
height={
|
|
58
|
+
width={containerSize}
|
|
59
|
+
height={containerSize}
|
|
52
60
|
stroke={borderColor ?? svgStroke}
|
|
53
61
|
strokeWidth={borderWidth}
|
|
54
62
|
style={style}
|
|
55
63
|
>
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
<
|
|
60
|
-
|
|
61
|
-
width={
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
/>
|
|
65
|
-
) : (
|
|
66
|
-
<FlexView
|
|
67
|
-
alignItems="center"
|
|
68
|
-
justifyContent="center"
|
|
69
|
-
// eslint-disable-next-line react-native/no-inline-styles
|
|
70
|
-
style={{
|
|
71
|
-
height: sizeToHeight[size],
|
|
72
|
-
width: sizeToHeight[size],
|
|
73
|
-
backgroundColor: 'transparent'
|
|
74
|
-
}}
|
|
64
|
+
{imageSrc ? (
|
|
65
|
+
<>
|
|
66
|
+
<Defs>
|
|
67
|
+
<Pattern
|
|
68
|
+
id="image-pattern"
|
|
69
|
+
width={containerSize}
|
|
70
|
+
height={containerSize}
|
|
71
|
+
patternUnits="userSpaceOnUse"
|
|
75
72
|
>
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
73
|
+
<Image
|
|
74
|
+
height={containerSize}
|
|
75
|
+
width={containerSize}
|
|
76
|
+
opacity={opacity}
|
|
77
|
+
href={{ uri: imageSrc, headers: imageHeaders }}
|
|
78
|
+
/>
|
|
79
|
+
</Pattern>
|
|
80
|
+
</Defs>
|
|
81
|
+
<Path d={sizeToPath[size]} opacity={opacity} fill="url(#image-pattern)" />
|
|
82
|
+
</>
|
|
83
|
+
) : (
|
|
84
|
+
<>
|
|
85
|
+
<Path d={sizeToPath[size]} opacity={opacity} fill={Theme['gray-glass-005']} />
|
|
86
|
+
<G
|
|
87
|
+
transform={`translate(${(containerSize - iconSize) / 2}, ${
|
|
88
|
+
(containerSize - iconSize) / 2
|
|
89
|
+
})`}
|
|
90
|
+
>
|
|
91
|
+
<NetworkPlaceholderSvg
|
|
92
|
+
fill={selected ? Theme['accent-100'] : Theme['fg-200']}
|
|
93
|
+
width={iconSize}
|
|
94
|
+
height={iconSize}
|
|
95
|
+
/>
|
|
96
|
+
</G>
|
|
97
|
+
</>
|
|
98
|
+
)}
|
|
83
99
|
</Svg>
|
|
84
100
|
);
|
|
85
101
|
}
|