@iota/dapp-kit 0.1.1 → 0.2.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 +22 -0
- package/dist/cjs/components/AccountDropdownMenu.css +58 -31
- package/dist/cjs/components/AccountDropdownMenu.css.css +27 -18
- package/dist/cjs/components/AccountDropdownMenu.css.css.map +3 -3
- package/dist/cjs/components/AccountDropdownMenu.css.d.ts +1 -0
- package/dist/cjs/components/AccountDropdownMenu.css.js +6 -4
- package/dist/cjs/components/AccountDropdownMenu.css.js.map +2 -2
- package/dist/cjs/components/AccountDropdownMenu.css.map +3 -3
- package/dist/cjs/components/AccountDropdownMenu.js +44 -104
- package/dist/cjs/components/AccountDropdownMenu.js.map +4 -4
- package/dist/cjs/components/ConnectButton.css +195 -191
- package/dist/cjs/components/ConnectButton.css.map +3 -3
- package/dist/cjs/components/ConnectButton.js +693 -418
- package/dist/cjs/components/ConnectButton.js.map +4 -4
- package/dist/cjs/components/WalletProvider.js +119 -34
- package/dist/cjs/components/WalletProvider.js.map +3 -3
- package/dist/cjs/components/connect-modal/ConnectModal.css +177 -224
- package/dist/cjs/components/connect-modal/ConnectModal.css.css +32 -69
- package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +3 -3
- package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +1 -5
- package/dist/cjs/components/connect-modal/ConnectModal.css.js +7 -15
- package/dist/cjs/components/connect-modal/ConnectModal.css.js.map +2 -2
- package/dist/cjs/components/connect-modal/ConnectModal.css.map +3 -3
- package/dist/cjs/components/connect-modal/ConnectModal.js +705 -403
- package/dist/cjs/components/connect-modal/ConnectModal.js.map +4 -4
- package/dist/cjs/components/connect-modal/InfoSection.css +11 -7
- package/dist/cjs/components/connect-modal/InfoSection.css.map +3 -3
- package/dist/cjs/components/connect-modal/InfoSection.js +1 -1
- package/dist/cjs/components/connect-modal/InfoSection.js.map +2 -2
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css +78 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css +35 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
- package/dist/cjs/components/connect-modal/views/{GettingStarted.css.js → GetTheWallet.css.js} +13 -9
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.d.ts +1 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.js +524 -0
- package/dist/cjs/components/connect-modal/views/GetTheWallet.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.css +179 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.css.css +51 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.css.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.css.d.ts +8 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.css.js +41 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.css.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.d.ts +7 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.js +325 -0
- package/dist/cjs/components/connect-modal/views/WalletConnect.js.map +7 -0
- package/dist/cjs/components/connect-modal/views/index.css +214 -0
- package/dist/cjs/components/connect-modal/views/index.css.map +7 -0
- package/dist/cjs/components/connect-modal/views/index.d.ts +2 -0
- package/dist/cjs/components/connect-modal/views/index.js +790 -0
- package/dist/cjs/components/connect-modal/views/index.js.map +7 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +22 -10
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +5 -2
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +3 -3
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +1 -1
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +3 -3
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +4 -4
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +38 -61
- package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +4 -4
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +17 -8
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +17 -8
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +3 -3
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +1 -0
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +4 -2
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +2 -2
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +3 -3
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +32 -5
- package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +4 -4
- package/dist/cjs/components/icons/ArrowRightIcon.d.ts +2 -0
- package/dist/cjs/components/icons/{BackIcon.js → ArrowRightIcon.js} +23 -12
- package/dist/cjs/components/icons/ArrowRightIcon.js.map +7 -0
- package/dist/cjs/components/icons/ArrowTopRightIcon.d.ts +2 -0
- package/dist/cjs/components/icons/ArrowTopRightIcon.js +47 -0
- package/dist/cjs/components/icons/ArrowTopRightIcon.js.map +7 -0
- package/dist/cjs/components/icons/IotaIcon.js +391 -12
- package/dist/cjs/components/icons/IotaIcon.js.map +2 -2
- package/dist/cjs/components/styling/InjectedThemeStyles.js +13 -8
- package/dist/cjs/components/styling/InjectedThemeStyles.js.map +2 -2
- package/dist/cjs/components/styling/StyleMarker.css +16 -1
- package/dist/cjs/components/styling/StyleMarker.css.css +16 -1
- package/dist/cjs/components/styling/StyleMarker.css.css.map +3 -3
- package/dist/cjs/components/styling/StyleMarker.css.map +3 -3
- package/dist/cjs/components/styling/StyleMarker.js +2 -2
- package/dist/cjs/components/styling/StyleMarker.js.map +1 -1
- package/dist/cjs/components/ui/Button.css +4 -5
- package/dist/cjs/components/ui/Button.css.css +4 -5
- package/dist/cjs/components/ui/Button.css.css.map +3 -3
- package/dist/cjs/components/ui/Button.css.d.ts +0 -1
- package/dist/cjs/components/ui/Button.css.js.map +1 -1
- package/dist/cjs/components/ui/Button.css.map +3 -3
- package/dist/cjs/components/ui/Button.js.map +1 -1
- package/dist/cjs/components/ui/IconButton.css +1 -5
- package/dist/cjs/components/ui/IconButton.css.css +1 -5
- package/dist/cjs/components/ui/IconButton.css.css.map +3 -3
- package/dist/cjs/components/ui/IconButton.css.js.map +1 -1
- package/dist/cjs/components/ui/IconButton.css.map +3 -3
- package/dist/cjs/components/ui/IconButton.js.map +1 -1
- package/dist/cjs/components/ui/Text.css +11 -7
- package/dist/cjs/components/ui/Text.css.css +11 -7
- package/dist/cjs/components/ui/Text.css.css.map +3 -3
- package/dist/cjs/components/ui/Text.css.d.ts +3 -0
- package/dist/cjs/components/ui/Text.css.js +1 -1
- package/dist/cjs/components/ui/Text.css.js.map +2 -2
- package/dist/cjs/components/ui/Text.css.map +3 -3
- package/dist/cjs/components/ui/Text.js +1 -1
- package/dist/cjs/components/ui/Text.js.map +2 -2
- package/dist/cjs/constants/walletDefaults.d.ts +1 -0
- package/dist/cjs/constants/walletDefaults.js +4 -1
- package/dist/cjs/constants/walletDefaults.js.map +2 -2
- package/dist/cjs/index.css +246 -242
- package/dist/cjs/index.css.map +3 -3
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.js +1010 -634
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/themes/darkTheme.d.ts +2 -0
- package/dist/cjs/themes/darkTheme.js +88 -0
- package/dist/cjs/themes/darkTheme.js.map +7 -0
- package/dist/cjs/themes/lightTheme.js +30 -25
- package/dist/cjs/themes/lightTheme.js.map +2 -2
- package/dist/cjs/themes/themeContract.d.ts +22 -12
- package/dist/cjs/themes/themeContract.js +13 -8
- package/dist/cjs/themes/themeContract.js.map +2 -2
- package/dist/esm/components/AccountDropdownMenu.css +58 -31
- package/dist/esm/components/AccountDropdownMenu.css.css +27 -18
- package/dist/esm/components/AccountDropdownMenu.css.css.map +3 -3
- package/dist/esm/components/AccountDropdownMenu.css.d.ts +1 -0
- package/dist/esm/components/AccountDropdownMenu.css.js +6 -4
- package/dist/esm/components/AccountDropdownMenu.css.js.map +2 -2
- package/dist/esm/components/AccountDropdownMenu.css.map +3 -3
- package/dist/esm/components/AccountDropdownMenu.js +33 -93
- package/dist/esm/components/AccountDropdownMenu.js.map +4 -4
- package/dist/esm/components/ConnectButton.css +195 -191
- package/dist/esm/components/ConnectButton.css.map +3 -3
- package/dist/esm/components/ConnectButton.js +677 -402
- package/dist/esm/components/ConnectButton.js.map +4 -4
- package/dist/esm/components/WalletProvider.js +119 -34
- package/dist/esm/components/WalletProvider.js.map +3 -3
- package/dist/esm/components/connect-modal/ConnectModal.css +177 -224
- package/dist/esm/components/connect-modal/ConnectModal.css.css +32 -69
- package/dist/esm/components/connect-modal/ConnectModal.css.css.map +3 -3
- package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +1 -5
- package/dist/esm/components/connect-modal/ConnectModal.css.js +7 -15
- package/dist/esm/components/connect-modal/ConnectModal.css.js.map +2 -2
- package/dist/esm/components/connect-modal/ConnectModal.css.map +3 -3
- package/dist/esm/components/connect-modal/ConnectModal.js +701 -399
- package/dist/esm/components/connect-modal/ConnectModal.js.map +4 -4
- package/dist/esm/components/connect-modal/InfoSection.css +11 -7
- package/dist/esm/components/connect-modal/InfoSection.css.map +3 -3
- package/dist/esm/components/connect-modal/InfoSection.js +1 -1
- package/dist/esm/components/connect-modal/InfoSection.js.map +2 -2
- package/dist/esm/components/connect-modal/views/GetTheWallet.css +78 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.css +35 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.js +14 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.css.map +7 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.d.ts +1 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.js +491 -0
- package/dist/esm/components/connect-modal/views/GetTheWallet.js.map +7 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.css +179 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.css.css +51 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.css.css.map +7 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.css.d.ts +8 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.css.js +20 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.css.js.map +7 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.css.map +7 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.d.ts +7 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.js +294 -0
- package/dist/esm/components/connect-modal/views/WalletConnect.js.map +7 -0
- package/dist/esm/components/connect-modal/views/index.css +214 -0
- package/dist/esm/components/connect-modal/views/index.css.map +7 -0
- package/dist/esm/components/connect-modal/views/index.d.ts +2 -0
- package/dist/esm/components/connect-modal/views/index.js +757 -0
- package/dist/esm/components/connect-modal/views/index.js.map +7 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css +22 -10
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +5 -2
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +3 -3
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +1 -1
- package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +3 -3
- package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +4 -4
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js +38 -61
- package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +4 -4
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +17 -8
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +17 -8
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +3 -3
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +1 -0
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +4 -2
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +2 -2
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +3 -3
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +32 -5
- package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +4 -4
- package/dist/esm/components/icons/ArrowRightIcon.d.ts +2 -0
- package/dist/esm/components/icons/ArrowRightIcon.js +26 -0
- package/dist/esm/components/icons/ArrowRightIcon.js.map +7 -0
- package/dist/esm/components/icons/ArrowTopRightIcon.d.ts +2 -0
- package/dist/esm/components/icons/ArrowTopRightIcon.js +26 -0
- package/dist/esm/components/icons/ArrowTopRightIcon.js.map +7 -0
- package/dist/esm/components/icons/IotaIcon.js +391 -12
- package/dist/esm/components/icons/IotaIcon.js.map +2 -2
- package/dist/esm/components/styling/InjectedThemeStyles.js +13 -8
- package/dist/esm/components/styling/InjectedThemeStyles.js.map +2 -2
- package/dist/esm/components/styling/StyleMarker.css +16 -1
- package/dist/esm/components/styling/StyleMarker.css.css +16 -1
- package/dist/esm/components/styling/StyleMarker.css.css.map +3 -3
- package/dist/esm/components/styling/StyleMarker.css.js +2 -2
- package/dist/esm/components/styling/StyleMarker.css.js.map +1 -1
- package/dist/esm/components/styling/StyleMarker.css.map +3 -3
- package/dist/esm/components/styling/StyleMarker.js +2 -2
- package/dist/esm/components/styling/StyleMarker.js.map +1 -1
- package/dist/esm/components/ui/Button.css +4 -5
- package/dist/esm/components/ui/Button.css.css +4 -5
- package/dist/esm/components/ui/Button.css.css.map +3 -3
- package/dist/esm/components/ui/Button.css.d.ts +0 -1
- package/dist/esm/components/ui/Button.css.js.map +1 -1
- package/dist/esm/components/ui/Button.css.map +3 -3
- package/dist/esm/components/ui/Button.js.map +1 -1
- package/dist/esm/components/ui/IconButton.css +1 -5
- package/dist/esm/components/ui/IconButton.css.css +1 -5
- package/dist/esm/components/ui/IconButton.css.css.map +3 -3
- package/dist/esm/components/ui/IconButton.css.js.map +1 -1
- package/dist/esm/components/ui/IconButton.css.map +3 -3
- package/dist/esm/components/ui/IconButton.js.map +1 -1
- package/dist/esm/components/ui/Text.css +11 -7
- package/dist/esm/components/ui/Text.css.css +11 -7
- package/dist/esm/components/ui/Text.css.css.map +3 -3
- package/dist/esm/components/ui/Text.css.d.ts +3 -0
- package/dist/esm/components/ui/Text.css.js +1 -1
- package/dist/esm/components/ui/Text.css.js.map +2 -2
- package/dist/esm/components/ui/Text.css.map +3 -3
- package/dist/esm/components/ui/Text.js +1 -1
- package/dist/esm/components/ui/Text.js.map +2 -2
- package/dist/esm/constants/walletDefaults.d.ts +1 -0
- package/dist/esm/constants/walletDefaults.js +4 -1
- package/dist/esm/constants/walletDefaults.js.map +2 -2
- package/dist/esm/index.css +246 -242
- package/dist/esm/index.css.map +3 -3
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.js +993 -617
- package/dist/esm/index.js.map +4 -4
- package/dist/esm/themes/darkTheme.d.ts +2 -0
- package/dist/esm/themes/darkTheme.js +67 -0
- package/dist/esm/themes/darkTheme.js.map +7 -0
- package/dist/esm/themes/lightTheme.js +30 -25
- package/dist/esm/themes/lightTheme.js.map +2 -2
- package/dist/esm/themes/themeContract.d.ts +22 -12
- package/dist/esm/themes/themeContract.js +13 -8
- package/dist/esm/themes/themeContract.js.map +2 -2
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/components/AccountDropdownMenu.css.ts +17 -11
- package/src/components/AccountDropdownMenu.tsx +4 -16
- package/src/components/ConnectButton.tsx +1 -4
- package/src/components/WalletProvider.tsx +13 -2
- package/src/components/connect-modal/ConnectModal.css.ts +17 -58
- package/src/components/connect-modal/ConnectModal.tsx +16 -101
- package/src/components/connect-modal/views/GetTheWallet.css.ts +38 -0
- package/src/components/connect-modal/views/GetTheWallet.tsx +25 -0
- package/src/components/connect-modal/views/WalletConnect.css.ts +55 -0
- package/src/components/connect-modal/views/WalletConnect.tsx +79 -0
- package/src/components/connect-modal/views/index.ts +5 -0
- package/src/components/connect-modal/wallet-list/WalletList.css.ts +5 -1
- package/src/components/connect-modal/wallet-list/WalletList.tsx +11 -25
- package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +14 -6
- package/src/components/connect-modal/wallet-list/WalletListItem.tsx +12 -9
- package/src/components/icons/ArrowRightIcon.tsx +23 -0
- package/src/components/icons/ArrowTopRightIcon.tsx +23 -0
- package/src/components/icons/IotaIcon.tsx +222 -6
- package/src/components/styling/StyleMarker.css.ts +15 -0
- package/src/components/ui/Button.css.ts +3 -5
- package/src/components/ui/IconButton.css.ts +0 -3
- package/src/components/ui/Text.css.ts +1 -1
- package/src/constants/walletDefaults.ts +5 -0
- package/src/index.ts +1 -1
- package/src/themes/darkTheme.ts +69 -0
- package/src/themes/lightTheme.ts +29 -24
- package/src/themes/themeContract.ts +11 -6
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +0 -146
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +0 -32
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +0 -7
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.d.ts +0 -5
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js +0 -35
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js.map +0 -7
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +0 -7
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.d.ts +0 -8
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.js +0 -173
- package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +0 -7
- package/dist/cjs/components/connect-modal/views/GettingStarted.css +0 -145
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +0 -23
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +0 -7
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +0 -3
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +0 -7
- package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +0 -7
- package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +0 -1
- package/dist/cjs/components/connect-modal/views/GettingStarted.js +0 -172
- package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +0 -7
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +0 -95
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +0 -17
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +0 -7
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +0 -2
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +0 -29
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +0 -7
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +0 -7
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +0 -1
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +0 -135
- package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +0 -7
- package/dist/cjs/components/icons/BackIcon.d.ts +0 -2
- package/dist/cjs/components/icons/BackIcon.js.map +0 -7
- package/dist/cjs/hooks/useResolveIotaNSNames.d.ts +0 -3
- package/dist/cjs/hooks/useResolveIotaNSNames.js +0 -83
- package/dist/cjs/hooks/useResolveIotaNSNames.js.map +0 -7
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css +0 -146
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +0 -32
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +0 -7
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +0 -5
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +0 -14
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +0 -7
- package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +0 -7
- package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +0 -8
- package/dist/esm/components/connect-modal/views/ConnectionStatus.js +0 -140
- package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +0 -7
- package/dist/esm/components/connect-modal/views/GettingStarted.css +0 -145
- package/dist/esm/components/connect-modal/views/GettingStarted.css.css +0 -23
- package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +0 -7
- package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +0 -3
- package/dist/esm/components/connect-modal/views/GettingStarted.css.js +0 -10
- package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +0 -7
- package/dist/esm/components/connect-modal/views/GettingStarted.css.map +0 -7
- package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +0 -1
- package/dist/esm/components/connect-modal/views/GettingStarted.js +0 -139
- package/dist/esm/components/connect-modal/views/GettingStarted.js.map +0 -7
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +0 -95
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +0 -17
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +0 -7
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +0 -2
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +0 -8
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +0 -7
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +0 -7
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +0 -1
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +0 -102
- package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +0 -7
- package/dist/esm/components/icons/BackIcon.d.ts +0 -2
- package/dist/esm/components/icons/BackIcon.js +0 -15
- package/dist/esm/components/icons/BackIcon.js.map +0 -7
- package/dist/esm/hooks/useResolveIotaNSNames.d.ts +0 -3
- package/dist/esm/hooks/useResolveIotaNSNames.js +0 -60
- package/dist/esm/hooks/useResolveIotaNSNames.js.map +0 -7
- package/src/components/connect-modal/views/ConnectionStatus.css.ts +0 -36
- package/src/components/connect-modal/views/ConnectionStatus.tsx +0 -55
- package/src/components/connect-modal/views/GettingStarted.css.ts +0 -26
- package/src/components/connect-modal/views/GettingStarted.tsx +0 -40
- package/src/components/connect-modal/views/WhatIsAWallet.css.ts +0 -20
- package/src/components/connect-modal/views/WhatIsAWallet.tsx +0 -24
- package/src/components/icons/BackIcon.tsx +0 -18
- package/src/hooks/useResolveIotaNSNames.ts +0 -31
|
@@ -15,7 +15,16 @@ export const overlay = style({
|
|
|
15
15
|
});
|
|
16
16
|
|
|
17
17
|
export const title = style({
|
|
18
|
-
|
|
18
|
+
color: themeVars.colors.body,
|
|
19
|
+
fontSize: themeVars.fontSizes.xlarge,
|
|
20
|
+
fontWeight: themeVars.fontWeights.medium,
|
|
21
|
+
margin: 0,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export const separator = style({
|
|
25
|
+
height: 1,
|
|
26
|
+
backgroundColor: themeVars.backgroundColors.dropdownMenuSeparator,
|
|
27
|
+
width: '100%',
|
|
19
28
|
});
|
|
20
29
|
|
|
21
30
|
export const content = style({
|
|
@@ -23,20 +32,18 @@ export const content = style({
|
|
|
23
32
|
borderRadius: themeVars.radii.xlarge,
|
|
24
33
|
color: themeVars.colors.body,
|
|
25
34
|
position: 'fixed',
|
|
26
|
-
|
|
27
|
-
left:
|
|
28
|
-
right: 16,
|
|
35
|
+
top: 0,
|
|
36
|
+
left: '50%',
|
|
29
37
|
display: 'flex',
|
|
30
38
|
flexDirection: 'column',
|
|
31
|
-
justifyContent: 'space-between',
|
|
32
39
|
overflow: 'hidden',
|
|
33
40
|
minHeight: '50vh',
|
|
34
41
|
maxHeight: '85vh',
|
|
35
|
-
|
|
42
|
+
width: '330px',
|
|
43
|
+
transform: 'translate(-50%, 100%)',
|
|
36
44
|
'@media': {
|
|
37
45
|
'screen and (min-width: 768px)': {
|
|
38
46
|
flexDirection: 'row',
|
|
39
|
-
width: '100%',
|
|
40
47
|
top: '50%',
|
|
41
48
|
left: '50%',
|
|
42
49
|
transform: 'translate(-50%, -50%)',
|
|
@@ -44,31 +51,6 @@ export const content = style({
|
|
|
44
51
|
},
|
|
45
52
|
});
|
|
46
53
|
|
|
47
|
-
export const whatIsAWalletButton = style({
|
|
48
|
-
backgroundColor: themeVars.backgroundColors.modalSecondary,
|
|
49
|
-
padding: 16,
|
|
50
|
-
'@media': {
|
|
51
|
-
'screen and (min-width: 768px)': {
|
|
52
|
-
display: 'none',
|
|
53
|
-
},
|
|
54
|
-
},
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
export const viewContainer = style({
|
|
58
|
-
display: 'none',
|
|
59
|
-
padding: 20,
|
|
60
|
-
flexGrow: 1,
|
|
61
|
-
'@media': {
|
|
62
|
-
'screen and (min-width: 768px)': {
|
|
63
|
-
display: 'flex',
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
export const selectedViewContainer = style({
|
|
69
|
-
display: 'flex',
|
|
70
|
-
});
|
|
71
|
-
|
|
72
54
|
export const backButtonContainer = style({
|
|
73
55
|
position: 'absolute',
|
|
74
56
|
top: 20,
|
|
@@ -89,9 +71,10 @@ export const closeButtonContainer = style({
|
|
|
89
71
|
export const walletListContent = style({
|
|
90
72
|
display: 'flex',
|
|
91
73
|
flexDirection: 'column',
|
|
74
|
+
width: '100%',
|
|
92
75
|
flexGrow: 1,
|
|
93
|
-
gap:
|
|
94
|
-
padding:
|
|
76
|
+
gap: themeVars.spacing.medium,
|
|
77
|
+
padding: themeVars.spacing.medium,
|
|
95
78
|
backgroundColor: themeVars.backgroundColors.modalPrimary,
|
|
96
79
|
'@media': {
|
|
97
80
|
'screen and (min-width: 768px)': {
|
|
@@ -99,27 +82,3 @@ export const walletListContent = style({
|
|
|
99
82
|
},
|
|
100
83
|
},
|
|
101
84
|
});
|
|
102
|
-
|
|
103
|
-
export const walletListContainer = style({
|
|
104
|
-
display: 'flex',
|
|
105
|
-
justifyContent: 'space-between',
|
|
106
|
-
flexDirection: 'column',
|
|
107
|
-
flexGrow: 1,
|
|
108
|
-
'@media': {
|
|
109
|
-
'screen and (min-width: 768px)': {
|
|
110
|
-
flexDirection: 'row',
|
|
111
|
-
flexBasis: 240,
|
|
112
|
-
flexGrow: 0,
|
|
113
|
-
flexShrink: 0,
|
|
114
|
-
},
|
|
115
|
-
},
|
|
116
|
-
});
|
|
117
|
-
|
|
118
|
-
export const walletListContainerWithViewSelected = style({
|
|
119
|
-
display: 'none',
|
|
120
|
-
'@media': {
|
|
121
|
-
'screen and (min-width: 768px)': {
|
|
122
|
-
display: 'flex',
|
|
123
|
-
},
|
|
124
|
-
},
|
|
125
|
-
});
|
|
@@ -2,26 +2,17 @@
|
|
|
2
2
|
// Modifications Copyright (c) 2024 IOTA Stiftung
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
|
|
5
|
-
import type { WalletWithRequiredFeatures } from '@iota/wallet-standard';
|
|
6
5
|
import * as Dialog from '@radix-ui/react-dialog';
|
|
7
|
-
import clsx from 'clsx';
|
|
8
6
|
import { useState } from 'react';
|
|
9
7
|
import type { ReactNode } from 'react';
|
|
10
|
-
|
|
11
|
-
import { useConnectWallet } from '../../hooks/wallet/useConnectWallet.js';
|
|
12
|
-
import { getWalletUniqueIdentifier } from '../../utils/walletUtils.js';
|
|
13
|
-
import { BackIcon } from '../icons/BackIcon.js';
|
|
14
8
|
import { CloseIcon } from '../icons/CloseIcon.js';
|
|
15
9
|
import { StyleMarker } from '../styling/StyleMarker.js';
|
|
16
10
|
import { Heading } from '../ui/Heading.js';
|
|
17
11
|
import { IconButton } from '../ui/IconButton.js';
|
|
18
12
|
import * as styles from './ConnectModal.css.js';
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { WalletList } from './wallet-list/WalletList.js';
|
|
23
|
-
|
|
24
|
-
type ConnectModalView = 'getting-started' | 'what-is-a-wallet' | 'connection-status';
|
|
13
|
+
import { useWallets } from '../../hooks/wallet/useWallets.js';
|
|
14
|
+
import { WalletConnectListView } from './views/WalletConnect.js';
|
|
15
|
+
import { GetTheWalletView } from './views/GetTheWallet.js';
|
|
25
16
|
|
|
26
17
|
type ControlledModalProps = {
|
|
27
18
|
/** The controlled open state of the dialog. */
|
|
@@ -48,55 +39,14 @@ type ConnectModalProps = {
|
|
|
48
39
|
} & (ControlledModalProps | UncontrolledModalProps);
|
|
49
40
|
|
|
50
41
|
export function ConnectModal({ trigger, open, defaultOpen, onOpenChange }: ConnectModalProps) {
|
|
42
|
+
const wallets = useWallets();
|
|
51
43
|
const [isModalOpen, setModalOpen] = useState(open ?? defaultOpen);
|
|
52
|
-
const [currentView, setCurrentView] = useState<ConnectModalView>();
|
|
53
|
-
const [selectedWallet, setSelectedWallet] = useState<WalletWithRequiredFeatures>();
|
|
54
|
-
const { mutate, isError } = useConnectWallet();
|
|
55
|
-
|
|
56
|
-
const resetSelection = () => {
|
|
57
|
-
setSelectedWallet(undefined);
|
|
58
|
-
setCurrentView(undefined);
|
|
59
|
-
};
|
|
60
44
|
|
|
61
45
|
const handleOpenChange = (open: boolean) => {
|
|
62
|
-
if (!open) {
|
|
63
|
-
resetSelection();
|
|
64
|
-
}
|
|
65
46
|
setModalOpen(open);
|
|
66
47
|
onOpenChange?.(open);
|
|
67
48
|
};
|
|
68
49
|
|
|
69
|
-
const connectWallet = (wallet: WalletWithRequiredFeatures) => {
|
|
70
|
-
setCurrentView('connection-status');
|
|
71
|
-
mutate(
|
|
72
|
-
{ wallet },
|
|
73
|
-
{
|
|
74
|
-
onSuccess: () => handleOpenChange(false),
|
|
75
|
-
},
|
|
76
|
-
);
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
let modalContent: ReactNode | undefined;
|
|
80
|
-
switch (currentView) {
|
|
81
|
-
case 'what-is-a-wallet':
|
|
82
|
-
modalContent = <WhatIsAWallet />;
|
|
83
|
-
break;
|
|
84
|
-
case 'getting-started':
|
|
85
|
-
modalContent = <GettingStarted />;
|
|
86
|
-
break;
|
|
87
|
-
case 'connection-status':
|
|
88
|
-
modalContent = (
|
|
89
|
-
<ConnectionStatus
|
|
90
|
-
selectedWallet={selectedWallet!}
|
|
91
|
-
hadConnectionError={isError}
|
|
92
|
-
onRetryConnection={connectWallet}
|
|
93
|
-
/>
|
|
94
|
-
);
|
|
95
|
-
break;
|
|
96
|
-
default:
|
|
97
|
-
modalContent = <WhatIsAWallet />;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
50
|
return (
|
|
101
51
|
<Dialog.Root open={open ?? isModalOpen} onOpenChange={handleOpenChange}>
|
|
102
52
|
<Dialog.Trigger asChild>{trigger}</Dialog.Trigger>
|
|
@@ -104,54 +54,19 @@ export function ConnectModal({ trigger, open, defaultOpen, onOpenChange }: Conne
|
|
|
104
54
|
<StyleMarker>
|
|
105
55
|
<Dialog.Overlay className={styles.overlay}>
|
|
106
56
|
<Dialog.Content className={styles.content} aria-describedby={undefined}>
|
|
107
|
-
<div
|
|
108
|
-
className={
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
<
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
<WalletList
|
|
117
|
-
selectedWalletName={getWalletUniqueIdentifier(
|
|
118
|
-
selectedWallet,
|
|
119
|
-
)}
|
|
120
|
-
onPlaceholderClick={() => setCurrentView('getting-started')}
|
|
121
|
-
onSelect={(wallet) => {
|
|
122
|
-
if (
|
|
123
|
-
getWalletUniqueIdentifier(selectedWallet) !==
|
|
124
|
-
getWalletUniqueIdentifier(wallet)
|
|
125
|
-
) {
|
|
126
|
-
setSelectedWallet(wallet);
|
|
127
|
-
connectWallet(wallet);
|
|
128
|
-
}
|
|
129
|
-
}}
|
|
57
|
+
<div className={styles.walletListContent}>
|
|
58
|
+
<Dialog.Title className={styles.title} asChild>
|
|
59
|
+
<Heading as="h2">Connect a Wallet</Heading>
|
|
60
|
+
</Dialog.Title>
|
|
61
|
+
<div className={styles.separator} />
|
|
62
|
+
{wallets?.length ? (
|
|
63
|
+
<WalletConnectListView
|
|
64
|
+
wallets={wallets}
|
|
65
|
+
onOpenChange={handleOpenChange}
|
|
130
66
|
/>
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
onClick={() => setCurrentView('what-is-a-wallet')}
|
|
135
|
-
type="button"
|
|
136
|
-
>
|
|
137
|
-
What is a Wallet?
|
|
138
|
-
</button>
|
|
139
|
-
</div>
|
|
140
|
-
<div
|
|
141
|
-
className={clsx(styles.viewContainer, {
|
|
142
|
-
[styles.selectedViewContainer]: !!currentView,
|
|
143
|
-
})}
|
|
144
|
-
>
|
|
145
|
-
<div className={styles.backButtonContainer}>
|
|
146
|
-
<IconButton
|
|
147
|
-
type="button"
|
|
148
|
-
aria-label="Back"
|
|
149
|
-
onClick={() => resetSelection()}
|
|
150
|
-
>
|
|
151
|
-
<BackIcon />
|
|
152
|
-
</IconButton>
|
|
153
|
-
</div>
|
|
154
|
-
{modalContent}
|
|
67
|
+
) : (
|
|
68
|
+
<GetTheWalletView />
|
|
69
|
+
)}
|
|
155
70
|
</div>
|
|
156
71
|
<Dialog.Close className={styles.closeButtonContainer} asChild>
|
|
157
72
|
<IconButton type="button" aria-label="Close">
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// Copyright (c) 2024 IOTA Stiftung
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { style } from '@vanilla-extract/css';
|
|
5
|
+
import { themeVars } from '../../../themes/themeContract.js';
|
|
6
|
+
|
|
7
|
+
export const container = style({
|
|
8
|
+
display: 'flex',
|
|
9
|
+
flexDirection: 'column',
|
|
10
|
+
alignItems: 'center',
|
|
11
|
+
justifyContent: 'center',
|
|
12
|
+
padding: themeVars.spacing.medium,
|
|
13
|
+
height: '100%',
|
|
14
|
+
gap: themeVars.spacing.xlarge,
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
export const content = style({
|
|
18
|
+
display: 'flex',
|
|
19
|
+
flexDirection: 'column',
|
|
20
|
+
alignItems: 'center',
|
|
21
|
+
gap: themeVars.spacing.medium,
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
export const text = style({
|
|
25
|
+
fontSize: themeVars.fontSizes.medium,
|
|
26
|
+
textAlign: 'center',
|
|
27
|
+
color: themeVars.colors.body,
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
export const button = style({
|
|
31
|
+
display: 'flex',
|
|
32
|
+
alignItems: 'center',
|
|
33
|
+
gap: themeVars.spacing.xsmall,
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
export const icon = style({
|
|
37
|
+
color: themeVars.colors.body,
|
|
38
|
+
});
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
// Copyright (c) 2024 IOTA Stiftung
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import { WALLET_DOWNLOAD_URL } from '../../../constants/walletDefaults.js';
|
|
5
|
+
import { ArrowTopRightIcon } from '../../icons/ArrowTopRightIcon.js';
|
|
6
|
+
import { IotaIcon } from '../../icons/IotaIcon.js';
|
|
7
|
+
import { Button } from '../../ui/Button.js';
|
|
8
|
+
import * as styles from './GetTheWallet.css.js';
|
|
9
|
+
|
|
10
|
+
export function GetTheWalletView() {
|
|
11
|
+
return (
|
|
12
|
+
<div className={styles.container}>
|
|
13
|
+
<div className={styles.content}>
|
|
14
|
+
<IotaIcon className={styles.icon} width={48} height={48} />
|
|
15
|
+
<p className={styles.text}>Don't have a wallet yet?</p>
|
|
16
|
+
</div>
|
|
17
|
+
<a href={WALLET_DOWNLOAD_URL} target="_blank" rel="noopener noreferrer">
|
|
18
|
+
<Button size="md" variant="primary" className={styles.button}>
|
|
19
|
+
Get the IOTA wallet
|
|
20
|
+
<ArrowTopRightIcon width={16} height={16} />
|
|
21
|
+
</Button>
|
|
22
|
+
</a>
|
|
23
|
+
</div>
|
|
24
|
+
);
|
|
25
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// Modifications Copyright (c) 2024 IOTA Stiftung
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
import { style } from '@vanilla-extract/css';
|
|
6
|
+
import { themeVars } from '../../../themes/themeContract.js';
|
|
7
|
+
|
|
8
|
+
export const walletConnectContainer = style({
|
|
9
|
+
height: '100%',
|
|
10
|
+
width: '100%',
|
|
11
|
+
overflow: 'auto',
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
export const walletConnectFooter = style({
|
|
15
|
+
display: 'flex',
|
|
16
|
+
flexDirection: 'column',
|
|
17
|
+
gap: themeVars.spacing.small,
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
export const errorContainer = style({
|
|
21
|
+
display: 'flex',
|
|
22
|
+
width: '100%',
|
|
23
|
+
flexDirection: 'row',
|
|
24
|
+
alignItems: 'center',
|
|
25
|
+
justifyContent: 'space-between',
|
|
26
|
+
gap: themeVars.spacing.small,
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export const errorMessage = style({
|
|
30
|
+
fontSize: themeVars.fontSizes.small,
|
|
31
|
+
color: themeVars.colors.bodyDanger,
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
export const successContainer = style({
|
|
35
|
+
display: 'flex',
|
|
36
|
+
flexDirection: 'column',
|
|
37
|
+
alignItems: 'flex-start',
|
|
38
|
+
gap: themeVars.spacing.small,
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export const openingText = style({
|
|
42
|
+
fontSize: themeVars.fontSizes.small,
|
|
43
|
+
color: themeVars.colors.bodyMuted,
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
export const confirmText = style({
|
|
47
|
+
fontSize: themeVars.fontSizes.medium,
|
|
48
|
+
color: themeVars.colors.body,
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
export const separator = style({
|
|
52
|
+
height: 1,
|
|
53
|
+
backgroundColor: themeVars.backgroundColors.dropdownMenuSeparator,
|
|
54
|
+
width: '100%',
|
|
55
|
+
});
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// Copyright (c) 2024 IOTA Stiftung
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
import type { WalletWithRequiredFeatures } from '@iota/wallet-standard';
|
|
5
|
+
import { useState } from 'react';
|
|
6
|
+
import { getWalletUniqueIdentifier } from '../../../utils/walletUtils.js';
|
|
7
|
+
import { useConnectWallet } from '../../../hooks/wallet/useConnectWallet.js';
|
|
8
|
+
import { WalletList } from '../wallet-list/WalletList.js';
|
|
9
|
+
import * as styles from './WalletConnect.css.js';
|
|
10
|
+
import { Button } from '../../ui/Button.js';
|
|
11
|
+
|
|
12
|
+
interface WalletConnectListViewProps {
|
|
13
|
+
wallets: WalletWithRequiredFeatures[];
|
|
14
|
+
onOpenChange: (isOpen: boolean) => void;
|
|
15
|
+
}
|
|
16
|
+
export function WalletConnectListView({ wallets, onOpenChange }: WalletConnectListViewProps) {
|
|
17
|
+
const [selectedWallet, setSelectedWallet] = useState<WalletWithRequiredFeatures>();
|
|
18
|
+
const { mutate, isError } = useConnectWallet();
|
|
19
|
+
function handleSelectWallet(wallet: WalletWithRequiredFeatures) {
|
|
20
|
+
if (getWalletUniqueIdentifier(selectedWallet) !== getWalletUniqueIdentifier(wallet)) {
|
|
21
|
+
setSelectedWallet(wallet);
|
|
22
|
+
connectWallet(wallet);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function resetSelection() {
|
|
26
|
+
setSelectedWallet(undefined);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function handleOpenChange(open: boolean) {
|
|
30
|
+
if (!open) {
|
|
31
|
+
resetSelection();
|
|
32
|
+
}
|
|
33
|
+
onOpenChange(open);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function connectWallet(wallet: WalletWithRequiredFeatures) {
|
|
37
|
+
mutate(
|
|
38
|
+
{ wallet },
|
|
39
|
+
{
|
|
40
|
+
onSuccess: () => handleOpenChange(false),
|
|
41
|
+
},
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
return (
|
|
45
|
+
<>
|
|
46
|
+
<div className={styles.walletConnectContainer}>
|
|
47
|
+
<WalletList
|
|
48
|
+
selectedWalletName={getWalletUniqueIdentifier(selectedWallet)}
|
|
49
|
+
onSelect={handleSelectWallet}
|
|
50
|
+
wallets={wallets}
|
|
51
|
+
/>
|
|
52
|
+
</div>
|
|
53
|
+
{selectedWallet && (
|
|
54
|
+
<div className={styles.walletConnectFooter}>
|
|
55
|
+
{isError ? (
|
|
56
|
+
<div className={styles.errorContainer}>
|
|
57
|
+
<p className={styles.errorMessage}>Connection failed</p>
|
|
58
|
+
<Button
|
|
59
|
+
size="md"
|
|
60
|
+
variant="outline"
|
|
61
|
+
onClick={() => connectWallet(selectedWallet)}
|
|
62
|
+
>
|
|
63
|
+
Retry
|
|
64
|
+
</Button>
|
|
65
|
+
</div>
|
|
66
|
+
) : (
|
|
67
|
+
<div className={styles.successContainer}>
|
|
68
|
+
<p className={styles.openingText}>Opening {selectedWallet.name}...</p>
|
|
69
|
+
<div className={styles.separator} />
|
|
70
|
+
<p className={styles.confirmText}>
|
|
71
|
+
Please confirm the connection in your wallet
|
|
72
|
+
</p>
|
|
73
|
+
</div>
|
|
74
|
+
)}
|
|
75
|
+
</div>
|
|
76
|
+
)}
|
|
77
|
+
</>
|
|
78
|
+
);
|
|
79
|
+
}
|
|
@@ -3,9 +3,13 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
|
|
5
5
|
import { style } from '@vanilla-extract/css';
|
|
6
|
+
import { themeVars } from '../../../themes/themeContract.js';
|
|
6
7
|
|
|
7
8
|
export const container = style({
|
|
8
9
|
display: 'flex',
|
|
9
10
|
flexDirection: 'column',
|
|
10
|
-
gap:
|
|
11
|
+
gap: themeVars.spacing.xsmall,
|
|
12
|
+
height: '100%',
|
|
13
|
+
width: '100%',
|
|
14
|
+
maxHeight: '330px',
|
|
11
15
|
});
|
|
@@ -3,41 +3,27 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
|
|
5
5
|
import type { WalletWithRequiredFeatures } from '@iota/wallet-standard';
|
|
6
|
-
|
|
7
|
-
import { useWallets } from '../../../hooks/wallet/useWallets.js';
|
|
8
6
|
import { getWalletUniqueIdentifier } from '../../../utils/walletUtils.js';
|
|
9
|
-
import { IotaIcon } from '../../icons/IotaIcon.js';
|
|
10
7
|
import * as styles from './WalletList.css.js';
|
|
11
8
|
import { WalletListItem } from './WalletListItem.js';
|
|
12
9
|
|
|
13
|
-
|
|
10
|
+
interface WalletListProps {
|
|
14
11
|
selectedWalletName?: string;
|
|
15
|
-
onPlaceholderClick: () => void;
|
|
16
12
|
onSelect: (wallet: WalletWithRequiredFeatures) => void;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export function WalletList({ selectedWalletName,
|
|
20
|
-
const wallets = useWallets();
|
|
13
|
+
wallets: WalletWithRequiredFeatures[];
|
|
14
|
+
}
|
|
15
|
+
export function WalletList({ selectedWalletName, onSelect, wallets }: WalletListProps) {
|
|
21
16
|
return (
|
|
22
17
|
<ul className={styles.container}>
|
|
23
|
-
{wallets.
|
|
24
|
-
wallets.map((wallet) => (
|
|
25
|
-
<WalletListItem
|
|
26
|
-
key={getWalletUniqueIdentifier(wallet)}
|
|
27
|
-
name={wallet.name}
|
|
28
|
-
icon={wallet.icon}
|
|
29
|
-
isSelected={getWalletUniqueIdentifier(wallet) === selectedWalletName}
|
|
30
|
-
onClick={() => onSelect(wallet)}
|
|
31
|
-
/>
|
|
32
|
-
))
|
|
33
|
-
) : (
|
|
18
|
+
{wallets.map((wallet) => (
|
|
34
19
|
<WalletListItem
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
isSelected
|
|
20
|
+
key={getWalletUniqueIdentifier(wallet)}
|
|
21
|
+
name={wallet.name}
|
|
22
|
+
icon={wallet.icon}
|
|
23
|
+
isSelected={getWalletUniqueIdentifier(wallet) === selectedWalletName}
|
|
24
|
+
onClick={() => onSelect(wallet)}
|
|
39
25
|
/>
|
|
40
|
-
)}
|
|
26
|
+
))}
|
|
41
27
|
</ul>
|
|
42
28
|
);
|
|
43
29
|
}
|
|
@@ -3,28 +3,36 @@
|
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
|
|
5
5
|
import { style } from '@vanilla-extract/css';
|
|
6
|
-
|
|
7
6
|
import { themeVars } from '../../../themes/themeContract.js';
|
|
8
7
|
|
|
9
8
|
export const container = style({
|
|
10
9
|
display: 'flex',
|
|
10
|
+
width: '100%',
|
|
11
11
|
});
|
|
12
12
|
|
|
13
13
|
export const walletItem = style({
|
|
14
14
|
display: 'flex',
|
|
15
15
|
alignItems: 'center',
|
|
16
|
+
justifyContent: 'space-between',
|
|
17
|
+
width: '100%',
|
|
16
18
|
flexGrow: 1,
|
|
17
|
-
padding:
|
|
18
|
-
gap: 8,
|
|
19
|
+
padding: themeVars.spacing.medium,
|
|
19
20
|
borderRadius: themeVars.radii.large,
|
|
20
21
|
':hover': {
|
|
21
|
-
backgroundColor: themeVars.backgroundColors.
|
|
22
|
+
backgroundColor: themeVars.backgroundColors.primaryButtonHover,
|
|
22
23
|
},
|
|
23
24
|
});
|
|
24
25
|
|
|
25
26
|
export const selectedWalletItem = style({
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
border: `1px solid ${themeVars.borderColors.outlineButton}`,
|
|
28
|
+
borderRadius: themeVars.radii.large,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
export const walletName = style({
|
|
32
|
+
display: 'flex',
|
|
33
|
+
alignItems: 'center',
|
|
34
|
+
flexDirection: 'row',
|
|
35
|
+
gap: themeVars.spacing.small,
|
|
28
36
|
});
|
|
29
37
|
|
|
30
38
|
export const walletIcon = style({
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
|
|
5
5
|
import { clsx } from 'clsx';
|
|
6
6
|
import type { ReactNode } from 'react';
|
|
7
|
-
|
|
8
7
|
import { Heading } from '../../ui/Heading.js';
|
|
9
8
|
import * as styles from './WalletListItem.css.js';
|
|
9
|
+
import { ArrowRightIcon } from '../../icons/ArrowRightIcon.js';
|
|
10
10
|
|
|
11
11
|
type WalletListItemProps = {
|
|
12
12
|
name: string;
|
|
@@ -23,14 +23,17 @@ export function WalletListItem({ name, icon, onClick, isSelected = false }: Wall
|
|
|
23
23
|
type="button"
|
|
24
24
|
onClick={onClick}
|
|
25
25
|
>
|
|
26
|
-
{
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<
|
|
33
|
-
|
|
26
|
+
<div className={clsx(styles.walletName)}>
|
|
27
|
+
{typeof icon === 'string' ? (
|
|
28
|
+
<img className={styles.walletIcon} src={icon} alt={`${name} logo`} />
|
|
29
|
+
) : (
|
|
30
|
+
icon
|
|
31
|
+
)}
|
|
32
|
+
<Heading size="md" truncate asChild>
|
|
33
|
+
<div>{name}</div>
|
|
34
|
+
</Heading>
|
|
35
|
+
</div>
|
|
36
|
+
<ArrowRightIcon />
|
|
34
37
|
</button>
|
|
35
38
|
</li>
|
|
36
39
|
);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// Modifications Copyright (c) 2024 IOTA Stiftung
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
import type { ComponentProps } from 'react';
|
|
6
|
+
|
|
7
|
+
export function ArrowRightIcon(props: ComponentProps<'svg'>) {
|
|
8
|
+
return (
|
|
9
|
+
<svg
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
width="24"
|
|
12
|
+
height="24"
|
|
13
|
+
viewBox="0 0 24 24"
|
|
14
|
+
fill="none"
|
|
15
|
+
{...props}
|
|
16
|
+
>
|
|
17
|
+
<path
|
|
18
|
+
fill="currentColor"
|
|
19
|
+
d="m10.707 6.293 5 5a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414-1.414L13.586 12 9.293 7.707a1 1 0 0 1 1.414-1.414Z"
|
|
20
|
+
/>
|
|
21
|
+
</svg>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// Modifications Copyright (c) 2024 IOTA Stiftung
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
|
|
5
|
+
import type { ComponentProps } from 'react';
|
|
6
|
+
|
|
7
|
+
export function ArrowTopRightIcon(props: ComponentProps<'svg'>) {
|
|
8
|
+
return (
|
|
9
|
+
<svg
|
|
10
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
11
|
+
width="24"
|
|
12
|
+
height="24"
|
|
13
|
+
viewBox="0 0 24 24"
|
|
14
|
+
fill="none"
|
|
15
|
+
{...props}
|
|
16
|
+
>
|
|
17
|
+
<path
|
|
18
|
+
d="M17.4825 6.29014C17.3873 6.19563 17.2778 6.12421 17.161 6.07588C17.0431 6.02699 16.9138 6 16.7782 6L8.70711 6C8.15482 6 7.70711 6.44772 7.70711 7C7.70711 7.55228 8.15482 8 8.70711 8L14.364 8L6.29289 16.0711C5.90237 16.4616 5.90237 17.0948 6.29289 17.4853C6.68342 17.8758 7.31658 17.8758 7.70711 17.4853L15.7782 9.41421V15.0711C15.7782 15.6234 16.2259 16.0711 16.7782 16.0711C17.3305 16.0711 17.7782 15.6234 17.7782 15.0711L17.7782 7.0008C17.7782 6.86458 17.7509 6.73391 17.7016 6.61556C17.6531 6.49895 17.5816 6.38966 17.487 6.29464L17.4853 6.29289L17.4825 6.29014Z"
|
|
19
|
+
fill="currentColor"
|
|
20
|
+
/>
|
|
21
|
+
</svg>
|
|
22
|
+
);
|
|
23
|
+
}
|