@iota/dapp-kit 0.0.0-experimental-20250610130929

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