@mysten/dapp-kit 0.0.0-experimental-20230928204256

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 (444) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/LICENSE +201 -0
  3. package/README.md +0 -0
  4. package/dist/cjs/components/AccountDropdownMenu.css +41 -0
  5. package/dist/cjs/components/AccountDropdownMenu.css.css +41 -0
  6. package/dist/cjs/components/AccountDropdownMenu.css.css.map +7 -0
  7. package/dist/cjs/components/AccountDropdownMenu.css.d.ts +5 -0
  8. package/dist/cjs/components/AccountDropdownMenu.css.js +35 -0
  9. package/dist/cjs/components/AccountDropdownMenu.css.js.map +7 -0
  10. package/dist/cjs/components/AccountDropdownMenu.css.map +7 -0
  11. package/dist/cjs/components/AccountDropdownMenu.d.ts +6 -0
  12. package/dist/cjs/components/AccountDropdownMenu.js +216 -0
  13. package/dist/cjs/components/AccountDropdownMenu.js.map +7 -0
  14. package/dist/cjs/components/ConnectButton.css +250 -0
  15. package/dist/cjs/components/ConnectButton.css.map +7 -0
  16. package/dist/cjs/components/ConnectButton.d.ts +6 -0
  17. package/dist/cjs/components/ConnectButton.js +580 -0
  18. package/dist/cjs/components/ConnectButton.js.map +7 -0
  19. package/dist/cjs/components/SuiClientProvider.d.ts +26 -0
  20. package/dist/cjs/components/SuiClientProvider.js +69 -0
  21. package/dist/cjs/components/SuiClientProvider.js.map +7 -0
  22. package/dist/cjs/components/WalletProvider.d.ts +20 -0
  23. package/dist/cjs/components/WalletProvider.js +470 -0
  24. package/dist/cjs/components/WalletProvider.js.map +7 -0
  25. package/dist/cjs/components/connect-modal/ConnectModal.css +209 -0
  26. package/dist/cjs/components/connect-modal/ConnectModal.css.css +109 -0
  27. package/dist/cjs/components/connect-modal/ConnectModal.css.css.map +7 -0
  28. package/dist/cjs/components/connect-modal/ConnectModal.css.d.ts +12 -0
  29. package/dist/cjs/components/connect-modal/ConnectModal.css.js +49 -0
  30. package/dist/cjs/components/connect-modal/ConnectModal.css.js.map +7 -0
  31. package/dist/cjs/components/connect-modal/ConnectModal.css.map +7 -0
  32. package/dist/cjs/components/connect-modal/ConnectModal.d.ts +6 -0
  33. package/dist/cjs/components/connect-modal/ConnectModal.js +421 -0
  34. package/dist/cjs/components/connect-modal/ConnectModal.js.map +7 -0
  35. package/dist/cjs/components/connect-modal/InfoSection.css +7 -0
  36. package/dist/cjs/components/connect-modal/InfoSection.css.css +7 -0
  37. package/dist/cjs/components/connect-modal/InfoSection.css.css.map +7 -0
  38. package/dist/cjs/components/connect-modal/InfoSection.css.d.ts +3 -0
  39. package/dist/cjs/components/connect-modal/InfoSection.css.js +31 -0
  40. package/dist/cjs/components/connect-modal/InfoSection.css.js.map +7 -0
  41. package/dist/cjs/components/connect-modal/InfoSection.css.map +7 -0
  42. package/dist/cjs/components/connect-modal/InfoSection.d.ts +6 -0
  43. package/dist/cjs/components/connect-modal/InfoSection.js +40 -0
  44. package/dist/cjs/components/connect-modal/InfoSection.js.map +7 -0
  45. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +26 -0
  46. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +26 -0
  47. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  48. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  49. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js +35 -0
  50. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  51. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  52. package/dist/cjs/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  53. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js +77 -0
  54. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  55. package/dist/cjs/components/connect-modal/views/GettingStarted.css +22 -0
  56. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +15 -0
  57. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  58. package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +4 -0
  59. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +33 -0
  60. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  61. package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +7 -0
  62. package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +1 -0
  63. package/dist/cjs/components/connect-modal/views/GettingStarted.js +69 -0
  64. package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
  65. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +22 -0
  66. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +15 -0
  67. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  68. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +3 -0
  69. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +31 -0
  70. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  71. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  72. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  73. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +57 -0
  74. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  75. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +37 -0
  76. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +7 -0
  77. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  78. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.d.ts +1 -0
  79. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js +27 -0
  80. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  81. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  82. package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
  83. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +113 -0
  84. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  85. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +30 -0
  86. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +30 -0
  87. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  88. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +5 -0
  89. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +35 -0
  90. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  91. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  92. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  93. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +43 -0
  94. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  95. package/dist/cjs/components/icons/BackIcon.d.ts +2 -0
  96. package/dist/cjs/components/icons/BackIcon.js +36 -0
  97. package/dist/cjs/components/icons/BackIcon.js.map +7 -0
  98. package/dist/cjs/components/icons/CheckIcon.d.ts +2 -0
  99. package/dist/cjs/components/icons/CheckIcon.js +36 -0
  100. package/dist/cjs/components/icons/CheckIcon.js.map +7 -0
  101. package/dist/cjs/components/icons/ChevronIcon.d.ts +2 -0
  102. package/dist/cjs/components/icons/ChevronIcon.js +39 -0
  103. package/dist/cjs/components/icons/ChevronIcon.js.map +7 -0
  104. package/dist/cjs/components/icons/CloseIcon.d.ts +2 -0
  105. package/dist/cjs/components/icons/CloseIcon.js +36 -0
  106. package/dist/cjs/components/icons/CloseIcon.js.map +7 -0
  107. package/dist/cjs/components/icons/SuiIcon.d.ts +2 -0
  108. package/dist/cjs/components/icons/SuiIcon.js +41 -0
  109. package/dist/cjs/components/icons/SuiIcon.js.map +7 -0
  110. package/dist/cjs/constants/walletMutationKeys.d.ts +12 -0
  111. package/dist/cjs/constants/walletMutationKeys.js +40 -0
  112. package/dist/cjs/constants/walletMutationKeys.js.map +7 -0
  113. package/dist/cjs/contexts/walletContext.d.ts +12 -0
  114. package/dist/cjs/contexts/walletContext.js +28 -0
  115. package/dist/cjs/contexts/walletContext.js.map +7 -0
  116. package/dist/cjs/errors/walletErrors.d.ts +22 -0
  117. package/dist/cjs/errors/walletErrors.js +37 -0
  118. package/dist/cjs/errors/walletErrors.js.map +7 -0
  119. package/dist/cjs/hooks/useSuiClient.d.ts +2 -0
  120. package/dist/cjs/hooks/useSuiClient.js +51 -0
  121. package/dist/cjs/hooks/useSuiClient.js.map +7 -0
  122. package/dist/cjs/hooks/useSuiClientInfiniteQuery.d.ts +25 -0
  123. package/dist/cjs/hooks/useSuiClientInfiniteQuery.js +66 -0
  124. package/dist/cjs/hooks/useSuiClientInfiniteQuery.js.map +7 -0
  125. package/dist/cjs/hooks/useSuiClientMutation.d.ts +4 -0
  126. package/dist/cjs/hooks/useSuiClientMutation.js +61 -0
  127. package/dist/cjs/hooks/useSuiClientMutation.js.map +7 -0
  128. package/dist/cjs/hooks/useSuiClientQuery.d.ts +18 -0
  129. package/dist/cjs/hooks/useSuiClientQuery.js +64 -0
  130. package/dist/cjs/hooks/useSuiClientQuery.js.map +7 -0
  131. package/dist/cjs/hooks/wallet/useAccounts.d.ts +4 -0
  132. package/dist/cjs/hooks/wallet/useAccounts.js +50 -0
  133. package/dist/cjs/hooks/wallet/useAccounts.js.map +7 -0
  134. package/dist/cjs/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  135. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +124 -0
  136. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  137. package/dist/cjs/hooks/wallet/useConnectWallet.d.ts +15 -0
  138. package/dist/cjs/hooks/wallet/useConnectWallet.js +90 -0
  139. package/dist/cjs/hooks/wallet/useConnectWallet.js.map +7 -0
  140. package/dist/cjs/hooks/wallet/useCurrentAccount.d.ts +4 -0
  141. package/dist/cjs/hooks/wallet/useCurrentAccount.js +50 -0
  142. package/dist/cjs/hooks/wallet/useCurrentAccount.js.map +7 -0
  143. package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +4 -0
  144. package/dist/cjs/hooks/wallet/useCurrentWallet.js +50 -0
  145. package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +7 -0
  146. package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +7 -0
  147. package/dist/cjs/hooks/wallet/useDisconnectWallet.js +95 -0
  148. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +7 -0
  149. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +13 -0
  150. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js +114 -0
  151. package/dist/cjs/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +7 -0
  152. package/dist/cjs/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  153. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +114 -0
  154. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  155. package/dist/cjs/hooks/wallet/useSignTransactionBlock.d.ts +13 -0
  156. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js +114 -0
  157. package/dist/cjs/hooks/wallet/useSignTransactionBlock.js.map +7 -0
  158. package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +13 -0
  159. package/dist/cjs/hooks/wallet/useSwitchAccount.js +100 -0
  160. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +7 -0
  161. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  162. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +181 -0
  163. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  164. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  165. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +68 -0
  166. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  167. package/dist/cjs/hooks/wallet/useWalletStore.d.ts +2 -0
  168. package/dist/cjs/hooks/wallet/useWalletStore.js +43 -0
  169. package/dist/cjs/hooks/wallet/useWalletStore.js.map +7 -0
  170. package/dist/cjs/hooks/wallet/useWallets.d.ts +4 -0
  171. package/dist/cjs/hooks/wallet/useWallets.js +50 -0
  172. package/dist/cjs/hooks/wallet/useWallets.js.map +7 -0
  173. package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +5 -0
  174. package/dist/cjs/hooks/wallet/useWalletsChanged.js +85 -0
  175. package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +7 -0
  176. package/dist/cjs/index.css +250 -0
  177. package/dist/cjs/index.css.map +7 -0
  178. package/dist/cjs/index.d.ts +18 -0
  179. package/dist/cjs/index.js +1152 -0
  180. package/dist/cjs/index.js.map +7 -0
  181. package/dist/cjs/package.json +5 -0
  182. package/dist/cjs/types/utilityTypes.d.ts +1 -0
  183. package/dist/cjs/types/utilityTypes.js +19 -0
  184. package/dist/cjs/types/utilityTypes.js.map +7 -0
  185. package/dist/cjs/types.d.ts +1 -0
  186. package/dist/cjs/types.js +19 -0
  187. package/dist/cjs/types.js.map +7 -0
  188. package/dist/cjs/utils/assertUnreachable.d.ts +4 -0
  189. package/dist/cjs/utils/assertUnreachable.js +29 -0
  190. package/dist/cjs/utils/assertUnreachable.js.map +7 -0
  191. package/dist/cjs/utils/walletUtils.d.ts +2 -0
  192. package/dist/cjs/utils/walletUtils.js +40 -0
  193. package/dist/cjs/utils/walletUtils.js.map +7 -0
  194. package/dist/cjs/walletStore.d.ts +35 -0
  195. package/dist/cjs/walletStore.js +100 -0
  196. package/dist/cjs/walletStore.js.map +7 -0
  197. package/dist/esm/components/AccountDropdownMenu.css +41 -0
  198. package/dist/esm/components/AccountDropdownMenu.css.css +41 -0
  199. package/dist/esm/components/AccountDropdownMenu.css.css.map +7 -0
  200. package/dist/esm/components/AccountDropdownMenu.css.d.ts +5 -0
  201. package/dist/esm/components/AccountDropdownMenu.css.js +14 -0
  202. package/dist/esm/components/AccountDropdownMenu.css.js.map +7 -0
  203. package/dist/esm/components/AccountDropdownMenu.css.map +7 -0
  204. package/dist/esm/components/AccountDropdownMenu.d.ts +6 -0
  205. package/dist/esm/components/AccountDropdownMenu.js +185 -0
  206. package/dist/esm/components/AccountDropdownMenu.js.map +7 -0
  207. package/dist/esm/components/ConnectButton.css +250 -0
  208. package/dist/esm/components/ConnectButton.css.map +7 -0
  209. package/dist/esm/components/ConnectButton.d.ts +6 -0
  210. package/dist/esm/components/ConnectButton.js +547 -0
  211. package/dist/esm/components/ConnectButton.js.map +7 -0
  212. package/dist/esm/components/SuiClientProvider.d.ts +26 -0
  213. package/dist/esm/components/SuiClientProvider.js +48 -0
  214. package/dist/esm/components/SuiClientProvider.js.map +7 -0
  215. package/dist/esm/components/WalletProvider.d.ts +20 -0
  216. package/dist/esm/components/WalletProvider.js +450 -0
  217. package/dist/esm/components/WalletProvider.js.map +7 -0
  218. package/dist/esm/components/connect-modal/ConnectModal.css +209 -0
  219. package/dist/esm/components/connect-modal/ConnectModal.css.css +109 -0
  220. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +7 -0
  221. package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +12 -0
  222. package/dist/esm/components/connect-modal/ConnectModal.css.js +28 -0
  223. package/dist/esm/components/connect-modal/ConnectModal.css.js.map +7 -0
  224. package/dist/esm/components/connect-modal/ConnectModal.css.map +7 -0
  225. package/dist/esm/components/connect-modal/ConnectModal.d.ts +6 -0
  226. package/dist/esm/components/connect-modal/ConnectModal.js +390 -0
  227. package/dist/esm/components/connect-modal/ConnectModal.js.map +7 -0
  228. package/dist/esm/components/connect-modal/InfoSection.css +7 -0
  229. package/dist/esm/components/connect-modal/InfoSection.css.css +7 -0
  230. package/dist/esm/components/connect-modal/InfoSection.css.css.map +7 -0
  231. package/dist/esm/components/connect-modal/InfoSection.css.d.ts +3 -0
  232. package/dist/esm/components/connect-modal/InfoSection.css.js +10 -0
  233. package/dist/esm/components/connect-modal/InfoSection.css.js.map +7 -0
  234. package/dist/esm/components/connect-modal/InfoSection.css.map +7 -0
  235. package/dist/esm/components/connect-modal/InfoSection.d.ts +6 -0
  236. package/dist/esm/components/connect-modal/InfoSection.js +17 -0
  237. package/dist/esm/components/connect-modal/InfoSection.js.map +7 -0
  238. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +26 -0
  239. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +26 -0
  240. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  241. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  242. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
  243. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  244. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  245. package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  246. package/dist/esm/components/connect-modal/views/ConnectionStatus.js +46 -0
  247. package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  248. package/dist/esm/components/connect-modal/views/GettingStarted.css +22 -0
  249. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +15 -0
  250. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  251. package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +4 -0
  252. package/dist/esm/components/connect-modal/views/GettingStarted.css.js +12 -0
  253. package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  254. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
  255. package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
  256. package/dist/esm/components/connect-modal/views/GettingStarted.js +46 -0
  257. package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
  258. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +22 -0
  259. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +15 -0
  260. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  261. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +3 -0
  262. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +10 -0
  263. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  264. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  265. package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  266. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +34 -0
  267. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  268. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +37 -0
  269. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +7 -0
  270. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  271. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.d.ts +1 -0
  272. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js +6 -0
  273. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  274. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  275. package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
  276. package/dist/esm/components/connect-modal/wallet-list/WalletList.js +90 -0
  277. package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  278. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +30 -0
  279. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +30 -0
  280. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  281. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +5 -0
  282. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +14 -0
  283. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  284. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  285. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  286. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +22 -0
  287. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  288. package/dist/esm/components/icons/BackIcon.d.ts +2 -0
  289. package/dist/esm/components/icons/BackIcon.js +15 -0
  290. package/dist/esm/components/icons/BackIcon.js.map +7 -0
  291. package/dist/esm/components/icons/CheckIcon.d.ts +2 -0
  292. package/dist/esm/components/icons/CheckIcon.js +15 -0
  293. package/dist/esm/components/icons/CheckIcon.js.map +7 -0
  294. package/dist/esm/components/icons/ChevronIcon.d.ts +2 -0
  295. package/dist/esm/components/icons/ChevronIcon.js +18 -0
  296. package/dist/esm/components/icons/ChevronIcon.js.map +7 -0
  297. package/dist/esm/components/icons/CloseIcon.d.ts +2 -0
  298. package/dist/esm/components/icons/CloseIcon.js +15 -0
  299. package/dist/esm/components/icons/CloseIcon.js.map +7 -0
  300. package/dist/esm/components/icons/SuiIcon.d.ts +2 -0
  301. package/dist/esm/components/icons/SuiIcon.js +20 -0
  302. package/dist/esm/components/icons/SuiIcon.js.map +7 -0
  303. package/dist/esm/constants/walletMutationKeys.d.ts +12 -0
  304. package/dist/esm/constants/walletMutationKeys.js +19 -0
  305. package/dist/esm/constants/walletMutationKeys.js.map +7 -0
  306. package/dist/esm/contexts/walletContext.d.ts +12 -0
  307. package/dist/esm/contexts/walletContext.js +7 -0
  308. package/dist/esm/contexts/walletContext.js.map +7 -0
  309. package/dist/esm/errors/walletErrors.d.ts +22 -0
  310. package/dist/esm/errors/walletErrors.js +16 -0
  311. package/dist/esm/errors/walletErrors.js.map +7 -0
  312. package/dist/esm/hooks/useSuiClient.d.ts +2 -0
  313. package/dist/esm/hooks/useSuiClient.js +30 -0
  314. package/dist/esm/hooks/useSuiClient.js.map +7 -0
  315. package/dist/esm/hooks/useSuiClientInfiniteQuery.d.ts +25 -0
  316. package/dist/esm/hooks/useSuiClientInfiniteQuery.js +45 -0
  317. package/dist/esm/hooks/useSuiClientInfiniteQuery.js.map +7 -0
  318. package/dist/esm/hooks/useSuiClientMutation.d.ts +4 -0
  319. package/dist/esm/hooks/useSuiClientMutation.js +40 -0
  320. package/dist/esm/hooks/useSuiClientMutation.js.map +7 -0
  321. package/dist/esm/hooks/useSuiClientQuery.d.ts +18 -0
  322. package/dist/esm/hooks/useSuiClientQuery.js +43 -0
  323. package/dist/esm/hooks/useSuiClientQuery.js.map +7 -0
  324. package/dist/esm/hooks/wallet/useAccounts.d.ts +4 -0
  325. package/dist/esm/hooks/wallet/useAccounts.js +27 -0
  326. package/dist/esm/hooks/wallet/useAccounts.js.map +7 -0
  327. package/dist/esm/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  328. package/dist/esm/hooks/wallet/useAutoConnectWallet.js +103 -0
  329. package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  330. package/dist/esm/hooks/wallet/useConnectWallet.d.ts +15 -0
  331. package/dist/esm/hooks/wallet/useConnectWallet.js +69 -0
  332. package/dist/esm/hooks/wallet/useConnectWallet.js.map +7 -0
  333. package/dist/esm/hooks/wallet/useCurrentAccount.d.ts +4 -0
  334. package/dist/esm/hooks/wallet/useCurrentAccount.js +27 -0
  335. package/dist/esm/hooks/wallet/useCurrentAccount.js.map +7 -0
  336. package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +4 -0
  337. package/dist/esm/hooks/wallet/useCurrentWallet.js +27 -0
  338. package/dist/esm/hooks/wallet/useCurrentWallet.js.map +7 -0
  339. package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +7 -0
  340. package/dist/esm/hooks/wallet/useDisconnectWallet.js +74 -0
  341. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +7 -0
  342. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.d.ts +13 -0
  343. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js +93 -0
  344. package/dist/esm/hooks/wallet/useSignAndExecuteTransactionBlock.js.map +7 -0
  345. package/dist/esm/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  346. package/dist/esm/hooks/wallet/useSignPersonalMessage.js +93 -0
  347. package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  348. package/dist/esm/hooks/wallet/useSignTransactionBlock.d.ts +13 -0
  349. package/dist/esm/hooks/wallet/useSignTransactionBlock.js +93 -0
  350. package/dist/esm/hooks/wallet/useSignTransactionBlock.js.map +7 -0
  351. package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +13 -0
  352. package/dist/esm/hooks/wallet/useSwitchAccount.js +79 -0
  353. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +7 -0
  354. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  355. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +161 -0
  356. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  357. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  358. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +47 -0
  359. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  360. package/dist/esm/hooks/wallet/useWalletStore.d.ts +2 -0
  361. package/dist/esm/hooks/wallet/useWalletStore.js +22 -0
  362. package/dist/esm/hooks/wallet/useWalletStore.js.map +7 -0
  363. package/dist/esm/hooks/wallet/useWallets.d.ts +4 -0
  364. package/dist/esm/hooks/wallet/useWallets.js +27 -0
  365. package/dist/esm/hooks/wallet/useWallets.js.map +7 -0
  366. package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +5 -0
  367. package/dist/esm/hooks/wallet/useWalletsChanged.js +64 -0
  368. package/dist/esm/hooks/wallet/useWalletsChanged.js.map +7 -0
  369. package/dist/esm/index.css +250 -0
  370. package/dist/esm/index.css.map +7 -0
  371. package/dist/esm/index.d.ts +18 -0
  372. package/dist/esm/index.js +1120 -0
  373. package/dist/esm/index.js.map +7 -0
  374. package/dist/esm/package.json +5 -0
  375. package/dist/esm/types/utilityTypes.d.ts +1 -0
  376. package/dist/esm/types/utilityTypes.js +1 -0
  377. package/dist/esm/types/utilityTypes.js.map +7 -0
  378. package/dist/esm/types.d.ts +1 -0
  379. package/dist/esm/types.js +1 -0
  380. package/dist/esm/types.js.map +7 -0
  381. package/dist/esm/utils/assertUnreachable.d.ts +4 -0
  382. package/dist/esm/utils/assertUnreachable.js +8 -0
  383. package/dist/esm/utils/assertUnreachable.js.map +7 -0
  384. package/dist/esm/utils/walletUtils.d.ts +2 -0
  385. package/dist/esm/utils/walletUtils.js +19 -0
  386. package/dist/esm/utils/walletUtils.js.map +7 -0
  387. package/dist/esm/walletStore.d.ts +35 -0
  388. package/dist/esm/walletStore.js +79 -0
  389. package/dist/esm/walletStore.js.map +7 -0
  390. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  391. package/dist/tsconfig.tsbuildinfo +1 -0
  392. package/package.json +95 -0
  393. package/src/components/AccountDropdownMenu.css.ts +48 -0
  394. package/src/components/AccountDropdownMenu.tsx +58 -0
  395. package/src/components/ConnectButton.tsx +21 -0
  396. package/src/components/SuiClientProvider.tsx +87 -0
  397. package/src/components/WalletProvider.tsx +93 -0
  398. package/src/components/connect-modal/ConnectModal.css.ts +135 -0
  399. package/src/components/connect-modal/ConnectModal.tsx +122 -0
  400. package/src/components/connect-modal/InfoSection.css.ts +14 -0
  401. package/src/components/connect-modal/InfoSection.tsx +18 -0
  402. package/src/components/connect-modal/views/ConnectionStatus.css.ts +32 -0
  403. package/src/components/connect-modal/views/ConnectionStatus.tsx +42 -0
  404. package/src/components/connect-modal/views/GettingStarted.css.ts +23 -0
  405. package/src/components/connect-modal/views/GettingStarted.tsx +33 -0
  406. package/src/components/connect-modal/views/WhatIsAWallet.css.ts +21 -0
  407. package/src/components/connect-modal/views/WhatIsAWallet.tsx +22 -0
  408. package/src/components/connect-modal/wallet-list/WalletList.css.ts +10 -0
  409. package/src/components/connect-modal/wallet-list/WalletList.tsx +41 -0
  410. package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +36 -0
  411. package/src/components/connect-modal/wallet-list/WalletListItem.tsx +29 -0
  412. package/src/components/icons/BackIcon.tsx +15 -0
  413. package/src/components/icons/CheckIcon.tsx +15 -0
  414. package/src/components/icons/ChevronIcon.tsx +18 -0
  415. package/src/components/icons/CloseIcon.tsx +15 -0
  416. package/src/components/icons/SuiIcon.tsx +18 -0
  417. package/src/constants/walletMutationKeys.ts +20 -0
  418. package/src/contexts/walletContext.ts +8 -0
  419. package/src/errors/walletErrors.ts +24 -0
  420. package/src/hooks/useSuiClient.ts +22 -0
  421. package/src/hooks/useSuiClientInfiniteQuery.ts +63 -0
  422. package/src/hooks/useSuiClientMutation.ts +27 -0
  423. package/src/hooks/useSuiClientQuery.ts +58 -0
  424. package/src/hooks/wallet/useAccounts.ts +11 -0
  425. package/src/hooks/wallet/useAutoConnectWallet.ts +34 -0
  426. package/src/hooks/wallet/useConnectWallet.ts +64 -0
  427. package/src/hooks/wallet/useCurrentAccount.ts +11 -0
  428. package/src/hooks/wallet/useCurrentWallet.ts +11 -0
  429. package/src/hooks/wallet/useDisconnectWallet.ts +47 -0
  430. package/src/hooks/wallet/useSignAndExecuteTransactionBlock.ts +82 -0
  431. package/src/hooks/wallet/useSignPersonalMessage.ts +79 -0
  432. package/src/hooks/wallet/useSignTransactionBlock.ts +79 -0
  433. package/src/hooks/wallet/useSwitchAccount.ts +59 -0
  434. package/src/hooks/wallet/useUnsafeBurnerWallet.ts +144 -0
  435. package/src/hooks/wallet/useWalletPropertiesChanged.ts +29 -0
  436. package/src/hooks/wallet/useWalletStore.ts +18 -0
  437. package/src/hooks/wallet/useWallets.ts +11 -0
  438. package/src/hooks/wallet/useWalletsChanged.ts +40 -0
  439. package/src/index.ts +21 -0
  440. package/src/types/utilityTypes.ts +4 -0
  441. package/src/types.ts +4 -0
  442. package/src/utils/assertUnreachable.ts +9 -0
  443. package/src/utils/walletUtils.ts +32 -0
  444. package/src/walletStore.ts +115 -0
