@ton/appkit-react 0.0.1-alpha.2 → 0.0.2

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 (397) hide show
  1. package/README.md +211 -1
  2. package/dist/esm/components/block/block.js +7 -0
  3. package/dist/esm/components/block/block.js.map +1 -0
  4. package/dist/esm/components/block/block.module.css +13 -0
  5. package/dist/esm/components/block/block.stories.js +27 -0
  6. package/dist/esm/components/block/block.stories.js.map +1 -0
  7. package/dist/esm/components/block/index.js +9 -0
  8. package/dist/esm/components/block/index.js.map +1 -0
  9. package/dist/esm/components/button/button.js +7 -0
  10. package/dist/esm/components/button/button.js.map +1 -0
  11. package/dist/esm/components/button/button.module.css +38 -0
  12. package/dist/esm/components/button/button.stories.js +30 -0
  13. package/dist/esm/components/button/button.stories.js.map +1 -0
  14. package/dist/esm/components/button/index.js +9 -0
  15. package/dist/esm/components/button/index.js.map +1 -0
  16. package/dist/esm/components/circle-icon/circle-icon.js +8 -0
  17. package/dist/esm/components/circle-icon/circle-icon.js.map +1 -0
  18. package/dist/esm/components/circle-icon/circle-icon.module.css +32 -0
  19. package/dist/esm/components/circle-icon/circle-icon.stories.js +56 -0
  20. package/dist/esm/components/circle-icon/circle-icon.stories.js.map +1 -0
  21. package/dist/esm/components/circle-icon/index.js +9 -0
  22. package/dist/esm/components/circle-icon/index.js.map +1 -0
  23. package/dist/esm/components/ton-icon/index.js +9 -0
  24. package/dist/esm/components/ton-icon/index.js.map +1 -0
  25. package/dist/esm/components/ton-icon/ton-icon.js +8 -0
  26. package/dist/esm/components/ton-icon/ton-icon.js.map +1 -0
  27. package/dist/esm/components/ton-icon/ton-icon.stories.js +56 -0
  28. package/dist/esm/components/ton-icon/ton-icon.stories.js.map +1 -0
  29. package/dist/esm/features/balances/components/balance-badge/balance-badge.js +33 -0
  30. package/dist/esm/features/balances/components/balance-badge/balance-badge.js.map +1 -0
  31. package/dist/esm/features/balances/components/balance-badge/balance-badge.module.css +21 -0
  32. package/dist/esm/features/balances/components/balance-badge/balance-badge.stories.js +23 -0
  33. package/dist/esm/features/balances/components/balance-badge/balance-badge.stories.js.map +1 -0
  34. package/dist/esm/features/balances/components/balance-badge/index.js +9 -0
  35. package/dist/esm/features/balances/components/balance-badge/index.js.map +1 -0
  36. package/dist/esm/features/balances/components/currency-item/currency-item.js +8 -0
  37. package/dist/esm/features/balances/components/currency-item/currency-item.js.map +1 -0
  38. package/dist/esm/features/balances/components/currency-item/currency-item.module.css +80 -0
  39. package/dist/esm/features/balances/components/currency-item/currency-item.stories.js +61 -0
  40. package/dist/esm/features/balances/components/currency-item/currency-item.stories.js.map +1 -0
  41. package/dist/esm/features/balances/components/currency-item/index.js +9 -0
  42. package/dist/esm/features/balances/components/currency-item/index.js.map +1 -0
  43. package/dist/esm/features/balances/components/send-jetton-button/index.js +9 -0
  44. package/dist/esm/features/balances/components/send-jetton-button/index.js.map +1 -0
  45. package/dist/esm/features/balances/components/send-jetton-button/send-jetton-button.js +43 -0
  46. package/dist/esm/features/balances/components/send-jetton-button/send-jetton-button.js.map +1 -0
  47. package/dist/esm/features/balances/components/send-jetton-button/send-jetton-button.stories.js +41 -0
  48. package/dist/esm/features/balances/components/send-jetton-button/send-jetton-button.stories.js.map +1 -0
  49. package/dist/esm/features/balances/components/send-ton-button/index.js +9 -0
  50. package/dist/esm/features/balances/components/send-ton-button/index.js.map +1 -0
  51. package/dist/esm/features/balances/components/send-ton-button/send-ton-button.js +26 -0
  52. package/dist/esm/features/balances/components/send-ton-button/send-ton-button.js.map +1 -0
  53. package/dist/esm/features/balances/components/send-ton-button/send-ton-button.stories.js +36 -0
  54. package/dist/esm/features/balances/components/send-ton-button/send-ton-button.stories.js.map +1 -0
  55. package/dist/esm/features/balances/hooks/use-balance-by-address.js +18 -0
  56. package/dist/esm/features/balances/hooks/use-balance-by-address.js.map +1 -0
  57. package/dist/esm/features/balances/hooks/use-balance.js +17 -0
  58. package/dist/esm/features/balances/hooks/use-balance.js.map +1 -0
  59. package/dist/esm/features/balances/index.js +14 -0
  60. package/dist/esm/features/balances/index.js.map +1 -0
  61. package/dist/esm/features/jettons/hooks/use-jetton-balance-by-address.js +18 -0
  62. package/dist/esm/features/jettons/hooks/use-jetton-balance-by-address.js.map +1 -0
  63. package/dist/esm/features/jettons/hooks/use-jetton-info.js +18 -0
  64. package/dist/esm/features/jettons/hooks/use-jetton-info.js.map +1 -0
  65. package/dist/esm/features/jettons/hooks/use-jetton-wallet-address.js +18 -0
  66. package/dist/esm/features/jettons/hooks/use-jetton-wallet-address.js.map +1 -0
  67. package/dist/esm/features/jettons/hooks/use-jettons-by-address.js +18 -0
  68. package/dist/esm/features/jettons/hooks/use-jettons-by-address.js.map +1 -0
  69. package/dist/esm/features/jettons/hooks/use-jettons.js +17 -0
  70. package/dist/esm/features/jettons/hooks/use-jettons.js.map +1 -0
  71. package/dist/esm/features/jettons/hooks/use-transfer-jetton.js +16 -0
  72. package/dist/esm/features/jettons/hooks/use-transfer-jetton.js.map +1 -0
  73. package/dist/esm/features/jettons/index.js +14 -0
  74. package/dist/esm/features/jettons/index.js.map +1 -0
  75. package/dist/esm/features/network/hooks/use-network.js +17 -0
  76. package/dist/esm/features/network/hooks/use-network.js.map +1 -0
  77. package/dist/esm/features/network/hooks/use-networks.js +24 -0
  78. package/dist/esm/features/network/hooks/use-networks.js.map +1 -0
  79. package/dist/esm/features/network/index.js +11 -0
  80. package/dist/esm/features/network/index.js.map +1 -0
  81. package/dist/esm/features/nft/components/nft-item/index.js +9 -0
  82. package/dist/esm/features/nft/components/nft-item/index.js.map +1 -0
  83. package/dist/esm/features/nft/components/nft-item/nft-item.js +15 -0
  84. package/dist/esm/features/nft/components/nft-item/nft-item.js.map +1 -0
  85. package/dist/esm/features/nft/components/nft-item/nft-item.module.css +74 -0
  86. package/dist/esm/features/nft/components/nft-item/nft-item.stories.js +52 -0
  87. package/dist/esm/features/nft/components/nft-item/nft-item.stories.js.map +1 -0
  88. package/dist/esm/features/nft/hooks/use-nft.js +18 -0
  89. package/dist/esm/features/nft/hooks/use-nft.js.map +1 -0
  90. package/dist/esm/features/nft/hooks/use-nfts-by-address.js +18 -0
  91. package/dist/esm/features/nft/hooks/use-nfts-by-address.js.map +1 -0
  92. package/dist/esm/features/nft/hooks/use-nfts.js +17 -0
  93. package/dist/esm/features/nft/hooks/use-nfts.js.map +1 -0
  94. package/dist/esm/features/nft/hooks/use-transfer-nft.js +16 -0
  95. package/dist/esm/features/nft/hooks/use-transfer-nft.js.map +1 -0
  96. package/dist/esm/features/nft/index.js +13 -0
  97. package/dist/esm/features/nft/index.js.map +1 -0
  98. package/dist/esm/features/signing/hooks/use-sign-binary.js +27 -0
  99. package/dist/esm/features/signing/hooks/use-sign-binary.js.map +1 -0
  100. package/dist/esm/features/signing/hooks/use-sign-cell.js +28 -0
  101. package/dist/esm/features/signing/hooks/use-sign-cell.js.map +1 -0
  102. package/dist/esm/features/signing/hooks/use-sign-text.js +27 -0
  103. package/dist/esm/features/signing/hooks/use-sign-text.js.map +1 -0
  104. package/dist/esm/features/signing/index.js +11 -0
  105. package/dist/esm/features/signing/index.js.map +1 -0
  106. package/dist/esm/features/swap/hooks/use-build-swap-transaction.js +16 -0
  107. package/dist/esm/features/swap/hooks/use-build-swap-transaction.js.map +1 -0
  108. package/dist/esm/features/swap/hooks/use-swap-quote.js +16 -0
  109. package/dist/esm/features/swap/hooks/use-swap-quote.js.map +1 -0
  110. package/dist/esm/features/swap/index.js +10 -0
  111. package/dist/esm/features/swap/index.js.map +1 -0
  112. package/dist/esm/features/transaction/components/transaction/index.js +9 -0
  113. package/dist/esm/features/transaction/components/transaction/index.js.map +1 -0
  114. package/dist/esm/features/transaction/components/transaction/transaction.js +41 -0
  115. package/dist/esm/features/transaction/components/transaction/transaction.js.map +1 -0
  116. package/dist/esm/features/transaction/components/transaction/transaction.stories.js +47 -0
  117. package/dist/esm/features/transaction/components/transaction/transaction.stories.js.map +1 -0
  118. package/dist/esm/features/transaction/components/transaction-provider/index.js +9 -0
  119. package/dist/esm/features/transaction/components/transaction-provider/index.js.map +1 -0
  120. package/dist/esm/features/transaction/components/transaction-provider/transaction-provider.js +64 -0
  121. package/dist/esm/features/transaction/components/transaction-provider/transaction-provider.js.map +1 -0
  122. package/dist/esm/features/transaction/hooks/use-send-transaction.js +16 -0
  123. package/dist/esm/features/transaction/hooks/use-send-transaction.js.map +1 -0
  124. package/dist/esm/features/transaction/hooks/use-transfer-ton.js +16 -0
  125. package/dist/esm/features/transaction/hooks/use-transfer-ton.js.map +1 -0
  126. package/dist/esm/features/transaction/index.js +11 -0
  127. package/dist/esm/features/transaction/index.js.map +1 -0
  128. package/dist/esm/features/wallets/components/connect-button/index.js +9 -0
  129. package/dist/esm/features/wallets/components/connect-button/index.js.map +1 -0
  130. package/dist/esm/features/wallets/hooks/use-address.js +17 -0
  131. package/dist/esm/features/wallets/hooks/use-address.js.map +1 -0
  132. package/dist/esm/features/wallets/hooks/use-connect.js +15 -0
  133. package/dist/esm/features/wallets/hooks/use-connect.js.map +1 -0
  134. package/dist/esm/features/wallets/hooks/use-connected-wallets.js +21 -0
  135. package/dist/esm/features/wallets/hooks/use-connected-wallets.js.map +1 -0
  136. package/dist/esm/features/wallets/hooks/use-connector-by-id.js +21 -0
  137. package/dist/esm/features/wallets/hooks/use-connector-by-id.js.map +1 -0
  138. package/dist/esm/features/wallets/hooks/use-connectors.js +21 -0
  139. package/dist/esm/features/wallets/hooks/use-connectors.js.map +1 -0
  140. package/dist/esm/features/wallets/hooks/use-disconnect.js +16 -0
  141. package/dist/esm/features/wallets/hooks/use-disconnect.js.map +1 -0
  142. package/dist/esm/features/wallets/hooks/use-selected-wallet.js +28 -0
  143. package/dist/esm/features/wallets/hooks/use-selected-wallet.js.map +1 -0
  144. package/dist/esm/features/wallets/index.js +16 -0
  145. package/dist/esm/features/wallets/index.js.map +1 -0
  146. package/dist/esm/hooks/use-app-kit-theme.js +17 -0
  147. package/dist/esm/hooks/use-app-kit-theme.js.map +1 -0
  148. package/dist/esm/hooks/use-app-kit.js +17 -0
  149. package/dist/esm/hooks/use-app-kit.js.map +1 -0
  150. package/dist/esm/hooks/use-i18n.js +17 -0
  151. package/dist/esm/hooks/use-i18n.js.map +1 -0
  152. package/dist/esm/index.js +26 -0
  153. package/dist/esm/index.js.map +1 -0
  154. package/dist/esm/libs/i18n.js +14 -0
  155. package/dist/esm/libs/i18n.js.map +1 -0
  156. package/dist/esm/libs/query.js +18 -0
  157. package/dist/esm/libs/query.js.map +1 -0
  158. package/dist/esm/locales/en.js +32 -0
  159. package/dist/esm/locales/en.js.map +1 -0
  160. package/dist/esm/providers/app-kit-provider.js +9 -0
  161. package/dist/esm/providers/app-kit-provider.js.map +1 -0
  162. package/dist/esm/providers/i18n-provider.js +51 -0
  163. package/dist/esm/providers/i18n-provider.js.map +1 -0
  164. package/dist/esm/styles/index.css +88 -0
  165. package/dist/esm/styles/typography.module.css +92 -0
  166. package/dist/esm/tonconnect/tonconnect-bridge.js +27 -0
  167. package/dist/esm/tonconnect/tonconnect-bridge.js.map +1 -0
  168. package/dist/esm/tsconfig.build.tsbuildinfo +1 -0
  169. package/dist/types/components/block/block.d.ts +13 -0
  170. package/dist/types/components/block/block.d.ts.map +1 -0
  171. package/dist/types/components/block/block.stories.d.ts +15 -0
  172. package/dist/types/components/block/block.stories.d.ts.map +1 -0
  173. package/dist/types/components/block/index.d.ts +9 -0
  174. package/dist/types/components/block/index.d.ts.map +1 -0
  175. package/dist/types/components/button/button.d.ts +10 -0
  176. package/dist/types/components/button/button.d.ts.map +1 -0
  177. package/dist/types/components/button/button.stories.d.ts +16 -0
  178. package/dist/types/components/button/button.stories.d.ts.map +1 -0
  179. package/dist/types/components/button/index.d.ts +9 -0
  180. package/dist/types/components/button/index.d.ts.map +1 -0
  181. package/dist/types/components/circle-icon/circle-icon.d.ts +16 -0
  182. package/dist/types/components/circle-icon/circle-icon.d.ts.map +1 -0
  183. package/dist/types/components/circle-icon/circle-icon.stories.d.ts +18 -0
  184. package/dist/types/components/circle-icon/circle-icon.stories.d.ts.map +1 -0
  185. package/dist/types/components/circle-icon/index.d.ts +9 -0
  186. package/dist/types/components/circle-icon/index.d.ts.map +1 -0
  187. package/dist/types/components/ton-icon/index.d.ts +9 -0
  188. package/dist/types/components/ton-icon/index.d.ts.map +1 -0
  189. package/dist/types/components/ton-icon/ton-icon.d.ts +14 -0
  190. package/dist/types/components/ton-icon/ton-icon.d.ts.map +1 -0
  191. package/dist/types/components/ton-icon/ton-icon.stories.d.ts +20 -0
  192. package/dist/types/components/ton-icon/ton-icon.stories.d.ts.map +1 -0
  193. package/dist/types/features/balances/components/balance-badge/balance-badge.d.ts +21 -0
  194. package/dist/types/features/balances/components/balance-badge/balance-badge.d.ts.map +1 -0
  195. package/dist/types/features/balances/components/balance-badge/balance-badge.stories.d.ts +16 -0
  196. package/dist/types/features/balances/components/balance-badge/balance-badge.stories.d.ts.map +1 -0
  197. package/dist/types/features/balances/components/balance-badge/index.d.ts +9 -0
  198. package/dist/types/features/balances/components/balance-badge/index.d.ts.map +1 -0
  199. package/dist/types/features/balances/components/currency-item/currency-item.d.ts +17 -0
  200. package/dist/types/features/balances/components/currency-item/currency-item.d.ts.map +1 -0
  201. package/dist/types/features/balances/components/currency-item/currency-item.stories.d.ts +19 -0
  202. package/dist/types/features/balances/components/currency-item/currency-item.stories.d.ts.map +1 -0
  203. package/dist/types/features/balances/components/currency-item/index.d.ts +9 -0
  204. package/dist/types/features/balances/components/currency-item/index.d.ts.map +1 -0
  205. package/dist/types/features/balances/components/send-jetton-button/index.d.ts +9 -0
  206. package/dist/types/features/balances/components/send-jetton-button/index.d.ts.map +1 -0
  207. package/dist/types/features/balances/components/send-jetton-button/send-jetton-button.d.ts +21 -0
  208. package/dist/types/features/balances/components/send-jetton-button/send-jetton-button.d.ts.map +1 -0
  209. package/dist/types/features/balances/components/send-jetton-button/send-jetton-button.stories.d.ts +22 -0
  210. package/dist/types/features/balances/components/send-jetton-button/send-jetton-button.stories.d.ts.map +1 -0
  211. package/dist/types/features/balances/components/send-ton-button/index.d.ts +9 -0
  212. package/dist/types/features/balances/components/send-ton-button/index.d.ts.map +1 -0
  213. package/dist/types/features/balances/components/send-ton-button/send-ton-button.d.ts +16 -0
  214. package/dist/types/features/balances/components/send-ton-button/send-ton-button.d.ts.map +1 -0
  215. package/dist/types/features/balances/components/send-ton-button/send-ton-button.stories.d.ts +21 -0
  216. package/dist/types/features/balances/components/send-ton-button/send-ton-button.stories.d.ts.map +1 -0
  217. package/dist/types/features/balances/hooks/use-balance-by-address.d.ts +16 -0
  218. package/dist/types/features/balances/hooks/use-balance-by-address.d.ts.map +1 -0
  219. package/dist/types/features/balances/hooks/use-balance.d.ts +16 -0
  220. package/dist/types/features/balances/hooks/use-balance.d.ts.map +1 -0
  221. package/dist/types/features/balances/index.d.ts +14 -0
  222. package/dist/types/features/balances/index.d.ts.map +1 -0
  223. package/dist/types/features/jettons/hooks/use-jetton-balance-by-address.d.ts +16 -0
  224. package/dist/types/features/jettons/hooks/use-jetton-balance-by-address.d.ts.map +1 -0
  225. package/dist/types/features/jettons/hooks/use-jetton-info.d.ts +16 -0
  226. package/dist/types/features/jettons/hooks/use-jetton-info.d.ts.map +1 -0
  227. package/dist/types/features/jettons/hooks/use-jetton-wallet-address.d.ts +16 -0
  228. package/dist/types/features/jettons/hooks/use-jetton-wallet-address.d.ts.map +1 -0
  229. package/dist/types/features/jettons/hooks/use-jettons-by-address.d.ts +16 -0
  230. package/dist/types/features/jettons/hooks/use-jettons-by-address.d.ts.map +1 -0
  231. package/dist/types/features/jettons/hooks/use-jettons.d.ts +16 -0
  232. package/dist/types/features/jettons/hooks/use-jettons.d.ts.map +1 -0
  233. package/dist/types/features/jettons/hooks/use-transfer-jetton.d.ts +14 -0
  234. package/dist/types/features/jettons/hooks/use-transfer-jetton.d.ts.map +1 -0
  235. package/dist/types/features/jettons/index.d.ts +14 -0
  236. package/dist/types/features/jettons/index.d.ts.map +1 -0
  237. package/dist/types/features/network/hooks/use-network.d.ts +14 -0
  238. package/dist/types/features/network/hooks/use-network.d.ts.map +1 -0
  239. package/dist/types/features/network/hooks/use-networks.d.ts +14 -0
  240. package/dist/types/features/network/hooks/use-networks.d.ts.map +1 -0
  241. package/dist/types/features/network/index.d.ts +10 -0
  242. package/dist/types/features/network/index.d.ts.map +1 -0
  243. package/dist/types/features/nft/components/nft-item/index.d.ts +9 -0
  244. package/dist/types/features/nft/components/nft-item/index.d.ts.map +1 -0
  245. package/dist/types/features/nft/components/nft-item/nft-item.d.ts +14 -0
  246. package/dist/types/features/nft/components/nft-item/nft-item.d.ts.map +1 -0
  247. package/dist/types/features/nft/components/nft-item/nft-item.stories.d.ts +25 -0
  248. package/dist/types/features/nft/components/nft-item/nft-item.stories.d.ts.map +1 -0
  249. package/dist/types/features/nft/hooks/use-nft.d.ts +16 -0
  250. package/dist/types/features/nft/hooks/use-nft.d.ts.map +1 -0
  251. package/dist/types/features/nft/hooks/use-nfts-by-address.d.ts +16 -0
  252. package/dist/types/features/nft/hooks/use-nfts-by-address.d.ts.map +1 -0
  253. package/dist/types/features/nft/hooks/use-nfts.d.ts +16 -0
  254. package/dist/types/features/nft/hooks/use-nfts.d.ts.map +1 -0
  255. package/dist/types/features/nft/hooks/use-transfer-nft.d.ts +14 -0
  256. package/dist/types/features/nft/hooks/use-transfer-nft.d.ts.map +1 -0
  257. package/dist/types/features/nft/index.d.ts +13 -0
  258. package/dist/types/features/nft/index.d.ts.map +1 -0
  259. package/dist/types/features/signing/hooks/use-sign-binary.d.ts +25 -0
  260. package/dist/types/features/signing/hooks/use-sign-binary.d.ts.map +1 -0
  261. package/dist/types/features/signing/hooks/use-sign-cell.d.ts +26 -0
  262. package/dist/types/features/signing/hooks/use-sign-cell.d.ts.map +1 -0
  263. package/dist/types/features/signing/hooks/use-sign-text.d.ts +25 -0
  264. package/dist/types/features/signing/hooks/use-sign-text.d.ts.map +1 -0
  265. package/dist/types/features/signing/index.d.ts +11 -0
  266. package/dist/types/features/signing/index.d.ts.map +1 -0
  267. package/dist/types/features/swap/hooks/use-build-swap-transaction.d.ts +13 -0
  268. package/dist/types/features/swap/hooks/use-build-swap-transaction.d.ts.map +1 -0
  269. package/dist/types/features/swap/hooks/use-swap-quote.d.ts +13 -0
  270. package/dist/types/features/swap/hooks/use-swap-quote.d.ts.map +1 -0
  271. package/dist/types/features/swap/index.d.ts +10 -0
  272. package/dist/types/features/swap/index.d.ts.map +1 -0
  273. package/dist/types/features/transaction/components/transaction/index.d.ts +10 -0
  274. package/dist/types/features/transaction/components/transaction/index.d.ts.map +1 -0
  275. package/dist/types/features/transaction/components/transaction/transaction.d.ts +30 -0
  276. package/dist/types/features/transaction/components/transaction/transaction.d.ts.map +1 -0
  277. package/dist/types/features/transaction/components/transaction/transaction.stories.d.ts +23 -0
  278. package/dist/types/features/transaction/components/transaction/transaction.stories.d.ts.map +1 -0
  279. package/dist/types/features/transaction/components/transaction-provider/index.d.ts +10 -0
  280. package/dist/types/features/transaction/components/transaction-provider/index.d.ts.map +1 -0
  281. package/dist/types/features/transaction/components/transaction-provider/transaction-provider.d.ts +36 -0
  282. package/dist/types/features/transaction/components/transaction-provider/transaction-provider.d.ts.map +1 -0
  283. package/dist/types/features/transaction/hooks/use-send-transaction.d.ts +14 -0
  284. package/dist/types/features/transaction/hooks/use-send-transaction.d.ts.map +1 -0
  285. package/dist/types/features/transaction/hooks/use-transfer-ton.d.ts +14 -0
  286. package/dist/types/features/transaction/hooks/use-transfer-ton.d.ts.map +1 -0
  287. package/dist/types/features/transaction/index.d.ts +11 -0
  288. package/dist/types/features/transaction/index.d.ts.map +1 -0
  289. package/dist/types/features/wallets/components/connect-button/index.d.ts +9 -0
  290. package/dist/types/features/wallets/components/connect-button/index.d.ts.map +1 -0
  291. package/dist/types/features/wallets/hooks/use-address.d.ts +13 -0
  292. package/dist/types/features/wallets/hooks/use-address.d.ts.map +1 -0
  293. package/dist/types/features/wallets/hooks/use-connect.d.ts +14 -0
  294. package/dist/types/features/wallets/hooks/use-connect.d.ts.map +1 -0
  295. package/dist/types/features/wallets/hooks/use-connected-wallets.d.ts +11 -0
  296. package/dist/types/features/wallets/hooks/use-connected-wallets.d.ts.map +1 -0
  297. package/dist/types/features/wallets/hooks/use-connector-by-id.d.ts +10 -0
  298. package/dist/types/features/wallets/hooks/use-connector-by-id.d.ts.map +1 -0
  299. package/dist/types/features/wallets/hooks/use-connectors.d.ts +11 -0
  300. package/dist/types/features/wallets/hooks/use-connectors.d.ts.map +1 -0
  301. package/dist/types/features/wallets/hooks/use-disconnect.d.ts +14 -0
  302. package/dist/types/features/wallets/hooks/use-disconnect.d.ts.map +1 -0
  303. package/dist/types/features/wallets/hooks/use-selected-wallet.d.ts +14 -0
  304. package/dist/types/features/wallets/hooks/use-selected-wallet.d.ts.map +1 -0
  305. package/dist/types/features/wallets/index.d.ts +16 -0
  306. package/dist/types/features/wallets/index.d.ts.map +1 -0
  307. package/dist/types/hooks/use-app-kit-theme.d.ts +10 -0
  308. package/dist/types/hooks/use-app-kit-theme.d.ts.map +1 -0
  309. package/dist/types/hooks/use-app-kit.d.ts +9 -0
  310. package/dist/types/hooks/use-app-kit.d.ts.map +1 -0
  311. package/dist/types/hooks/use-i18n.d.ts +9 -0
  312. package/dist/types/hooks/use-i18n.d.ts.map +1 -0
  313. package/dist/types/index.d.ts +26 -0
  314. package/dist/types/index.d.ts.map +1 -0
  315. package/dist/types/libs/i18n.d.ts +34 -0
  316. package/dist/types/libs/i18n.d.ts.map +1 -0
  317. package/dist/types/libs/query.d.ts +26 -0
  318. package/dist/types/libs/query.d.ts.map +1 -0
  319. package/dist/types/locales/en.d.ts +29 -0
  320. package/dist/types/locales/en.d.ts.map +1 -0
  321. package/dist/types/providers/app-kit-provider.d.ts +15 -0
  322. package/dist/types/providers/app-kit-provider.d.ts.map +1 -0
  323. package/dist/types/providers/i18n-provider.d.ts +22 -0
  324. package/dist/types/providers/i18n-provider.d.ts.map +1 -0
  325. package/dist/types/tonconnect/tonconnect-bridge.d.ts +19 -0
  326. package/dist/types/tonconnect/tonconnect-bridge.d.ts.map +1 -0
  327. package/package.json +70 -7
  328. package/src/components/block/block.tsx +20 -0
  329. package/src/components/block/index.ts +9 -0
  330. package/src/components/button/button.tsx +16 -0
  331. package/src/components/button/index.ts +9 -0
  332. package/src/components/circle-icon/circle-icon.tsx +34 -0
  333. package/src/components/circle-icon/index.ts +9 -0
  334. package/src/components/ton-icon/index.ts +9 -0
  335. package/src/components/ton-icon/ton-icon.tsx +46 -0
  336. package/src/features/balances/components/balance-badge/balance-badge.tsx +47 -0
  337. package/src/features/balances/components/balance-badge/index.ts +9 -0
  338. package/src/features/balances/components/currency-item/currency-item.tsx +59 -0
  339. package/src/features/balances/components/currency-item/index.ts +9 -0
  340. package/src/features/balances/components/send-jetton-button/index.ts +9 -0
  341. package/src/features/balances/components/send-jetton-button/send-jetton-button.tsx +76 -0
  342. package/src/features/balances/components/send-ton-button/index.ts +9 -0
  343. package/src/features/balances/components/send-ton-button/send-ton-button.tsx +44 -0
  344. package/src/features/balances/hooks/use-balance-by-address.ts +33 -0
  345. package/src/features/balances/hooks/use-balance.ts +28 -0
  346. package/src/features/balances/index.ts +15 -0
  347. package/src/features/jettons/hooks/use-jetton-balance-by-address.ts +37 -0
  348. package/src/features/jettons/hooks/use-jetton-info.ts +32 -0
  349. package/src/features/jettons/hooks/use-jetton-wallet-address.ts +37 -0
  350. package/src/features/jettons/hooks/use-jettons-by-address.ts +33 -0
  351. package/src/features/jettons/hooks/use-jettons.ts +28 -0
  352. package/src/features/jettons/hooks/use-transfer-jetton.ts +44 -0
  353. package/src/features/jettons/index.ts +14 -0
  354. package/src/features/network/hooks/use-network.ts +23 -0
  355. package/src/features/network/hooks/use-networks.ts +35 -0
  356. package/src/features/network/index.ts +11 -0
  357. package/src/features/nft/components/nft-item/index.ts +9 -0
  358. package/src/features/nft/components/nft-item/nft-item.tsx +57 -0
  359. package/src/features/nft/hooks/use-nft.ts +29 -0
  360. package/src/features/nft/hooks/use-nfts-by-address.ts +29 -0
  361. package/src/features/nft/hooks/use-nfts.ts +28 -0
  362. package/src/features/nft/hooks/use-transfer-nft.ts +44 -0
  363. package/src/features/nft/index.ts +14 -0
  364. package/src/features/signing/hooks/use-sign-binary.ts +43 -0
  365. package/src/features/signing/hooks/use-sign-cell.ts +44 -0
  366. package/src/features/signing/hooks/use-sign-text.ts +43 -0
  367. package/src/features/signing/index.ts +11 -0
  368. package/src/features/swap/hooks/use-build-swap-transaction.ts +38 -0
  369. package/src/features/swap/hooks/use-swap-quote.ts +31 -0
  370. package/src/features/swap/index.ts +10 -0
  371. package/src/features/transaction/components/transaction/index.ts +10 -0
  372. package/src/features/transaction/components/transaction/transaction.tsx +105 -0
  373. package/src/features/transaction/components/transaction-provider/index.ts +10 -0
  374. package/src/features/transaction/components/transaction-provider/transaction-provider.tsx +114 -0
  375. package/src/features/transaction/hooks/use-send-transaction.ts +44 -0
  376. package/src/features/transaction/hooks/use-transfer-ton.ts +44 -0
  377. package/src/features/transaction/index.ts +12 -0
  378. package/src/features/wallets/components/connect-button/index.ts +9 -0
  379. package/src/features/wallets/hooks/use-address.ts +22 -0
  380. package/src/features/wallets/hooks/use-connect.ts +37 -0
  381. package/src/features/wallets/hooks/use-connected-wallets.ts +32 -0
  382. package/src/features/wallets/hooks/use-connector-by-id.ts +30 -0
  383. package/src/features/wallets/hooks/use-connectors.ts +32 -0
  384. package/src/features/wallets/hooks/use-disconnect.ts +39 -0
  385. package/src/features/wallets/hooks/use-selected-wallet.ts +44 -0
  386. package/src/features/wallets/index.ts +18 -0
  387. package/src/global.d.ts +12 -0
  388. package/src/hooks/use-app-kit-theme.ts +22 -0
  389. package/src/hooks/use-app-kit.ts +21 -0
  390. package/src/hooks/use-i18n.ts +21 -0
  391. package/src/index.ts +29 -0
  392. package/src/libs/i18n.ts +20 -0
  393. package/src/libs/query.ts +69 -0
  394. package/src/locales/en.ts +35 -0
  395. package/src/providers/app-kit-provider.tsx +30 -0
  396. package/src/providers/i18n-provider.tsx +83 -0
  397. package/src/tonconnect/tonconnect-bridge.tsx +39 -0
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export * from './hooks/use-jetton-info';
10
+ export * from './hooks/use-jetton-wallet-address';
11
+ export * from './hooks/use-jetton-balance-by-address';
12
+ export * from './hooks/use-jettons';
13
+ export * from './hooks/use-jettons-by-address';
14
+ export * from './hooks/use-transfer-jetton';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type { Network } from '@ton/appkit';
10
+ import { useMemo } from 'react';
11
+
12
+ import { useSelectedWallet } from '../../wallets';
13
+
14
+ export type UseNetworkReturnType = Network | undefined;
15
+
16
+ /**
17
+ * Hook to get network of the selected wallet
18
+ */
19
+ export const useNetwork = (): UseNetworkReturnType => {
20
+ const [wallet] = useSelectedWallet();
21
+
22
+ return useMemo(() => wallet?.getNetwork(), [wallet]);
23
+ };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { useSyncExternalStore, useCallback } from 'react';
10
+ import { getNetworks, watchNetworks } from '@ton/appkit';
11
+ import type { GetNetworksReturnType } from '@ton/appkit';
12
+
13
+ import { useAppKit } from '../../../hooks/use-app-kit';
14
+
15
+ export type UseNetworksReturnType = GetNetworksReturnType;
16
+
17
+ /**
18
+ * Hook to get all configured networks
19
+ */
20
+ export const useNetworks = (): UseNetworksReturnType => {
21
+ const appKit = useAppKit();
22
+
23
+ const subscribe = useCallback(
24
+ (onChange: () => void) => {
25
+ return watchNetworks(appKit, { onChange });
26
+ },
27
+ [appKit],
28
+ );
29
+
30
+ const getSnapshot = useCallback(() => {
31
+ return getNetworks(appKit);
32
+ }, [appKit]);
33
+
34
+ return useSyncExternalStore(subscribe, getSnapshot, () => []);
35
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ // Hooks
10
+ export { useNetworks, type UseNetworksReturnType } from './hooks/use-networks';
11
+ export { useNetwork, type UseNetworkReturnType } from './hooks/use-network';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export * from './nft-item';
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type { NFT } from '@ton/appkit';
10
+ import { useMemo, useState } from 'react';
11
+ import type { FC, ComponentProps } from 'react';
12
+ import { getFormattedNftInfo } from '@ton/appkit';
13
+ import clsx from 'clsx';
14
+
15
+ import { useI18n } from '../../../../hooks/use-i18n';
16
+ import styles from './nft-item.module.css';
17
+
18
+ const PlaceholderIcon: FC = () => (
19
+ <svg className={styles.placeholderIcon} fill="none" stroke="currentColor" viewBox="0 0 24 24">
20
+ <path
21
+ strokeLinecap="round"
22
+ strokeLinejoin="round"
23
+ strokeWidth={2}
24
+ d="M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"
25
+ />
26
+ </svg>
27
+ );
28
+
29
+ export interface NftItemProps extends ComponentProps<'button'> {
30
+ nft: NFT;
31
+ }
32
+
33
+ export const NftItem: FC<NftItemProps> = ({ nft, className, ...props }) => {
34
+ const { t } = useI18n();
35
+ const { name, collectionName, image, isOnSale } = useMemo(() => getFormattedNftInfo(nft), [nft]);
36
+ const [imageError, setImageError] = useState(false);
37
+
38
+ const showImage = image && !imageError;
39
+
40
+ return (
41
+ <button className={clsx(styles.nftItem, className)} {...props}>
42
+ <div className={styles.imageWrapper}>
43
+ {showImage ? (
44
+ <img src={image} alt={name} className={styles.image} onError={() => setImageError(true)} />
45
+ ) : (
46
+ <PlaceholderIcon />
47
+ )}
48
+ {isOnSale && <span className={styles.saleBadge}>{t('nft.onSale')}</span>}
49
+ </div>
50
+
51
+ <div className={styles.info}>
52
+ <h4 className={styles.name}>{name}</h4>
53
+ <p className={styles.collectionName}>{collectionName}</p>
54
+ </div>
55
+ </button>
56
+ );
57
+ };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { getNftQueryOptions } from '@ton/appkit/queries';
10
+ import type { GetNftData, GetNftErrorType, GetNftQueryConfig } from '@ton/appkit/queries';
11
+
12
+ import { useAppKit } from '../../../hooks/use-app-kit';
13
+ import { useQuery } from '../../../libs/query';
14
+ import type { UseQueryReturnType } from '../../../libs/query';
15
+
16
+ export type UseNftParameters<selectData = GetNftData> = GetNftQueryConfig<selectData>;
17
+
18
+ export type UseNftReturnType<selectData = GetNftData> = UseQueryReturnType<selectData, GetNftErrorType>;
19
+
20
+ /**
21
+ * Hook to get a single NFT
22
+ */
23
+ export const useNft = <selectData = GetNftData>(
24
+ parameters: UseNftParameters<selectData> = {},
25
+ ): UseNftReturnType<selectData> => {
26
+ const appKit = useAppKit();
27
+
28
+ return useQuery(getNftQueryOptions(appKit, parameters));
29
+ };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { getNFTsQueryOptions } from '@ton/appkit/queries';
10
+ import type { GetNFTsData, GetNFTsErrorType, GetNFTsQueryConfig } from '@ton/appkit/queries';
11
+
12
+ import { useAppKit } from '../../../hooks/use-app-kit';
13
+ import { useQuery } from '../../../libs/query';
14
+ import type { UseQueryReturnType } from '../../../libs/query';
15
+
16
+ export type UseNFTsByAddressParameters<selectData = GetNFTsData> = GetNFTsQueryConfig<selectData>;
17
+
18
+ export type UseNFTsByAddressReturnType<selectData = GetNFTsData> = UseQueryReturnType<selectData, GetNFTsErrorType>;
19
+
20
+ /**
21
+ * Hook to get NFTs
22
+ */
23
+ export const useNFTsByAddress = <selectData = GetNFTsData>(
24
+ parameters: UseNFTsByAddressParameters<selectData> = {},
25
+ ): UseNFTsByAddressReturnType<selectData> => {
26
+ const appKit = useAppKit();
27
+
28
+ return useQuery(getNFTsQueryOptions(appKit, parameters));
29
+ };
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type { GetNFTsData } from '@ton/appkit/queries';
10
+
11
+ import { useAddress } from '../../wallets/hooks/use-address';
12
+ import { useNFTsByAddress } from './use-nfts-by-address';
13
+ import type { UseNFTsByAddressParameters, UseNFTsByAddressReturnType } from './use-nfts-by-address';
14
+
15
+ export type UseNFTsParameters<selectData = GetNFTsData> = UseNFTsByAddressParameters<selectData>;
16
+
17
+ export type UseNFTsReturnType<selectData = GetNFTsData> = UseNFTsByAddressReturnType<selectData>;
18
+
19
+ /**
20
+ * Hook to get NFTs of the selected wallet
21
+ */
22
+ export const useNfts = <selectData = GetNFTsData>(
23
+ parameters: UseNFTsParameters<selectData> = {},
24
+ ): UseNFTsReturnType<selectData> => {
25
+ const address = useAddress();
26
+
27
+ return useNFTsByAddress({ ...parameters, address });
28
+ };
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ 'use client';
10
+
11
+ import type { MutateFunction, MutateOptions } from '@tanstack/react-query';
12
+ import type {
13
+ TransferNftData,
14
+ TransferNftErrorType,
15
+ TransferNftOptions,
16
+ TransferNftVariables,
17
+ } from '@ton/appkit/queries';
18
+ import { transferNftMutationOptions } from '@ton/appkit/queries';
19
+
20
+ import { useMutation } from '../../../libs/query';
21
+ import type { UseMutationReturnType } from '../../../libs/query';
22
+ import { useAppKit } from '../../../hooks/use-app-kit';
23
+
24
+ export type UseTransferNftParameters<context = unknown> = TransferNftOptions<context>;
25
+
26
+ export type UseTransferNftReturnType<context = unknown> = UseMutationReturnType<
27
+ TransferNftData,
28
+ TransferNftErrorType,
29
+ TransferNftVariables,
30
+ context,
31
+ (
32
+ variables: TransferNftVariables,
33
+ options?: MutateOptions<TransferNftData, TransferNftErrorType, TransferNftVariables, context>,
34
+ ) => void,
35
+ MutateFunction<TransferNftData, TransferNftErrorType, TransferNftVariables, context>
36
+ >;
37
+
38
+ export const useTransferNft = <context = unknown>(
39
+ parameters: UseTransferNftParameters<context> = {},
40
+ ): UseTransferNftReturnType<context> => {
41
+ const appKit = useAppKit();
42
+
43
+ return useMutation(transferNftMutationOptions(appKit, parameters));
44
+ };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export * from './components/nft-item';
10
+
11
+ export * from './hooks/use-nfts';
12
+ export * from './hooks/use-nft';
13
+ export * from './hooks/use-nfts-by-address';
14
+ export * from './hooks/use-transfer-nft';
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type { UseMutationResult } from '@tanstack/react-query';
10
+ import { signBinaryMutationOptions } from '@ton/appkit/queries';
11
+ import type { SignBinaryData, SignBinaryErrorType, SignBinaryOptions, SignBinaryVariables } from '@ton/appkit/queries';
12
+
13
+ import { useAppKit } from '../../../hooks/use-app-kit';
14
+ import { useMutation } from '../../../libs/query';
15
+
16
+ export type UseSignBinaryParameters<context = unknown> = SignBinaryOptions<context>;
17
+
18
+ export type UseSignBinaryReturnType<context = unknown> = UseMutationResult<
19
+ SignBinaryData,
20
+ SignBinaryErrorType,
21
+ SignBinaryVariables,
22
+ context
23
+ >;
24
+
25
+ /**
26
+ * Hook to sign binary data with the connected wallet.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * const { mutate: signBinary, isPending } = useSignBinary();
31
+ *
32
+ * const handleSign = () => {
33
+ * signBinary({ bytes: btoa("binary data") });
34
+ * };
35
+ * ```
36
+ */
37
+ export const useSignBinary = <context = unknown>(
38
+ parameters?: UseSignBinaryParameters<context>,
39
+ ): UseSignBinaryReturnType<context> => {
40
+ const appKit = useAppKit();
41
+
42
+ return useMutation(signBinaryMutationOptions(appKit, parameters));
43
+ };
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type { UseMutationResult } from '@tanstack/react-query';
10
+ import { signCellMutationOptions } from '@ton/appkit/queries';
11
+ import type { SignCellData, SignCellErrorType, SignCellOptions, SignCellVariables } from '@ton/appkit/queries';
12
+
13
+ import { useAppKit } from '../../../hooks/use-app-kit';
14
+ import { useMutation } from '../../../libs/query';
15
+
16
+ export type UseSignCellParameters<context = unknown> = SignCellOptions<context>;
17
+
18
+ export type UseSignCellReturnType<context = unknown> = UseMutationResult<
19
+ SignCellData,
20
+ SignCellErrorType,
21
+ SignCellVariables,
22
+ context
23
+ >;
24
+
25
+ /**
26
+ * Hook to sign TON Cell data with the connected wallet.
27
+ * Used for on-chain signature verification.
28
+ *
29
+ * @example
30
+ * ```tsx
31
+ * const { mutate: signCell, isPending } = useSignCell();
32
+ *
33
+ * const handleSign = () => {
34
+ * signCell({ cell: bocBase64, schema: "transfer#abc amount:uint64 = Transfer" });
35
+ * };
36
+ * ```
37
+ */
38
+ export const useSignCell = <context = unknown>(
39
+ parameters?: UseSignCellParameters<context>,
40
+ ): UseSignCellReturnType<context> => {
41
+ const appKit = useAppKit();
42
+
43
+ return useMutation(signCellMutationOptions(appKit, parameters));
44
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import type { UseMutationResult } from '@tanstack/react-query';
10
+ import { signTextMutationOptions } from '@ton/appkit/queries';
11
+ import type { SignTextData, SignTextErrorType, SignTextOptions, SignTextVariables } from '@ton/appkit/queries';
12
+
13
+ import { useAppKit } from '../../../hooks/use-app-kit';
14
+ import { useMutation } from '../../../libs/query';
15
+
16
+ export type UseSignTextParameters<context = unknown> = SignTextOptions<context>;
17
+
18
+ export type UseSignTextReturnType<context = unknown> = UseMutationResult<
19
+ SignTextData,
20
+ SignTextErrorType,
21
+ SignTextVariables,
22
+ context
23
+ >;
24
+
25
+ /**
26
+ * Hook to sign text messages with the connected wallet.
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * const { mutate: signText, isPending } = useSignText();
31
+ *
32
+ * const handleSign = () => {
33
+ * signText({ text: "Hello World" });
34
+ * };
35
+ * ```
36
+ */
37
+ export const useSignText = <context = unknown>(
38
+ parameters: UseSignTextParameters<context> = {},
39
+ ): UseSignTextReturnType<context> => {
40
+ const appKit = useAppKit();
41
+
42
+ return useMutation(signTextMutationOptions(appKit, parameters));
43
+ };
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export * from './hooks/use-sign-text';
10
+ export * from './hooks/use-sign-binary';
11
+ export * from './hooks/use-sign-cell';
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ 'use client';
10
+
11
+ import type { UseMutationResult } from '@tanstack/react-query';
12
+ import { buildSwapTransactionMutationOptions } from '@ton/appkit/queries';
13
+ import type {
14
+ BuildSwapTransactionData,
15
+ BuildSwapTransactionErrorType,
16
+ BuildSwapTransactionMutationOptions,
17
+ BuildSwapTransactionVariables,
18
+ } from '@ton/appkit/queries';
19
+
20
+ import { useAppKit } from '../../../hooks/use-app-kit';
21
+ import { useMutation } from '../../../libs/query';
22
+
23
+ export type UseBuildSwapTransactionParameters<context = unknown> = BuildSwapTransactionMutationOptions<context>;
24
+
25
+ export type UseBuildSwapTransactionReturnType<context = unknown> = UseMutationResult<
26
+ BuildSwapTransactionData,
27
+ BuildSwapTransactionErrorType,
28
+ BuildSwapTransactionVariables,
29
+ context
30
+ >;
31
+
32
+ export const useBuildSwapTransaction = <context = unknown>(
33
+ parameters?: UseBuildSwapTransactionParameters<context>,
34
+ ): UseBuildSwapTransactionReturnType<context> => {
35
+ const appKit = useAppKit();
36
+
37
+ return useMutation(buildSwapTransactionMutationOptions(appKit, parameters));
38
+ };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ 'use client';
10
+
11
+ import { getSwapQuoteQueryOptions } from '@ton/appkit/queries';
12
+ import type { GetSwapQuoteData, GetSwapQuoteErrorType, GetSwapQuoteQueryConfig } from '@ton/appkit/queries';
13
+
14
+ import { useAppKit } from '../../../hooks/use-app-kit';
15
+ import { useQuery } from '../../../libs/query';
16
+ import type { UseQueryReturnType } from '../../../libs/query';
17
+
18
+ export type UseSwapQuoteParameters<selectData = GetSwapQuoteData> = GetSwapQuoteQueryConfig<selectData>;
19
+
20
+ export type UseSwapQuoteReturnType<selectData = GetSwapQuoteData> = UseQueryReturnType<
21
+ selectData,
22
+ GetSwapQuoteErrorType
23
+ >;
24
+
25
+ export const useSwapQuote = <selectData = GetSwapQuoteData>(
26
+ parameters: UseSwapQuoteParameters<selectData> = {},
27
+ ): UseSwapQuoteReturnType<selectData> => {
28
+ const appKit = useAppKit();
29
+
30
+ return useQuery(getSwapQuoteQueryOptions(appKit, parameters));
31
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export * from './hooks/use-swap-quote';
10
+ export * from './hooks/use-build-swap-transaction';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export { Transaction } from './transaction';
10
+ export type { TransactionProps, TransactionRenderProps } from './transaction';
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ import { useCallback, useMemo } from 'react';
10
+ import type { FC, ReactNode, ComponentProps } from 'react';
11
+ import type { SendTransactionParameters, SendTransactionReturnType } from '@ton/appkit';
12
+
13
+ import { TransactionProvider, useTransactionContext } from '../transaction-provider';
14
+ import { useI18n } from '../../../../hooks/use-i18n';
15
+ import { Button } from '../../../../components/button';
16
+
17
+ export interface TransactionRenderProps {
18
+ isLoading: boolean;
19
+ onSubmit: () => void;
20
+ disabled: boolean;
21
+ text: ReactNode;
22
+ }
23
+
24
+ export type TransactionRequest =
25
+ | SendTransactionParameters
26
+ | Promise<SendTransactionParameters>
27
+ | (() => SendTransactionParameters)
28
+ | (() => Promise<SendTransactionParameters>);
29
+
30
+ export interface TransactionProps extends Omit<ComponentProps<'button'>, 'children' | 'onError'> {
31
+ /** The transaction request parameters */
32
+ request: TransactionRequest;
33
+ /** Callback when an error occurs */
34
+ onError?: (error: Error) => void;
35
+ /** Callback when the transaction is successful */
36
+ onSuccess?: (response: SendTransactionReturnType) => void;
37
+ /** Custom button text */
38
+ text?: ReactNode;
39
+ /** Custom render function */
40
+ children?: (props: TransactionRenderProps) => ReactNode;
41
+ }
42
+
43
+ interface TransactionContentProps extends Omit<ComponentProps<'button'>, 'children'> {
44
+ text?: ReactNode;
45
+ children?: (props: TransactionRenderProps) => ReactNode;
46
+ }
47
+
48
+ const TransactionContent: FC<TransactionContentProps> = ({ text, children, ...props }) => {
49
+ const { isLoading, onSubmit, disabled } = useTransactionContext();
50
+ const { t } = useI18n();
51
+
52
+ const isDisabled = disabled || isLoading;
53
+
54
+ const handleSubmit = useCallback(() => {
55
+ if (!isDisabled) {
56
+ onSubmit();
57
+ }
58
+ }, [isDisabled, onSubmit]);
59
+
60
+ const buttonText = useMemo(() => {
61
+ if (isLoading) {
62
+ return t('transaction.processing');
63
+ }
64
+
65
+ return text ?? t('transaction.sendTransaction');
66
+ }, [isLoading, text, t]);
67
+
68
+ if (children) {
69
+ return (
70
+ <>
71
+ {children({
72
+ isLoading,
73
+ onSubmit: handleSubmit,
74
+ disabled: isDisabled,
75
+ text: buttonText,
76
+ })}
77
+ </>
78
+ );
79
+ }
80
+
81
+ return (
82
+ <Button onClick={handleSubmit} disabled={isDisabled} {...props}>
83
+ {buttonText}
84
+ </Button>
85
+ );
86
+ };
87
+
88
+ export const Transaction: FC<TransactionProps> = ({
89
+ request,
90
+ children,
91
+ className,
92
+ onError,
93
+ onSuccess,
94
+ disabled = false,
95
+ text,
96
+ ...props
97
+ }) => {
98
+ return (
99
+ <TransactionProvider request={request} onError={onError} onSuccess={onSuccess} disabled={disabled}>
100
+ <TransactionContent className={className} text={text} {...props}>
101
+ {children}
102
+ </TransactionContent>
103
+ </TransactionProvider>
104
+ );
105
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Copyright (c) TonTech.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+
9
+ export { TransactionProvider, useTransactionContext, TransactionContext } from './transaction-provider';
10
+ export type { TransactionContextType } from './transaction-provider';