@iota/dapp-kit 0.0.0-dev-20251015065834

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 (679) hide show
  1. package/CHANGELOG.md +237 -0
  2. package/LICENSE +201 -0
  3. package/README.md +100 -0
  4. package/dist/cjs/components/AccountDropdownMenu.css +183 -0
  5. package/dist/cjs/components/AccountDropdownMenu.css.css +56 -0
  6. package/dist/cjs/components/AccountDropdownMenu.css.css.map +7 -0
  7. package/dist/cjs/components/AccountDropdownMenu.css.d.ts +7 -0
  8. package/dist/cjs/components/AccountDropdownMenu.css.js +39 -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 +14 -0
  12. package/dist/cjs/components/AccountDropdownMenu.js +431 -0
  13. package/dist/cjs/components/AccountDropdownMenu.js.map +7 -0
  14. package/dist/cjs/components/ConnectButton.css +471 -0
  15. package/dist/cjs/components/ConnectButton.css.map +7 -0
  16. package/dist/cjs/components/ConnectButton.d.ts +9 -0
  17. package/dist/cjs/components/ConnectButton.js +899 -0
  18. package/dist/cjs/components/ConnectButton.js.map +7 -0
  19. package/dist/cjs/components/IotaClientProvider.d.ts +25 -0
  20. package/dist/cjs/components/IotaClientProvider.js +70 -0
  21. package/dist/cjs/components/IotaClientProvider.js.map +7 -0
  22. package/dist/cjs/components/WalletProvider.d.ts +23 -0
  23. package/dist/cjs/components/WalletProvider.js +798 -0
  24. package/dist/cjs/components/WalletProvider.js.map +7 -0
  25. package/dist/cjs/components/connect-modal/ConnectModal.css +415 -0
  26. package/dist/cjs/components/connect-modal/ConnectModal.css.css +116 -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 +11 -0
  29. package/dist/cjs/components/connect-modal/ConnectModal.css.js +47 -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 +20 -0
  33. package/dist/cjs/components/connect-modal/ConnectModal.js +608 -0
  34. package/dist/cjs/components/connect-modal/ConnectModal.js.map +7 -0
  35. package/dist/cjs/components/connect-modal/InfoSection.css +78 -0
  36. package/dist/cjs/components/connect-modal/InfoSection.css.css +8 -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 +1 -0
  39. package/dist/cjs/components/connect-modal/InfoSection.css.js +27 -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 +119 -0
  44. package/dist/cjs/components/connect-modal/InfoSection.js.map +7 -0
  45. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css +146 -0
  46. package/dist/cjs/components/connect-modal/views/ConnectionStatus.css.css +33 -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 +173 -0
  54. package/dist/cjs/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  55. package/dist/cjs/components/connect-modal/views/GetTheWallet.css +78 -0
  56. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css +35 -0
  57. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
  58. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
  59. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.js +35 -0
  60. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
  61. package/dist/cjs/components/connect-modal/views/GetTheWallet.css.map +7 -0
  62. package/dist/cjs/components/connect-modal/views/GetTheWallet.d.ts +1 -0
  63. package/dist/cjs/components/connect-modal/views/GetTheWallet.js +151 -0
  64. package/dist/cjs/components/connect-modal/views/GetTheWallet.js.map +7 -0
  65. package/dist/cjs/components/connect-modal/views/GettingStarted.css +147 -0
  66. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css +26 -0
  67. package/dist/cjs/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  68. package/dist/cjs/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  69. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js +31 -0
  70. package/dist/cjs/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  71. package/dist/cjs/components/connect-modal/views/GettingStarted.css.map +7 -0
  72. package/dist/cjs/components/connect-modal/views/GettingStarted.d.ts +1 -0
  73. package/dist/cjs/components/connect-modal/views/GettingStarted.js +172 -0
  74. package/dist/cjs/components/connect-modal/views/GettingStarted.js.map +7 -0
  75. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css +96 -0
  76. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css +18 -0
  77. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  78. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  79. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js +29 -0
  80. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  81. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  82. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  83. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js +135 -0
  84. package/dist/cjs/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  85. package/dist/cjs/components/connect-modal/views/index.css +207 -0
  86. package/dist/cjs/components/connect-modal/views/index.css.map +7 -0
  87. package/dist/cjs/components/connect-modal/views/index.d.ts +3 -0
  88. package/dist/cjs/components/connect-modal/views/index.js +292 -0
  89. package/dist/cjs/components/connect-modal/views/index.js.map +7 -0
  90. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css +78 -0
  91. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css +13 -0
  92. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  93. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.d.ts +2 -0
  94. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js +29 -0
  95. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  96. package/dist/cjs/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  97. package/dist/cjs/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
  98. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js +178 -0
  99. package/dist/cjs/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  100. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css +65 -0
  101. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
  102. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  103. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
  104. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js +33 -0
  105. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  106. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  107. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  108. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js +95 -0
  109. package/dist/cjs/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  110. package/dist/cjs/components/icons/ArrowRightIcon.d.ts +2 -0
  111. package/dist/cjs/components/icons/ArrowRightIcon.js +47 -0
  112. package/dist/cjs/components/icons/ArrowRightIcon.js.map +7 -0
  113. package/dist/cjs/components/icons/ArrowTopRightIcon.d.ts +2 -0
  114. package/dist/cjs/components/icons/ArrowTopRightIcon.js +47 -0
  115. package/dist/cjs/components/icons/ArrowTopRightIcon.js.map +7 -0
  116. package/dist/cjs/components/icons/BackIcon.d.ts +2 -0
  117. package/dist/cjs/components/icons/BackIcon.js +36 -0
  118. package/dist/cjs/components/icons/BackIcon.js.map +7 -0
  119. package/dist/cjs/components/icons/CheckIcon.d.ts +2 -0
  120. package/dist/cjs/components/icons/CheckIcon.js +36 -0
  121. package/dist/cjs/components/icons/CheckIcon.js.map +7 -0
  122. package/dist/cjs/components/icons/ChevronIcon.d.ts +2 -0
  123. package/dist/cjs/components/icons/ChevronIcon.js +39 -0
  124. package/dist/cjs/components/icons/ChevronIcon.js.map +7 -0
  125. package/dist/cjs/components/icons/CloseIcon.d.ts +2 -0
  126. package/dist/cjs/components/icons/CloseIcon.js +36 -0
  127. package/dist/cjs/components/icons/CloseIcon.js.map +7 -0
  128. package/dist/cjs/components/icons/IotaIcon.d.ts +2 -0
  129. package/dist/cjs/components/icons/IotaIcon.js +47 -0
  130. package/dist/cjs/components/icons/IotaIcon.js.map +7 -0
  131. package/dist/cjs/components/styling/InjectedThemeStyles.d.ts +6 -0
  132. package/dist/cjs/components/styling/InjectedThemeStyles.js +130 -0
  133. package/dist/cjs/components/styling/InjectedThemeStyles.js.map +7 -0
  134. package/dist/cjs/components/styling/StyleMarker.css +46 -0
  135. package/dist/cjs/components/styling/StyleMarker.css.css +46 -0
  136. package/dist/cjs/components/styling/StyleMarker.css.css.map +7 -0
  137. package/dist/cjs/components/styling/StyleMarker.css.d.ts +1 -0
  138. package/dist/cjs/components/styling/StyleMarker.css.js +2 -0
  139. package/dist/cjs/components/styling/StyleMarker.css.js.map +7 -0
  140. package/dist/cjs/components/styling/StyleMarker.css.map +7 -0
  141. package/dist/cjs/components/styling/StyleMarker.d.ts +2 -0
  142. package/dist/cjs/components/styling/StyleMarker.js +69 -0
  143. package/dist/cjs/components/styling/StyleMarker.js.map +7 -0
  144. package/dist/cjs/components/ui/Button.css +43 -0
  145. package/dist/cjs/components/ui/Button.css.css +43 -0
  146. package/dist/cjs/components/ui/Button.css.css.map +7 -0
  147. package/dist/cjs/components/ui/Button.css.d.ts +32 -0
  148. package/dist/cjs/components/ui/Button.css.js +28 -0
  149. package/dist/cjs/components/ui/Button.css.js.map +7 -0
  150. package/dist/cjs/components/ui/Button.css.map +7 -0
  151. package/dist/cjs/components/ui/Button.d.ts +8 -0
  152. package/dist/cjs/components/ui/Button.js +60 -0
  153. package/dist/cjs/components/ui/Button.js.map +7 -0
  154. package/dist/cjs/components/ui/Heading.css +32 -0
  155. package/dist/cjs/components/ui/Heading.css.css +32 -0
  156. package/dist/cjs/components/ui/Heading.css.css.map +7 -0
  157. package/dist/cjs/components/ui/Heading.css.d.ts +33 -0
  158. package/dist/cjs/components/ui/Heading.css.js +28 -0
  159. package/dist/cjs/components/ui/Heading.css.js.map +7 -0
  160. package/dist/cjs/components/ui/Heading.css.map +7 -0
  161. package/dist/cjs/components/ui/Heading.d.ts +12 -0
  162. package/dist/cjs/components/ui/Heading.js +69 -0
  163. package/dist/cjs/components/ui/Heading.js.map +7 -0
  164. package/dist/cjs/components/ui/IconButton.css +9 -0
  165. package/dist/cjs/components/ui/IconButton.css.css +9 -0
  166. package/dist/cjs/components/ui/IconButton.css.css.map +7 -0
  167. package/dist/cjs/components/ui/IconButton.css.d.ts +1 -0
  168. package/dist/cjs/components/ui/IconButton.css.js +27 -0
  169. package/dist/cjs/components/ui/IconButton.css.js.map +7 -0
  170. package/dist/cjs/components/ui/IconButton.css.map +7 -0
  171. package/dist/cjs/components/ui/IconButton.d.ts +6 -0
  172. package/dist/cjs/components/ui/IconButton.js +52 -0
  173. package/dist/cjs/components/ui/IconButton.js.map +7 -0
  174. package/dist/cjs/components/ui/Text.css +38 -0
  175. package/dist/cjs/components/ui/Text.css.css +38 -0
  176. package/dist/cjs/components/ui/Text.css.css.map +7 -0
  177. package/dist/cjs/components/ui/Text.css.d.ts +33 -0
  178. package/dist/cjs/components/ui/Text.css.js +28 -0
  179. package/dist/cjs/components/ui/Text.css.js.map +7 -0
  180. package/dist/cjs/components/ui/Text.css.map +7 -0
  181. package/dist/cjs/components/ui/Text.d.ts +12 -0
  182. package/dist/cjs/components/ui/Text.js +70 -0
  183. package/dist/cjs/components/ui/Text.js.map +7 -0
  184. package/dist/cjs/constants/styleDataAttribute.d.ts +5 -0
  185. package/dist/cjs/constants/styleDataAttribute.js +31 -0
  186. package/dist/cjs/constants/styleDataAttribute.js.map +7 -0
  187. package/dist/cjs/constants/walletDefaults.d.ts +7 -0
  188. package/dist/cjs/constants/walletDefaults.js +57 -0
  189. package/dist/cjs/constants/walletDefaults.js.map +7 -0
  190. package/dist/cjs/constants/walletMutationKeys.d.ts +14 -0
  191. package/dist/cjs/constants/walletMutationKeys.js +42 -0
  192. package/dist/cjs/constants/walletMutationKeys.js.map +7 -0
  193. package/dist/cjs/contexts/walletContext.d.ts +11 -0
  194. package/dist/cjs/contexts/walletContext.js +28 -0
  195. package/dist/cjs/contexts/walletContext.js.map +7 -0
  196. package/dist/cjs/errors/walletErrors.d.ts +22 -0
  197. package/dist/cjs/errors/walletErrors.js +37 -0
  198. package/dist/cjs/errors/walletErrors.js.map +7 -0
  199. package/dist/cjs/hooks/networkConfig.d.ts +10 -0
  200. package/dist/cjs/hooks/networkConfig.js +74 -0
  201. package/dist/cjs/hooks/networkConfig.js.map +7 -0
  202. package/dist/cjs/hooks/useGetDefaultIotaName.d.ts +1 -0
  203. package/dist/cjs/hooks/useGetDefaultIotaName.js +80 -0
  204. package/dist/cjs/hooks/useGetDefaultIotaName.js.map +7 -0
  205. package/dist/cjs/hooks/useIotaClient.d.ts +3 -0
  206. package/dist/cjs/hooks/useIotaClient.js +51 -0
  207. package/dist/cjs/hooks/useIotaClient.js.map +7 -0
  208. package/dist/cjs/hooks/useIotaClientInfiniteQuery.d.ts +25 -0
  209. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js +70 -0
  210. package/dist/cjs/hooks/useIotaClientInfiniteQuery.js.map +7 -0
  211. package/dist/cjs/hooks/useIotaClientMutation.d.ts +4 -0
  212. package/dist/cjs/hooks/useIotaClientMutation.js +61 -0
  213. package/dist/cjs/hooks/useIotaClientMutation.js.map +7 -0
  214. package/dist/cjs/hooks/useIotaClientQueries.d.ts +27 -0
  215. package/dist/cjs/hooks/useIotaClientQueries.js +71 -0
  216. package/dist/cjs/hooks/useIotaClientQueries.js.map +7 -0
  217. package/dist/cjs/hooks/useIotaClientQuery.d.ts +51 -0
  218. package/dist/cjs/hooks/useIotaClientQuery.js +97 -0
  219. package/dist/cjs/hooks/useIotaClientQuery.js.map +7 -0
  220. package/dist/cjs/hooks/wallet/useAccounts.d.ts +5 -0
  221. package/dist/cjs/hooks/wallet/useAccounts.js +50 -0
  222. package/dist/cjs/hooks/wallet/useAccounts.js.map +7 -0
  223. package/dist/cjs/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  224. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js +235 -0
  225. package/dist/cjs/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  226. package/dist/cjs/hooks/wallet/useConnectWallet.d.ts +15 -0
  227. package/dist/cjs/hooks/wallet/useConnectWallet.js +110 -0
  228. package/dist/cjs/hooks/wallet/useConnectWallet.js.map +7 -0
  229. package/dist/cjs/hooks/wallet/useCurrentAccount.d.ts +5 -0
  230. package/dist/cjs/hooks/wallet/useCurrentAccount.js +50 -0
  231. package/dist/cjs/hooks/wallet/useCurrentAccount.js.map +7 -0
  232. package/dist/cjs/hooks/wallet/useCurrentWallet.d.ts +25 -0
  233. package/dist/cjs/hooks/wallet/useCurrentWallet.js +82 -0
  234. package/dist/cjs/hooks/wallet/useCurrentWallet.js.map +7 -0
  235. package/dist/cjs/hooks/wallet/useDisconnectWallet.d.ts +9 -0
  236. package/dist/cjs/hooks/wallet/useDisconnectWallet.js +132 -0
  237. package/dist/cjs/hooks/wallet/useDisconnectWallet.js.map +7 -0
  238. package/dist/cjs/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  239. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js +148 -0
  240. package/dist/cjs/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  241. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.d.ts +30 -0
  242. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js +257 -0
  243. package/dist/cjs/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  244. package/dist/cjs/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  245. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js +148 -0
  246. package/dist/cjs/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  247. package/dist/cjs/hooks/wallet/useSignTransaction.d.ts +18 -0
  248. package/dist/cjs/hooks/wallet/useSignTransaction.js +233 -0
  249. package/dist/cjs/hooks/wallet/useSignTransaction.js.map +7 -0
  250. package/dist/cjs/hooks/wallet/useSwitchAccount.d.ts +14 -0
  251. package/dist/cjs/hooks/wallet/useSwitchAccount.js +134 -0
  252. package/dist/cjs/hooks/wallet/useSwitchAccount.js.map +7 -0
  253. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  254. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js +193 -0
  255. package/dist/cjs/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  256. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  257. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js +100 -0
  258. package/dist/cjs/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  259. package/dist/cjs/hooks/wallet/useWalletStore.d.ts +2 -0
  260. package/dist/cjs/hooks/wallet/useWalletStore.js +43 -0
  261. package/dist/cjs/hooks/wallet/useWalletStore.js.map +7 -0
  262. package/dist/cjs/hooks/wallet/useWallets.d.ts +4 -0
  263. package/dist/cjs/hooks/wallet/useWallets.js +50 -0
  264. package/dist/cjs/hooks/wallet/useWallets.js.map +7 -0
  265. package/dist/cjs/hooks/wallet/useWalletsChanged.d.ts +5 -0
  266. package/dist/cjs/hooks/wallet/useWalletsChanged.js +86 -0
  267. package/dist/cjs/hooks/wallet/useWalletsChanged.js.map +7 -0
  268. package/dist/cjs/index.css +471 -0
  269. package/dist/cjs/index.css.map +7 -0
  270. package/dist/cjs/index.d.ts +26 -0
  271. package/dist/cjs/index.js +1980 -0
  272. package/dist/cjs/index.js.map +7 -0
  273. package/dist/cjs/package.json +4 -0
  274. package/dist/cjs/themes/darkTheme.d.ts +2 -0
  275. package/dist/cjs/themes/darkTheme.js +88 -0
  276. package/dist/cjs/themes/darkTheme.js.map +7 -0
  277. package/dist/cjs/themes/lightTheme.d.ts +2 -0
  278. package/dist/cjs/themes/lightTheme.js +88 -0
  279. package/dist/cjs/themes/lightTheme.js.map +7 -0
  280. package/dist/cjs/themes/themeContract.d.ts +150 -0
  281. package/dist/cjs/themes/themeContract.js +93 -0
  282. package/dist/cjs/themes/themeContract.js.map +7 -0
  283. package/dist/cjs/types/utilityTypes.d.ts +1 -0
  284. package/dist/cjs/types/utilityTypes.js +19 -0
  285. package/dist/cjs/types/utilityTypes.js.map +7 -0
  286. package/dist/cjs/types.d.ts +2 -0
  287. package/dist/cjs/types.js +19 -0
  288. package/dist/cjs/types.js.map +7 -0
  289. package/dist/cjs/utils/assertUnreachable.d.ts +4 -0
  290. package/dist/cjs/utils/assertUnreachable.js +29 -0
  291. package/dist/cjs/utils/assertUnreachable.js.map +7 -0
  292. package/dist/cjs/utils/stateStorage.d.ts +2 -0
  293. package/dist/cjs/utils/stateStorage.js +40 -0
  294. package/dist/cjs/utils/stateStorage.js.map +7 -0
  295. package/dist/cjs/utils/walletUtils.d.ts +3 -0
  296. package/dist/cjs/utils/walletUtils.js +44 -0
  297. package/dist/cjs/utils/walletUtils.js.map +7 -0
  298. package/dist/cjs/walletStore.d.ts +42 -0
  299. package/dist/cjs/walletStore.js +127 -0
  300. package/dist/cjs/walletStore.js.map +7 -0
  301. package/dist/esm/components/AccountDropdownMenu.css +183 -0
  302. package/dist/esm/components/AccountDropdownMenu.css.css +56 -0
  303. package/dist/esm/components/AccountDropdownMenu.css.css.map +7 -0
  304. package/dist/esm/components/AccountDropdownMenu.css.d.ts +7 -0
  305. package/dist/esm/components/AccountDropdownMenu.css.js +18 -0
  306. package/dist/esm/components/AccountDropdownMenu.css.js.map +7 -0
  307. package/dist/esm/components/AccountDropdownMenu.css.map +7 -0
  308. package/dist/esm/components/AccountDropdownMenu.d.ts +14 -0
  309. package/dist/esm/components/AccountDropdownMenu.js +423 -0
  310. package/dist/esm/components/AccountDropdownMenu.js.map +7 -0
  311. package/dist/esm/components/ConnectButton.css +471 -0
  312. package/dist/esm/components/ConnectButton.css.map +7 -0
  313. package/dist/esm/components/ConnectButton.d.ts +9 -0
  314. package/dist/esm/components/ConnectButton.js +889 -0
  315. package/dist/esm/components/ConnectButton.js.map +7 -0
  316. package/dist/esm/components/IotaClientProvider.d.ts +25 -0
  317. package/dist/esm/components/IotaClientProvider.js +49 -0
  318. package/dist/esm/components/IotaClientProvider.js.map +7 -0
  319. package/dist/esm/components/WalletProvider.d.ts +23 -0
  320. package/dist/esm/components/WalletProvider.js +778 -0
  321. package/dist/esm/components/WalletProvider.js.map +7 -0
  322. package/dist/esm/components/connect-modal/ConnectModal.css +415 -0
  323. package/dist/esm/components/connect-modal/ConnectModal.css.css +116 -0
  324. package/dist/esm/components/connect-modal/ConnectModal.css.css.map +7 -0
  325. package/dist/esm/components/connect-modal/ConnectModal.css.d.ts +11 -0
  326. package/dist/esm/components/connect-modal/ConnectModal.css.js +26 -0
  327. package/dist/esm/components/connect-modal/ConnectModal.css.js.map +7 -0
  328. package/dist/esm/components/connect-modal/ConnectModal.css.map +7 -0
  329. package/dist/esm/components/connect-modal/ConnectModal.d.ts +20 -0
  330. package/dist/esm/components/connect-modal/ConnectModal.js +600 -0
  331. package/dist/esm/components/connect-modal/ConnectModal.js.map +7 -0
  332. package/dist/esm/components/connect-modal/InfoSection.css +78 -0
  333. package/dist/esm/components/connect-modal/InfoSection.css.css +8 -0
  334. package/dist/esm/components/connect-modal/InfoSection.css.css.map +7 -0
  335. package/dist/esm/components/connect-modal/InfoSection.css.d.ts +1 -0
  336. package/dist/esm/components/connect-modal/InfoSection.css.js +6 -0
  337. package/dist/esm/components/connect-modal/InfoSection.css.js.map +7 -0
  338. package/dist/esm/components/connect-modal/InfoSection.css.map +7 -0
  339. package/dist/esm/components/connect-modal/InfoSection.d.ts +6 -0
  340. package/dist/esm/components/connect-modal/InfoSection.js +86 -0
  341. package/dist/esm/components/connect-modal/InfoSection.js.map +7 -0
  342. package/dist/esm/components/connect-modal/views/ConnectionStatus.css +146 -0
  343. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css +33 -0
  344. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.css.map +7 -0
  345. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.d.ts +5 -0
  346. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js +14 -0
  347. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.js.map +7 -0
  348. package/dist/esm/components/connect-modal/views/ConnectionStatus.css.map +7 -0
  349. package/dist/esm/components/connect-modal/views/ConnectionStatus.d.ts +8 -0
  350. package/dist/esm/components/connect-modal/views/ConnectionStatus.js +140 -0
  351. package/dist/esm/components/connect-modal/views/ConnectionStatus.js.map +7 -0
  352. package/dist/esm/components/connect-modal/views/GetTheWallet.css +78 -0
  353. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css +35 -0
  354. package/dist/esm/components/connect-modal/views/GetTheWallet.css.css.map +7 -0
  355. package/dist/esm/components/connect-modal/views/GetTheWallet.css.d.ts +5 -0
  356. package/dist/esm/components/connect-modal/views/GetTheWallet.css.js +14 -0
  357. package/dist/esm/components/connect-modal/views/GetTheWallet.css.js.map +7 -0
  358. package/dist/esm/components/connect-modal/views/GetTheWallet.css.map +7 -0
  359. package/dist/esm/components/connect-modal/views/GetTheWallet.d.ts +1 -0
  360. package/dist/esm/components/connect-modal/views/GetTheWallet.js +118 -0
  361. package/dist/esm/components/connect-modal/views/GetTheWallet.js.map +7 -0
  362. package/dist/esm/components/connect-modal/views/GettingStarted.css +147 -0
  363. package/dist/esm/components/connect-modal/views/GettingStarted.css.css +26 -0
  364. package/dist/esm/components/connect-modal/views/GettingStarted.css.css.map +7 -0
  365. package/dist/esm/components/connect-modal/views/GettingStarted.css.d.ts +3 -0
  366. package/dist/esm/components/connect-modal/views/GettingStarted.css.js +10 -0
  367. package/dist/esm/components/connect-modal/views/GettingStarted.css.js.map +7 -0
  368. package/dist/esm/components/connect-modal/views/GettingStarted.css.map +7 -0
  369. package/dist/esm/components/connect-modal/views/GettingStarted.d.ts +1 -0
  370. package/dist/esm/components/connect-modal/views/GettingStarted.js +139 -0
  371. package/dist/esm/components/connect-modal/views/GettingStarted.js.map +7 -0
  372. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css +96 -0
  373. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css +18 -0
  374. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.css.map +7 -0
  375. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.d.ts +2 -0
  376. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js +8 -0
  377. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.js.map +7 -0
  378. package/dist/esm/components/connect-modal/views/WhatIsAWallet.css.map +7 -0
  379. package/dist/esm/components/connect-modal/views/WhatIsAWallet.d.ts +1 -0
  380. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js +102 -0
  381. package/dist/esm/components/connect-modal/views/WhatIsAWallet.js.map +7 -0
  382. package/dist/esm/components/connect-modal/views/index.css +207 -0
  383. package/dist/esm/components/connect-modal/views/index.css.map +7 -0
  384. package/dist/esm/components/connect-modal/views/index.d.ts +3 -0
  385. package/dist/esm/components/connect-modal/views/index.js +259 -0
  386. package/dist/esm/components/connect-modal/views/index.js.map +7 -0
  387. package/dist/esm/components/connect-modal/wallet-list/WalletList.css +78 -0
  388. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css +13 -0
  389. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.css.map +7 -0
  390. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.d.ts +2 -0
  391. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js +8 -0
  392. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.js.map +7 -0
  393. package/dist/esm/components/connect-modal/wallet-list/WalletList.css.map +7 -0
  394. package/dist/esm/components/connect-modal/wallet-list/WalletList.d.ts +8 -0
  395. package/dist/esm/components/connect-modal/wallet-list/WalletList.js +145 -0
  396. package/dist/esm/components/connect-modal/wallet-list/WalletList.js.map +7 -0
  397. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css +65 -0
  398. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css +33 -0
  399. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.css.map +7 -0
  400. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.d.ts +4 -0
  401. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js +12 -0
  402. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.js.map +7 -0
  403. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.css.map +7 -0
  404. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.d.ts +9 -0
  405. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js +64 -0
  406. package/dist/esm/components/connect-modal/wallet-list/WalletListItem.js.map +7 -0
  407. package/dist/esm/components/icons/ArrowRightIcon.d.ts +2 -0
  408. package/dist/esm/components/icons/ArrowRightIcon.js +26 -0
  409. package/dist/esm/components/icons/ArrowRightIcon.js.map +7 -0
  410. package/dist/esm/components/icons/ArrowTopRightIcon.d.ts +2 -0
  411. package/dist/esm/components/icons/ArrowTopRightIcon.js +26 -0
  412. package/dist/esm/components/icons/ArrowTopRightIcon.js.map +7 -0
  413. package/dist/esm/components/icons/BackIcon.d.ts +2 -0
  414. package/dist/esm/components/icons/BackIcon.js +15 -0
  415. package/dist/esm/components/icons/BackIcon.js.map +7 -0
  416. package/dist/esm/components/icons/CheckIcon.d.ts +2 -0
  417. package/dist/esm/components/icons/CheckIcon.js +15 -0
  418. package/dist/esm/components/icons/CheckIcon.js.map +7 -0
  419. package/dist/esm/components/icons/ChevronIcon.d.ts +2 -0
  420. package/dist/esm/components/icons/ChevronIcon.js +18 -0
  421. package/dist/esm/components/icons/ChevronIcon.js.map +7 -0
  422. package/dist/esm/components/icons/CloseIcon.d.ts +2 -0
  423. package/dist/esm/components/icons/CloseIcon.js +15 -0
  424. package/dist/esm/components/icons/CloseIcon.js.map +7 -0
  425. package/dist/esm/components/icons/IotaIcon.d.ts +2 -0
  426. package/dist/esm/components/icons/IotaIcon.js +26 -0
  427. package/dist/esm/components/icons/IotaIcon.js.map +7 -0
  428. package/dist/esm/components/styling/InjectedThemeStyles.d.ts +6 -0
  429. package/dist/esm/components/styling/InjectedThemeStyles.js +109 -0
  430. package/dist/esm/components/styling/InjectedThemeStyles.js.map +7 -0
  431. package/dist/esm/components/styling/StyleMarker.css +46 -0
  432. package/dist/esm/components/styling/StyleMarker.css.css +46 -0
  433. package/dist/esm/components/styling/StyleMarker.css.css.map +7 -0
  434. package/dist/esm/components/styling/StyleMarker.css.d.ts +1 -0
  435. package/dist/esm/components/styling/StyleMarker.css.js +22 -0
  436. package/dist/esm/components/styling/StyleMarker.css.js.map +7 -0
  437. package/dist/esm/components/styling/StyleMarker.css.map +7 -0
  438. package/dist/esm/components/styling/StyleMarker.d.ts +2 -0
  439. package/dist/esm/components/styling/StyleMarker.js +61 -0
  440. package/dist/esm/components/styling/StyleMarker.js.map +7 -0
  441. package/dist/esm/components/ui/Button.css +43 -0
  442. package/dist/esm/components/ui/Button.css.css +43 -0
  443. package/dist/esm/components/ui/Button.css.css.map +7 -0
  444. package/dist/esm/components/ui/Button.css.d.ts +32 -0
  445. package/dist/esm/components/ui/Button.css.js +7 -0
  446. package/dist/esm/components/ui/Button.css.js.map +7 -0
  447. package/dist/esm/components/ui/Button.css.map +7 -0
  448. package/dist/esm/components/ui/Button.d.ts +8 -0
  449. package/dist/esm/components/ui/Button.js +29 -0
  450. package/dist/esm/components/ui/Button.js.map +7 -0
  451. package/dist/esm/components/ui/Heading.css +32 -0
  452. package/dist/esm/components/ui/Heading.css.css +32 -0
  453. package/dist/esm/components/ui/Heading.css.css.map +7 -0
  454. package/dist/esm/components/ui/Heading.css.d.ts +33 -0
  455. package/dist/esm/components/ui/Heading.css.js +7 -0
  456. package/dist/esm/components/ui/Heading.css.js.map +7 -0
  457. package/dist/esm/components/ui/Heading.css.map +7 -0
  458. package/dist/esm/components/ui/Heading.d.ts +12 -0
  459. package/dist/esm/components/ui/Heading.js +38 -0
  460. package/dist/esm/components/ui/Heading.js.map +7 -0
  461. package/dist/esm/components/ui/IconButton.css +9 -0
  462. package/dist/esm/components/ui/IconButton.css.css +9 -0
  463. package/dist/esm/components/ui/IconButton.css.css.map +7 -0
  464. package/dist/esm/components/ui/IconButton.css.d.ts +1 -0
  465. package/dist/esm/components/ui/IconButton.css.js +6 -0
  466. package/dist/esm/components/ui/IconButton.css.js.map +7 -0
  467. package/dist/esm/components/ui/IconButton.css.map +7 -0
  468. package/dist/esm/components/ui/IconButton.d.ts +6 -0
  469. package/dist/esm/components/ui/IconButton.js +21 -0
  470. package/dist/esm/components/ui/IconButton.js.map +7 -0
  471. package/dist/esm/components/ui/Text.css +38 -0
  472. package/dist/esm/components/ui/Text.css.css +38 -0
  473. package/dist/esm/components/ui/Text.css.css.map +7 -0
  474. package/dist/esm/components/ui/Text.css.d.ts +33 -0
  475. package/dist/esm/components/ui/Text.css.js +7 -0
  476. package/dist/esm/components/ui/Text.css.js.map +7 -0
  477. package/dist/esm/components/ui/Text.css.map +7 -0
  478. package/dist/esm/components/ui/Text.d.ts +12 -0
  479. package/dist/esm/components/ui/Text.js +39 -0
  480. package/dist/esm/components/ui/Text.js.map +7 -0
  481. package/dist/esm/constants/styleDataAttribute.d.ts +5 -0
  482. package/dist/esm/constants/styleDataAttribute.js +10 -0
  483. package/dist/esm/constants/styleDataAttribute.js.map +7 -0
  484. package/dist/esm/constants/walletDefaults.d.ts +7 -0
  485. package/dist/esm/constants/walletDefaults.js +34 -0
  486. package/dist/esm/constants/walletDefaults.js.map +7 -0
  487. package/dist/esm/constants/walletMutationKeys.d.ts +14 -0
  488. package/dist/esm/constants/walletMutationKeys.js +21 -0
  489. package/dist/esm/constants/walletMutationKeys.js.map +7 -0
  490. package/dist/esm/contexts/walletContext.d.ts +11 -0
  491. package/dist/esm/contexts/walletContext.js +7 -0
  492. package/dist/esm/contexts/walletContext.js.map +7 -0
  493. package/dist/esm/errors/walletErrors.d.ts +22 -0
  494. package/dist/esm/errors/walletErrors.js +16 -0
  495. package/dist/esm/errors/walletErrors.js.map +7 -0
  496. package/dist/esm/hooks/networkConfig.d.ts +10 -0
  497. package/dist/esm/hooks/networkConfig.js +51 -0
  498. package/dist/esm/hooks/networkConfig.js.map +7 -0
  499. package/dist/esm/hooks/useGetDefaultIotaName.d.ts +1 -0
  500. package/dist/esm/hooks/useGetDefaultIotaName.js +59 -0
  501. package/dist/esm/hooks/useGetDefaultIotaName.js.map +7 -0
  502. package/dist/esm/hooks/useIotaClient.d.ts +3 -0
  503. package/dist/esm/hooks/useIotaClient.js +30 -0
  504. package/dist/esm/hooks/useIotaClient.js.map +7 -0
  505. package/dist/esm/hooks/useIotaClientInfiniteQuery.d.ts +25 -0
  506. package/dist/esm/hooks/useIotaClientInfiniteQuery.js +49 -0
  507. package/dist/esm/hooks/useIotaClientInfiniteQuery.js.map +7 -0
  508. package/dist/esm/hooks/useIotaClientMutation.d.ts +4 -0
  509. package/dist/esm/hooks/useIotaClientMutation.js +40 -0
  510. package/dist/esm/hooks/useIotaClientMutation.js.map +7 -0
  511. package/dist/esm/hooks/useIotaClientQueries.d.ts +27 -0
  512. package/dist/esm/hooks/useIotaClientQueries.js +50 -0
  513. package/dist/esm/hooks/useIotaClientQueries.js.map +7 -0
  514. package/dist/esm/hooks/useIotaClientQuery.d.ts +51 -0
  515. package/dist/esm/hooks/useIotaClientQuery.js +76 -0
  516. package/dist/esm/hooks/useIotaClientQuery.js.map +7 -0
  517. package/dist/esm/hooks/wallet/useAccounts.d.ts +5 -0
  518. package/dist/esm/hooks/wallet/useAccounts.js +27 -0
  519. package/dist/esm/hooks/wallet/useAccounts.js.map +7 -0
  520. package/dist/esm/hooks/wallet/useAutoConnectWallet.d.ts +1 -0
  521. package/dist/esm/hooks/wallet/useAutoConnectWallet.js +214 -0
  522. package/dist/esm/hooks/wallet/useAutoConnectWallet.js.map +7 -0
  523. package/dist/esm/hooks/wallet/useConnectWallet.d.ts +15 -0
  524. package/dist/esm/hooks/wallet/useConnectWallet.js +89 -0
  525. package/dist/esm/hooks/wallet/useConnectWallet.js.map +7 -0
  526. package/dist/esm/hooks/wallet/useCurrentAccount.d.ts +5 -0
  527. package/dist/esm/hooks/wallet/useCurrentAccount.js +27 -0
  528. package/dist/esm/hooks/wallet/useCurrentAccount.js.map +7 -0
  529. package/dist/esm/hooks/wallet/useCurrentWallet.d.ts +25 -0
  530. package/dist/esm/hooks/wallet/useCurrentWallet.js +59 -0
  531. package/dist/esm/hooks/wallet/useCurrentWallet.js.map +7 -0
  532. package/dist/esm/hooks/wallet/useDisconnectWallet.d.ts +9 -0
  533. package/dist/esm/hooks/wallet/useDisconnectWallet.js +111 -0
  534. package/dist/esm/hooks/wallet/useDisconnectWallet.js.map +7 -0
  535. package/dist/esm/hooks/wallet/useReportTransactionEffects.d.ts +15 -0
  536. package/dist/esm/hooks/wallet/useReportTransactionEffects.js +127 -0
  537. package/dist/esm/hooks/wallet/useReportTransactionEffects.js.map +7 -0
  538. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.d.ts +30 -0
  539. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js +236 -0
  540. package/dist/esm/hooks/wallet/useSignAndExecuteTransaction.js.map +7 -0
  541. package/dist/esm/hooks/wallet/useSignPersonalMessage.d.ts +13 -0
  542. package/dist/esm/hooks/wallet/useSignPersonalMessage.js +127 -0
  543. package/dist/esm/hooks/wallet/useSignPersonalMessage.js.map +7 -0
  544. package/dist/esm/hooks/wallet/useSignTransaction.d.ts +18 -0
  545. package/dist/esm/hooks/wallet/useSignTransaction.js +212 -0
  546. package/dist/esm/hooks/wallet/useSignTransaction.js.map +7 -0
  547. package/dist/esm/hooks/wallet/useSwitchAccount.d.ts +14 -0
  548. package/dist/esm/hooks/wallet/useSwitchAccount.js +113 -0
  549. package/dist/esm/hooks/wallet/useSwitchAccount.js.map +7 -0
  550. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.d.ts +1 -0
  551. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js +173 -0
  552. package/dist/esm/hooks/wallet/useUnsafeBurnerWallet.js.map +7 -0
  553. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.d.ts +4 -0
  554. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js +79 -0
  555. package/dist/esm/hooks/wallet/useWalletPropertiesChanged.js.map +7 -0
  556. package/dist/esm/hooks/wallet/useWalletStore.d.ts +2 -0
  557. package/dist/esm/hooks/wallet/useWalletStore.js +22 -0
  558. package/dist/esm/hooks/wallet/useWalletStore.js.map +7 -0
  559. package/dist/esm/hooks/wallet/useWallets.d.ts +4 -0
  560. package/dist/esm/hooks/wallet/useWallets.js +27 -0
  561. package/dist/esm/hooks/wallet/useWallets.js.map +7 -0
  562. package/dist/esm/hooks/wallet/useWalletsChanged.d.ts +5 -0
  563. package/dist/esm/hooks/wallet/useWalletsChanged.js +65 -0
  564. package/dist/esm/hooks/wallet/useWalletsChanged.js.map +7 -0
  565. package/dist/esm/index.css +471 -0
  566. package/dist/esm/index.css.map +7 -0
  567. package/dist/esm/index.d.ts +26 -0
  568. package/dist/esm/index.js +1970 -0
  569. package/dist/esm/index.js.map +7 -0
  570. package/dist/esm/package.json +4 -0
  571. package/dist/esm/themes/darkTheme.d.ts +2 -0
  572. package/dist/esm/themes/darkTheme.js +67 -0
  573. package/dist/esm/themes/darkTheme.js.map +7 -0
  574. package/dist/esm/themes/lightTheme.d.ts +2 -0
  575. package/dist/esm/themes/lightTheme.js +67 -0
  576. package/dist/esm/themes/lightTheme.js.map +7 -0
  577. package/dist/esm/themes/themeContract.d.ts +150 -0
  578. package/dist/esm/themes/themeContract.js +72 -0
  579. package/dist/esm/themes/themeContract.js.map +7 -0
  580. package/dist/esm/types/utilityTypes.d.ts +1 -0
  581. package/dist/esm/types/utilityTypes.js +1 -0
  582. package/dist/esm/types/utilityTypes.js.map +7 -0
  583. package/dist/esm/types.d.ts +2 -0
  584. package/dist/esm/types.js +1 -0
  585. package/dist/esm/types.js.map +7 -0
  586. package/dist/esm/utils/assertUnreachable.d.ts +4 -0
  587. package/dist/esm/utils/assertUnreachable.js +8 -0
  588. package/dist/esm/utils/assertUnreachable.js.map +7 -0
  589. package/dist/esm/utils/stateStorage.d.ts +2 -0
  590. package/dist/esm/utils/stateStorage.js +19 -0
  591. package/dist/esm/utils/stateStorage.js.map +7 -0
  592. package/dist/esm/utils/walletUtils.d.ts +3 -0
  593. package/dist/esm/utils/walletUtils.js +23 -0
  594. package/dist/esm/utils/walletUtils.js.map +7 -0
  595. package/dist/esm/walletStore.d.ts +42 -0
  596. package/dist/esm/walletStore.js +106 -0
  597. package/dist/esm/walletStore.js.map +7 -0
  598. package/dist/index.css/package.json +5 -0
  599. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  600. package/dist/tsconfig.tsbuildinfo +1 -0
  601. package/package.json +97 -0
  602. package/src/components/AccountDropdownMenu.css.ts +60 -0
  603. package/src/components/AccountDropdownMenu.tsx +99 -0
  604. package/src/components/ConnectButton.tsx +43 -0
  605. package/src/components/IotaClientProvider.tsx +97 -0
  606. package/src/components/WalletProvider.tsx +106 -0
  607. package/src/components/connect-modal/ConnectModal.css.ts +125 -0
  608. package/src/components/connect-modal/ConnectModal.tsx +167 -0
  609. package/src/components/connect-modal/InfoSection.css.ts +11 -0
  610. package/src/components/connect-modal/InfoSection.tsx +25 -0
  611. package/src/components/connect-modal/views/ConnectionStatus.css.ts +37 -0
  612. package/src/components/connect-modal/views/ConnectionStatus.tsx +55 -0
  613. package/src/components/connect-modal/views/GetTheWallet.css.ts +38 -0
  614. package/src/components/connect-modal/views/GetTheWallet.tsx +25 -0
  615. package/src/components/connect-modal/views/GettingStarted.css.ts +29 -0
  616. package/src/components/connect-modal/views/GettingStarted.tsx +40 -0
  617. package/src/components/connect-modal/views/WhatIsAWallet.css.ts +21 -0
  618. package/src/components/connect-modal/views/WhatIsAWallet.tsx +24 -0
  619. package/src/components/connect-modal/views/index.ts +6 -0
  620. package/src/components/connect-modal/wallet-list/WalletList.css.ts +17 -0
  621. package/src/components/connect-modal/wallet-list/WalletList.tsx +43 -0
  622. package/src/components/connect-modal/wallet-list/WalletListItem.css.ts +36 -0
  623. package/src/components/connect-modal/wallet-list/WalletListItem.tsx +37 -0
  624. package/src/components/icons/ArrowRightIcon.tsx +23 -0
  625. package/src/components/icons/ArrowTopRightIcon.tsx +23 -0
  626. package/src/components/icons/BackIcon.tsx +18 -0
  627. package/src/components/icons/CheckIcon.tsx +16 -0
  628. package/src/components/icons/ChevronIcon.tsx +19 -0
  629. package/src/components/icons/CloseIcon.tsx +16 -0
  630. package/src/components/icons/IotaIcon.tsx +23 -0
  631. package/src/components/styling/InjectedThemeStyles.tsx +56 -0
  632. package/src/components/styling/StyleMarker.css.ts +49 -0
  633. package/src/components/styling/StyleMarker.tsx +25 -0
  634. package/src/components/ui/Button.css.ts +49 -0
  635. package/src/components/ui/Button.tsx +32 -0
  636. package/src/components/ui/Heading.css.ts +44 -0
  637. package/src/components/ui/Heading.tsx +53 -0
  638. package/src/components/ui/IconButton.css.ts +14 -0
  639. package/src/components/ui/IconButton.tsx +25 -0
  640. package/src/components/ui/Text.css.ts +39 -0
  641. package/src/components/ui/Text.tsx +51 -0
  642. package/src/constants/styleDataAttribute.ts +9 -0
  643. package/src/constants/walletDefaults.ts +26 -0
  644. package/src/constants/walletMutationKeys.ts +23 -0
  645. package/src/contexts/walletContext.ts +9 -0
  646. package/src/errors/walletErrors.ts +25 -0
  647. package/src/hooks/networkConfig.ts +46 -0
  648. package/src/hooks/useGetDefaultIotaName.ts +43 -0
  649. package/src/hooks/useIotaClient.ts +24 -0
  650. package/src/hooks/useIotaClientInfiniteQuery.ts +87 -0
  651. package/src/hooks/useIotaClientMutation.ts +28 -0
  652. package/src/hooks/useIotaClientQueries.ts +69 -0
  653. package/src/hooks/useIotaClientQuery.ts +144 -0
  654. package/src/hooks/wallet/useAccounts.ts +14 -0
  655. package/src/hooks/wallet/useAutoConnectWallet.ts +95 -0
  656. package/src/hooks/wallet/useConnectWallet.ts +91 -0
  657. package/src/hooks/wallet/useCurrentAccount.ts +14 -0
  658. package/src/hooks/wallet/useCurrentWallet.ts +45 -0
  659. package/src/hooks/wallet/useDisconnectWallet.ts +57 -0
  660. package/src/hooks/wallet/useReportTransactionEffects.ts +87 -0
  661. package/src/hooks/wallet/useSignAndExecuteTransaction.ts +172 -0
  662. package/src/hooks/wallet/useSignPersonalMessage.ts +84 -0
  663. package/src/hooks/wallet/useSignTransaction.ts +117 -0
  664. package/src/hooks/wallet/useSwitchAccount.ts +61 -0
  665. package/src/hooks/wallet/useUnsafeBurnerWallet.ts +168 -0
  666. package/src/hooks/wallet/useWalletPropertiesChanged.ts +30 -0
  667. package/src/hooks/wallet/useWalletStore.ts +19 -0
  668. package/src/hooks/wallet/useWallets.ts +12 -0
  669. package/src/hooks/wallet/useWalletsChanged.ts +42 -0
  670. package/src/index.ts +31 -0
  671. package/src/themes/darkTheme.ts +69 -0
  672. package/src/themes/lightTheme.ts +69 -0
  673. package/src/themes/themeContract.ts +103 -0
  674. package/src/types/utilityTypes.ts +5 -0
  675. package/src/types.ts +6 -0
  676. package/src/utils/assertUnreachable.ts +10 -0
  677. package/src/utils/stateStorage.ts +20 -0
  678. package/src/utils/walletUtils.ts +40 -0
  679. package/src/walletStore.ts +152 -0