@@ -0,0 +1,547 @@
1
+ // src/hooks/wallet/useWalletStore.ts
2
+ import { useContext } from "react";
3
+ import { useStore } from "zustand";
4
+
5
+ // src/contexts/walletContext.ts
6
+ import { createContext } from "react";
7
+ var WalletContext = createContext(null);
8
+
9
+ // src/hooks/wallet/useWalletStore.ts
10
+ function useWalletStore(selector) {
11
+ const store = useContext(WalletContext);
12
+ if (!store) {
13
+ throw new Error(
14
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
15
+ );
16
+ }
17
+ return useStore(store, selector);
18
+ }
19
+
20
+ // src/hooks/wallet/useCurrentAccount.ts
21
+ function useCurrentAccount() {
22
+ return useWalletStore((state) => state.currentAccount);
23
+ }
24
+
25
+ // src/components/AccountDropdownMenu.tsx
26
+ import { formatAddress } from "@mysten/sui.js/utils";
27
+ import * as DropdownMenu from "@radix-ui/react-dropdown-menu";
28
+
29
+ // src/hooks/wallet/useAccounts.ts
30
+ function useAccounts() {
31
+ return useWalletStore((state) => state.accounts);
32
+ }
33
+
34
+ // src/hooks/wallet/useDisconnectWallet.ts
35
+ import { useMutation } from "@tanstack/react-query";
36
+
37
+ // src/constants/walletMutationKeys.ts
38
+ var walletMutationKeys = {
39
+ all: { baseScope: "wallet" },
40
+ connectWallet: formMutationKeyFn("connect-wallet"),
41
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
42
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
43
+ signTransactionBlock: formMutationKeyFn("sign-transaction-block"),
44
+ signAndExecuteTransactionBlock: formMutationKeyFn("sign-and-execute-transaction-block"),
45
+ switchAccount: formMutationKeyFn("switch-account")
46
+ };
47
+ function formMutationKeyFn(baseEntity) {
48
+ return function mutationKeyFn(additionalKeys = []) {
49
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
50
+ };
51
+ }
52
+
53
+ // src/errors/walletErrors.ts
54
+ var WalletNotConnectedError = class extends Error {
55
+ };
56
+ var WalletAccountNotFoundError = class extends Error {
57
+ };
58
+
59
+ // src/hooks/wallet/useCurrentWallet.ts
60
+ function useCurrentWallet() {
61
+ return useWalletStore((state) => state.currentWallet);
62
+ }
63
+
64
+ // src/hooks/wallet/useDisconnectWallet.ts
65
+ function useDisconnectWallet({
66
+ mutationKey,
67
+ ...mutationOptions
68
+ } = {}) {
69
+ const currentWallet = useCurrentWallet();
70
+ const setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);
71
+ return useMutation({
72
+ mutationKey: walletMutationKeys.disconnectWallet(mutationKey),
73
+ mutationFn: async () => {
74
+ if (!currentWallet) {
75
+ throw new WalletNotConnectedError("No wallet is connected.");
76
+ }
77
+ try {
78
+ await currentWallet.features["standard:disconnect"]?.disconnect();
79
+ } catch (error) {
80
+ console.error("Failed to disconnect the application from the current wallet.", error);
81
+ }
82
+ setWalletDisconnected();
83
+ },
84
+ ...mutationOptions
85
+ });
86
+ }
87
+
88
+ // src/hooks/wallet/useSwitchAccount.ts
89
+ import { useMutation as useMutation2 } from "@tanstack/react-query";
90
+ function useSwitchAccount({
91
+ mutationKey,
92
+ ...mutationOptions
93
+ } = {}) {
94
+ const currentWallet = useCurrentWallet();
95
+ const setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);
96
+ return useMutation2({
97
+ mutationKey: walletMutationKeys.switchAccount(mutationKey),
98
+ mutationFn: async ({ account }) => {
99
+ if (!currentWallet) {
100
+ throw new WalletNotConnectedError("No wallet is connected.");
101
+ }
102
+ const accountToSelect = currentWallet.accounts.find(
103
+ (walletAccount) => walletAccount.address === account.address
104
+ );
105
+ if (!accountToSelect) {
106
+ throw new WalletAccountNotFoundError(
107
+ `No account with address ${account.address} is connected to ${currentWallet.name}.`
108
+ );
109
+ }
110
+ setAccountSwitched(accountToSelect);
111
+ },
112
+ ...mutationOptions
113
+ });
114
+ }
115
+
116
+ // src/components/AccountDropdownMenu.css.ts
117
+ var disconnectButton = "AccountDropdownMenu_disconnectButton__div2ql3";
118
+ var menuContent = "AccountDropdownMenu_menuContent__div2ql1";
119
+ var separator = "AccountDropdownMenu_separator__div2ql4";
120
+ var switchAccountButton = "AccountDropdownMenu_switchAccountButton__div2ql2";
121
+ var triggerButton = "AccountDropdownMenu_triggerButton__div2ql0";
122
+
123
+ // src/components/icons/CheckIcon.tsx
124
+ import { jsx } from "react/jsx-runtime";
125
+ function CheckIcon(props) {
126
+ return /* @__PURE__ */ jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ jsx(
127
+ "path",
128
+ {
129
+ fill: "#007195",
130
+ d: "m11.726 5.048-4.73 5.156-1.722-1.879a.72.72 0 0 0-.529-.23.722.722 0 0 0-.525.24.858.858 0 0 0-.22.573.86.86 0 0 0 .211.576l2.255 2.458c.14.153.332.24.53.24.2 0 .391-.087.532-.24l5.261-5.735A.86.86 0 0 0 13 5.63a.858.858 0 0 0-.22-.572.722.722 0 0 0-.525-.24.72.72 0 0 0-.529.23Z"
131
+ }
132
+ ) });
133
+ }
134
+
135
+ // src/components/icons/ChevronIcon.tsx
136
+ import { jsx as jsx2 } from "react/jsx-runtime";
137
+ function ChevronIcon(props) {
138
+ return /* @__PURE__ */ jsx2("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ jsx2(
139
+ "path",
140
+ {
141
+ stroke: "#A0B6C3",
142
+ strokeLinecap: "round",
143
+ strokeLinejoin: "round",
144
+ strokeWidth: 1.5,
145
+ d: "m4 6 4 4 4-4"
146
+ }
147
+ ) });
148
+ }
149
+
150
+ // src/components/AccountDropdownMenu.tsx
151
+ import { jsx as jsx3, jsxs } from "react/jsx-runtime";
152
+ function AccountDropdownMenu({ currentAccount }) {
153
+ const { mutate: disconnectWallet } = useDisconnectWallet();
154
+ const { mutate: switchAccount } = useSwitchAccount();
155
+ const accounts = useAccounts();
156
+ return /* @__PURE__ */ jsxs(DropdownMenu.Root, { modal: false, children: [
157
+ /* @__PURE__ */ jsxs(DropdownMenu.Trigger, { className: triggerButton, children: [
158
+ formatAddress(currentAccount.address),
159
+ /* @__PURE__ */ jsx3(ChevronIcon, {})
160
+ ] }),
161
+ /* @__PURE__ */ jsx3(DropdownMenu.Portal, { children: /* @__PURE__ */ jsxs(DropdownMenu.Content, { className: menuContent, children: [
162
+ accounts.map((account) => /* @__PURE__ */ jsx3(DropdownMenu.Item, { asChild: true, children: /* @__PURE__ */ jsxs(
163
+ "button",
164
+ {
165
+ type: "button",
166
+ className: switchAccountButton,
167
+ onClick: () => switchAccount({ account }),
168
+ children: [
169
+ formatAddress(account.address),
170
+ currentAccount.address === account.address ? /* @__PURE__ */ jsx3(CheckIcon, {}) : null
171
+ ]
172
+ }
173
+ ) }, account.address)),
174
+ /* @__PURE__ */ jsx3(DropdownMenu.Separator, { className: separator }),
175
+ /* @__PURE__ */ jsx3(DropdownMenu.Item, { asChild: true, children: /* @__PURE__ */ jsx3(
176
+ "button",
177
+ {
178
+ className: disconnectButton,
179
+ type: "button",
180
+ onClick: () => disconnectWallet(),
181
+ children: "Disconnect"
182
+ }
183
+ ) })
184
+ ] }) })
185
+ ] });
186
+ }
187
+
188
+ // src/components/connect-modal/ConnectModal.tsx
189
+ import * as Dialog from "@radix-ui/react-dialog";
190
+ import clsx3 from "clsx";
191
+ import { useState } from "react";
192
+
193
+ // src/hooks/wallet/useConnectWallet.ts
194
+ import { useMutation as useMutation3 } from "@tanstack/react-query";
195
+ function useConnectWallet({
196
+ mutationKey,
197
+ ...mutationOptions
198
+ } = {}) {
199
+ const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
200
+ return useMutation3({
201
+ mutationKey: walletMutationKeys.connectWallet(mutationKey),
202
+ mutationFn: async ({ wallet, accountAddress, ...standardConnectInput }) => {
203
+ const connectResult = await wallet.features["standard:connect"].connect(standardConnectInput);
204
+ const selectedAccount = getSelectedAccount(connectResult.accounts, accountAddress);
205
+ setWalletConnected(wallet, selectedAccount);
206
+ return connectResult;
207
+ },
208
+ ...mutationOptions
209
+ });
210
+ }
211
+ function getSelectedAccount(connectedAccounts, accountAddress) {
212
+ if (connectedAccounts.length === 0) {
213
+ return null;
214
+ }
215
+ if (accountAddress) {
216
+ const selectedAccount = connectedAccounts.find((account) => account.address === accountAddress);
217
+ return selectedAccount ?? connectedAccounts[0];
218
+ }
219
+ return connectedAccounts[0];
220
+ }
221
+
222
+ // src/components/icons/BackIcon.tsx
223
+ import { jsx as jsx4 } from "react/jsx-runtime";
224
+ function BackIcon(props) {
225
+ return /* @__PURE__ */ jsx4("svg", { width: 24, height: 24, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ jsx4(
226
+ "path",
227
+ {
228
+ d: "M7.57 12.262c0 .341.13.629.403.895l5.175 5.059c.204.205.45.307.751.307.609 0 1.101-.485 1.101-1.087 0-.293-.123-.574-.349-.8L10.14 12.27l4.511-4.375A1.13 1.13 0 0 0 15 7.087C15 6.485 14.508 6 13.9 6c-.295 0-.54.103-.752.308l-5.175 5.058c-.28.28-.404.56-.404.896Z",
229
+ fill: "#383F47"
230
+ }
231
+ ) });
232
+ }
233
+
234
+ // src/components/icons/CloseIcon.tsx
235
+ import { jsx as jsx5 } from "react/jsx-runtime";
236
+ function CloseIcon(props) {
237
+ return /* @__PURE__ */ jsx5("svg", { width: 10, height: 10, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ jsx5(
238
+ "path",
239
+ {
240
+ d: "M9.708.292a.999.999 0 0 0-1.413 0l-3.289 3.29L1.717.291A.999.999 0 0 0 .305 1.705l3.289 3.289-3.29 3.289a.999.999 0 1 0 1.413 1.412l3.29-3.289 3.288 3.29a.999.999 0 0 0 1.413-1.413l-3.29-3.29 3.29-3.288a.999.999 0 0 0 0-1.413Z",
241
+ fill: "currentColor"
242
+ }
243
+ ) });
244
+ }
245
+
246
+ // src/components/connect-modal/ConnectModal.css.ts
247
+ var backButton = "ConnectModal_backButton__gz8z97";
248
+ var closeButton = "ConnectModal_closeButton__gz8z98";
249
+ var content = "ConnectModal_content__gz8z92";
250
+ var overlay = "ConnectModal_overlay__gz8z90";
251
+ var selectedViewContainer = "ConnectModal_selectedViewContainer__gz8z95";
252
+ var title = "ConnectModal_title__gz8z91";
253
+ var triggerButton2 = "ConnectModal_triggerButton__gz8z96";
254
+ var viewContainer = "ConnectModal_viewContainer__gz8z94";
255
+ var walletListContainer = "ConnectModal_walletListContainer__gz8z9a";
256
+ var walletListContainerWithViewSelected = "ConnectModal_walletListContainerWithViewSelected__gz8z9b";
257
+ var walletListContent = "ConnectModal_walletListContent__gz8z99";
258
+ var whatIsAWalletButton = "ConnectModal_whatIsAWalletButton__gz8z93";
259
+
260
+ // src/components/connect-modal/views/ConnectionStatus.tsx
261
+ import clsx from "clsx";
262
+
263
+ // src/components/connect-modal/views/ConnectionStatus.css.ts
264
+ var connectionStatus = "ConnectionStatus_connectionStatus__nckm2d3";
265
+ var connectionStatusWithError = "ConnectionStatus_connectionStatusWithError__nckm2d4";
266
+ var container = "ConnectionStatus_container__nckm2d0";
267
+ var walletIcon = "ConnectionStatus_walletIcon__nckm2d1";
268
+ var walletName = "ConnectionStatus_walletName__nckm2d2";
269
+
270
+ // src/components/connect-modal/views/ConnectionStatus.tsx
271
+ import { jsx as jsx6, jsxs as jsxs2 } from "react/jsx-runtime";
272
+ function ConnectionStatus({
273
+ selectedWallet,
274
+ hadConnectionError,
275
+ onRetryConnection
276
+ }) {
277
+ return /* @__PURE__ */ jsxs2("div", { className: container, children: [
278
+ /* @__PURE__ */ jsx6(
279
+ "img",
280
+ {
281
+ className: walletIcon,
282
+ src: selectedWallet.icon,
283
+ alt: `${selectedWallet.name} logo`
284
+ }
285
+ ),
286
+ /* @__PURE__ */ jsxs2("div", { className: walletName, children: [
287
+ "Opening ",
288
+ selectedWallet.name
289
+ ] }),
290
+ /* @__PURE__ */ jsx6(
291
+ "div",
292
+ {
293
+ className: clsx(connectionStatus, {
294
+ [connectionStatusWithError]: hadConnectionError
295
+ }),
296
+ children: hadConnectionError ? "Connection failed" : "Confirm connection in the wallet..."
297
+ }
298
+ ),
299
+ hadConnectionError ? /* @__PURE__ */ jsx6("button", { type: "button", onClick: () => onRetryConnection(selectedWallet), children: "Retry Connection" }) : null
300
+ ] });
301
+ }
302
+
303
+ // src/components/connect-modal/InfoSection.css.ts
304
+ var container2 = "InfoSection_container__1wtioi70";
305
+ var description = "InfoSection_description__1wtioi72";
306
+ var heading = "InfoSection_heading__1wtioi71";
307
+
308
+ // src/components/connect-modal/InfoSection.tsx
309
+ import { jsx as jsx7, jsxs as jsxs3 } from "react/jsx-runtime";
310
+ function InfoSection({ title: title4, children }) {
311
+ return /* @__PURE__ */ jsxs3("section", { className: container2, children: [
312
+ /* @__PURE__ */ jsx7("h3", { className: heading, children: title4 }),
313
+ /* @__PURE__ */ jsx7("div", { className: description, children })
314
+ ] });
315
+ }
316
+
317
+ // src/components/connect-modal/views/GettingStarted.css.ts
318
+ var container3 = "GettingStarted_container__1fp07e10";
319
+ var content2 = "GettingStarted_content__1fp07e12";
320
+ var installLink = "GettingStarted_installLink__1fp07e13";
321
+ var title2 = "GettingStarted_title__1fp07e11";
322
+
323
+ // src/components/connect-modal/views/GettingStarted.tsx
324
+ import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
325
+ function GettingStarted() {
326
+ return /* @__PURE__ */ jsxs4("div", { className: container3, children: [
327
+ /* @__PURE__ */ jsx8("h2", { className: title2, children: "Get Started with Sui" }),
328
+ /* @__PURE__ */ jsxs4("div", { className: content2, children: [
329
+ /* @__PURE__ */ jsx8(InfoSection, { title: "Install the Sui Wallet Extension", children: "We recommend pinning Sui Wallet to your taskbar for quicker access." }),
330
+ /* @__PURE__ */ jsx8(InfoSection, { title: "Create or Import a Wallet", children: "Be sure to back up your wallet using a secure method. Never share your secret phrase with anyone." }),
331
+ /* @__PURE__ */ jsx8(InfoSection, { title: "Refresh Your Browser", children: "Once you set up your wallet, refresh this window browser to load up the extension." }),
332
+ /* @__PURE__ */ jsx8(
333
+ "a",
334
+ {
335
+ className: installLink,
336
+ href: "https://chrome.google.com/webstore/detail/sui-wallet/opcgpfmipidbgpenhmajoajpbobppdil",
337
+ target: "_blank",
338
+ rel: "noreferrer",
339
+ children: "Install Wallet Extension"
340
+ }
341
+ )
342
+ ] })
343
+ ] });
344
+ }
345
+
346
+ // src/components/connect-modal/views/WhatIsAWallet.css.ts
347
+ var container4 = "WhatIsAWallet_container__1ktpkq90";
348
+ var content3 = "WhatIsAWallet_content__1ktpkq92";
349
+ var title3 = "WhatIsAWallet_title__1ktpkq91";
350
+
351
+ // src/components/connect-modal/views/WhatIsAWallet.tsx
352
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
353
+ function WhatIsAWallet() {
354
+ return /* @__PURE__ */ jsxs5("div", { className: container4, children: [
355
+ /* @__PURE__ */ jsx9("h2", { className: title3, children: "What is a Wallet" }),
356
+ /* @__PURE__ */ jsxs5("div", { className: content3, children: [
357
+ /* @__PURE__ */ jsx9(InfoSection, { title: "Easy Login", children: "No need to create new accounts and passwords for every website. Just connect your wallet and get going." }),
358
+ /* @__PURE__ */ jsx9(InfoSection, { title: "Store your Digital Assets", children: "Send, receive, store, and display your digital assets like NFTs & coins." })
359
+ ] })
360
+ ] });
361
+ }
362
+
363
+ // src/hooks/wallet/useWallets.ts
364
+ function useWallets() {
365
+ return useWalletStore((state) => state.wallets);
366
+ }
367
+
368
+ // src/components/icons/SuiIcon.tsx
369
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
370
+ function SuiIcon(props) {
371
+ return /* @__PURE__ */ jsxs6("svg", { width: 28, height: 28, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: [
372
+ /* @__PURE__ */ jsx10("rect", { width: 28, height: 28, rx: 6, fill: "#6FBCF0" }),
373
+ /* @__PURE__ */ jsx10(
374
+ "path",
375
+ {
376
+ fillRule: "evenodd",
377
+ clipRule: "evenodd",
378
+ d: "M7.942 20.527A6.875 6.875 0 0 0 13.957 24c2.51 0 4.759-1.298 6.015-3.473a6.875 6.875 0 0 0 0-6.945l-5.29-9.164a.837.837 0 0 0-1.45 0l-5.29 9.164a6.875 6.875 0 0 0 0 6.945Zm4.524-11.75 1.128-1.953a.418.418 0 0 1 .725 0l4.34 7.516a5.365 5.365 0 0 1 .449 4.442 4.675 4.675 0 0 0-.223-.73c-.599-1.512-1.954-2.68-4.029-3.47-1.426-.54-2.336-1.336-2.706-2.364-.476-1.326.021-2.77.316-3.44Zm-1.923 3.332L9.255 14.34a5.373 5.373 0 0 0 0 5.43 5.373 5.373 0 0 0 4.702 2.714 5.38 5.38 0 0 0 3.472-1.247c.125-.314.51-1.462.034-2.646-.44-1.093-1.5-1.965-3.15-2.594-1.864-.707-3.076-1.811-3.6-3.28a4.601 4.601 0 0 1-.17-.608Z",
379
+ fill: "#fff"
380
+ }
381
+ )
382
+ ] });
383
+ }
384
+
385
+ // src/components/connect-modal/wallet-list/WalletList.css.ts
386
+ var container5 = "WalletList_container__1v2s6cz0";
387
+
388
+ // src/components/connect-modal/wallet-list/WalletListItem.tsx
389
+ import { clsx as clsx2 } from "clsx";
390
+
391
+ // src/components/connect-modal/wallet-list/WalletListItem.css.ts
392
+ var buttonContainer = "WalletListItem_buttonContainer__1dqqtqs2";
393
+ var container6 = "WalletListItem_container__1dqqtqs0";
394
+ var selectedContainer = "WalletListItem_selectedContainer__1dqqtqs1";
395
+ var walletIcon2 = "WalletListItem_walletIcon__1dqqtqs4";
396
+ var walletName2 = "WalletListItem_walletName__1dqqtqs3";
397
+
398
+ // src/components/connect-modal/wallet-list/WalletListItem.tsx
399
+ import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
400
+ function WalletListItem({ name, icon, onClick, isSelected = false }) {
401
+ return /* @__PURE__ */ jsx11("li", { className: clsx2(container6, { [selectedContainer]: isSelected }), children: /* @__PURE__ */ jsxs7("button", { className: buttonContainer, type: "button", onClick, children: [
402
+ typeof icon === "string" ? /* @__PURE__ */ jsx11("img", { className: walletIcon2, src: icon, alt: `${name} logo` }) : icon,
403
+ /* @__PURE__ */ jsx11("div", { className: walletName2, children: name })
404
+ ] }) });
405
+ }
406
+
407
+ // src/components/connect-modal/wallet-list/WalletList.tsx
408
+ import { jsx as jsx12 } from "react/jsx-runtime";
409
+ function WalletList({ selectedWalletName, onPlaceholderClick, onSelect }) {
410
+ const wallets = useWallets();
411
+ return /* @__PURE__ */ jsx12("ul", { className: container5, children: wallets.length > 0 ? wallets.map((wallet) => /* @__PURE__ */ jsx12(
412
+ WalletListItem,
413
+ {
414
+ name: wallet.name,
415
+ icon: wallet.icon,
416
+ isSelected: wallet.name === selectedWalletName,
417
+ onClick: () => onSelect(wallet)
418
+ },
419
+ wallet.name
420
+ )) : /* @__PURE__ */ jsx12(
421
+ WalletListItem,
422
+ {
423
+ name: "Sui Wallet",
424
+ icon: /* @__PURE__ */ jsx12(SuiIcon, {}),
425
+ onClick: onPlaceholderClick,
426
+ isSelected: true
427
+ }
428
+ ) });
429
+ }
430
+
431
+ // src/components/connect-modal/ConnectModal.tsx
432
+ import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
433
+ function ConnectModal({ trigger }) {
434
+ const [isConnectModalOpen, setConnectModalOpen] = useState(false);
435
+ const [currentView, setCurrentView] = useState();
436
+ const [selectedWallet, setSelectedWallet] = useState();
437
+ const { mutate, isError } = useConnectWallet();
438
+ const connectWallet = (wallet) => {
439
+ setCurrentView("connection-status");
440
+ mutate({ wallet }, { onSuccess: () => setConnectModalOpen(false) });
441
+ };
442
+ const resetSelection = () => {
443
+ setSelectedWallet(void 0);
444
+ setCurrentView(void 0);
445
+ };
446
+ const onOpenChange = (open) => {
447
+ if (!open) {
448
+ resetSelection();
449
+ }
450
+ setConnectModalOpen(open);
451
+ };
452
+ let modalContent;
453
+ switch (currentView) {
454
+ case "what-is-a-wallet":
455
+ modalContent = /* @__PURE__ */ jsx13(WhatIsAWallet, {});
456
+ break;
457
+ case "getting-started":
458
+ modalContent = /* @__PURE__ */ jsx13(GettingStarted, {});
459
+ break;
460
+ case "connection-status":
461
+ modalContent = /* @__PURE__ */ jsx13(
462
+ ConnectionStatus,
463
+ {
464
+ selectedWallet,
465
+ hadConnectionError: isError,
466
+ onRetryConnection: connectWallet
467
+ }
468
+ );
469
+ break;
470
+ default:
471
+ modalContent = /* @__PURE__ */ jsx13(WhatIsAWallet, {});
472
+ }
473
+ return /* @__PURE__ */ jsxs8(Dialog.Root, { open: isConnectModalOpen, onOpenChange, children: [
474
+ /* @__PURE__ */ jsx13(Dialog.Trigger, { className: triggerButton2, children: trigger }),
475
+ /* @__PURE__ */ jsxs8(Dialog.Portal, { children: [
476
+ /* @__PURE__ */ jsx13(Dialog.Overlay, { className: overlay }),
477
+ /* @__PURE__ */ jsxs8(Dialog.Content, { className: content, "aria-describedby": void 0, children: [
478
+ /* @__PURE__ */ jsxs8(
479
+ "div",
480
+ {
481
+ className: clsx3(walletListContainer, {
482
+ [walletListContainerWithViewSelected]: !!currentView
483
+ }),
484
+ children: [
485
+ /* @__PURE__ */ jsxs8("div", { className: walletListContent, children: [
486
+ /* @__PURE__ */ jsx13(Dialog.Title, { className: title, children: "Connect a Wallet" }),
487
+ /* @__PURE__ */ jsx13(
488
+ WalletList,
489
+ {
490
+ selectedWalletName: selectedWallet?.name,
491
+ onPlaceholderClick: () => setCurrentView("getting-started"),
492
+ onSelect: (wallet) => {
493
+ setSelectedWallet(wallet);
494
+ connectWallet(wallet);
495
+ }
496
+ }
497
+ )
498
+ ] }),
499
+ /* @__PURE__ */ jsx13(
500
+ "button",
501
+ {
502
+ className: whatIsAWalletButton,
503
+ onClick: () => setCurrentView("what-is-a-wallet"),
504
+ type: "button",
505
+ children: "What is a Wallet?"
506
+ }
507
+ )
508
+ ]
509
+ }
510
+ ),
511
+ /* @__PURE__ */ jsxs8(
512
+ "div",
513
+ {
514
+ className: clsx3(viewContainer, {
515
+ [selectedViewContainer]: !!currentView
516
+ }),
517
+ children: [
518
+ /* @__PURE__ */ jsx13(
519
+ "button",
520
+ {
521
+ className: backButton,
522
+ onClick: () => resetSelection(),
523
+ type: "button",
524
+ "aria-label": "Back",
525
+ children: /* @__PURE__ */ jsx13(BackIcon, {})
526
+ }
527
+ ),
528
+ modalContent
529
+ ]
530
+ }
531
+ ),
532
+ /* @__PURE__ */ jsx13(Dialog.Close, { className: closeButton, "aria-label": "Close", children: /* @__PURE__ */ jsx13(CloseIcon, {}) })
533
+ ] })
534
+ ] })
535
+ ] });
536
+ }
537
+
538
+ // src/components/ConnectButton.tsx
539
+ import { jsx as jsx14 } from "react/jsx-runtime";
540
+ function ConnectButton({ connectText = "Connect Wallet" }) {
541
+ const currentAccount = useCurrentAccount();
542
+ return currentAccount ? /* @__PURE__ */ jsx14(AccountDropdownMenu, { currentAccount }) : /* @__PURE__ */ jsx14(ConnectModal, { trigger: connectText });
543
+ }
544
+ export {
545
+ ConnectButton
546
+ };
547
+ //# sourceMappingURL=ConnectButton.js.map