@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.
Files changed (359) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/components/AccountDropdownMenu.css +58 -31
  3. package/dist/cjs/components/AccountDropdownMenu.css.css +27 -18
  4. package/dist/cjs/components/AccountDropdownMenu.css.css.map +3 -3
  5. package/dist/cjs/components/AccountDropdownMenu.css.d.ts +1 -0
  6. package/dist/cjs/components/AccountDropdownMenu.css.js +6 -4
  7. package/dist/cjs/components/AccountDropdownMenu.css.js.map +2 -2
  8. package/dist/cjs/components/AccountDropdownMenu.css.map +3 -3
  9. package/dist/cjs/components/AccountDropdownMenu.js +44 -104
  10. package/dist/cjs/components/AccountDropdownMenu.js.map +4 -4
  11. package/dist/cjs/components/ConnectButton.css +195 -191
  12. package/dist/cjs/components/ConnectButton.css.map +3 -3
  13. package/dist/cjs/components/ConnectButton.js +693 -418
  14. package/dist/cjs/components/ConnectButton.js.map +4 -4
  15. package/dist/cjs/components/WalletProvider.js +119 -34
  16. package/dist/cjs/components/WalletProvider.js.map +3 -3
  17. package/dist/cjs/components/connect-modal/ConnectModal.css +177 -224
  18. package/dist/cjs/components/connect-modal/ConnectModal.css.css +32 -69
  19. package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +3 -3
  20. package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +1 -5
  21. package/dist/cjs/components/connect-modal/ConnectModal.css.js +7 -15
  22. package/dist/cjs/components/connect-modal/ConnectModal.css.js.map +2 -2
  23. package/dist/cjs/components/connect-modal/ConnectModal.css.map +3 -3
  24. package/dist/cjs/components/connect-modal/ConnectModal.js +705 -403
  25. package/dist/cjs/components/connect-modal/ConnectModal.js.map +4 -4
  26. package/dist/cjs/components/connect-modal/InfoSection.css +11 -7
  27. package/dist/cjs/components/connect-modal/InfoSection.css.map +3 -3
  28. package/dist/cjs/components/connect-modal/InfoSection.js +1 -1
  29. package/dist/cjs/components/connect-modal/InfoSection.js.map +2 -2
  30. package/dist/cjs/components/connect-modal/views/GetTheWallet.css +78 -0
  31. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css +35 -0
  32. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
  33. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
  34. package/dist/cjs/components/connect-modal/views/{GettingStarted.css.js → GetTheWallet.css.js} +13 -9
  35. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
  36. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.map +7 -0
  37. package/dist/cjs/components/connect-modal/views/GetTheWallet.d.ts +1 -0
  38. package/dist/cjs/components/connect-modal/views/GetTheWallet.js +524 -0
  39. package/dist/cjs/components/connect-modal/views/GetTheWallet.js.map +7 -0
  40. package/dist/cjs/components/connect-modal/views/WalletConnect.css +179 -0
  41. package/dist/cjs/components/connect-modal/views/WalletConnect.css.css +51 -0
  42. package/dist/cjs/components/connect-modal/views/WalletConnect.css.css.map +7 -0
  43. package/dist/cjs/components/connect-modal/views/WalletConnect.css.d.ts +8 -0
  44. package/dist/cjs/components/connect-modal/views/WalletConnect.css.js +41 -0
  45. package/dist/cjs/components/connect-modal/views/WalletConnect.css.js.map +7 -0
  46. package/dist/cjs/components/connect-modal/views/WalletConnect.css.map +7 -0
  47. package/dist/cjs/components/connect-modal/views/WalletConnect.d.ts +7 -0
  48. package/dist/cjs/components/connect-modal/views/WalletConnect.js +325 -0
  49. package/dist/cjs/components/connect-modal/views/WalletConnect.js.map +7 -0
  50. package/dist/cjs/components/connect-modal/views/index.css +214 -0
  51. package/dist/cjs/components/connect-modal/views/index.css.map +7 -0
  52. package/dist/cjs/components/connect-modal/views/index.d.ts +2 -0
  53. package/dist/cjs/components/connect-modal/views/index.js +790 -0
  54. package/dist/cjs/components/connect-modal/views/index.js.map +7 -0
  55. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +22 -10
  56. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +5 -2
  57. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +3 -3
  58. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +1 -1
  59. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +3 -3
  60. package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +4 -4
  61. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +38 -61
  62. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +4 -4
  63. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +17 -8
  64. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +17 -8
  65. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +3 -3
  66. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +1 -0
  67. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +4 -2
  68. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +2 -2
  69. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +3 -3
  70. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +32 -5
  71. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +4 -4
  72. package/dist/cjs/components/icons/ArrowRightIcon.d.ts +2 -0
  73. package/dist/cjs/components/icons/{BackIcon.js → ArrowRightIcon.js} +23 -12
  74. package/dist/cjs/components/icons/ArrowRightIcon.js.map +7 -0
  75. package/dist/cjs/components/icons/ArrowTopRightIcon.d.ts +2 -0
  76. package/dist/cjs/components/icons/ArrowTopRightIcon.js +47 -0
  77. package/dist/cjs/components/icons/ArrowTopRightIcon.js.map +7 -0
  78. package/dist/cjs/components/icons/IotaIcon.js +391 -12
  79. package/dist/cjs/components/icons/IotaIcon.js.map +2 -2
  80. package/dist/cjs/components/styling/InjectedThemeStyles.js +13 -8
  81. package/dist/cjs/components/styling/InjectedThemeStyles.js.map +2 -2
  82. package/dist/cjs/components/styling/StyleMarker.css +16 -1
  83. package/dist/cjs/components/styling/StyleMarker.css.css +16 -1
  84. package/dist/cjs/components/styling/StyleMarker.css.css.map +3 -3
  85. package/dist/cjs/components/styling/StyleMarker.css.map +3 -3
  86. package/dist/cjs/components/styling/StyleMarker.js +2 -2
  87. package/dist/cjs/components/styling/StyleMarker.js.map +1 -1
  88. package/dist/cjs/components/ui/Button.css +4 -5
  89. package/dist/cjs/components/ui/Button.css.css +4 -5
  90. package/dist/cjs/components/ui/Button.css.css.map +3 -3
  91. package/dist/cjs/components/ui/Button.css.d.ts +0 -1
  92. package/dist/cjs/components/ui/Button.css.js.map +1 -1
  93. package/dist/cjs/components/ui/Button.css.map +3 -3
  94. package/dist/cjs/components/ui/Button.js.map +1 -1
  95. package/dist/cjs/components/ui/IconButton.css +1 -5
  96. package/dist/cjs/components/ui/IconButton.css.css +1 -5
  97. package/dist/cjs/components/ui/IconButton.css.css.map +3 -3
  98. package/dist/cjs/components/ui/IconButton.css.js.map +1 -1
  99. package/dist/cjs/components/ui/IconButton.css.map +3 -3
  100. package/dist/cjs/components/ui/IconButton.js.map +1 -1
  101. package/dist/cjs/components/ui/Text.css +11 -7
  102. package/dist/cjs/components/ui/Text.css.css +11 -7
  103. package/dist/cjs/components/ui/Text.css.css.map +3 -3
  104. package/dist/cjs/components/ui/Text.css.d.ts +3 -0
  105. package/dist/cjs/components/ui/Text.css.js +1 -1
  106. package/dist/cjs/components/ui/Text.css.js.map +2 -2
  107. package/dist/cjs/components/ui/Text.css.map +3 -3
  108. package/dist/cjs/components/ui/Text.js +1 -1
  109. package/dist/cjs/components/ui/Text.js.map +2 -2
  110. package/dist/cjs/constants/walletDefaults.d.ts +1 -0
  111. package/dist/cjs/constants/walletDefaults.js +4 -1
  112. package/dist/cjs/constants/walletDefaults.js.map +2 -2
  113. package/dist/cjs/index.css +246 -242
  114. package/dist/cjs/index.css.map +3 -3
  115. package/dist/cjs/index.d.ts +1 -1
  116. package/dist/cjs/index.js +1010 -634
  117. package/dist/cjs/index.js.map +4 -4
  118. package/dist/cjs/themes/darkTheme.d.ts +2 -0
  119. package/dist/cjs/themes/darkTheme.js +88 -0
  120. package/dist/cjs/themes/darkTheme.js.map +7 -0
  121. package/dist/cjs/themes/lightTheme.js +30 -25
  122. package/dist/cjs/themes/lightTheme.js.map +2 -2
  123. package/dist/cjs/themes/themeContract.d.ts +22 -12
  124. package/dist/cjs/themes/themeContract.js +13 -8
  125. package/dist/cjs/themes/themeContract.js.map +2 -2
  126. package/dist/esm/components/AccountDropdownMenu.css +58 -31
  127. package/dist/esm/components/AccountDropdownMenu.css.css +27 -18
  128. package/dist/esm/components/AccountDropdownMenu.css.css.map +3 -3
  129. package/dist/esm/components/AccountDropdownMenu.css.d.ts +1 -0
  130. package/dist/esm/components/AccountDropdownMenu.css.js +6 -4
  131. package/dist/esm/components/AccountDropdownMenu.css.js.map +2 -2
  132. package/dist/esm/components/AccountDropdownMenu.css.map +3 -3
  133. package/dist/esm/components/AccountDropdownMenu.js +33 -93
  134. package/dist/esm/components/AccountDropdownMenu.js.map +4 -4
  135. package/dist/esm/components/ConnectButton.css +195 -191
  136. package/dist/esm/components/ConnectButton.css.map +3 -3
  137. package/dist/esm/components/ConnectButton.js +677 -402
  138. package/dist/esm/components/ConnectButton.js.map +4 -4
  139. package/dist/esm/components/WalletProvider.js +119 -34
  140. package/dist/esm/components/WalletProvider.js.map +3 -3
  141. package/dist/esm/components/connect-modal/ConnectModal.css +177 -224
  142. package/dist/esm/components/connect-modal/ConnectModal.css.css +32 -69
  143. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +3 -3
  144. package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +1 -5
  145. package/dist/esm/components/connect-modal/ConnectModal.css.js +7 -15
  146. package/dist/esm/components/connect-modal/ConnectModal.css.js.map +2 -2
  147. package/dist/esm/components/connect-modal/ConnectModal.css.map +3 -3
  148. package/dist/esm/components/connect-modal/ConnectModal.js +701 -399
  149. package/dist/esm/components/connect-modal/ConnectModal.js.map +4 -4
  150. package/dist/esm/components/connect-modal/InfoSection.css +11 -7
  151. package/dist/esm/components/connect-modal/InfoSection.css.map +3 -3
  152. package/dist/esm/components/connect-modal/InfoSection.js +1 -1
  153. package/dist/esm/components/connect-modal/InfoSection.js.map +2 -2
  154. package/dist/esm/components/connect-modal/views/GetTheWallet.css +78 -0
  155. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css +35 -0
  156. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
  157. package/dist/esm/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
  158. package/dist/esm/components/connect-modal/views/GetTheWallet.css.js +14 -0
  159. package/dist/esm/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
  160. package/dist/esm/components/connect-modal/views/GetTheWallet.css.map +7 -0
  161. package/dist/esm/components/connect-modal/views/GetTheWallet.d.ts +1 -0
  162. package/dist/esm/components/connect-modal/views/GetTheWallet.js +491 -0
  163. package/dist/esm/components/connect-modal/views/GetTheWallet.js.map +7 -0
  164. package/dist/esm/components/connect-modal/views/WalletConnect.css +179 -0
  165. package/dist/esm/components/connect-modal/views/WalletConnect.css.css +51 -0
  166. package/dist/esm/components/connect-modal/views/WalletConnect.css.css.map +7 -0
  167. package/dist/esm/components/connect-modal/views/WalletConnect.css.d.ts +8 -0
  168. package/dist/esm/components/connect-modal/views/WalletConnect.css.js +20 -0
  169. package/dist/esm/components/connect-modal/views/WalletConnect.css.js.map +7 -0
  170. package/dist/esm/components/connect-modal/views/WalletConnect.css.map +7 -0
  171. package/dist/esm/components/connect-modal/views/WalletConnect.d.ts +7 -0
  172. package/dist/esm/components/connect-modal/views/WalletConnect.js +294 -0
  173. package/dist/esm/components/connect-modal/views/WalletConnect.js.map +7 -0
  174. package/dist/esm/components/connect-modal/views/index.css +214 -0
  175. package/dist/esm/components/connect-modal/views/index.css.map +7 -0
  176. package/dist/esm/components/connect-modal/views/index.d.ts +2 -0
  177. package/dist/esm/components/connect-modal/views/index.js +757 -0
  178. package/dist/esm/components/connect-modal/views/index.js.map +7 -0
  179. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +22 -10
  180. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +5 -2
  181. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +3 -3
  182. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +1 -1
  183. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +3 -3
  184. package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +4 -4
  185. package/dist/esm/components/connect-modal/wallet-list/WalletList.js +38 -61
  186. package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +4 -4
  187. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +17 -8
  188. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +17 -8
  189. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +3 -3
  190. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +1 -0
  191. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +4 -2
  192. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +2 -2
  193. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +3 -3
  194. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +32 -5
  195. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +4 -4
  196. package/dist/esm/components/icons/ArrowRightIcon.d.ts +2 -0
  197. package/dist/esm/components/icons/ArrowRightIcon.js +26 -0
  198. package/dist/esm/components/icons/ArrowRightIcon.js.map +7 -0
  199. package/dist/esm/components/icons/ArrowTopRightIcon.d.ts +2 -0
  200. package/dist/esm/components/icons/ArrowTopRightIcon.js +26 -0
  201. package/dist/esm/components/icons/ArrowTopRightIcon.js.map +7 -0
  202. package/dist/esm/components/icons/IotaIcon.js +391 -12
  203. package/dist/esm/components/icons/IotaIcon.js.map +2 -2
  204. package/dist/esm/components/styling/InjectedThemeStyles.js +13 -8
  205. package/dist/esm/components/styling/InjectedThemeStyles.js.map +2 -2
  206. package/dist/esm/components/styling/StyleMarker.css +16 -1
  207. package/dist/esm/components/styling/StyleMarker.css.css +16 -1
  208. package/dist/esm/components/styling/StyleMarker.css.css.map +3 -3
  209. package/dist/esm/components/styling/StyleMarker.css.js +2 -2
  210. package/dist/esm/components/styling/StyleMarker.css.js.map +1 -1
  211. package/dist/esm/components/styling/StyleMarker.css.map +3 -3
  212. package/dist/esm/components/styling/StyleMarker.js +2 -2
  213. package/dist/esm/components/styling/StyleMarker.js.map +1 -1
  214. package/dist/esm/components/ui/Button.css +4 -5
  215. package/dist/esm/components/ui/Button.css.css +4 -5
  216. package/dist/esm/components/ui/Button.css.css.map +3 -3
  217. package/dist/esm/components/ui/Button.css.d.ts +0 -1
  218. package/dist/esm/components/ui/Button.css.js.map +1 -1
  219. package/dist/esm/components/ui/Button.css.map +3 -3
  220. package/dist/esm/components/ui/Button.js.map +1 -1
  221. package/dist/esm/components/ui/IconButton.css +1 -5
  222. package/dist/esm/components/ui/IconButton.css.css +1 -5
  223. package/dist/esm/components/ui/IconButton.css.css.map +3 -3
  224. package/dist/esm/components/ui/IconButton.css.js.map +1 -1
  225. package/dist/esm/components/ui/IconButton.css.map +3 -3
  226. package/dist/esm/components/ui/IconButton.js.map +1 -1
  227. package/dist/esm/components/ui/Text.css +11 -7
  228. package/dist/esm/components/ui/Text.css.css +11 -7
  229. package/dist/esm/components/ui/Text.css.css.map +3 -3
  230. package/dist/esm/components/ui/Text.css.d.ts +3 -0
  231. package/dist/esm/components/ui/Text.css.js +1 -1
  232. package/dist/esm/components/ui/Text.css.js.map +2 -2
  233. package/dist/esm/components/ui/Text.css.map +3 -3
  234. package/dist/esm/components/ui/Text.js +1 -1
  235. package/dist/esm/components/ui/Text.js.map +2 -2
  236. package/dist/esm/constants/walletDefaults.d.ts +1 -0
  237. package/dist/esm/constants/walletDefaults.js +4 -1
  238. package/dist/esm/constants/walletDefaults.js.map +2 -2
  239. package/dist/esm/index.css +246 -242
  240. package/dist/esm/index.css.map +3 -3
  241. package/dist/esm/index.d.ts +1 -1
  242. package/dist/esm/index.js +993 -617
  243. package/dist/esm/index.js.map +4 -4
  244. package/dist/esm/themes/darkTheme.d.ts +2 -0
  245. package/dist/esm/themes/darkTheme.js +67 -0
  246. package/dist/esm/themes/darkTheme.js.map +7 -0
  247. package/dist/esm/themes/lightTheme.js +30 -25
  248. package/dist/esm/themes/lightTheme.js.map +2 -2
  249. package/dist/esm/themes/themeContract.d.ts +22 -12
  250. package/dist/esm/themes/themeContract.js +13 -8
  251. package/dist/esm/themes/themeContract.js.map +2 -2
  252. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  253. package/dist/tsconfig.tsbuildinfo +1 -1
  254. package/package.json +3 -3
  255. package/src/components/AccountDropdownMenu.css.ts +17 -11
  256. package/src/components/AccountDropdownMenu.tsx +4 -16
  257. package/src/components/ConnectButton.tsx +1 -4
  258. package/src/components/WalletProvider.tsx +13 -2
  259. package/src/components/connect-modal/ConnectModal.css.ts +17 -58
  260. package/src/components/connect-modal/ConnectModal.tsx +16 -101
  261. package/src/components/connect-modal/views/GetTheWallet.css.ts +38 -0
  262. package/src/components/connect-modal/views/GetTheWallet.tsx +25 -0
  263. package/src/components/connect-modal/views/WalletConnect.css.ts +55 -0
  264. package/src/components/connect-modal/views/WalletConnect.tsx +79 -0
  265. package/src/components/connect-modal/views/index.ts +5 -0
  266. package/src/components/connect-modal/wallet-list/WalletList.css.ts +5 -1
  267. package/src/components/connect-modal/wallet-list/WalletList.tsx +11 -25
  268. package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +14 -6
  269. package/src/components/connect-modal/wallet-list/WalletListItem.tsx +12 -9
  270. package/src/components/icons/ArrowRightIcon.tsx +23 -0
  271. package/src/components/icons/ArrowTopRightIcon.tsx +23 -0
  272. package/src/components/icons/IotaIcon.tsx +222 -6
  273. package/src/components/styling/StyleMarker.css.ts +15 -0
  274. package/src/components/ui/Button.css.ts +3 -5
  275. package/src/components/ui/IconButton.css.ts +0 -3
  276. package/src/components/ui/Text.css.ts +1 -1
  277. package/src/constants/walletDefaults.ts +5 -0
  278. package/src/index.ts +1 -1
  279. package/src/themes/darkTheme.ts +69 -0
  280. package/src/themes/lightTheme.ts +29 -24
  281. package/src/themes/themeContract.ts +11 -6
  282. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +0 -146
  283. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +0 -32
  284. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +0 -7
  285. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.d.ts +0 -5
  286. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js +0 -35
  287. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js.map +0 -7
  288. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +0 -7
  289. package/dist/cjs/components/connect-modal/views/ConnectionStatus.d.ts +0 -8
  290. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js +0 -173
  291. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +0 -7
  292. package/dist/cjs/components/connect-modal/views/GettingStarted.css +0 -145
  293. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +0 -23
  294. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +0 -7
  295. package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +0 -3
  296. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +0 -7
  297. package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +0 -7
  298. package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +0 -1
  299. package/dist/cjs/components/connect-modal/views/GettingStarted.js +0 -172
  300. package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +0 -7
  301. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +0 -95
  302. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +0 -17
  303. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +0 -7
  304. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +0 -2
  305. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +0 -29
  306. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +0 -7
  307. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +0 -7
  308. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +0 -1
  309. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +0 -135
  310. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +0 -7
  311. package/dist/cjs/components/icons/BackIcon.d.ts +0 -2
  312. package/dist/cjs/components/icons/BackIcon.js.map +0 -7
  313. package/dist/cjs/hooks/useResolveIotaNSNames.d.ts +0 -3
  314. package/dist/cjs/hooks/useResolveIotaNSNames.js +0 -83
  315. package/dist/cjs/hooks/useResolveIotaNSNames.js.map +0 -7
  316. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +0 -146
  317. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +0 -32
  318. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +0 -7
  319. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +0 -5
  320. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +0 -14
  321. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +0 -7
  322. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +0 -7
  323. package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +0 -8
  324. package/dist/esm/components/connect-modal/views/ConnectionStatus.js +0 -140
  325. package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +0 -7
  326. package/dist/esm/components/connect-modal/views/GettingStarted.css +0 -145
  327. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +0 -23
  328. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +0 -7
  329. package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +0 -3
  330. package/dist/esm/components/connect-modal/views/GettingStarted.css.js +0 -10
  331. package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +0 -7
  332. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +0 -7
  333. package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +0 -1
  334. package/dist/esm/components/connect-modal/views/GettingStarted.js +0 -139
  335. package/dist/esm/components/connect-modal/views/GettingStarted.js.map +0 -7
  336. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +0 -95
  337. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +0 -17
  338. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +0 -7
  339. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +0 -2
  340. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +0 -8
  341. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +0 -7
  342. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +0 -7
  343. package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +0 -1
  344. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +0 -102
  345. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +0 -7
  346. package/dist/esm/components/icons/BackIcon.d.ts +0 -2
  347. package/dist/esm/components/icons/BackIcon.js +0 -15
  348. package/dist/esm/components/icons/BackIcon.js.map +0 -7
  349. package/dist/esm/hooks/useResolveIotaNSNames.d.ts +0 -3
  350. package/dist/esm/hooks/useResolveIotaNSNames.js +0 -60
  351. package/dist/esm/hooks/useResolveIotaNSNames.js.map +0 -7
  352. package/src/components/connect-modal/views/ConnectionStatus.css.ts +0 -36
  353. package/src/components/connect-modal/views/ConnectionStatus.tsx +0 -55
  354. package/src/components/connect-modal/views/GettingStarted.css.ts +0 -26
  355. package/src/components/connect-modal/views/GettingStarted.tsx +0 -40
  356. package/src/components/connect-modal/views/WhatIsAWallet.css.ts +0 -20
  357. package/src/components/connect-modal/views/WhatIsAWallet.tsx +0 -24
  358. package/src/components/icons/BackIcon.tsx +0 -18
  359. 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