@@ -0,0 +1,1980 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __typeError = (msg) => {
9
+ throw TypeError(msg);
10
+ };
11
+ var __esm = (fn, res) => function __init() {
12
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
13
+ };
14
+ var __commonJS = (cb, mod) => function __require() {
15
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
16
+ };
17
+ var __export = (target, all) => {
18
+ for (var name in all)
19
+ __defProp(target, name, { get: all[name], enumerable: true });
20
+ };
21
+ var __copyProps = (to, from, except, desc) => {
22
+ if (from && typeof from === "object" || typeof from === "function") {
23
+ for (let key of __getOwnPropNames(from))
24
+ if (!__hasOwnProp.call(to, key) && key !== except)
25
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
26
+ }
27
+ return to;
28
+ };
29
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
30
+ // If the importer is in node compatibility mode or this is not an ESM
31
+ // file that has been converted to a CommonJS file using a Babel-
32
+ // compatible transform (i.e. "__esModule" has not been set), then set
33
+ // "default" to the CommonJS "module.exports" for node compatibility.
34
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
35
+ mod
36
+ ));
37
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
38
+ var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
39
+ var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
40
+ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
41
+
42
+ // vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9
43
+ var init_StyleMarker_css_ts_vanilla = __esm({
44
+ "vanilla-extract-css-ns:src/components/styling/StyleMarker.css.ts.vanilla.css?source=OndoZXJlKCopIHsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGNvbG9yOiB2YXIoLS1kYXBwLWtpdC1jb2xvcnMtYm9keSk7CiAgZm9udC1mYW1pbHk6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udEZhbWlseSk7CiAgZm9udC1zaXplOiB2YXIoLS1kYXBwLWtpdC1mb250V2VpZ2h0cy1ub3JtYWwpOwogIGZvbnQtc3R5bGU6IHZhcigtLWRhcHAta2l0LXR5cG9ncmFwaHktZm9udFN0eWxlKTsKICBmb250LXdlaWdodDogdmFyKC0tZGFwcC1raXQtZm9udFdlaWdodHMtbm9ybWFsKTsKICBsaW5lLWhlaWdodDogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1saW5lSGVpZ2h0KTsKICBsZXR0ZXItc3BhY2luZzogdmFyKC0tZGFwcC1raXQtdHlwb2dyYXBoeS1sZXR0ZXJTcGFjaW5nKTsKfQo6d2hlcmUoYnV0dG9uKSB7CiAgYXBwZWFyYW5jZTogbm9uZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7CiAgY29sb3I6IGluaGVyaXQ7CiAgYm9yZGVyOiAwOwogIHBhZGRpbmc6IDA7CiAgbWFyZ2luOiAwOwp9Cjp3aGVyZShhKSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGNvbG9yOiBpbmhlcml0OwogIG91dGxpbmU6IG5vbmU7Cn0KOndoZXJlKG9sLCB1bCkgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KOndoZXJlKGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYpIHsKICBmb250LXNpemU6IGluaGVyaXQ7CiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7CiAgbWFyZ2luOiAwOwp9"() {
45
+ }
46
+ });
47
+
48
+ // src/components/styling/StyleMarker.css.ts
49
+ var require_StyleMarker_css = __commonJS({
50
+ "src/components/styling/StyleMarker.css.ts"() {
51
+ "use strict";
52
+ init_StyleMarker_css_ts_vanilla();
53
+ }
54
+ });
55
+
56
+ // src/index.ts
57
+ var index_exports = {};
58
+ __export(index_exports, {
59
+ ConnectButton: () => ConnectButton,
60
+ ConnectModal: () => ConnectModal,
61
+ IotaClientContext: () => IotaClientContext,
62
+ IotaClientProvider: () => IotaClientProvider,
63
+ WalletProvider: () => WalletProvider,
64
+ createNetworkConfig: () => createNetworkConfig,
65
+ darkTheme: () => darkTheme,
66
+ getIotaClientQuery: () => getIotaClientQuery,
67
+ lightTheme: () => lightTheme,
68
+ useAccounts: () => useAccounts,
69
+ useAutoConnectWallet: () => useAutoConnectWallet,
70
+ useConnectWallet: () => useConnectWallet,
71
+ useCurrentAccount: () => useCurrentAccount,
72
+ useCurrentWallet: () => useCurrentWallet,
73
+ useDisconnectWallet: () => useDisconnectWallet,
74
+ useIotaClient: () => useIotaClient,
75
+ useIotaClientContext: () => useIotaClientContext,
76
+ useIotaClientInfiniteQuery: () => useIotaClientInfiniteQuery,
77
+ useIotaClientMutation: () => useIotaClientMutation,
78
+ useIotaClientQueries: () => useIotaClientQueries,
79
+ useIotaClientQuery: () => useIotaClientQuery,
80
+ useIotaClientSuspenseQuery: () => useIotaClientSuspenseQuery,
81
+ useReportTransactionEffects: () => useReportTransactionEffects,
82
+ useSignAndExecuteTransaction: () => useSignAndExecuteTransaction,
83
+ useSignPersonalMessage: () => useSignPersonalMessage,
84
+ useSignTransaction: () => useSignTransaction,
85
+ useSwitchAccount: () => useSwitchAccount,
86
+ useWallets: () => useWallets
87
+ });
88
+ module.exports = __toCommonJS(index_exports);
89
+
90
+ // src/components/connect-modal/ConnectModal.tsx
91
+ var Dialog = __toESM(require("@radix-ui/react-dialog"));
92
+ var import_clsx6 = __toESM(require("clsx"));
93
+ var import_react8 = require("react");
94
+
95
+ // src/hooks/wallet/useConnectWallet.ts
96
+ var import_wallet_standard = require("@iota/wallet-standard");
97
+ var import_react_query = require("@tanstack/react-query");
98
+
99
+ // src/constants/walletMutationKeys.ts
100
+ var walletMutationKeys = {
101
+ all: { baseScope: "wallet" },
102
+ connectWallet: formMutationKeyFn("connect-wallet"),
103
+ autoconnectWallet: formMutationKeyFn("autoconnect-wallet"),
104
+ disconnectWallet: formMutationKeyFn("disconnect-wallet"),
105
+ signPersonalMessage: formMutationKeyFn("sign-personal-message"),
106
+ signTransaction: formMutationKeyFn("sign-transaction"),
107
+ signAndExecuteTransaction: formMutationKeyFn("sign-and-execute-transaction"),
108
+ switchAccount: formMutationKeyFn("switch-account"),
109
+ reportTransactionEffects: formMutationKeyFn("report-transaction-effects")
110
+ };
111
+ function formMutationKeyFn(baseEntity) {
112
+ return function mutationKeyFn(additionalKeys = []) {
113
+ return [{ ...walletMutationKeys.all, baseEntity }, ...additionalKeys];
114
+ };
115
+ }
116
+
117
+ // src/hooks/wallet/useWalletStore.ts
118
+ var import_react2 = require("react");
119
+ var import_zustand = require("zustand");
120
+
121
+ // src/contexts/walletContext.ts
122
+ var import_react = require("react");
123
+ var WalletContext = (0, import_react.createContext)(null);
124
+
125
+ // src/hooks/wallet/useWalletStore.ts
126
+ function useWalletStore(selector) {
127
+ const store = (0, import_react2.useContext)(WalletContext);
128
+ if (!store) {
129
+ throw new Error(
130
+ "Could not find WalletContext. Ensure that you have set up the WalletProvider."
131
+ );
132
+ }
133
+ return (0, import_zustand.useStore)(store, selector);
134
+ }
135
+
136
+ // src/hooks/wallet/useConnectWallet.ts
137
+ function useConnectWallet({
138
+ mutationKey,
139
+ ...mutationOptions
140
+ } = {}) {
141
+ const setWalletConnected = useWalletStore((state) => state.setWalletConnected);
142
+ const setConnectionStatus = useWalletStore((state) => state.setConnectionStatus);
143
+ return (0, import_react_query.useMutation)({
144
+ mutationKey: walletMutationKeys.connectWallet(mutationKey),
145
+ mutationFn: async ({ wallet, accountAddress, ...connectArgs }) => {
146
+ try {
147
+ setConnectionStatus("connecting");
148
+ const connectResult = await wallet.features["standard:connect"].connect(connectArgs);
149
+ const connectedIotaAccounts = connectResult.accounts.filter(
150
+ (account) => account.chains.some(import_wallet_standard.isSupportedChain)
151
+ );
152
+ const selectedAccount = getSelectedAccount(connectedIotaAccounts, accountAddress);
153
+ setWalletConnected(
154
+ wallet,
155
+ connectedIotaAccounts,
156
+ selectedAccount,
157
+ connectResult.supportedIntents
158
+ );
159
+ return { accounts: connectedIotaAccounts };
160
+ } catch (error) {
161
+ setConnectionStatus("disconnected");
162
+ throw error;
163
+ }
164
+ },
165
+ ...mutationOptions
166
+ });
167
+ }
168
+ function getSelectedAccount(connectedAccounts, accountAddress) {
169
+ if (connectedAccounts.length === 0) {
170
+ return null;
171
+ }
172
+ if (accountAddress) {
173
+ const selectedAccount = connectedAccounts.find(
174
+ (account) => account.address === accountAddress
175
+ );
176
+ return selectedAccount ?? connectedAccounts[0];
177
+ }
178
+ return connectedAccounts[0];
179
+ }
180
+
181
+ // src/utils/walletUtils.ts
182
+ var import_wallet_standard2 = require("@iota/wallet-standard");
183
+ function getRegisteredWallets(preferredWallets, walletFilter) {
184
+ const walletsApi = (0, import_wallet_standard2.getWallets)();
185
+ const wallets = walletsApi.get();
186
+ const iotaWallets = wallets.filter(
187
+ (wallet) => (0, import_wallet_standard2.isWalletWithRequiredFeatureSet)(wallet) && (!walletFilter || walletFilter(wallet))
188
+ );
189
+ return [
190
+ // Preferred wallets, in order:
191
+ ...preferredWallets.map((name) => iotaWallets.find((wallet) => wallet.name === name)).filter(Boolean),
192
+ // Wallets in default order:
193
+ ...iotaWallets.filter((wallet) => !preferredWallets.includes(wallet.name))
194
+ ];
195
+ }
196
+ function getWalletUniqueIdentifier(wallet) {
197
+ return wallet?.id ?? wallet?.name;
198
+ }
199
+
200
+ // src/components/icons/BackIcon.tsx
201
+ var import_jsx_runtime = require("react/jsx-runtime");
202
+ function BackIcon(props) {
203
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("svg", { width: 24, height: 24, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
204
+ "path",
205
+ {
206
+ 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",
207
+ fill: "currentColor"
208
+ }
209
+ ) });
210
+ }
211
+
212
+ // src/components/icons/CloseIcon.tsx
213
+ var import_jsx_runtime2 = require("react/jsx-runtime");
214
+ function CloseIcon(props) {
215
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("svg", { width: 10, height: 10, fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
216
+ "path",
217
+ {
218
+ 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",
219
+ fill: "currentColor"
220
+ }
221
+ ) });
222
+ }
223
+
224
+ // src/components/styling/StyleMarker.tsx
225
+ var import_react_slot = require("@radix-ui/react-slot");
226
+ var import_react3 = require("react");
227
+
228
+ // src/constants/styleDataAttribute.ts
229
+ var styleDataAttributeName = "data-dapp-kit";
230
+ var styleDataAttributeSelector = `[${styleDataAttributeName}]`;
231
+ var styleDataAttribute = { [styleDataAttributeName]: "" };
232
+
233
+ // src/components/styling/StyleMarker.tsx
234
+ var import_StyleMarker_css = __toESM(require_StyleMarker_css());
235
+ var import_jsx_runtime3 = require("react/jsx-runtime");
236
+ var StyleMarker = (0, import_react3.forwardRef)(({ children, ...props }, forwardedRef) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_slot.Slot, { ref: forwardedRef, ...props, ...styleDataAttribute, children }));
237
+ StyleMarker.displayName = "StyleMarker";
238
+
239
+ // src/components/ui/Heading.tsx
240
+ var import_react_slot2 = require("@radix-ui/react-slot");
241
+ var import_clsx = __toESM(require("clsx"));
242
+ var import_react4 = require("react");
243
+
244
+ // src/components/ui/Heading.css.ts
245
+ var import_createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
246
+ var headingVariants = (0, import_createRuntimeFn.createRuntimeFn)({ defaultClassName: "Heading__12b5l8i0", variantClassNames: { size: { sm: "Heading_headingVariants_size_sm__12b5l8i1", md: "Heading_headingVariants_size_md__12b5l8i2", lg: "Heading_headingVariants_size_lg__12b5l8i3", xl: "Heading_headingVariants_size_xl__12b5l8i4" }, weight: { normal: "Heading_headingVariants_weight_normal__12b5l8i5", bold: "Heading_headingVariants_weight_bold__12b5l8i6" }, truncate: { true: "Heading_headingVariants_truncate_true__12b5l8i7" } }, defaultVariants: { size: "lg", weight: "bold" }, compoundVariants: [] });
247
+
248
+ // src/components/ui/Heading.tsx
249
+ var import_jsx_runtime4 = require("react/jsx-runtime");
250
+ var Heading = (0, import_react4.forwardRef)(
251
+ ({
252
+ children,
253
+ className,
254
+ asChild = false,
255
+ as: Tag = "h1",
256
+ size,
257
+ weight,
258
+ truncate,
259
+ ...headingProps
260
+ }, forwardedRef) => {
261
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
262
+ import_react_slot2.Slot,
263
+ {
264
+ ...headingProps,
265
+ ref: forwardedRef,
266
+ className: (0, import_clsx.default)(headingVariants({ size, weight, truncate }), className),
267
+ children: asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Tag, { children })
268
+ }
269
+ );
270
+ }
271
+ );
272
+ Heading.displayName = "Heading";
273
+
274
+ // src/components/ui/IconButton.tsx
275
+ var import_react_slot3 = require("@radix-ui/react-slot");
276
+ var import_clsx2 = __toESM(require("clsx"));
277
+ var import_react5 = require("react");
278
+
279
+ // src/components/ui/IconButton.css.ts
280
+ var container = "IconButton_container__ap1qll0";
281
+
282
+ // src/components/ui/IconButton.tsx
283
+ var import_jsx_runtime5 = require("react/jsx-runtime");
284
+ var IconButton = (0, import_react5.forwardRef)(
285
+ ({ className, asChild = false, ...props }, forwardedRef) => {
286
+ const Comp = asChild ? import_react_slot3.Slot : "button";
287
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Comp, { ...props, className: (0, import_clsx2.default)(container, className), ref: forwardedRef });
288
+ }
289
+ );
290
+ IconButton.displayName = "Button";
291
+
292
+ // src/components/connect-modal/ConnectModal.css.ts
293
+ var backButtonContainer = "ConnectModal_backButtonContainer__17mljma6";
294
+ var closeButtonContainer = "ConnectModal_closeButtonContainer__17mljma7";
295
+ var content = "ConnectModal_content__17mljma2";
296
+ var overlay = "ConnectModal_overlay__17mljma0";
297
+ var selectedViewContainer = "ConnectModal_selectedViewContainer__17mljma5";
298
+ var title = "ConnectModal_title__17mljma1";
299
+ var viewContainer = "ConnectModal_viewContainer__17mljma4";
300
+ var walletListContainer = "ConnectModal_walletListContainer__17mljma9";
301
+ var walletListContainerWithViewSelected = "ConnectModal_walletListContainerWithViewSelected__17mljmaa";
302
+ var walletListContent = "ConnectModal_walletListContent__17mljma8";
303
+ var whatIsAWalletButton = "ConnectModal_whatIsAWalletButton__17mljma3";
304
+
305
+ // src/components/ui/Button.tsx
306
+ var import_react_slot4 = require("@radix-ui/react-slot");
307
+ var import_clsx3 = __toESM(require("clsx"));
308
+ var import_react6 = require("react");
309
+
310
+ // src/components/ui/Button.css.ts
311
+ var import_createRuntimeFn2 = require("@vanilla-extract/recipes/createRuntimeFn");
312
+ var buttonVariants = (0, import_createRuntimeFn2.createRuntimeFn)({ defaultClassName: "Button_buttonVariants__ctbx2n0", variantClassNames: { variant: { primary: "Button_buttonVariants_variant_primary__ctbx2n1", outline: "Button_buttonVariants_variant_outline__ctbx2n2" }, size: { md: "Button_buttonVariants_size_md__ctbx2n3", lg: "Button_buttonVariants_size_lg__ctbx2n4" } }, defaultVariants: { variant: "primary", size: "md" }, compoundVariants: [] });
313
+
314
+ // src/components/ui/Button.tsx
315
+ var import_jsx_runtime6 = require("react/jsx-runtime");
316
+ var Button = (0, import_react6.forwardRef)(
317
+ ({ className, variant, size, asChild = false, ...props }, forwardedRef) => {
318
+ const Comp = asChild ? import_react_slot4.Slot : "button";
319
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
320
+ Comp,
321
+ {
322
+ ...props,
323
+ className: (0, import_clsx3.default)(buttonVariants({ variant, size }), className),
324
+ ref: forwardedRef
325
+ }
326
+ );
327
+ }
328
+ );
329
+ Button.displayName = "Button";
330
+
331
+ // src/components/ui/Text.tsx
332
+ var import_react_slot5 = require("@radix-ui/react-slot");
333
+ var import_clsx4 = __toESM(require("clsx"));
334
+ var import_react7 = require("react");
335
+
336
+ // src/components/ui/Text.css.ts
337
+ var import_createRuntimeFn3 = require("@vanilla-extract/recipes/createRuntimeFn");
338
+ var textVariants = (0, import_createRuntimeFn3.createRuntimeFn)({ defaultClassName: "Text__aprhbd0", variantClassNames: { size: { sm: "Text_textVariants_size_sm__aprhbd1" }, weight: { normal: "Text_textVariants_weight_normal__aprhbd2", medium: "Text_textVariants_weight_medium__aprhbd3", bold: "Text_textVariants_weight_bold__aprhbd4" }, color: { muted: "Text_textVariants_color_muted__aprhbd5", danger: "Text_textVariants_color_danger__aprhbd6" }, mono: { true: "Text_textVariants_mono_true__aprhbd7" } }, defaultVariants: { size: "sm", weight: "normal" }, compoundVariants: [] });
339
+
340
+ // src/components/ui/Text.tsx
341
+ var import_jsx_runtime7 = require("react/jsx-runtime");
342
+ var Text = (0, import_react7.forwardRef)(
343
+ ({
344
+ children,
345
+ className,
346
+ asChild = false,
347
+ as: Tag = "div",
348
+ size,
349
+ weight,
350
+ color,
351
+ mono,
352
+ ...textProps
353
+ }, forwardedRef) => {
354
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
355
+ import_react_slot5.Slot,
356
+ {
357
+ ...textProps,
358
+ ref: forwardedRef,
359
+ className: (0, import_clsx4.default)(textVariants({ size, weight, color, mono }), className),
360
+ children: asChild ? children : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(Tag, { children })
361
+ }
362
+ );
363
+ }
364
+ );
365
+ Text.displayName = "Text";
366
+
367
+ // src/components/connect-modal/views/ConnectionStatus.css.ts
368
+ var connectionStatus = "ConnectionStatus_connectionStatus__c5q1ll3";
369
+ var container2 = "ConnectionStatus_container__c5q1ll0";
370
+ var retryButtonContainer = "ConnectionStatus_retryButtonContainer__c5q1ll4";
371
+ var title2 = "ConnectionStatus_title__c5q1ll2";
372
+ var walletIcon = "ConnectionStatus_walletIcon__c5q1ll1";
373
+
374
+ // src/components/connect-modal/views/ConnectionStatus.tsx
375
+ var import_jsx_runtime8 = require("react/jsx-runtime");
376
+ function ConnectionStatus({
377
+ selectedWallet,
378
+ hadConnectionError,
379
+ onRetryConnection
380
+ }) {
381
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)("div", { className: container2, children: [
382
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
383
+ "img",
384
+ {
385
+ className: walletIcon,
386
+ src: selectedWallet.icon,
387
+ alt: `${selectedWallet.name} logo`
388
+ }
389
+ ),
390
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: title2, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(Heading, { as: "h2", size: "xl", children: [
391
+ "Opening ",
392
+ selectedWallet.name
393
+ ] }) }),
394
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: connectionStatus, children: hadConnectionError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { color: "danger", children: "Connection failed" }) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Text, { color: "muted", children: "Confirm connection in the wallet..." }) }),
395
+ hadConnectionError ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: retryButtonContainer, children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
396
+ Button,
397
+ {
398
+ type: "button",
399
+ variant: "primary",
400
+ onClick: () => onRetryConnection(selectedWallet),
401
+ children: "Retry Connection"
402
+ }
403
+ ) }) : null
404
+ ] });
405
+ }
406
+
407
+ // src/components/connect-modal/InfoSection.css.ts
408
+ var container3 = "InfoSection_container__1d1nrmt0";
409
+
410
+ // src/components/connect-modal/InfoSection.tsx
411
+ var import_jsx_runtime9 = require("react/jsx-runtime");
412
+ function InfoSection({ title: title3, children }) {
413
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("section", { className: container3, children: [
414
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Heading, { as: "h3", size: "sm", weight: "normal", children: title3 }),
415
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(Text, { weight: "medium", color: "muted", children })
416
+ ] });
417
+ }
418
+
419
+ // src/components/connect-modal/views/GettingStarted.css.ts
420
+ var container4 = "GettingStarted_container__qu36t90";
421
+ var content2 = "GettingStarted_content__qu36t91";
422
+ var installButtonContainer = "GettingStarted_installButtonContainer__qu36t92";
423
+
424
+ // src/components/connect-modal/views/GettingStarted.tsx
425
+ var import_jsx_runtime10 = require("react/jsx-runtime");
426
+ function GettingStarted() {
427
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: container4, children: [
428
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Heading, { as: "h2", children: "Get Started with IOTA" }),
429
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: content2, children: [
430
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Install the IOTA Wallet Extension", children: "We recommend pinning IOTA Wallet to your taskbar for quicker access." }),
431
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(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." }),
432
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(InfoSection, { title: "Refresh Your Browser", children: "Once you set up your wallet, refresh this window browser to load up the extension." }),
433
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: installButtonContainer, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Button, { variant: "primary", asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
434
+ "a",
435
+ {
436
+ href: "https://chrome.google.com/webstore/detail/iota-wallet/iidjkmdceolghepehaaddojmnjnkkija",
437
+ target: "_blank",
438
+ rel: "noreferrer",
439
+ children: "Install Wallet Extension"
440
+ }
441
+ ) }) })
442
+ ] })
443
+ ] });
444
+ }
445
+
446
+ // src/components/connect-modal/views/WhatIsAWallet.css.ts
447
+ var container5 = "WhatIsAWallet_container__1kdcimq0";
448
+ var content3 = "WhatIsAWallet_content__1kdcimq1";
449
+
450
+ // src/components/connect-modal/views/WhatIsAWallet.tsx
451
+ var import_jsx_runtime11 = require("react/jsx-runtime");
452
+ function WhatIsAWallet() {
453
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: container5, children: [
454
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Heading, { as: "h2", children: "What is a Wallet" }),
455
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: content3, children: [
456
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(InfoSection, { title: "Easy Login", children: "No need to create new accounts and passwords for every website. Just connect your wallet and get going." }),
457
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(InfoSection, { title: "Store your Digital Assets", children: "Send, receive, store, and display your digital assets like NFTs & coins." })
458
+ ] })
459
+ ] });
460
+ }
461
+
462
+ // src/hooks/wallet/useWallets.ts
463
+ function useWallets() {
464
+ return useWalletStore((state) => state.wallets);
465
+ }
466
+
467
+ // src/components/icons/IotaIcon.tsx
468
+ var import_jsx_runtime12 = require("react/jsx-runtime");
469
+ function IotaIcon(props) {
470
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
471
+ "svg",
472
+ {
473
+ xmlns: "http://www.w3.org/2000/svg",
474
+ width: "28px",
475
+ height: "28px",
476
+ fill: "none",
477
+ viewBox: "0 0 24 24",
478
+ ...props,
479
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
480
+ "path",
481
+ {
482
+ fill: "#171d26",
483
+ d: "M18.27 2.259c0 .695-.568 1.259-1.268 1.259s-1.267-.564-1.267-1.259S16.302 1 17.002 1s1.268.564 1.268 1.259m1.425 17.785c0 .695-.568 1.259-1.268 1.259s-1.267-.564-1.267-1.26c0-.695.567-1.258 1.267-1.258s1.268.563 1.268 1.259m-2.33-13.379a1.06 1.06 0 0 0 1.063-1.056 1.06 1.06 0 0 0-1.063-1.057A1.06 1.06 0 0 0 16.3 5.61a1.06 1.06 0 0 0 1.064 1.056Zm3.891-.651a1.06 1.06 0 0 1-1.063 1.056 1.06 1.06 0 0 1-1.064-1.056 1.06 1.06 0 0 1 1.064-1.057 1.06 1.06 0 0 1 1.063 1.057m-4.253 3.329c.5 0 .905-.403.905-.9 0-.496-.405-.9-.905-.9s-.906.404-.906.9c0 .497.406.9.906.9m3.734-.52c0 .497-.405.9-.905.9a.903.903 0 0 1-.906-.9c0-.496.405-.9.906-.9.5 0 .905.404.905.9m1.357 1.777c.5 0 .906-.402.906-.899s-.405-.9-.906-.9c-.5 0-.905.403-.905.9s.405.9.905.9Zm-2.309.495a.79.79 0 0 1-.792.787.79.79 0 0 1-.791-.787c0-.434.354-.786.791-.786s.792.352.792.786m-3.62.404a.79.79 0 0 0 .792-.787.79.79 0 0 0-.792-.786.79.79 0 0 0-.791.786c0 .435.354.787.791.787m5.907.471a.79.79 0 0 1-.791.787.79.79 0 0 1-.792-.786.79.79 0 0 1 .792-.787.79.79 0 0 1 .791.787Zm-4.21 1.554c.375 0 .68-.302.68-.675a.677.677 0 0 0-.68-.675.68.68 0 0 0-.68.675c0 .373.304.675.68.675m2.968.178a.68.68 0 0 1-.68.676.677.677 0 0 1-.68-.676c0-.373.304-.675.68-.675.375 0 .68.302.68.675m-5.774-.582c.375 0 .68-.302.68-.675a.68.68 0 0 0-.68-.675.68.68 0 0 0-.68.675c0 .373.304.675.68.675m2.127.943c0 .31-.254.561-.566.561a.564.564 0 0 1-.566-.562c0-.31.253-.561.566-.561s.566.251.566.562m.407 2.114a.496.496 0 0 0 .498-.494.496.496 0 0 0-.498-.495.496.496 0 0 0-.498.495c0 .273.223.494.498.494m-.791-.09a.407.407 0 0 1-.408.405.407.407 0 0 1-.408-.405c0-.223.182-.405.408-.405s.408.181.408.405m-1.472-.765a.496.496 0 0 0 .498-.494.496.496 0 0 0-.498-.495.496.496 0 0 0-.498.495c0 .273.223.494.498.494m-.973-1.64c0 .31-.254.562-.566.562a.564.564 0 0 1-.566-.562c0-.31.253-.562.566-.562s.566.251.566.562m-.588-3.666a.564.564 0 0 0 .566-.562.564.564 0 0 0-.566-.562.564.564 0 0 0-.565.562c0 .31.253.562.565.562m.745-2.473a.496.496 0 0 1-.497.494.496.496 0 0 1-.498-.494c0-.273.223-.494.498-.494s.498.22.498.494Zm.047-1.123a.406.406 0 0 0 .407-.406.406.406 0 0 0-.407-.405.407.407 0 0 0-.408.405c0 .224.182.406.408.406m-.452-1.26a.496.496 0 0 1-.498.494.496.496 0 0 1-.498-.494c0-.273.223-.494.498-.494s.498.22.498.494m4.776 10.32a.564.564 0 0 0 .566-.561.564.564 0 0 0-.566-.562.564.564 0 0 0-.566.562c0 .31.253.562.566.562ZM12.883 4.439c0 .31-.254.562-.566.562a.564.564 0 0 1-.566-.562c0-.31.254-.562.566-.562s.566.251.566.562m-.18 2.945a.564.564 0 0 0 .566-.562.564.564 0 0 0-.566-.561.564.564 0 0 0-.566.561c0 .31.253.562.566.562m.045 1.597a.677.677 0 0 1-.68.676.68.68 0 0 1-.679-.676c0-.373.304-.675.68-.675.375 0 .68.302.68.675Zm-2.74.676a.79.79 0 0 0 .791-.786.79.79 0 0 0-.791-.787.79.79 0 0 0-.792.787c0 .434.354.786.792.786m-1.494-.36c0 .497-.405.9-.905.9a.903.903 0 0 1-.906-.9c0-.497.406-.9.906-.9s.905.403.905.9m-3.529 2.18a1.06 1.06 0 0 0 1.063-1.056 1.06 1.06 0 0 0-1.063-1.056A1.06 1.06 0 0 0 3.92 10.42a1.06 1.06 0 0 0 1.064 1.056Zm-1.45.9c0 .696-.568 1.26-1.268 1.26S1 13.073 1 12.377c0-.695.567-1.259 1.267-1.259s1.268.564 1.268 1.26Zm.386-3.531A1.06 1.06 0 0 0 4.985 7.79 1.06 1.06 0 0 0 3.92 6.733 1.06 1.06 0 0 0 2.858 7.79 1.06 1.06 0 0 0 3.92 8.846Zm3.53-2.181c0 .497-.405.9-.906.9a.903.903 0 0 1-.905-.9c0-.496.405-.9.905-.9s.906.404.906.9M6.162 5.182c.5 0 .905-.403.905-.9 0-.496-.405-.9-.905-.9s-.906.404-.906.9c0 .497.406.9.906.9m3.19-1.326a.79.79 0 0 1-.791.787.79.79 0 0 1-.792-.787c0-.434.354-.786.792-.786.437 0 .791.352.791.786m1.268.788c.375 0 .68-.303.68-.675a.677.677 0 0 0-.68-.676.68.68 0 0 0-.68.675c0 .373.304.676.68.676m1.063 1.708a.68.68 0 0 1-.68.675.677.677 0 0 1-.68-.675c0-.373.305-.675.68-.675s.68.302.68.675m-2.739.695a.79.79 0 0 0 .792-.786.79.79 0 0 0-.792-.786.79.79 0 0 0-.791.786c0 .434.354.786.791.786m-1.832 5.578a.407.407 0 0 1-.408.405.407.407 0 0 1-.408-.405c0-.223.182-.405.408-.405s.408.181.408.405m1.221.201a.496.496 0 0 0 .497-.494.496.496 0 0 0-.497-.495.496.496 0 0 0-.498.495c0 .273.223.494.498.494m2.354-1.236c0 .31-.253.562-.565.562a.564.564 0 0 1-.566-.562c0-.31.253-.562.566-.562s.565.252.565.562m-.135 2.361c.375 0 .68-.302.68-.675a.677.677 0 0 0-.68-.675.677.677 0 0 0-.68.675c0 .373.304.675.68.675m-1.608-.135c0 .31-.253.562-.566.562a.564.564 0 0 1-.565-.562c0-.31.253-.562.565-.562.313 0 .566.252.566.562m-2.488.538a.496.496 0 0 0 .498-.494.496.496 0 0 0-.498-.495.496.496 0 0 0-.498.495c0 .273.223.494.498.494m.588.991c0 .31-.254.562-.566.562a.564.564 0 0 1-.566-.562c0-.31.253-.562.566-.562s.566.252.566.562m1.742.855c.376 0 .68-.303.68-.675a.677.677 0 0 0-.68-.676.677.677 0 0 0-.68.675c0 .373.305.676.68.676m3.484-1.08a.79.79 0 0 1-.79.786.79.79 0 0 1-.792-.786c0-.435.354-.787.791-.787s.792.352.792.787Zm.794 2.743c.5 0 .906-.402.906-.9 0-.496-.406-.899-.906-.899s-.905.403-.905.9.405.9.905.9Zm-2.536-.518a.79.79 0 0 1-.792.786.79.79 0 0 1-.792-.787.79.79 0 0 1 .792-.786.79.79 0 0 1 .792.787m-2.669 2.316a.79.79 0 0 0 .791-.786.79.79 0 0 0-.792-.786.79.79 0 0 0-.791.786c0 .434.354.786.792.786m2.466 1.079c0 .497-.405.9-.905.9a.903.903 0 0 1-.906-.9c0-.496.405-.9.906-.9.5 0 .905.404.905.9M13.584 22a1.06 1.06 0 0 0 1.064-1.056 1.06 1.06 0 0 0-1.064-1.057 1.06 1.06 0 0 0-1.063 1.057A1.06 1.06 0 0 0 13.584 22m-1.379-2.788c0 .497-.405.9-.905.9a.903.903 0 0 1-.906-.9c0-.497.405-.9.905-.9s.906.403.906.9m3.123.54a1.06 1.06 0 0 0 1.063-1.057 1.06 1.06 0 0 0-1.063-1.056 1.06 1.06 0 0 0-1.064 1.056 1.06 1.06 0 0 0 1.064 1.057m-7.741-2.699a.677.677 0 0 1-.68.676.677.677 0 0 1-.68-.676c0-.373.305-.675.68-.675s.68.302.68.675"
484
+ }
485
+ )
486
+ }
487
+ );
488
+ }
489
+
490
+ // src/components/connect-modal/wallet-list/WalletList.css.ts
491
+ var container6 = "WalletList_container__1tkdegw0";
492
+ var icon = "WalletList_icon__1tkdegw1";
493
+
494
+ // src/components/connect-modal/wallet-list/WalletListItem.tsx
495
+ var import_clsx5 = require("clsx");
496
+
497
+ // src/components/connect-modal/wallet-list/WalletListItem.css.ts
498
+ var container7 = "WalletListItem_container__1vrvezk0";
499
+ var selectedWalletItem = "WalletListItem_selectedWalletItem__1vrvezk2";
500
+ var walletIcon2 = "WalletListItem_walletIcon__1vrvezk3";
501
+ var walletItem = "WalletListItem_walletItem__1vrvezk1";
502
+
503
+ // src/components/connect-modal/wallet-list/WalletListItem.tsx
504
+ var import_jsx_runtime13 = require("react/jsx-runtime");
505
+ function WalletListItem({ name, icon: icon2, onClick, isSelected = false }) {
506
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("li", { className: container7, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
507
+ "button",
508
+ {
509
+ className: (0, import_clsx5.clsx)(walletItem, { [selectedWalletItem]: isSelected }),
510
+ type: "button",
511
+ onClick,
512
+ children: [
513
+ typeof icon2 === "string" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("img", { className: walletIcon2, src: icon2, alt: `${name} logo` }) : icon2,
514
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Heading, { size: "md", truncate: true, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: name }) })
515
+ ]
516
+ }
517
+ ) });
518
+ }
519
+
520
+ // src/components/connect-modal/wallet-list/WalletList.tsx
521
+ var import_jsx_runtime14 = require("react/jsx-runtime");
522
+ function WalletList({ selectedWalletName, onPlaceholderClick, onSelect }) {
523
+ const wallets = useWallets();
524
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("ul", { className: container6, children: wallets.length > 0 ? wallets.map((wallet) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
525
+ WalletListItem,
526
+ {
527
+ name: wallet.name,
528
+ icon: wallet.icon,
529
+ isSelected: getWalletUniqueIdentifier(wallet) === selectedWalletName,
530
+ onClick: () => onSelect(wallet)
531
+ },
532
+ getWalletUniqueIdentifier(wallet)
533
+ )) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
534
+ WalletListItem,
535
+ {
536
+ name: "IOTA Wallet",
537
+ icon: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(IotaIcon, { className: icon }),
538
+ onClick: onPlaceholderClick,
539
+ isSelected: true
540
+ }
541
+ ) });
542
+ }
543
+
544
+ // src/components/connect-modal/ConnectModal.tsx
545
+ var import_jsx_runtime15 = require("react/jsx-runtime");
546
+ function ConnectModal({ trigger, open, defaultOpen, onOpenChange }) {
547
+ const [isModalOpen, setModalOpen] = (0, import_react8.useState)(open ?? defaultOpen);
548
+ const [currentView, setCurrentView] = (0, import_react8.useState)();
549
+ const [selectedWallet, setSelectedWallet] = (0, import_react8.useState)();
550
+ const { mutate, isError } = useConnectWallet();
551
+ const resetSelection = () => {
552
+ setSelectedWallet(void 0);
553
+ setCurrentView(void 0);
554
+ };
555
+ const handleOpenChange = (open2) => {
556
+ if (!open2) {
557
+ resetSelection();
558
+ }
559
+ setModalOpen(open2);
560
+ onOpenChange?.(open2);
561
+ };
562
+ const connectWallet = (wallet) => {
563
+ setCurrentView("connection-status");
564
+ mutate(
565
+ { wallet, silent: false },
566
+ {
567
+ onSuccess: () => handleOpenChange(false)
568
+ }
569
+ );
570
+ };
571
+ let modalContent;
572
+ switch (currentView) {
573
+ case "what-is-a-wallet":
574
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(WhatIsAWallet, {});
575
+ break;
576
+ case "getting-started":
577
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(GettingStarted, {});
578
+ break;
579
+ case "connection-status":
580
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
581
+ ConnectionStatus,
582
+ {
583
+ selectedWallet,
584
+ hadConnectionError: isError,
585
+ onRetryConnection: connectWallet
586
+ }
587
+ );
588
+ break;
589
+ default:
590
+ modalContent = /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(WhatIsAWallet, {});
591
+ }
592
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Dialog.Root, { open: open ?? isModalOpen, onOpenChange: handleOpenChange, children: [
593
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Trigger, { asChild: true, children: trigger }),
594
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Overlay, { className: overlay, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Dialog.Content, { className: content, "aria-describedby": void 0, children: [
595
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
596
+ "div",
597
+ {
598
+ className: (0, import_clsx6.default)(walletListContainer, {
599
+ [walletListContainerWithViewSelected]: !!currentView
600
+ }),
601
+ children: [
602
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: walletListContent, children: [
603
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Title, { className: title, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Heading, { as: "h2", children: "Connect a Wallet" }) }),
604
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
605
+ WalletList,
606
+ {
607
+ selectedWalletName: getWalletUniqueIdentifier(
608
+ selectedWallet
609
+ ),
610
+ onPlaceholderClick: () => setCurrentView("getting-started"),
611
+ onSelect: (wallet) => {
612
+ if (getWalletUniqueIdentifier(selectedWallet) !== getWalletUniqueIdentifier(wallet)) {
613
+ setSelectedWallet(wallet);
614
+ connectWallet(wallet);
615
+ }
616
+ }
617
+ }
618
+ )
619
+ ] }),
620
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
621
+ "button",
622
+ {
623
+ className: whatIsAWalletButton,
624
+ onClick: () => setCurrentView("what-is-a-wallet"),
625
+ type: "button",
626
+ children: "What is a Wallet?"
627
+ }
628
+ )
629
+ ]
630
+ }
631
+ ),
632
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
633
+ "div",
634
+ {
635
+ className: (0, import_clsx6.default)(viewContainer, {
636
+ [selectedViewContainer]: !!currentView
637
+ }),
638
+ children: [
639
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: backButtonContainer, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
640
+ IconButton,
641
+ {
642
+ type: "button",
643
+ "aria-label": "Back",
644
+ onClick: () => resetSelection(),
645
+ children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(BackIcon, {})
646
+ }
647
+ ) }),
648
+ modalContent
649
+ ]
650
+ }
651
+ ),
652
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Dialog.Close, { className: closeButtonContainer, asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(IconButton, { type: "button", "aria-label": "Close", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(CloseIcon, {}) }) })
653
+ ] }) }) }) })
654
+ ] });
655
+ }
656
+
657
+ // src/hooks/wallet/useCurrentAccount.ts
658
+ function useCurrentAccount() {
659
+ return useWalletStore((state) => state.currentAccount);
660
+ }
661
+
662
+ // src/components/AccountDropdownMenu.tsx
663
+ var import_utils = require("@iota/iota-sdk/utils");
664
+ var DropdownMenu = __toESM(require("@radix-ui/react-dropdown-menu"));
665
+ var import_clsx7 = __toESM(require("clsx"));
666
+
667
+ // src/hooks/wallet/useAccounts.ts
668
+ function useAccounts() {
669
+ return useWalletStore((state) => state.accounts);
670
+ }
671
+
672
+ // src/hooks/wallet/useDisconnectWallet.ts
673
+ var import_react_query2 = require("@tanstack/react-query");
674
+
675
+ // src/errors/walletErrors.ts
676
+ var WalletNotConnectedError = class extends Error {
677
+ };
678
+ var WalletNoAccountSelectedError = class extends Error {
679
+ };
680
+ var WalletFeatureNotSupportedError = class extends Error {
681
+ };
682
+ var WalletAccountNotFoundError = class extends Error {
683
+ };
684
+
685
+ // src/hooks/wallet/useCurrentWallet.ts
686
+ function useCurrentWallet() {
687
+ const currentWallet = useWalletStore((state) => state.currentWallet);
688
+ const connectionStatus2 = useWalletStore((state) => state.connectionStatus);
689
+ const supportedIntents = useWalletStore((state) => state.supportedIntents);
690
+ switch (connectionStatus2) {
691
+ case "connecting":
692
+ return {
693
+ connectionStatus: connectionStatus2,
694
+ currentWallet: null,
695
+ isDisconnected: false,
696
+ isConnecting: true,
697
+ isConnected: false,
698
+ supportedIntents: []
699
+ };
700
+ case "disconnected":
701
+ return {
702
+ connectionStatus: connectionStatus2,
703
+ currentWallet: null,
704
+ isDisconnected: true,
705
+ isConnecting: false,
706
+ isConnected: false,
707
+ supportedIntents: []
708
+ };
709
+ case "connected": {
710
+ return {
711
+ connectionStatus: connectionStatus2,
712
+ currentWallet,
713
+ isDisconnected: false,
714
+ isConnecting: false,
715
+ isConnected: true,
716
+ supportedIntents
717
+ };
718
+ }
719
+ }
720
+ }
721
+
722
+ // src/hooks/wallet/useDisconnectWallet.ts
723
+ function useDisconnectWallet({
724
+ mutationKey,
725
+ ...mutationOptions
726
+ } = {}) {
727
+ const { currentWallet } = useCurrentWallet();
728
+ const setWalletDisconnected = useWalletStore((state) => state.setWalletDisconnected);
729
+ return (0, import_react_query2.useMutation)({
730
+ mutationKey: walletMutationKeys.disconnectWallet(mutationKey),
731
+ mutationFn: async () => {
732
+ if (!currentWallet) {
733
+ throw new WalletNotConnectedError("No wallet is connected.");
734
+ }
735
+ try {
736
+ await currentWallet.features["standard:disconnect"]?.disconnect();
737
+ } catch (error) {
738
+ console.error(
739
+ "Failed to disconnect the application from the current wallet.",
740
+ error
741
+ );
742
+ }
743
+ setWalletDisconnected();
744
+ },
745
+ ...mutationOptions
746
+ });
747
+ }
748
+
749
+ // src/hooks/wallet/useSwitchAccount.ts
750
+ var import_react_query3 = require("@tanstack/react-query");
751
+ function useSwitchAccount({
752
+ mutationKey,
753
+ ...mutationOptions
754
+ } = {}) {
755
+ const { currentWallet } = useCurrentWallet();
756
+ const setAccountSwitched = useWalletStore((state) => state.setAccountSwitched);
757
+ return (0, import_react_query3.useMutation)({
758
+ mutationKey: walletMutationKeys.switchAccount(mutationKey),
759
+ mutationFn: async ({ account }) => {
760
+ if (!currentWallet) {
761
+ throw new WalletNotConnectedError("No wallet is connected.");
762
+ }
763
+ const accountToSelect = currentWallet.accounts.find(
764
+ (walletAccount) => walletAccount.address === account.address
765
+ );
766
+ if (!accountToSelect) {
767
+ throw new WalletAccountNotFoundError(
768
+ `No account with address ${account.address} is connected to ${currentWallet.name}.`
769
+ );
770
+ }
771
+ setAccountSwitched(accountToSelect);
772
+ },
773
+ ...mutationOptions
774
+ });
775
+ }
776
+
777
+ // src/components/AccountDropdownMenu.css.ts
778
+ var connectedAccount = "AccountDropdownMenu_connectedAccount__1x0gmpf0";
779
+ var menuContainer = "AccountDropdownMenu_menuContainer__1x0gmpf1";
780
+ var menuContent = "AccountDropdownMenu_menuContent__1x0gmpf2";
781
+ var menuItem = "AccountDropdownMenu_menuItem__1x0gmpf4";
782
+ var scrollableContent = "AccountDropdownMenu_scrollableContent__1x0gmpf3";
783
+ var separator = "AccountDropdownMenu_separator__1x0gmpf6";
784
+ var switchAccountMenuItem = "AccountDropdownMenu_switchAccountMenuItem__1x0gmpf5";
785
+
786
+ // src/components/icons/CheckIcon.tsx
787
+ var import_jsx_runtime16 = require("react/jsx-runtime");
788
+ function CheckIcon(props) {
789
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
790
+ "path",
791
+ {
792
+ fill: "currentColor",
793
+ 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"
794
+ }
795
+ ) });
796
+ }
797
+
798
+ // src/components/icons/ChevronIcon.tsx
799
+ var import_jsx_runtime17 = require("react/jsx-runtime");
800
+ function ChevronIcon(props) {
801
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, fill: "none", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
802
+ "path",
803
+ {
804
+ stroke: "#A0B6C3",
805
+ strokeLinecap: "round",
806
+ strokeLinejoin: "round",
807
+ strokeWidth: 1.5,
808
+ d: "m4 6 4 4 4-4"
809
+ }
810
+ ) });
811
+ }
812
+
813
+ // src/hooks/useGetDefaultIotaName.ts
814
+ var import_client2 = require("@iota/iota-sdk/client");
815
+ var import_react_query4 = require("@tanstack/react-query");
816
+ var import_iota_names_sdk = require("@iota/iota-names-sdk");
817
+
818
+ // src/hooks/useIotaClient.ts
819
+ var import_react10 = require("react");
820
+
821
+ // src/components/IotaClientProvider.tsx
822
+ var import_client = require("@iota/iota-sdk/client");
823
+ var import_react9 = require("react");
824
+ var import_jsx_runtime18 = require("react/jsx-runtime");
825
+ var IotaClientContext = (0, import_react9.createContext)(null);
826
+ var DEFAULT_NETWORKS = {
827
+ localnet: { url: (0, import_client.getNetwork)(import_client.Network.Localnet)?.url }
828
+ };
829
+ var DEFAULT_CREATE_CLIENT = function createClient(_name, config) {
830
+ if ((0, import_client.isIotaClient)(config)) {
831
+ return config;
832
+ }
833
+ return new import_client.IotaClient(config);
834
+ };
835
+ function IotaClientProvider(props) {
836
+ const { onNetworkChange, network, children } = props;
837
+ const networks = props.networks ?? DEFAULT_NETWORKS;
838
+ const createClient2 = props.createClient ?? DEFAULT_CREATE_CLIENT;
839
+ const [selectedNetwork, setSelectedNetwork] = (0, import_react9.useState)(
840
+ props.network ?? props.defaultNetwork ?? Object.keys(networks)[0]
841
+ );
842
+ const currentNetwork = props.network ?? selectedNetwork;
843
+ const client = (0, import_react9.useMemo)(() => {
844
+ return createClient2(currentNetwork, networks[currentNetwork]);
845
+ }, [createClient2, currentNetwork, networks]);
846
+ const ctx = (0, import_react9.useMemo)(() => {
847
+ return {
848
+ client,
849
+ networks,
850
+ network: currentNetwork,
851
+ config: networks[currentNetwork] instanceof import_client.IotaClient ? null : networks[currentNetwork],
852
+ selectNetwork: (newNetwork) => {
853
+ if (currentNetwork === newNetwork) {
854
+ return;
855
+ }
856
+ if (!network && newNetwork !== selectedNetwork) {
857
+ setSelectedNetwork(newNetwork);
858
+ }
859
+ onNetworkChange?.(newNetwork);
860
+ }
861
+ };
862
+ }, [client, networks, selectedNetwork, currentNetwork, network, onNetworkChange]);
863
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(IotaClientContext.Provider, { value: ctx, children });
864
+ }
865
+
866
+ // src/hooks/useIotaClient.ts
867
+ function useIotaClientContext() {
868
+ const iotaClient = (0, import_react10.useContext)(IotaClientContext);
869
+ if (!iotaClient) {
870
+ throw new Error(
871
+ "Could not find IotaClientContext. Ensure that you have set up the IotaClientProvider"
872
+ );
873
+ }
874
+ return iotaClient;
875
+ }
876
+ function useIotaClient() {
877
+ return useIotaClientContext().client;
878
+ }
879
+
880
+ // src/hooks/useGetDefaultIotaName.ts
881
+ var import_react11 = require("react");
882
+ var import_graphql = require("@iota/iota-sdk/graphql");
883
+ function useGetDefaultIotaName(address, iotaNamesEnabled) {
884
+ const iotaContext = useIotaClientContext();
885
+ const network = (0, import_client2.getNetwork)(iotaContext.network);
886
+ const iotaNamesClient = (0, import_react11.useMemo)(() => {
887
+ const iotaGraphQLClient = new import_graphql.IotaGraphQLClient({
888
+ url: network.graphql
889
+ });
890
+ return new import_iota_names_sdk.IotaNamesClient({
891
+ graphQlClient: iotaGraphQLClient,
892
+ network: network.id
893
+ });
894
+ }, [network.id]);
895
+ const iotaNamesSupported = !!iotaNamesClient.config;
896
+ return (0, import_react_query4.useQuery)({
897
+ queryKey: ["iota-name", "default-name", address],
898
+ queryFn: async () => {
899
+ if (!address) return null;
900
+ const name = await iotaNamesClient?.getDefaultName(address);
901
+ return name ? (0, import_iota_names_sdk.normalizeIotaName)(name) : name;
902
+ },
903
+ enabled: !!iotaNamesClient && !!address && iotaNamesEnabled && iotaNamesSupported,
904
+ staleTime: 1e3 * 60 * 10
905
+ });
906
+ }
907
+
908
+ // src/components/AccountDropdownMenu.tsx
909
+ var import_jsx_runtime19 = require("react/jsx-runtime");
910
+ function AccountDropdownMenu({
911
+ currentAccount,
912
+ size = "lg",
913
+ iotaNamesEnabled
914
+ }) {
915
+ const { mutate: disconnectWallet } = useDisconnectWallet();
916
+ const accounts = useAccounts();
917
+ const { data: iotaName } = useGetDefaultIotaName(currentAccount.address, iotaNamesEnabled);
918
+ const displayAccount = iotaName ?? currentAccount.label ?? (0, import_utils.formatAddress)(currentAccount.address);
919
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(DropdownMenu.Root, { modal: false, children: [
920
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(Button, { size, className: connectedAccount, children: [
921
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { mono: true, weight: "bold", children: displayAccount }),
922
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(ChevronIcon, {})
923
+ ] }) }) }),
924
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownMenu.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(StyleMarker, { className: menuContainer, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(DropdownMenu.Content, { className: menuContent, children: [
925
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: scrollableContent, children: accounts.map((account) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
926
+ AccountDropdownMenuItem,
927
+ {
928
+ account,
929
+ active: currentAccount.address === account.address,
930
+ iotaNamesEnabled
931
+ },
932
+ account.address
933
+ )) }),
934
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(DropdownMenu.Separator, { className: separator }),
935
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
936
+ DropdownMenu.Item,
937
+ {
938
+ className: (0, import_clsx7.default)(menuItem),
939
+ onSelect: () => disconnectWallet(),
940
+ children: "Disconnect"
941
+ }
942
+ )
943
+ ] }) }) })
944
+ ] });
945
+ }
946
+ function AccountDropdownMenuItem({
947
+ account,
948
+ active,
949
+ iotaNamesEnabled
950
+ }) {
951
+ const { mutate: switchAccount } = useSwitchAccount();
952
+ const { data: iotaName } = useGetDefaultIotaName(account.address, iotaNamesEnabled);
953
+ const displayAccount = iotaName ?? account.label ?? (0, import_utils.formatAddress)(account.address);
954
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
955
+ DropdownMenu.Item,
956
+ {
957
+ className: (0, import_clsx7.default)(menuItem, switchAccountMenuItem),
958
+ onSelect: () => switchAccount({ account }),
959
+ children: [
960
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Text, { mono: true, children: displayAccount }),
961
+ active ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CheckIcon, {}) : null
962
+ ]
963
+ }
964
+ );
965
+ }
966
+
967
+ // src/components/ConnectButton.tsx
968
+ var import_jsx_runtime20 = require("react/jsx-runtime");
969
+ function ConnectButton({
970
+ connectText = "Connect Wallet",
971
+ size,
972
+ iotaNamesEnabled = true,
973
+ ...buttonProps
974
+ }) {
975
+ const currentAccount = useCurrentAccount();
976
+ return currentAccount ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
977
+ AccountDropdownMenu,
978
+ {
979
+ currentAccount,
980
+ size,
981
+ iotaNamesEnabled
982
+ }
983
+ ) : /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
984
+ ConnectModal,
985
+ {
986
+ trigger: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(StyleMarker, { children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Button, { ...buttonProps, size, children: connectText }) })
987
+ }
988
+ );
989
+ }
990
+
991
+ // src/components/WalletProvider.tsx
992
+ var import_react16 = require("react");
993
+
994
+ // src/utils/stateStorage.ts
995
+ function createInMemoryStore() {
996
+ const store = /* @__PURE__ */ new Map();
997
+ return {
998
+ getItem(key) {
999
+ return store.get(key);
1000
+ },
1001
+ setItem(key, value) {
1002
+ store.set(key, value);
1003
+ },
1004
+ removeItem(key) {
1005
+ store.delete(key);
1006
+ }
1007
+ };
1008
+ }
1009
+
1010
+ // src/constants/walletDefaults.ts
1011
+ var IOTA_WALLET_NAME = "IOTA Wallet";
1012
+ var DEFAULT_STORAGE = typeof window !== "undefined" && window.localStorage ? localStorage : createInMemoryStore();
1013
+ var DEFAULT_STORAGE_KEY = "iota-dapp-kit:wallet-connection-info";
1014
+ var SIGN_FEATURES = ["iota:signTransaction"];
1015
+ var DEFAULT_WALLET_FILTER = (wallet) => SIGN_FEATURES.some((feature) => wallet.features[feature]);
1016
+ var DEFAULT_PREFERRED_WALLETS = [IOTA_WALLET_NAME];
1017
+ var WALLET_CHROME_EXTENSION_ID = "iidjkmdceolghepehaaddojmnjnkkija";
1018
+ var WALLET_DOWNLOAD_URL = "https://chromewebstore.google.com/detail/" + WALLET_CHROME_EXTENSION_ID;
1019
+
1020
+ // src/hooks/wallet/useAutoConnectWallet.ts
1021
+ var import_react_query5 = require("@tanstack/react-query");
1022
+ var import_react12 = require("react");
1023
+ function useAutoConnectWallet() {
1024
+ const { mutateAsync: connectWallet } = useConnectWallet();
1025
+ const autoConnectEnabled = useWalletStore((state) => state.autoConnectEnabled);
1026
+ const lastConnectedWalletName = useWalletStore((state) => state.lastConnectedWalletName);
1027
+ const lastConnectedAccountAddress = useWalletStore(
1028
+ (state) => state.lastConnectedAccountAddress
1029
+ );
1030
+ const wallets = useWallets();
1031
+ const { isConnected } = useCurrentWallet();
1032
+ const [clientOnly, setClientOnly] = (0, import_react12.useState)(false);
1033
+ (0, import_react12.useLayoutEffect)(() => {
1034
+ setClientOnly(true);
1035
+ }, []);
1036
+ const { data, isError } = (0, import_react_query5.useQuery)({
1037
+ queryKey: [
1038
+ "@iota/dapp-kit",
1039
+ "autoconnect",
1040
+ {
1041
+ isConnected,
1042
+ autoConnectEnabled,
1043
+ lastConnectedWalletName,
1044
+ lastConnectedAccountAddress,
1045
+ walletCount: wallets.length
1046
+ }
1047
+ ],
1048
+ queryFn: async () => {
1049
+ if (!autoConnectEnabled) {
1050
+ return "disabled";
1051
+ }
1052
+ if (!lastConnectedWalletName || !lastConnectedAccountAddress || isConnected) {
1053
+ return "attempted";
1054
+ }
1055
+ const wallet = wallets.find(
1056
+ (wallet2) => getWalletUniqueIdentifier(wallet2) === lastConnectedWalletName
1057
+ );
1058
+ if (wallet) {
1059
+ await connectWallet({
1060
+ wallet,
1061
+ accountAddress: lastConnectedAccountAddress,
1062
+ silent: true
1063
+ });
1064
+ }
1065
+ return "attempted";
1066
+ },
1067
+ enabled: autoConnectEnabled,
1068
+ persister: void 0,
1069
+ gcTime: 0,
1070
+ staleTime: 0,
1071
+ networkMode: "always",
1072
+ retry: false,
1073
+ retryOnMount: false,
1074
+ refetchInterval: false,
1075
+ refetchIntervalInBackground: false,
1076
+ refetchOnMount: false,
1077
+ refetchOnReconnect: false,
1078
+ refetchOnWindowFocus: false
1079
+ });
1080
+ if (!autoConnectEnabled) {
1081
+ return "disabled";
1082
+ }
1083
+ if (!clientOnly) {
1084
+ return "idle";
1085
+ }
1086
+ if (isConnected) {
1087
+ return "attempted";
1088
+ }
1089
+ if (!lastConnectedWalletName) {
1090
+ return "attempted";
1091
+ }
1092
+ return isError ? "attempted" : data ?? "idle";
1093
+ }
1094
+
1095
+ // src/hooks/wallet/useUnsafeBurnerWallet.ts
1096
+ var import_ed25519 = require("@iota/iota-sdk/keypairs/ed25519");
1097
+ var import_transactions = require("@iota/iota-sdk/transactions");
1098
+ var import_utils2 = require("@iota/iota-sdk/utils");
1099
+ var import_wallet_standard3 = require("@iota/wallet-standard");
1100
+ var import_react13 = require("react");
1101
+ var WALLET_NAME = "Unsafe Burner Wallet";
1102
+ function useUnsafeBurnerWallet(enabled) {
1103
+ const iotaClient = useIotaClient();
1104
+ (0, import_react13.useEffect)(() => {
1105
+ if (!enabled) {
1106
+ return;
1107
+ }
1108
+ const unregister = registerUnsafeBurnerWallet(iotaClient);
1109
+ return unregister;
1110
+ }, [enabled, iotaClient]);
1111
+ }
1112
+ function registerUnsafeBurnerWallet(iotaClient) {
1113
+ var _on, _connect, _signPersonalMessage, _signTransaction, _signAndExecuteTransaction;
1114
+ const walletsApi = (0, import_wallet_standard3.getWallets)();
1115
+ const registeredWallets = walletsApi.get();
1116
+ if (registeredWallets.find((wallet) => wallet.name === WALLET_NAME)) {
1117
+ console.warn(
1118
+ "registerUnsafeBurnerWallet: Unsafe Burner Wallet already registered, skipping duplicate registration."
1119
+ );
1120
+ return;
1121
+ }
1122
+ console.warn(
1123
+ "Your application is currently using the unsafe burner wallet. Make sure that this wallet is disabled in production."
1124
+ );
1125
+ const keypair = new import_ed25519.Ed25519Keypair();
1126
+ const account = new import_wallet_standard3.ReadonlyWalletAccount({
1127
+ address: keypair.getPublicKey().toIotaAddress(),
1128
+ publicKey: keypair.getPublicKey().toIotaBytes(),
1129
+ chains: ["iota:unknown"],
1130
+ features: ["iota:signTransaction", "iota:signAndExecuteTransaction"]
1131
+ });
1132
+ class UnsafeBurnerWallet {
1133
+ constructor() {
1134
+ __privateAdd(this, _on, () => {
1135
+ return () => {
1136
+ };
1137
+ });
1138
+ __privateAdd(this, _connect, async () => {
1139
+ return { accounts: this.accounts };
1140
+ });
1141
+ __privateAdd(this, _signPersonalMessage, async (messageInput) => {
1142
+ const { bytes, signature } = await keypair.signPersonalMessage(messageInput.message);
1143
+ return { bytes, signature };
1144
+ });
1145
+ __privateAdd(this, _signTransaction, async (transactionInput) => {
1146
+ const { bytes, signature } = await import_transactions.Transaction.from(
1147
+ await transactionInput.transaction.toJSON()
1148
+ ).sign({
1149
+ client: iotaClient,
1150
+ signer: keypair
1151
+ });
1152
+ transactionInput.signal?.throwIfAborted();
1153
+ return {
1154
+ bytes,
1155
+ signature
1156
+ };
1157
+ });
1158
+ __privateAdd(this, _signAndExecuteTransaction, async (transactionInput) => {
1159
+ const { bytes, signature } = await import_transactions.Transaction.from(
1160
+ await transactionInput.transaction.toJSON()
1161
+ ).sign({
1162
+ client: iotaClient,
1163
+ signer: keypair
1164
+ });
1165
+ transactionInput.signal?.throwIfAborted();
1166
+ const { rawEffects, digest } = await iotaClient.executeTransactionBlock({
1167
+ signature,
1168
+ transactionBlock: bytes,
1169
+ options: {
1170
+ showRawEffects: true
1171
+ }
1172
+ });
1173
+ return {
1174
+ bytes,
1175
+ signature,
1176
+ digest,
1177
+ effects: (0, import_utils2.toBase64)(new Uint8Array(rawEffects))
1178
+ };
1179
+ });
1180
+ }
1181
+ get version() {
1182
+ return "1.0.0";
1183
+ }
1184
+ get name() {
1185
+ return WALLET_NAME;
1186
+ }
1187
+ get icon() {
1188
+ return "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA8CAYAAAA6/NlyAAAJrElEQVR42tWbe2xT1x3H7UxAyD3XrdrSbGXlUbKWsq5rWdVuVOMRSEqSOmnVRZMmJqZNYv1nf3R/jWmVmVrtRRM/YwPd1nVTNcrE3pQCoikrIRAC4VVNY0hlD9ZOo1uCfe3ra9979v0dcy3s5Pper76Oh/STE+495/4+5/c85zqe2f7HAx5vKsS+monJj/CdHi/f4/HWW4f6AwdblmXjTM0NyS+movKtw9v+j6C5gKhyTMTTpA2x15Qwy+Pz75motOGdgKep8WF5ATgVZIt5NeO2wMqD0hfVGNPh3oYaYflsjG0l63PeyLCDnqbsLpZIhaRNFI+Ox+Le5KB0RybK8gDmJOkI07U4i/FhT1NDQl8Me5rUIfaDfELOJ0NsFa/SJQHm1WLsHcDqRWiy9BCL8s0N5t6UWWFVvxplejYm60hC91cNjPtzCTZsAptCVoeLP8PDDQJNCSodap6H+LtE8ZcdkvVkkD38vwDn4/Jvy4EhBhZSvRaUHiTXn31gJJxkUPoClBKKFizM+inhVA2cYIdM4HJouPvoe9s9H+KzDhyGK6KkmIqitBhww2C11rjQL2L4kgUwFxk8yPyzauUA3Pk/353XnA6zKbKCaQ2UlMvJF6W5uF5F8yHfZWZpC9HRmBziaEpm1bpY9XvhxuWJRldC7Mt03WlZwpjnkZUNa2DMG2EaPj9MGd2l2mofd0hQ7ZSopsXckHxVCUp32fXGdD0ZktrgFUmMqwhcWFjp87RArsD+9bn585IRaSHAKgBL3SZwOTRc8BKg7yYoskp5OJDiiPmF2Sj7ox0siYJ7lJA04EqvzZ9B1xSVt6PlW0IxZgUMJdZYAJuWngLQt9IRuZXmoTEkmci8ZtTXTViUKyasA9FRun5d8z6bfw0gYWm9mmCXxZatQgxfC7I2NVpRYQOxKWppLs4mcgn5NcibgL1K40xYp8CYY5TXEpjcb3LAJ0OZyyg3+2nySm6fjEtzkEz+7VBx3RTb+60z9dma7pkvwO2QQL5HzTtAdpKF7euw/HuzfrosBHy+ZsBimzbQshjWTVMDgez53B5MbjcGbr1ZjdUJOM5O0SLXzJ2R+uOA1dMAVoLsm5zb73JSId8t8Aa1LsAJdoTCrCaw6e3NC2DdFMUXWRg173mysJNOSUNskUJ1cOlXa2LhcbgmSszXYSn9hl3KSxTDjrZ2cbbfbWDyumsh9m3e7zCG7a3ETt+gtI7fx6lEOanZKDVvuA2cjYmt5xNOd2Louz3IQ12UZ2Zo3lkb9cDlvSs6m4Vk5Yqlabs0B97wT7PUuCXQz0Bnt9QxMPTW4iwBtmUlY8hFsHJPlzcQ1xuG75CVK1kXofCUGnU9fg1aVD7kfE9MoabtYkcAvIUYS2op3Hc3TTrDQzIAeojugTVLFolWDR6wFPtY0R66n6HltwjCIawnE2ymresk9NtN+pfUUi0mX6RJLfrh9zMRaRPOqubSA8W2MNzC0mHpK7j2ruuw5mYkxl5+2+HGQeg4yNYg7vNg+xMxFsuRMuiTsRJZG3cysAl4D9n4aC4un8L9qUyVvbCyYwFXX1nGUxFf1cCiEQqy75O+TpMwYKNKSPQUqhLyyWLsRbESLctx0YnixgfphRWA8pOPc+N4F9d+eV9V4OlCX/As5w5g+wtGhJGukp5go2R3D7EW9rSDcnGL56YgJHj+8GcFND/Vy41jj/H0jxc6HU/AA2QlR01UlH3D7CmITQnJq4lVWBi1yl8XYEh278c5H++F+Iui7r7bYR8tH/gbqoJN7fVODUhLYVVxzmYCEyOxFg7RUVa0egCHZZ55eRHnp/tKgMna6s/bbMdTxZgMzl9CCcmq7k690OzDfaeSN4QcsREjsQpgXHwyWyfg9K5WE7hc6JqTWjyihObfygOFOkv6i5K5TZx8LsL1sVS4NL8ItiB7sgAcEKcWHfUCVhK3kUVnBNbfXIs4l5xAv5sJs234eTUy93L0Au2otQOw5ORMyfQ6WwexFupVSHowG6uThXfebmlhWojMS3fazmMeGxEI6S2SUti6RAo2vKohVuH3qUG5FWm/PjH8kzutgSH5g58xrVwzIbZkxHf7OFjFC+wrMDXcpOqOKX/g01U/XPvVJyxdWsiJblqYmnZoWbDxAcR56X5WPuh4ewcL5PY9JBRUYjc7fzjG6Uc3mHBWbg23X1BLaFHOSnrw4bWiNAXSEWcWRntIignXTP/oDsfKZX66mMbZAPfhviU1AyYmJLYAMZa/QXjUSeIiixpj3UUFtd884KytjN7EjdGNNMbWwtlf3FvbQ4OQtIoYSzbxqVDLXMTxP8jnnbiyKcaJLvueGLD6kXW2sKZov1tpn7hwXf3ZUvq0K2FXOM7Op/Xgb6PhxsWIErYGVuK3WGXWkkwMMZVCVl5kWtax5A6usgemvnx4DelUcYcFC0eIbcbXKzggeyBjeXIhkftaKknJKLtnuSg7KmKQsrH+1nqbmLWY6w/tBGy/8xrruR5SM99LLIjfT/4ZbNZnQEPssIVb21rKTGRIPDagNoLdFMKgcuLc/TF6Bulk6c7ovg4TU+XvS6FNw1tDfVqH9MOPmBDui0hcK6wz744FlDjNe0m3aVldJYagtI6YbF+3ZGPsQHlN1vbeh8lJofqJ+uo9Zi4wXZxKFiXKGxbHT7pNq71oNg4Qi6MviE0FpRVqjGXILYoJ4tCjdYU1rWeMdPLc/ochj3B9pGNGL4NupGPRlUl35KMVxFLNO6ZnxYlBsUPqoMkbUqAb6VhMVKQ7MVT1dYdrL8hzEAcjpmvjHKphgaFb0ZVJZw7dwVD9q5fkgPTRbBxnzmGfgRLQsMCkG+moQdcp6GzzZsL2MGyllvBNGWM9RqMCk26kI7aBK526csVShZTfzid6FEzeiNAGP92jpCPQEbrW7EW5MbZxAz/fN9lg0IbQaaxrQ83/VoKPb/HqJx67Hw+43CDQBPsX0gm6ufXNvH4vP9rZapzx7+Nn+oxZAjfo2caZ3n350c5W6FSEdQ86sNarj3c/jRV+H42AXsdGRBfPPIlnb/mUtxzWXfALn/PmRze2Gud6E/xsXwYtnlsWN8Tc5/oyxjn/jvyJrlY82xLUfWuPr/TqxzuXQZkIP9M7CXiyuP4B4WmsTnNhzinjrD+WO9bRhmdZWLXe4EKRtV5tpN3Hx3s2G+d79/MJf4qff0LnE72kfFEs4ITQvWLMab8C131dP9n9Je1Yx000Nz2jAf+UJwCBchc3NvGR1Qx71XXY2Ww1Jvx7YalzAPkX9rp5E5Z+pv+ja8bE43uN491b9dHO9Xx4lUxziLn21Nai/wXWM6t9vkvtrwAAAABJRU5ErkJggg==";
1189
+ }
1190
+ // Return the IOTA chains that your wallet supports.
1191
+ get chains() {
1192
+ return import_wallet_standard3.SUPPORTED_CHAINS;
1193
+ }
1194
+ get accounts() {
1195
+ return [account];
1196
+ }
1197
+ get features() {
1198
+ return {
1199
+ "standard:connect": {
1200
+ version: "1.0.0",
1201
+ connect: __privateGet(this, _connect)
1202
+ },
1203
+ "standard:events": {
1204
+ version: "1.0.0",
1205
+ on: __privateGet(this, _on)
1206
+ },
1207
+ "iota:signPersonalMessage": {
1208
+ version: "1.0.0",
1209
+ signPersonalMessage: __privateGet(this, _signPersonalMessage)
1210
+ },
1211
+ "iota:signTransaction": {
1212
+ version: "2.0.0",
1213
+ signTransaction: __privateGet(this, _signTransaction)
1214
+ },
1215
+ "iota:signAndExecuteTransaction": {
1216
+ version: "2.0.0",
1217
+ signAndExecuteTransaction: __privateGet(this, _signAndExecuteTransaction)
1218
+ }
1219
+ };
1220
+ }
1221
+ }
1222
+ _on = new WeakMap();
1223
+ _connect = new WeakMap();
1224
+ _signPersonalMessage = new WeakMap();
1225
+ _signTransaction = new WeakMap();
1226
+ _signAndExecuteTransaction = new WeakMap();
1227
+ return walletsApi.register(new UnsafeBurnerWallet());
1228
+ }
1229
+
1230
+ // src/hooks/wallet/useWalletPropertiesChanged.ts
1231
+ var import_react14 = require("react");
1232
+ function useWalletPropertiesChanged() {
1233
+ const { currentWallet } = useCurrentWallet();
1234
+ const updateWalletAccounts = useWalletStore((state) => state.updateWalletAccounts);
1235
+ (0, import_react14.useEffect)(() => {
1236
+ const unsubscribeFromEvents = currentWallet?.features["standard:events"].on(
1237
+ "change",
1238
+ ({ accounts }) => {
1239
+ if (accounts) {
1240
+ updateWalletAccounts(accounts);
1241
+ }
1242
+ }
1243
+ );
1244
+ return unsubscribeFromEvents;
1245
+ }, [currentWallet?.features, updateWalletAccounts]);
1246
+ }
1247
+
1248
+ // src/hooks/wallet/useWalletsChanged.ts
1249
+ var import_wallet_standard4 = require("@iota/wallet-standard");
1250
+ var import_react15 = require("react");
1251
+ function useWalletsChanged(preferredWallets, walletFilter) {
1252
+ const setWalletRegistered = useWalletStore((state) => state.setWalletRegistered);
1253
+ const setWalletUnregistered = useWalletStore((state) => state.setWalletUnregistered);
1254
+ (0, import_react15.useEffect)(() => {
1255
+ const walletsApi = (0, import_wallet_standard4.getWallets)();
1256
+ setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
1257
+ const unsubscribeFromRegister = walletsApi.on("register", () => {
1258
+ setWalletRegistered(getRegisteredWallets(preferredWallets, walletFilter));
1259
+ });
1260
+ const unsubscribeFromUnregister = walletsApi.on("unregister", (unregisteredWallet) => {
1261
+ setWalletUnregistered(
1262
+ getRegisteredWallets(preferredWallets, walletFilter),
1263
+ unregisteredWallet
1264
+ );
1265
+ });
1266
+ return () => {
1267
+ unsubscribeFromRegister();
1268
+ unsubscribeFromUnregister();
1269
+ };
1270
+ }, [preferredWallets, walletFilter, setWalletRegistered, setWalletUnregistered]);
1271
+ }
1272
+
1273
+ // src/themes/lightTheme.ts
1274
+ var lightTheme = {
1275
+ blurs: {
1276
+ modalOverlay: "blur(0)"
1277
+ },
1278
+ backgroundColors: {
1279
+ primaryButton: "#F6F7F9",
1280
+ primaryButtonHover: "#F0F2F5",
1281
+ outlineButtonHover: "#F4F4F5",
1282
+ modalOverlay: "rgba(24 36 53 / 20%)",
1283
+ modalPrimary: "white",
1284
+ modalSecondary: "#F7F8F8",
1285
+ iconButton: "transparent",
1286
+ dropdownMenu: "#FFFFFF",
1287
+ dropdownMenuSeparator: "#F3F6F8",
1288
+ walletItemSelected: "white",
1289
+ walletItemHover: "#3C424226",
1290
+ scrollThumb: "#cad4e2"
1291
+ },
1292
+ borderColors: {
1293
+ outlineButton: "#E4E4E7"
1294
+ },
1295
+ colors: {
1296
+ primaryButton: "#373737",
1297
+ outlineButtonHover: "#373737",
1298
+ iconButton: "#000000",
1299
+ body: "#182435",
1300
+ bodyMuted: "#767A81",
1301
+ bodyDanger: "#FF794B"
1302
+ },
1303
+ radii: {
1304
+ small: "6px",
1305
+ medium: "8px",
1306
+ large: "12px",
1307
+ xlarge: "16px",
1308
+ full: "120px"
1309
+ },
1310
+ fontWeights: {
1311
+ normal: "400",
1312
+ medium: "500",
1313
+ bold: "600"
1314
+ },
1315
+ fontSizes: {
1316
+ small: "14px",
1317
+ medium: "16px",
1318
+ large: "18px",
1319
+ xlarge: "20px"
1320
+ },
1321
+ typography: {
1322
+ fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',
1323
+ fontStyle: "normal",
1324
+ lineHeight: "24px",
1325
+ letterSpacing: "0.1px"
1326
+ },
1327
+ spacing: {
1328
+ xxsmall: "4px",
1329
+ xsmall: "8px",
1330
+ small: "12px",
1331
+ medium: "16px",
1332
+ large: "24px",
1333
+ xlarge: "32px"
1334
+ }
1335
+ };
1336
+
1337
+ // src/walletStore.ts
1338
+ var import_zustand2 = require("zustand");
1339
+ var import_middleware = require("zustand/middleware");
1340
+ function createWalletStore({
1341
+ wallets,
1342
+ storage,
1343
+ storageKey,
1344
+ autoConnectEnabled
1345
+ }) {
1346
+ return (0, import_zustand2.createStore)()(
1347
+ (0, import_middleware.persist)(
1348
+ (set, get) => ({
1349
+ autoConnectEnabled,
1350
+ wallets,
1351
+ accounts: [],
1352
+ currentWallet: null,
1353
+ currentAccount: null,
1354
+ lastConnectedAccountAddress: null,
1355
+ lastConnectedWalletName: null,
1356
+ connectionStatus: "disconnected",
1357
+ supportedIntents: [],
1358
+ setConnectionStatus(connectionStatus2) {
1359
+ set(() => ({
1360
+ connectionStatus: connectionStatus2
1361
+ }));
1362
+ },
1363
+ setWalletConnected(wallet, connectedAccounts, selectedAccount, supportedIntents = []) {
1364
+ set(() => ({
1365
+ accounts: connectedAccounts,
1366
+ currentWallet: wallet,
1367
+ currentAccount: selectedAccount,
1368
+ lastConnectedWalletName: getWalletUniqueIdentifier(wallet),
1369
+ lastConnectedAccountAddress: selectedAccount?.address,
1370
+ connectionStatus: "connected",
1371
+ supportedIntents
1372
+ }));
1373
+ },
1374
+ setWalletDisconnected() {
1375
+ set(() => ({
1376
+ accounts: [],
1377
+ currentWallet: null,
1378
+ currentAccount: null,
1379
+ lastConnectedWalletName: null,
1380
+ lastConnectedAccountAddress: null,
1381
+ connectionStatus: "disconnected",
1382
+ supportedIntents: []
1383
+ }));
1384
+ },
1385
+ setAccountSwitched(selectedAccount) {
1386
+ set(() => ({
1387
+ currentAccount: selectedAccount,
1388
+ lastConnectedAccountAddress: selectedAccount.address
1389
+ }));
1390
+ },
1391
+ setWalletRegistered(updatedWallets) {
1392
+ set(() => ({ wallets: updatedWallets }));
1393
+ },
1394
+ setWalletUnregistered(updatedWallets, unregisteredWallet) {
1395
+ if (unregisteredWallet === get().currentWallet) {
1396
+ set(() => ({
1397
+ wallets: updatedWallets,
1398
+ accounts: [],
1399
+ currentWallet: null,
1400
+ currentAccount: null,
1401
+ lastConnectedWalletName: null,
1402
+ lastConnectedAccountAddress: null,
1403
+ connectionStatus: "disconnected",
1404
+ supportedIntents: []
1405
+ }));
1406
+ } else {
1407
+ set(() => ({ wallets: updatedWallets }));
1408
+ }
1409
+ },
1410
+ updateWalletAccounts(accounts) {
1411
+ const currentAccount = get().currentAccount;
1412
+ set(() => ({
1413
+ accounts,
1414
+ currentAccount: currentAccount && accounts.find(
1415
+ ({ address }) => address === currentAccount.address
1416
+ ) || accounts[0]
1417
+ }));
1418
+ }
1419
+ }),
1420
+ {
1421
+ name: storageKey,
1422
+ storage: (0, import_middleware.createJSONStorage)(() => storage),
1423
+ partialize: ({ lastConnectedWalletName, lastConnectedAccountAddress }) => ({
1424
+ lastConnectedWalletName,
1425
+ lastConnectedAccountAddress
1426
+ })
1427
+ }
1428
+ )
1429
+ );
1430
+ }
1431
+
1432
+ // src/components/styling/InjectedThemeStyles.tsx
1433
+ var import_dynamic = require("@vanilla-extract/dynamic");
1434
+
1435
+ // src/themes/themeContract.ts
1436
+ var import_css = require("@vanilla-extract/css");
1437
+ var themeContractValues = {
1438
+ blurs: {
1439
+ modalOverlay: ""
1440
+ },
1441
+ backgroundColors: {
1442
+ primaryButton: "",
1443
+ primaryButtonHover: "",
1444
+ outlineButtonHover: "",
1445
+ walletItemHover: "",
1446
+ walletItemSelected: "",
1447
+ modalOverlay: "",
1448
+ modalPrimary: "",
1449
+ modalSecondary: "",
1450
+ iconButton: "",
1451
+ dropdownMenu: "",
1452
+ dropdownMenuSeparator: "",
1453
+ scrollThumb: ""
1454
+ },
1455
+ borderColors: {
1456
+ outlineButton: ""
1457
+ },
1458
+ colors: {
1459
+ primaryButton: "",
1460
+ outlineButtonHover: "",
1461
+ body: "",
1462
+ bodyMuted: "",
1463
+ bodyDanger: "",
1464
+ iconButton: ""
1465
+ },
1466
+ radii: {
1467
+ small: "",
1468
+ medium: "",
1469
+ large: "",
1470
+ xlarge: "",
1471
+ full: ""
1472
+ },
1473
+ fontWeights: {
1474
+ normal: "",
1475
+ medium: "",
1476
+ bold: ""
1477
+ },
1478
+ fontSizes: {
1479
+ small: "",
1480
+ medium: "",
1481
+ large: "",
1482
+ xlarge: ""
1483
+ },
1484
+ typography: {
1485
+ fontFamily: "",
1486
+ fontStyle: "",
1487
+ lineHeight: "",
1488
+ letterSpacing: ""
1489
+ },
1490
+ spacing: {
1491
+ xxsmall: "",
1492
+ xsmall: "",
1493
+ small: "",
1494
+ medium: "",
1495
+ large: "",
1496
+ xlarge: ""
1497
+ }
1498
+ };
1499
+ var themeVars = (0, import_css.createGlobalThemeContract)(
1500
+ themeContractValues,
1501
+ (_, path) => `dapp-kit-${path.join("-")}`
1502
+ );
1503
+
1504
+ // src/components/styling/InjectedThemeStyles.tsx
1505
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1506
+ function InjectedThemeStyles({ theme }) {
1507
+ const themeStyles = Array.isArray(theme) ? getDynamicThemeStyles(theme) : getStaticThemeStyles(theme);
1508
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1509
+ "style",
1510
+ {
1511
+ precedence: "default",
1512
+ href: "iota-dapp-kit-theme",
1513
+ dangerouslySetInnerHTML: {
1514
+ __html: themeStyles
1515
+ }
1516
+ }
1517
+ );
1518
+ }
1519
+ function getDynamicThemeStyles(themes) {
1520
+ return themes.map(({ mediaQuery, selector, variables }) => {
1521
+ const themeStyles = getStaticThemeStyles(variables);
1522
+ const themeStylesWithSelectorPrefix = selector ? `${selector} ${themeStyles}` : themeStyles;
1523
+ return mediaQuery ? `@media ${mediaQuery}{${themeStylesWithSelectorPrefix}}` : themeStylesWithSelectorPrefix;
1524
+ }).join(" ");
1525
+ }
1526
+ function getStaticThemeStyles(theme) {
1527
+ return `${styleDataAttributeSelector} {${cssStringFromTheme(theme)}}`;
1528
+ }
1529
+ function cssStringFromTheme(theme) {
1530
+ return Object.entries((0, import_dynamic.assignInlineVars)(themeVars, theme)).map(([key, value]) => `${key}:${value};`).join("");
1531
+ }
1532
+
1533
+ // src/components/WalletProvider.tsx
1534
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1535
+ function WalletProvider({
1536
+ preferredWallets = DEFAULT_PREFERRED_WALLETS,
1537
+ walletFilter = DEFAULT_WALLET_FILTER,
1538
+ storage = DEFAULT_STORAGE,
1539
+ storageKey = DEFAULT_STORAGE_KEY,
1540
+ enableUnsafeBurner = false,
1541
+ autoConnect = false,
1542
+ theme = lightTheme,
1543
+ children
1544
+ }) {
1545
+ const storeRef = (0, import_react16.useRef)(
1546
+ createWalletStore({
1547
+ autoConnectEnabled: autoConnect,
1548
+ wallets: getRegisteredWallets(preferredWallets, walletFilter),
1549
+ storage: storage || createInMemoryStore(),
1550
+ storageKey
1551
+ })
1552
+ );
1553
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(WalletContext.Provider, { value: storeRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1554
+ WalletConnectionManager,
1555
+ {
1556
+ preferredWallets,
1557
+ walletFilter,
1558
+ enableUnsafeBurner,
1559
+ children: [
1560
+ theme ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(InjectedThemeStyles, { theme }) : null,
1561
+ children
1562
+ ]
1563
+ }
1564
+ ) });
1565
+ }
1566
+ function WalletConnectionManager({
1567
+ preferredWallets = DEFAULT_PREFERRED_WALLETS,
1568
+ walletFilter = DEFAULT_WALLET_FILTER,
1569
+ enableUnsafeBurner = false,
1570
+ children
1571
+ }) {
1572
+ useWalletsChanged(preferredWallets, walletFilter);
1573
+ useWalletPropertiesChanged();
1574
+ useUnsafeBurnerWallet(enableUnsafeBurner);
1575
+ useAutoConnectWallet();
1576
+ return children;
1577
+ }
1578
+
1579
+ // src/hooks/networkConfig.ts
1580
+ function createNetworkConfig(networkConfig) {
1581
+ function useNetworkConfig() {
1582
+ const { config } = useIotaClientContext();
1583
+ if (!config) {
1584
+ throw new Error("No network config found");
1585
+ }
1586
+ return config;
1587
+ }
1588
+ function useNetworkVariables() {
1589
+ const { variables } = useNetworkConfig();
1590
+ return variables ?? {};
1591
+ }
1592
+ function useNetworkVariable(name) {
1593
+ const variables = useNetworkVariables();
1594
+ return variables[name];
1595
+ }
1596
+ return {
1597
+ networkConfig,
1598
+ useNetworkConfig,
1599
+ useNetworkVariables,
1600
+ useNetworkVariable
1601
+ };
1602
+ }
1603
+
1604
+ // src/hooks/useIotaClientInfiniteQuery.ts
1605
+ var import_react_query6 = require("@tanstack/react-query");
1606
+ function useIotaClientInfiniteQuery(method, params, {
1607
+ queryKey = [],
1608
+ enabled = !!params,
1609
+ ...options
1610
+ } = {}) {
1611
+ const iotaContext = useIotaClientContext();
1612
+ return (0, import_react_query6.useInfiniteQuery)({
1613
+ ...options,
1614
+ initialPageParam: null,
1615
+ queryKey: [iotaContext.network, method, params, ...queryKey],
1616
+ enabled,
1617
+ queryFn: ({ pageParam }) => iotaContext.client[method]({
1618
+ ...params ?? {},
1619
+ cursor: pageParam
1620
+ }),
1621
+ getNextPageParam: (lastPage) => lastPage.hasNextPage ? lastPage.nextCursor ?? null : null
1622
+ });
1623
+ }
1624
+
1625
+ // src/hooks/useIotaClientMutation.ts
1626
+ var import_react_query7 = require("@tanstack/react-query");
1627
+ function useIotaClientMutation(method, options = {}) {
1628
+ const iotaContext = useIotaClientContext();
1629
+ return (0, import_react_query7.useMutation)({
1630
+ ...options,
1631
+ mutationFn: async (params) => {
1632
+ return await iotaContext.client[method](params);
1633
+ }
1634
+ });
1635
+ }
1636
+
1637
+ // src/hooks/useIotaClientQuery.ts
1638
+ var import_react_query8 = require("@tanstack/react-query");
1639
+ var import_react17 = require("react");
1640
+ function getIotaClientQuery({
1641
+ client,
1642
+ network,
1643
+ method,
1644
+ params,
1645
+ options
1646
+ }) {
1647
+ return (0, import_react_query8.queryOptions)({
1648
+ ...options,
1649
+ queryKey: [network, method, params],
1650
+ queryFn: async () => {
1651
+ return await client[method](params);
1652
+ }
1653
+ });
1654
+ }
1655
+ function useIotaClientQuery(...args) {
1656
+ const [method, params, { queryKey = [], ...options } = {}] = args;
1657
+ const iotaContext = useIotaClientContext();
1658
+ return (0, import_react_query8.useQuery)({
1659
+ ...options,
1660
+ queryKey: [iotaContext.network, method, params, ...queryKey],
1661
+ queryFn: async () => {
1662
+ return await iotaContext.client[method](
1663
+ params
1664
+ );
1665
+ }
1666
+ });
1667
+ }
1668
+ function useIotaClientSuspenseQuery(...args) {
1669
+ const [method, params, options = {}] = args;
1670
+ const iotaContext = useIotaClientContext();
1671
+ const query = (0, import_react17.useMemo)(() => {
1672
+ return getIotaClientQuery({
1673
+ client: iotaContext.client,
1674
+ network: iotaContext.network,
1675
+ method,
1676
+ params,
1677
+ options
1678
+ });
1679
+ }, [iotaContext.network, method, params, options]);
1680
+ return (0, import_react_query8.useSuspenseQuery)(query);
1681
+ }
1682
+
1683
+ // src/hooks/useIotaClientQueries.ts
1684
+ var import_react_query9 = require("@tanstack/react-query");
1685
+ function useIotaClientQueries({
1686
+ queries,
1687
+ combine
1688
+ }) {
1689
+ const iotaContext = useIotaClientContext();
1690
+ return (0, import_react_query9.useQueries)({
1691
+ combine,
1692
+ queries: queries.map((query) => {
1693
+ const { method, params, options: { queryKey = [], ...restOptions } = {} } = query;
1694
+ return {
1695
+ ...restOptions,
1696
+ queryKey: [iotaContext.network, method, params, ...queryKey],
1697
+ queryFn: async () => {
1698
+ return await iotaContext.client[method](params);
1699
+ }
1700
+ };
1701
+ })
1702
+ });
1703
+ }
1704
+
1705
+ // src/hooks/wallet/useSignAndExecuteTransaction.ts
1706
+ var import_utils4 = require("@iota/iota-sdk/utils");
1707
+ var import_wallet_standard5 = require("@iota/wallet-standard");
1708
+ var import_react_query11 = require("@tanstack/react-query");
1709
+
1710
+ // src/hooks/wallet/useReportTransactionEffects.ts
1711
+ var import_utils3 = require("@iota/iota-sdk/utils");
1712
+ var import_react_query10 = require("@tanstack/react-query");
1713
+ function useReportTransactionEffects({
1714
+ mutationKey,
1715
+ ...mutationOptions
1716
+ } = {}) {
1717
+ const { currentWallet } = useCurrentWallet();
1718
+ const currentAccount = useCurrentAccount();
1719
+ return (0, import_react_query10.useMutation)({
1720
+ mutationKey: walletMutationKeys.reportTransactionEffects(mutationKey),
1721
+ mutationFn: async ({
1722
+ effects,
1723
+ chain = currentWallet?.chains[0],
1724
+ account = currentAccount
1725
+ }) => {
1726
+ if (!currentWallet) {
1727
+ throw new WalletNotConnectedError("No wallet is connected.");
1728
+ }
1729
+ if (!account) {
1730
+ throw new WalletNoAccountSelectedError(
1731
+ "No wallet account is selected to report transaction effects for"
1732
+ );
1733
+ }
1734
+ const reportTransactionEffectsFeature = currentWallet.features["iota:reportTransactionEffects"];
1735
+ if (reportTransactionEffectsFeature) {
1736
+ return await reportTransactionEffectsFeature.reportTransactionEffects({
1737
+ effects: Array.isArray(effects) ? (0, import_utils3.toBase64)(new Uint8Array(effects)) : effects,
1738
+ account,
1739
+ chain: chain ?? currentWallet?.chains[0]
1740
+ });
1741
+ }
1742
+ },
1743
+ ...mutationOptions
1744
+ });
1745
+ }
1746
+
1747
+ // src/hooks/wallet/useSignAndExecuteTransaction.ts
1748
+ function useSignAndExecuteTransaction({
1749
+ mutationKey,
1750
+ execute,
1751
+ ...mutationOptions
1752
+ } = {}) {
1753
+ const { currentWallet, supportedIntents } = useCurrentWallet();
1754
+ const currentAccount = useCurrentAccount();
1755
+ const client = useIotaClient();
1756
+ const { mutate: reportTransactionEffects } = useReportTransactionEffects();
1757
+ const executeTransaction = execute ?? (async ({ bytes, signature }) => {
1758
+ const { digest, rawEffects } = await client.executeTransactionBlock({
1759
+ transactionBlock: bytes,
1760
+ signature,
1761
+ options: {
1762
+ showRawEffects: true
1763
+ }
1764
+ });
1765
+ return {
1766
+ digest,
1767
+ rawEffects,
1768
+ effects: (0, import_utils4.toBase64)(new Uint8Array(rawEffects)),
1769
+ bytes,
1770
+ signature
1771
+ };
1772
+ });
1773
+ return (0, import_react_query11.useMutation)({
1774
+ mutationKey: walletMutationKeys.signAndExecuteTransaction(mutationKey),
1775
+ mutationFn: async ({ transaction, ...signTransactionArgs }) => {
1776
+ if (!currentWallet) {
1777
+ throw new WalletNotConnectedError("No wallet is connected.");
1778
+ }
1779
+ const signerAccount = signTransactionArgs.account ?? currentAccount;
1780
+ if (!signerAccount) {
1781
+ throw new WalletNoAccountSelectedError(
1782
+ "No wallet account is selected to sign the transaction with."
1783
+ );
1784
+ }
1785
+ const chain = signTransactionArgs.chain ?? signerAccount?.chains[0];
1786
+ if (!currentWallet.features["iota:signTransaction"]) {
1787
+ throw new WalletFeatureNotSupportedError(
1788
+ "This wallet doesn't support the `signTransaction` feature."
1789
+ );
1790
+ }
1791
+ const { signature, bytes } = await (0, import_wallet_standard5.signTransaction)(currentWallet, {
1792
+ ...signTransactionArgs,
1793
+ transaction: {
1794
+ async toJSON() {
1795
+ return typeof transaction === "string" ? transaction : await transaction.toJSON({
1796
+ supportedIntents,
1797
+ client
1798
+ });
1799
+ }
1800
+ },
1801
+ account: signerAccount,
1802
+ chain: signTransactionArgs.chain ?? signerAccount.chains[0]
1803
+ });
1804
+ const result = await executeTransaction({ bytes, signature });
1805
+ let effects;
1806
+ if ("effects" in result && result.effects?.bcs) {
1807
+ effects = result.effects.bcs;
1808
+ } else if ("rawEffects" in result) {
1809
+ effects = (0, import_utils4.toBase64)(new Uint8Array(result.rawEffects));
1810
+ } else {
1811
+ throw new Error("Could not parse effects from transaction result.");
1812
+ }
1813
+ reportTransactionEffects({ effects, account: signerAccount, chain });
1814
+ if (signTransactionArgs.waitForTransaction && "digest" in result) {
1815
+ await client.waitForTransaction({
1816
+ digest: result.digest
1817
+ });
1818
+ }
1819
+ return result;
1820
+ },
1821
+ ...mutationOptions
1822
+ });
1823
+ }
1824
+
1825
+ // src/hooks/wallet/useSignPersonalMessage.ts
1826
+ var import_react_query12 = require("@tanstack/react-query");
1827
+ function useSignPersonalMessage({
1828
+ mutationKey,
1829
+ ...mutationOptions
1830
+ } = {}) {
1831
+ const { currentWallet } = useCurrentWallet();
1832
+ const currentAccount = useCurrentAccount();
1833
+ return (0, import_react_query12.useMutation)({
1834
+ mutationKey: walletMutationKeys.signPersonalMessage(mutationKey),
1835
+ mutationFn: async (signPersonalMessageArgs) => {
1836
+ if (!currentWallet) {
1837
+ throw new WalletNotConnectedError("No wallet is connected.");
1838
+ }
1839
+ const signPersonalMessageFeature = currentWallet.features["iota:signPersonalMessage"];
1840
+ if (!signPersonalMessageFeature) {
1841
+ throw new WalletFeatureNotSupportedError(
1842
+ "This wallet doesn't support the `signPersonalMessage` feature."
1843
+ );
1844
+ }
1845
+ const signerAccount = signPersonalMessageArgs.account ?? currentAccount;
1846
+ if (!signerAccount) {
1847
+ throw new WalletNoAccountSelectedError(
1848
+ "No wallet account is selected to sign the personal message with."
1849
+ );
1850
+ }
1851
+ return await signPersonalMessageFeature.signPersonalMessage({
1852
+ ...signPersonalMessageArgs,
1853
+ account: signerAccount
1854
+ });
1855
+ },
1856
+ ...mutationOptions
1857
+ });
1858
+ }
1859
+
1860
+ // src/hooks/wallet/useSignTransaction.ts
1861
+ var import_wallet_standard6 = require("@iota/wallet-standard");
1862
+ var import_react_query13 = require("@tanstack/react-query");
1863
+ function useSignTransaction({
1864
+ mutationKey,
1865
+ ...mutationOptions
1866
+ } = {}) {
1867
+ const { currentWallet } = useCurrentWallet();
1868
+ const currentAccount = useCurrentAccount();
1869
+ const client = useIotaClient();
1870
+ const { mutate: reportTransactionEffects } = useReportTransactionEffects();
1871
+ return (0, import_react_query13.useMutation)({
1872
+ mutationKey: walletMutationKeys.signTransaction(mutationKey),
1873
+ mutationFn: async ({ transaction, ...signTransactionArgs }) => {
1874
+ if (!currentWallet) {
1875
+ throw new WalletNotConnectedError("No wallet is connected.");
1876
+ }
1877
+ const signerAccount = signTransactionArgs.account ?? currentAccount;
1878
+ if (!signerAccount) {
1879
+ throw new WalletNoAccountSelectedError(
1880
+ "No wallet account is selected to sign the transaction with."
1881
+ );
1882
+ }
1883
+ if (!currentWallet.features["iota:signTransaction"]) {
1884
+ throw new WalletFeatureNotSupportedError(
1885
+ "This wallet doesn't support the `signTransaction` feature."
1886
+ );
1887
+ }
1888
+ const { bytes, signature } = await (0, import_wallet_standard6.signTransaction)(currentWallet, {
1889
+ ...signTransactionArgs,
1890
+ transaction: {
1891
+ toJSON: async () => {
1892
+ return typeof transaction === "string" ? transaction : await transaction.toJSON({
1893
+ supportedIntents: [],
1894
+ client
1895
+ });
1896
+ }
1897
+ },
1898
+ account: signerAccount,
1899
+ chain: signTransactionArgs.chain ?? signerAccount.chains[0]
1900
+ });
1901
+ return {
1902
+ bytes,
1903
+ signature,
1904
+ reportTransactionEffects: (effects) => {
1905
+ reportTransactionEffects({
1906
+ effects,
1907
+ account: signerAccount,
1908
+ chain: signTransactionArgs.chain ?? signerAccount.chains[0]
1909
+ });
1910
+ }
1911
+ };
1912
+ },
1913
+ ...mutationOptions
1914
+ });
1915
+ }
1916
+
1917
+ // src/themes/darkTheme.ts
1918
+ var darkTheme = {
1919
+ blurs: {
1920
+ modalOverlay: "blur(12px)"
1921
+ },
1922
+ backgroundColors: {
1923
+ primaryButton: "#253041",
1924
+ primaryButtonHover: "#313D50",
1925
+ outlineButtonHover: "#313D50",
1926
+ modalOverlay: "rgba(0, 47, 109, 0.72)",
1927
+ modalPrimary: "#0f141c",
1928
+ modalSecondary: "#171d26",
1929
+ iconButton: "transparent",
1930
+ dropdownMenu: "#0f141c",
1931
+ dropdownMenuSeparator: "#bed8ff14",
1932
+ walletItemSelected: "rgba(190, 216, 255, 0.12)",
1933
+ walletItemHover: "rgba(190, 216, 255, 0.06)",
1934
+ scrollThumb: "#3c4656"
1935
+ },
1936
+ borderColors: {
1937
+ outlineButton: "#8892A1"
1938
+ },
1939
+ colors: {
1940
+ primaryButton: "#E3EAF6",
1941
+ outlineButtonHover: "#171D26",
1942
+ iconButton: "#E3EAF6",
1943
+ body: "#E3EAF6",
1944
+ bodyMuted: "#8892A1",
1945
+ bodyDanger: "#FFB0BE"
1946
+ },
1947
+ radii: {
1948
+ small: "6px",
1949
+ medium: "8px",
1950
+ large: "12px",
1951
+ xlarge: "16px",
1952
+ full: "120px"
1953
+ },
1954
+ fontWeights: {
1955
+ normal: "400",
1956
+ medium: "500",
1957
+ bold: "600"
1958
+ },
1959
+ fontSizes: {
1960
+ small: "14px",
1961
+ medium: "16px",
1962
+ large: "18px",
1963
+ xlarge: "20px"
1964
+ },
1965
+ typography: {
1966
+ fontFamily: 'ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',
1967
+ fontStyle: "normal",
1968
+ lineHeight: "24px",
1969
+ letterSpacing: "0.1px"
1970
+ },
1971
+ spacing: {
1972
+ xxsmall: "4px",
1973
+ xsmall: "8px",
1974
+ small: "12px",
1975
+ medium: "16px",
1976
+ large: "24px",
1977
+ xlarge: "32px"
1978
+ }
1979
+ };
1980
+ //# sourceMappingURL=index.js.map