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