- paddingLeft: 8,
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
- bottom: 16,
27
- left: 16,
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
- maxWidth: 700,
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: 24,
94
- padding: 20,
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 { ConnectionStatus } from './views/ConnectionStatus.js';
20
- import { GettingStarted } from './views/GettingStarted.js';
21
- import { WhatIsAWallet } from './views/WhatIsAWallet.js';
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={clsx(styles.walletListContainer, {
109
- [styles.walletListContainerWithViewSelected]: !!currentView,
110
- })}
111
- >
112
- <div className={styles.walletListContent}>
113
- <Dialog.Title className={styles.title} asChild>
114
- <Heading as="h2">Connect a Wallet</Heading>
115
- </Dialog.Title>
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
- </div>
132
- <button
133
- className={styles.whatIsAWalletButton}
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
+ }
@@ -0,0 +1,5 @@
1
+ // Copyright (c) 2024 IOTA Stiftung
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ export * from './WalletConnect.js';
5
+ export * from './GetTheWallet.js';
@@ -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: 4,
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
- type WalletListProps = {
10
+ interface WalletListProps {
14
11
  selectedWalletName?: string;
15
- onPlaceholderClick: () => void;
16
12
  onSelect: (wallet: WalletWithRequiredFeatures) => void;
17
- };
18
-
19
- export function WalletList({ selectedWalletName, onPlaceholderClick, onSelect }: WalletListProps) {
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.length > 0 ? (
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
- name="Iota Wallet"
36
- icon={<IotaIcon />}
37
- onClick={onPlaceholderClick}
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: 8,
18
- gap: 8,
19
+ padding: themeVars.spacing.medium,
19
20
  borderRadius: themeVars.radii.large,
20
21
  ':hover': {
21
- backgroundColor: themeVars.backgroundColors.walletItemHover,
22
+ backgroundColor: themeVars.backgroundColors.primaryButtonHover,
22
23
  },
23
24
  });
24
25
 
25
26
  export const selectedWalletItem = style({
26
- backgroundColor: themeVars.backgroundColors.walletItemSelected,
27
- boxShadow: '0px 2px 6px rgba(0, 0, 0, 0.05)',
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
- {typeof icon === 'string' ? (
27
- <img className={styles.walletIcon} src={icon} alt={`${name} logo`} />
28
- ) : (
29
- icon
30
- )}
31
- <Heading size="md" truncate asChild>
32
- <div>{name}</div>
33
- </Heading>
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
+ }