@n1xyz/wallet-widget 0.0.4 → 0.0.7

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 (428) hide show
  1. package/README.md +184 -19
  2. package/dist/Logic/sessionManager.d.ts +53 -0
  3. package/dist/Logic/sessionManager.js +182 -0
  4. package/dist/Logic/transactionManager.d.ts +41 -0
  5. package/dist/Logic/transactionManager.js +196 -0
  6. package/dist/Logic/utils.js +9 -12
  7. package/dist/Modal/BackButton.js +1 -1
  8. package/dist/Modal/ConnectView.js +1 -1
  9. package/dist/Modal/CreateSessionView.js +1 -1
  10. package/dist/Modal/LoadingFallback.d.ts +2 -0
  11. package/dist/Modal/LoadingFallback.js +2 -0
  12. package/dist/Modal/ModalHeader.js +1 -1
  13. package/dist/Modal/N1WalletModal.js +88 -82
  14. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +2 -0
  15. package/dist/Modal/NTSFlow/LoadingFallback.js +2 -0
  16. package/dist/Modal/NTSFlow/NTSFlow.d.ts +4 -0
  17. package/dist/Modal/NTSFlow/NTSFlow.js +34 -0
  18. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.d.ts +9 -0
  19. package/dist/Modal/NTSFlow/NordFlow/WalletConnectionFlow.js +145 -0
  20. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.d.ts +14 -0
  21. package/dist/Modal/NTSFlow/NordFlow/components/AnimatedButton.js +75 -0
  22. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.d.ts +7 -0
  23. package/dist/Modal/NTSFlow/NordFlow/components/ChainButton.js +5 -0
  24. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.d.ts +1 -0
  25. package/dist/Modal/NTSFlow/NordFlow/components/LoadingSquares.js +5 -0
  26. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.d.ts +13 -0
  27. package/dist/Modal/NTSFlow/NordFlow/components/TransactionTable.js +58 -0
  28. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.d.ts +6 -0
  29. package/dist/Modal/NTSFlow/NordFlow/components/WaitingMessage.js +6 -0
  30. package/dist/Modal/NTSFlow/NordFlow/components/index.d.ts +5 -0
  31. package/dist/Modal/NTSFlow/NordFlow/components/index.js +5 -0
  32. package/dist/Modal/NTSFlow/NordFlow/constants.d.ts +37 -0
  33. package/dist/Modal/NTSFlow/NordFlow/constants.js +223 -0
  34. package/dist/Modal/NTSFlow/NordFlow/hooks/index.d.ts +8 -0
  35. package/dist/Modal/NTSFlow/NordFlow/hooks/index.js +8 -0
  36. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  37. package/dist/Modal/NTSFlow/NordFlow/hooks/useButtonTyping.js +43 -0
  38. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  39. package/dist/Modal/NTSFlow/NordFlow/hooks/useDepositFlow.js +166 -0
  40. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.d.ts +32 -0
  41. package/dist/Modal/NTSFlow/NordFlow/hooks/useFlowState.js +163 -0
  42. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  43. package/dist/Modal/NTSFlow/NordFlow/hooks/useInterruptHandler.js +101 -0
  44. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.d.ts +32 -0
  45. package/dist/Modal/NTSFlow/NordFlow/hooks/useNordSession.js +193 -0
  46. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.d.ts +2 -0
  47. package/dist/Modal/NTSFlow/NordFlow/hooks/useTableValues.js +69 -0
  48. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  49. package/dist/Modal/NTSFlow/NordFlow/hooks/useWaitingMessage.js +89 -0
  50. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  51. package/dist/Modal/NTSFlow/NordFlow/hooks/useWalletConnect.js +132 -0
  52. package/dist/Modal/NTSFlow/NordFlow/index.d.ts +3 -0
  53. package/dist/Modal/NTSFlow/NordFlow/index.js +3 -0
  54. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  55. package/dist/Modal/NTSFlow/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  56. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  57. package/dist/Modal/NTSFlow/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  58. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  59. package/dist/Modal/NTSFlow/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  60. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  61. package/dist/Modal/NTSFlow/NordFlow/screens/04-AmountInputScreen.js +20 -0
  62. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  63. package/dist/Modal/NTSFlow/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  64. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  65. package/dist/Modal/NTSFlow/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  66. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  67. package/dist/Modal/NTSFlow/NordFlow/screens/07-NordAuthScreen.js +14 -0
  68. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  69. package/dist/Modal/NTSFlow/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  70. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  71. package/dist/Modal/NTSFlow/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  72. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  73. package/dist/Modal/NTSFlow/NordFlow/screens/10-ErrorScreen.js +13 -0
  74. package/dist/Modal/NTSFlow/NordFlow/screens/index.d.ts +10 -0
  75. package/dist/Modal/NTSFlow/NordFlow/screens/index.js +10 -0
  76. package/dist/Modal/NTSFlow/NordFlow/types.d.ts +105 -0
  77. package/dist/Modal/NTSFlow/NordFlow/types.js +34 -0
  78. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.d.ts +24 -0
  79. package/dist/Modal/NTSFlow/NordFlow/utils/persistence.js +83 -0
  80. package/dist/Modal/NTSFlow/components/BackButton.d.ts +3 -0
  81. package/dist/Modal/NTSFlow/components/BackButton.js +25 -0
  82. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +1 -0
  83. package/dist/Modal/NTSFlow/components/ModalHeader.js +20 -0
  84. package/dist/Modal/NTSFlow/index.d.ts +1 -0
  85. package/dist/Modal/NTSFlow/index.js +1 -0
  86. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +1 -0
  87. package/dist/Modal/NTSFlow/views/ConnectView.js +68 -0
  88. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +1 -0
  89. package/dist/Modal/NTSFlow/views/CreateSessionView.js +245 -0
  90. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +1 -0
  91. package/dist/Modal/NTSFlow/views/CreateUserView.js +105 -0
  92. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +1 -0
  93. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +42 -0
  94. package/dist/Modal/NTSFlow/views/SigningView.d.ts +1 -0
  95. package/dist/Modal/NTSFlow/views/SigningView.js +5 -0
  96. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +1 -0
  97. package/dist/Modal/NTSFlow/views/SuccessView.js +10 -0
  98. package/dist/Modal/NoWhitelistView.js +1 -1
  99. package/dist/Modal/NordFlow/NordFlow.d.ts +9 -0
  100. package/dist/Modal/NordFlow/NordFlow.js +267 -0
  101. package/dist/Modal/NordFlow/NordFlowWrapper.d.ts +11 -0
  102. package/dist/Modal/NordFlow/NordFlowWrapper.js +11 -0
  103. package/dist/Modal/NordFlow/WalletConnectionFlow.d.ts +9 -0
  104. package/dist/Modal/NordFlow/WalletConnectionFlow.js +145 -0
  105. package/dist/Modal/NordFlow/components/AnimatedButton.d.ts +14 -0
  106. package/dist/Modal/NordFlow/components/AnimatedButton.js +75 -0
  107. package/dist/Modal/NordFlow/components/ChainButton.d.ts +8 -0
  108. package/dist/Modal/NordFlow/components/ChainButton.js +21 -0
  109. package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +8 -0
  110. package/dist/Modal/NordFlow/components/EVMChainsButton.js +18 -0
  111. package/dist/Modal/NordFlow/components/ImageWithFallback.d.ts +17 -0
  112. package/dist/Modal/NordFlow/components/ImageWithFallback.js +32 -0
  113. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +1 -0
  114. package/dist/Modal/NordFlow/components/LoadingSquares.js +5 -0
  115. package/dist/Modal/NordFlow/components/MoreButton.d.ts +8 -0
  116. package/dist/Modal/NordFlow/components/MoreButton.js +18 -0
  117. package/dist/Modal/NordFlow/components/TransactionTable.d.ts +13 -0
  118. package/dist/Modal/NordFlow/components/TransactionTable.js +85 -0
  119. package/dist/Modal/NordFlow/components/WaitingMessage.d.ts +6 -0
  120. package/dist/Modal/NordFlow/components/WaitingMessage.js +6 -0
  121. package/dist/Modal/NordFlow/components/index.d.ts +5 -0
  122. package/dist/Modal/NordFlow/components/index.js +5 -0
  123. package/dist/Modal/NordFlow/constants.d.ts +37 -0
  124. package/dist/Modal/NordFlow/constants.js +192 -0
  125. package/dist/Modal/NordFlow/hoc/index.d.ts +1 -0
  126. package/dist/Modal/NordFlow/hoc/index.js +1 -0
  127. package/dist/Modal/NordFlow/hoc/withImageFallback.d.ts +7 -0
  128. package/dist/Modal/NordFlow/hoc/withImageFallback.js +60 -0
  129. package/dist/Modal/NordFlow/hooks/index.d.ts +5 -0
  130. package/dist/Modal/NordFlow/hooks/index.js +5 -0
  131. package/dist/Modal/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  132. package/dist/Modal/NordFlow/hooks/useButtonTyping.js +43 -0
  133. package/dist/Modal/NordFlow/hooks/useDepositFlow.d.ts +52 -0
  134. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +380 -0
  135. package/dist/Modal/NordFlow/hooks/useFlowState.d.ts +32 -0
  136. package/dist/Modal/NordFlow/hooks/useFlowState.js +167 -0
  137. package/dist/Modal/NordFlow/hooks/useInterruptHandler.d.ts +24 -0
  138. package/dist/Modal/NordFlow/hooks/useInterruptHandler.js +56 -0
  139. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +10 -0
  140. package/dist/Modal/NordFlow/hooks/useNordInstance.js +319 -0
  141. package/dist/Modal/NordFlow/hooks/useNordSession.d.ts +32 -0
  142. package/dist/Modal/NordFlow/hooks/useNordSession.js +391 -0
  143. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +14 -0
  144. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +239 -0
  145. package/dist/Modal/NordFlow/hooks/useTableValues.d.ts +2 -0
  146. package/dist/Modal/NordFlow/hooks/useTableValues.js +69 -0
  147. package/dist/Modal/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  148. package/dist/Modal/NordFlow/hooks/useWaitingMessage.js +89 -0
  149. package/dist/Modal/NordFlow/hooks/useWalletConnect.d.ts +14 -0
  150. package/dist/Modal/NordFlow/hooks/useWalletConnect.js +221 -0
  151. package/dist/Modal/NordFlow/index copy.d.ts +1 -0
  152. package/dist/Modal/NordFlow/index copy.js +1 -0
  153. package/dist/Modal/NordFlow/index.d.ts +1 -0
  154. package/dist/Modal/NordFlow/index.js +1 -0
  155. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  156. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  157. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  158. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  159. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  160. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +63 -0
  161. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +12 -0
  162. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +186 -0
  163. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +6 -0
  164. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +45 -0
  165. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  166. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +121 -0
  167. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +6 -0
  168. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +135 -0
  169. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.d.ts +5 -0
  170. package/dist/Modal/NordFlow/screens/07-NordAuthScreen.js +17 -0
  171. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  172. package/dist/Modal/NordFlow/screens/08-AuthLoadingScreen.js +153 -0
  173. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +5 -0
  174. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +36 -0
  175. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +7 -0
  176. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +67 -0
  177. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  178. package/dist/Modal/NordFlow/screens/09-FinalSuccessScreen.js +47 -0
  179. package/dist/Modal/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  180. package/dist/Modal/NordFlow/screens/10-ErrorScreen.js +62 -0
  181. package/dist/Modal/NordFlow/screens/index.d.ts +9 -0
  182. package/dist/Modal/NordFlow/screens/index.js +9 -0
  183. package/dist/Modal/NordFlow/types.d.ts +110 -0
  184. package/dist/Modal/NordFlow/types.js +32 -0
  185. package/dist/Modal/NordFlow/utils/imageUtils.d.ts +21 -0
  186. package/dist/Modal/NordFlow/utils/imageUtils.js +109 -0
  187. package/dist/Modal/NordFlow/utils/index.d.ts +3 -0
  188. package/dist/Modal/NordFlow/utils/index.js +3 -0
  189. package/dist/Modal/NordFlow/utils/nordUtils.d.ts +40 -0
  190. package/dist/Modal/NordFlow/utils/nordUtils.js +63 -0
  191. package/dist/Modal/NordFlow/utils/persistence.d.ts +24 -0
  192. package/dist/Modal/NordFlow/utils/persistence.js +83 -0
  193. package/dist/Modal/Sidebar/N1Sidebar.js +38 -18
  194. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.d.ts +1 -0
  195. package/dist/Modal/Sidebar/NordTradingView/AccountSummary/AccountSummary.js +116 -0
  196. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +7 -0
  197. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +86 -0
  198. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +6 -0
  199. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +42 -0
  200. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +7 -0
  201. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +15 -0
  202. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +1 -0
  203. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +54 -0
  204. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts +5 -0
  205. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +208 -0
  206. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +10 -0
  207. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +61 -0
  208. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +7 -0
  209. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +29 -0
  210. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +11 -0
  211. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +21 -0
  212. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +7 -0
  213. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +19 -0
  214. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +7 -0
  215. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +23 -0
  216. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +7 -0
  217. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +79 -0
  218. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +9 -0
  219. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +109 -0
  220. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +7 -0
  221. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +29 -0
  222. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +9 -0
  223. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +39 -0
  224. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +7 -0
  225. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +9 -0
  226. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +8 -0
  227. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +259 -0
  228. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.d.ts +5 -0
  229. package/dist/Modal/Sidebar/NordTradingView/TradeHistory/TradeHistory.js +138 -0
  230. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +1 -0
  231. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +108 -0
  232. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +1 -0
  233. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +182 -0
  234. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +1 -0
  235. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +195 -0
  236. package/dist/NordFlow/WalletConnectionFlow.d.ts +9 -0
  237. package/dist/NordFlow/WalletConnectionFlow.js +145 -0
  238. package/dist/NordFlow/components/AnimatedButton.d.ts +14 -0
  239. package/dist/NordFlow/components/AnimatedButton.js +75 -0
  240. package/dist/NordFlow/components/ChainButton.d.ts +7 -0
  241. package/dist/NordFlow/components/ChainButton.js +5 -0
  242. package/dist/NordFlow/components/LoadingSquares.d.ts +1 -0
  243. package/dist/NordFlow/components/LoadingSquares.js +5 -0
  244. package/dist/NordFlow/components/TransactionTable.d.ts +13 -0
  245. package/dist/NordFlow/components/TransactionTable.js +58 -0
  246. package/dist/NordFlow/components/WaitingMessage.d.ts +6 -0
  247. package/dist/NordFlow/components/WaitingMessage.js +6 -0
  248. package/dist/NordFlow/components/index.d.ts +5 -0
  249. package/dist/NordFlow/components/index.js +5 -0
  250. package/dist/NordFlow/constants.d.ts +37 -0
  251. package/dist/NordFlow/constants.js +223 -0
  252. package/dist/NordFlow/hooks/index.d.ts +8 -0
  253. package/dist/NordFlow/hooks/index.js +8 -0
  254. package/dist/NordFlow/hooks/useButtonTyping.d.ts +7 -0
  255. package/dist/NordFlow/hooks/useButtonTyping.js +43 -0
  256. package/dist/NordFlow/hooks/useDepositFlow.d.ts +38 -0
  257. package/dist/NordFlow/hooks/useDepositFlow.js +166 -0
  258. package/dist/NordFlow/hooks/useFlowState.d.ts +32 -0
  259. package/dist/NordFlow/hooks/useFlowState.js +163 -0
  260. package/dist/NordFlow/hooks/useInterruptHandler.d.ts +27 -0
  261. package/dist/NordFlow/hooks/useInterruptHandler.js +101 -0
  262. package/dist/NordFlow/hooks/useNordSession.d.ts +32 -0
  263. package/dist/NordFlow/hooks/useNordSession.js +193 -0
  264. package/dist/NordFlow/hooks/useTableValues.d.ts +2 -0
  265. package/dist/NordFlow/hooks/useTableValues.js +69 -0
  266. package/dist/NordFlow/hooks/useWaitingMessage.d.ts +6 -0
  267. package/dist/NordFlow/hooks/useWaitingMessage.js +89 -0
  268. package/dist/NordFlow/hooks/useWalletConnect.d.ts +30 -0
  269. package/dist/NordFlow/hooks/useWalletConnect.js +132 -0
  270. package/dist/NordFlow/index.d.ts +3 -0
  271. package/dist/NordFlow/index.js +3 -0
  272. package/dist/NordFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  273. package/dist/NordFlow/screens/01-ConnectWalletScreen.js +17 -0
  274. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  275. package/dist/NordFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  276. package/dist/NordFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  277. package/dist/NordFlow/screens/03-ChainSelectionScreen.js +7 -0
  278. package/dist/NordFlow/screens/04-AmountInputScreen.d.ts +8 -0
  279. package/dist/NordFlow/screens/04-AmountInputScreen.js +20 -0
  280. package/dist/NordFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  281. package/dist/NordFlow/screens/05-DepositProgressScreen.js +6 -0
  282. package/dist/NordFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  283. package/dist/NordFlow/screens/06-DepositSuccessScreen.js +99 -0
  284. package/dist/NordFlow/screens/07-NordAuthScreen.d.ts +7 -0
  285. package/dist/NordFlow/screens/07-NordAuthScreen.js +14 -0
  286. package/dist/NordFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  287. package/dist/NordFlow/screens/08-AuthLoadingScreen.js +20 -0
  288. package/dist/NordFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  289. package/dist/NordFlow/screens/09-FinalSuccessScreen.js +18 -0
  290. package/dist/NordFlow/screens/10-ErrorScreen.d.ts +7 -0
  291. package/dist/NordFlow/screens/10-ErrorScreen.js +13 -0
  292. package/dist/NordFlow/screens/index.d.ts +10 -0
  293. package/dist/NordFlow/screens/index.js +10 -0
  294. package/dist/NordFlow/types.d.ts +105 -0
  295. package/dist/NordFlow/types.js +34 -0
  296. package/dist/NordFlow/utils/persistence.d.ts +24 -0
  297. package/dist/NordFlow/utils/persistence.js +83 -0
  298. package/dist/Provider/LazyWalletProvider.js +81 -42
  299. package/dist/Provider/N1WalletProvider.d.ts +1 -1
  300. package/dist/Provider/N1WalletProvider.js +65 -46
  301. package/dist/Provider/types.d.ts +61 -0
  302. package/dist/WalletConnectionFlow/WalletConnectionFlow.d.ts +9 -0
  303. package/dist/WalletConnectionFlow/WalletConnectionFlow.js +145 -0
  304. package/dist/WalletConnectionFlow/components/AnimatedButton.d.ts +14 -0
  305. package/dist/WalletConnectionFlow/components/AnimatedButton.js +75 -0
  306. package/dist/WalletConnectionFlow/components/ChainButton.d.ts +7 -0
  307. package/dist/WalletConnectionFlow/components/ChainButton.js +5 -0
  308. package/dist/WalletConnectionFlow/components/LoadingSquares.d.ts +1 -0
  309. package/dist/WalletConnectionFlow/components/LoadingSquares.js +5 -0
  310. package/dist/WalletConnectionFlow/components/TransactionTable.d.ts +13 -0
  311. package/dist/WalletConnectionFlow/components/TransactionTable.js +58 -0
  312. package/dist/WalletConnectionFlow/components/WaitingMessage.d.ts +6 -0
  313. package/dist/WalletConnectionFlow/components/WaitingMessage.js +6 -0
  314. package/dist/WalletConnectionFlow/components/index.d.ts +5 -0
  315. package/dist/WalletConnectionFlow/components/index.js +5 -0
  316. package/dist/WalletConnectionFlow/constants.d.ts +37 -0
  317. package/dist/WalletConnectionFlow/constants.js +223 -0
  318. package/dist/WalletConnectionFlow/hooks/index.d.ts +8 -0
  319. package/dist/WalletConnectionFlow/hooks/index.js +8 -0
  320. package/dist/WalletConnectionFlow/hooks/useButtonTyping.d.ts +7 -0
  321. package/dist/WalletConnectionFlow/hooks/useButtonTyping.js +43 -0
  322. package/dist/WalletConnectionFlow/hooks/useDepositFlow.d.ts +38 -0
  323. package/dist/WalletConnectionFlow/hooks/useDepositFlow.js +166 -0
  324. package/dist/WalletConnectionFlow/hooks/useFlowState.d.ts +32 -0
  325. package/dist/WalletConnectionFlow/hooks/useFlowState.js +163 -0
  326. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.d.ts +27 -0
  327. package/dist/WalletConnectionFlow/hooks/useInterruptHandler.js +101 -0
  328. package/dist/WalletConnectionFlow/hooks/useNordSession.d.ts +32 -0
  329. package/dist/WalletConnectionFlow/hooks/useNordSession.js +193 -0
  330. package/dist/WalletConnectionFlow/hooks/useTableValues.d.ts +2 -0
  331. package/dist/WalletConnectionFlow/hooks/useTableValues.js +69 -0
  332. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.d.ts +6 -0
  333. package/dist/WalletConnectionFlow/hooks/useWaitingMessage.js +89 -0
  334. package/dist/WalletConnectionFlow/hooks/useWalletConnect.d.ts +30 -0
  335. package/dist/WalletConnectionFlow/hooks/useWalletConnect.js +132 -0
  336. package/dist/WalletConnectionFlow/index.d.ts +3 -0
  337. package/dist/WalletConnectionFlow/index.js +3 -0
  338. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.d.ts +6 -0
  339. package/dist/WalletConnectionFlow/screens/01-ConnectWalletScreen.js +17 -0
  340. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.d.ts +6 -0
  341. package/dist/WalletConnectionFlow/screens/02-EvmWalletAuthScreen.js +47 -0
  342. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.d.ts +7 -0
  343. package/dist/WalletConnectionFlow/screens/03-ChainSelectionScreen.js +7 -0
  344. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.d.ts +8 -0
  345. package/dist/WalletConnectionFlow/screens/04-AmountInputScreen.js +20 -0
  346. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.d.ts +7 -0
  347. package/dist/WalletConnectionFlow/screens/05-DepositProgressScreen.js +6 -0
  348. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.d.ts +8 -0
  349. package/dist/WalletConnectionFlow/screens/06-DepositSuccessScreen.js +99 -0
  350. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.d.ts +7 -0
  351. package/dist/WalletConnectionFlow/screens/07-NordAuthScreen.js +14 -0
  352. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.d.ts +6 -0
  353. package/dist/WalletConnectionFlow/screens/08-AuthLoadingScreen.js +20 -0
  354. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.d.ts +5 -0
  355. package/dist/WalletConnectionFlow/screens/09-FinalSuccessScreen.js +18 -0
  356. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.d.ts +7 -0
  357. package/dist/WalletConnectionFlow/screens/10-ErrorScreen.js +13 -0
  358. package/dist/WalletConnectionFlow/screens/AmountInputScreen.d.ts +8 -0
  359. package/dist/WalletConnectionFlow/screens/AmountInputScreen.js +20 -0
  360. package/dist/WalletConnectionFlow/screens/AppsTableScreen.d.ts +8 -0
  361. package/dist/WalletConnectionFlow/screens/AppsTableScreen.js +28 -0
  362. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.d.ts +6 -0
  363. package/dist/WalletConnectionFlow/screens/AuthLoadingScreen.js +20 -0
  364. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.d.ts +7 -0
  365. package/dist/WalletConnectionFlow/screens/ChainSelectionScreen.js +7 -0
  366. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.d.ts +6 -0
  367. package/dist/WalletConnectionFlow/screens/ConnectWalletScreen.js +17 -0
  368. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.d.ts +7 -0
  369. package/dist/WalletConnectionFlow/screens/DepositProgressScreen.js +6 -0
  370. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.d.ts +8 -0
  371. package/dist/WalletConnectionFlow/screens/DepositSuccessScreen.js +99 -0
  372. package/dist/WalletConnectionFlow/screens/ErrorScreen.d.ts +7 -0
  373. package/dist/WalletConnectionFlow/screens/ErrorScreen.js +13 -0
  374. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.d.ts +6 -0
  375. package/dist/WalletConnectionFlow/screens/EthToSolAuthScreen.js +47 -0
  376. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.d.ts +6 -0
  377. package/dist/WalletConnectionFlow/screens/EvmWalletAuthScreen.js +47 -0
  378. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.d.ts +5 -0
  379. package/dist/WalletConnectionFlow/screens/FinalSuccessScreen.js +18 -0
  380. package/dist/WalletConnectionFlow/screens/NordAuthScreen.d.ts +7 -0
  381. package/dist/WalletConnectionFlow/screens/NordAuthScreen.js +14 -0
  382. package/dist/WalletConnectionFlow/screens/SigningScreen.d.ts +6 -0
  383. package/dist/WalletConnectionFlow/screens/SigningScreen.js +6 -0
  384. package/dist/WalletConnectionFlow/screens/index.d.ts +10 -0
  385. package/dist/WalletConnectionFlow/screens/index.js +10 -0
  386. package/dist/WalletConnectionFlow/types.d.ts +105 -0
  387. package/dist/WalletConnectionFlow/types.js +34 -0
  388. package/dist/WalletConnectionFlow/utils/persistence.d.ts +24 -0
  389. package/dist/WalletConnectionFlow/utils/persistence.js +83 -0
  390. package/dist/components/WalletDeposit/components/TransactionTable.d.ts +9 -2
  391. package/dist/components/WalletDeposit/components/TransactionTable.js +55 -5
  392. package/dist/components/WalletDeposit/types.d.ts +5 -0
  393. package/dist/components/logos/ArbitrumLogo.d.ts +8 -0
  394. package/dist/components/logos/ArbitrumLogo.js +5 -0
  395. package/dist/components/logos/BaseLogo.d.ts +8 -0
  396. package/dist/components/logos/BaseLogo.js +5 -0
  397. package/dist/components/logos/BeraLogo.d.ts +8 -0
  398. package/dist/components/logos/BeraLogo.js +5 -0
  399. package/dist/components/logos/BitcoinLogo.d.ts +8 -0
  400. package/dist/components/logos/BitcoinLogo.js +5 -0
  401. package/dist/components/logos/EVMChainsGroup.d.ts +7 -0
  402. package/dist/components/logos/EVMChainsGroup.js +18 -0
  403. package/dist/components/logos/EthereumLogo.d.ts +8 -0
  404. package/dist/components/logos/EthereumLogo.js +5 -0
  405. package/dist/components/logos/HyperliquidLogo.d.ts +8 -0
  406. package/dist/components/logos/HyperliquidLogo.js +5 -0
  407. package/dist/components/logos/MoreChainsGroup.d.ts +7 -0
  408. package/dist/components/logos/MoreChainsGroup.js +18 -0
  409. package/dist/components/logos/OptimismLogo.d.ts +8 -0
  410. package/dist/components/logos/OptimismLogo.js +5 -0
  411. package/dist/components/logos/SolanaLogo.d.ts +8 -0
  412. package/dist/components/logos/SolanaLogo.js +5 -0
  413. package/dist/components/logos/index.d.ts +10 -0
  414. package/dist/components/logos/index.js +10 -0
  415. package/dist/config/dynamic.d.ts +20 -0
  416. package/dist/config/dynamic.js +47 -0
  417. package/dist/config/solana.d.ts +25 -0
  418. package/dist/config/solana.js +41 -0
  419. package/dist/errors/types.d.ts +5 -1
  420. package/dist/errors/types.js +12 -0
  421. package/dist/hooks/useSolanaSession.d.ts +17 -0
  422. package/dist/hooks/useSolanaSession.js +180 -0
  423. package/dist/index.d.ts +1 -2
  424. package/dist/index.js +1 -2
  425. package/dist/main.css +1 -1
  426. package/dist/utils/solana-session.d.ts +84 -0
  427. package/dist/utils/solana-session.js +230 -0
  428. package/package.json +14 -11
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { ANIMATION_EASE, MAX_DEPOSIT, MIN_DEPOSIT } from '../constants';
4
+ export function AmountInputScreen(_a) {
5
+ var amount = _a.amount, onAmountChange = _a.onAmountChange, onContinue = _a.onContinue, balance = _a.balance;
6
+ var _b = useState(false), isHovered = _b[0], setIsHovered = _b[1];
7
+ var handleAmountChange = function (e) {
8
+ var value = e.target.value;
9
+ if (/^\d*\.?\d*$/.test(value)) {
10
+ onAmountChange(value);
11
+ }
12
+ };
13
+ var isValidAmount = amount !== '' &&
14
+ Number(amount) >= MIN_DEPOSIT &&
15
+ Number(amount) <= MAX_DEPOSIT &&
16
+ Number(amount) <= balance;
17
+ return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsx("h2", { className: "text-xl text-gray-800 dark:text-white font-semibold mb-6 text-center", children: "Enter Amount" }), _jsxs("div", { className: "space-y-8", children: [_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("span", { className: "text-sm text-gray-500 dark:text-neutral-400", children: "Amount" }), _jsxs("span", { className: "text-sm text-gray-500 dark:text-neutral-400", children: ["Balance: ", balance, " USDC"] })] }), _jsxs("div", { className: "relative", children: [_jsx("input", { type: "text", defaultValue: amount, onChange: handleAmountChange, placeholder: "0.00", className: "w-full bg-white dark:bg-neutral-950 border-2 border-gray-100 dark:border-neutral-800 rounded-md px-4 py-3 text-gray-900 dark:text-white placeholder-gray-400 dark:placeholder-neutral-500 focus:outline-none focus:ring-0 focus:border-main dark:focus:border-main transition-colors duration-200" }), _jsxs("div", { className: "absolute right-4 top-1/2 -translate-y-1/2 flex items-center gap-2", children: [_jsx("img", { src: "/images/tokens/usdc.svg", width: 20, height: 20, alt: "USDC" }), _jsx("span", { className: "text-gray-400 dark:text-neutral-500", children: "USDC" })] })] }), _jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("span", { className: "text-xs text-gray-400 dark:text-neutral-500", children: ["Min: ", MIN_DEPOSIT, " USDC"] }), _jsxs("span", { className: "text-xs text-gray-400 dark:text-neutral-500", children: ["Max: ", MAX_DEPOSIT, " USDC"] })] })] }), _jsx("button", { onClick: onContinue, disabled: !isValidAmount, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n ").concat(!isValidAmount ? 'opacity-50 cursor-not-allowed hover:border-gray-200 dark:hover:border-gray-800' : '', "\n "), style: {
18
+ transform: isHovered && isValidAmount ? 'scale(0.99)' : 'scale(1)',
19
+ }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white\n ").concat(!isValidAmount ? 'group-hover:text-gray-700 dark:group-hover:text-gray-300' : '', "\n "), children: "Continue" }) })] })] }));
20
+ }
@@ -0,0 +1,7 @@
1
+ import { WaitingMessageState } from '../types';
2
+ interface DepositProgressScreenProps {
3
+ message: WaitingMessageState;
4
+ percentComplete?: number;
5
+ }
6
+ export declare function DepositProgressScreen({ message }: DepositProgressScreenProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { WaitingMessage } from '../components/WaitingMessage';
3
+ export function DepositProgressScreen(_a) {
4
+ var message = _a.message;
5
+ return (_jsx("div", { className: "overflow-hidden relative", children: _jsx(WaitingMessage, { message: message }) }));
6
+ }
@@ -0,0 +1,8 @@
1
+ import { TableValues } from '../types';
2
+ interface DepositSuccessScreenProps {
3
+ amount: string;
4
+ tableValues: TableValues;
5
+ onContinue: () => void;
6
+ }
7
+ export declare function DepositSuccessScreen({ amount, tableValues, onContinue, }: DepositSuccessScreenProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,99 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { useEffect, useState } from 'react';
14
+ import { TransactionTable } from '../components/TransactionTable';
15
+ import { ANIMATION_EASE, TYPING_INTERVAL } from '../constants';
16
+ export function DepositSuccessScreen(_a) {
17
+ var amount = _a.amount, tableValues = _a.tableValues, onContinue = _a.onContinue;
18
+ var _b = useState(false), isHovered = _b[0], setIsHovered = _b[1];
19
+ var _c = useState(false), showDetails = _c[0], setShowDetails = _c[1];
20
+ var _d = useState({
21
+ amount: { text: '', visible: false, typing: false },
22
+ tx: { text: '', visible: false, typing: false },
23
+ from: { text: '', visible: false, typing: false },
24
+ to: { text: '', visible: false, typing: false },
25
+ network: { text: '', visible: false, typing: false },
26
+ status: { text: '', visible: false, typing: false },
27
+ }), animatedTableValues = _d[0], setAnimatedTableValues = _d[1];
28
+ // Add state to track if the button should be enabled
29
+ var _e = useState(false), isContinueEnabled = _e[0], setIsContinueEnabled = _e[1];
30
+ // Add state to show a message about waiting
31
+ var _f = useState(true), showWaitingMessage = _f[0], setShowWaitingMessage = _f[1];
32
+ // Add animation to table values
33
+ useEffect(function () {
34
+ if (!showDetails)
35
+ return;
36
+ // Extract the text values from the tableValues
37
+ var values = {
38
+ amount: "".concat(Number(amount).toLocaleString(), " USDC"),
39
+ tx: tableValues.tx.text,
40
+ from: tableValues.from.text,
41
+ to: tableValues.to.text,
42
+ network: tableValues.network.text,
43
+ status: tableValues.status.text,
44
+ };
45
+ // Animate each field with typing effect
46
+ Object.entries(values).forEach(function (_a, index) {
47
+ var key = _a[0], value = _a[1];
48
+ setTimeout(function () {
49
+ // Make the field visible first
50
+ setAnimatedTableValues(function (prev) {
51
+ var _a;
52
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = __assign(__assign({}, prev[key]), { visible: true, typing: true }), _a)));
53
+ });
54
+ var textIndex = 0;
55
+ // Type out each character with the typing animation
56
+ var interval = setInterval(function () {
57
+ if (textIndex <= value.length) {
58
+ setAnimatedTableValues(function (prev) {
59
+ var _a;
60
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = {
61
+ text: value.slice(0, textIndex),
62
+ visible: true,
63
+ typing: textIndex < value.length,
64
+ }, _a)));
65
+ });
66
+ textIndex++;
67
+ }
68
+ else {
69
+ clearInterval(interval);
70
+ setAnimatedTableValues(function (prev) {
71
+ var _a;
72
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = {
73
+ text: value,
74
+ visible: true,
75
+ typing: false,
76
+ }, _a)));
77
+ });
78
+ }
79
+ }, TYPING_INTERVAL);
80
+ }, index * 300); // Slightly faster staggering for better UX
81
+ });
82
+ }, [tableValues, showDetails, amount]);
83
+ // Enable the continue button after a minimum viewing time
84
+ useEffect(function () {
85
+ var enableTimer = setTimeout(function () {
86
+ setIsContinueEnabled(true);
87
+ setShowWaitingMessage(false);
88
+ }, 4000);
89
+ return function () { return clearTimeout(enableTimer); };
90
+ }, []);
91
+ var toggleDetails = function () {
92
+ setShowDetails(function (prev) { return !prev; });
93
+ };
94
+ return (_jsx("div", { className: "relative w-full px-4", children: _jsx("div", { className: "flex flex-col space-y-6", children: _jsxs("div", { className: "w-full", children: [_jsx("div", { className: "relative w-full px-3 py-3 flex items-center justify-center transition-all duration-300 ".concat(ANIMATION_EASE, " ").concat(showDetails ? 'opacity-0 max-h-0' : 'opacity-100 max-h-[200px]'), children: _jsxs("div", { className: "relative w-full px-5 py-8 transition-all duration-300 ".concat(ANIMATION_EASE, " ").concat(showDetails ? 'max-h-0 overflow-hidden' : 'max-h-[200px]'), children: [_jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -left-2 rounded-sm" }), _jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -top-2 -right-2 rounded-sm" }), _jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -left-2 rounded-sm" }), _jsx("div", { className: "w-2 h-2 bg-green-200 dark:bg-emerald-800 absolute -bottom-2 -right-2 rounded-sm" }), _jsxs("p", { className: "text-5xl md:text-7xl tracking-tight text-green-500/80 dark:text-emerald-500/80 font-medium pt-4 underline text-center animate-fade-up", style: { animationDelay: '0.3s' }, children: ["+", Number(amount).toLocaleString(), _jsx("span", { className: "text-xl md:text-2xl text-green-500/50 dark:text-emerald-500/50 ml-2", children: "USDC" })] }), _jsx("div", { className: "absolute bottom-0 left-0 right-0 flex justify-center -mb-3", children: _jsxs("button", { onClick: toggleDetails, className: "\n group flex items-center space-x-1 px-3 py-1 text-xs font-medium \n transition-colors duration-200 focus:outline-none\n ".concat(showDetails
95
+ ? 'text-green-600 dark:text-emerald-400 hover:text-green-700 dark:hover:text-emerald-300'
96
+ : 'text-gray-500 dark:text-gray-400 hover:text-green-600 dark:hover:text-emerald-400', "\n "), children: [_jsx("span", { children: "View details" }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", className: "h-3 w-3 transition-transform duration-200", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M19 9l-7 7-7-7" }) })] }) })] }) }), _jsx("div", { className: "transition-all duration-300 ease-in-out overflow-hidden ".concat(showDetails ? 'max-h-[500px] opacity-100 -mt-4' : 'max-h-0 opacity-0'), children: _jsx(TransactionTable, { tableValues: animatedTableValues, onClose: toggleDetails }) }), _jsxs("div", { className: "mt-6", children: [showWaitingMessage && (_jsx("p", { className: "text-sm text-gray-600 dark:text-neutral-400 text-center mb-2 animate-pulse", children: "Please wait a moment..." })), _jsx("button", { onClick: isContinueEnabled ? onContinue : undefined, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n ").concat(!isContinueEnabled ? 'opacity-50 cursor-not-allowed' : '', "\n "), style: {
97
+ transform: isHovered && isContinueEnabled ? 'scale(0.99)' : 'scale(1)',
98
+ }, disabled: !isContinueEnabled, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white\n "), children: "Continue" }) })] })] }) }) }));
99
+ }
@@ -0,0 +1,7 @@
1
+ interface NordAuthScreenProps {
2
+ onCreateAccount: () => void;
3
+ onLogin: () => void;
4
+ hasNordAccount: boolean;
5
+ }
6
+ export declare function NordAuthScreen({ onCreateAccount, onLogin, hasNordAccount, }: NordAuthScreenProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { ANIMATION_EASE } from '../constants';
4
+ export function NordAuthScreen(_a) {
5
+ var onCreateAccount = _a.onCreateAccount, onLogin = _a.onLogin, hasNordAccount = _a.hasNordAccount;
6
+ var _b = useState(null), isHovered = _b[0], setIsHovered = _b[1];
7
+ return (_jsxs("div", { className: "overflow-hidden relative", children: [_jsx("h2", { className: "text-xl text-gray-800 dark:text-white font-semibold mb-2 text-center", children: hasNordAccount ? 'Continue to Nord' : 'Create Nord Account' }), _jsx("p", { className: "text-sm text-gray-600 dark:text-neutral-400 text-center mb-8", children: hasNordAccount
8
+ ? 'Log in to your Nord account to continue'
9
+ : 'Create a Nord account to manage your deposits' }), _jsxs("div", { className: "space-y-4", children: [!hasNordAccount && (_jsx("button", { onClick: onCreateAccount, onMouseEnter: function () { return setIsHovered('create'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n "), style: {
10
+ transform: isHovered === 'create' ? 'scale(0.99)' : 'scale(1)',
11
+ }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white\n "), children: "Create Account" }) })), hasNordAccount && (_jsx("button", { onClick: onLogin, onMouseEnter: function () { return setIsHovered('login'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n "), style: {
12
+ transform: isHovered === 'login' ? 'scale(0.99)' : 'scale(1)',
13
+ }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white\n "), children: "Log In" }) }))] })] }));
14
+ }
@@ -0,0 +1,6 @@
1
+ interface AuthLoadingScreenProps {
2
+ isCreatingAccount?: boolean;
3
+ onAuthComplete?: (success: boolean) => void;
4
+ }
5
+ export declare function AuthLoadingScreen({ isCreatingAccount, onAuthComplete }: AuthLoadingScreenProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect } from 'react';
3
+ import { LoadingSquares } from '../components/LoadingSquares';
4
+ export function AuthLoadingScreen(_a) {
5
+ var _b = _a.isCreatingAccount, isCreatingAccount = _b === void 0 ? false : _b, onAuthComplete = _a.onAuthComplete;
6
+ useEffect(function () {
7
+ // Simulate authentication completion after 5 seconds (increased from 2 seconds)
8
+ // to give users more time to read transaction details
9
+ var timer = setTimeout(function () {
10
+ if (onAuthComplete) {
11
+ console.log('Auth completed, calling onAuthComplete callback');
12
+ onAuthComplete(true); // Authentication was successful
13
+ }
14
+ }, 5000);
15
+ return function () { return clearTimeout(timer); };
16
+ }, [onAuthComplete]);
17
+ return (_jsxs("div", { className: "flex flex-col items-center justify-center py-12 space-y-6", children: [_jsx(LoadingSquares, {}), _jsxs("div", { className: "space-y-2 text-center w-[300px]", children: [_jsx("h3", { className: "text-xl text-gray-800 dark:text-white font-semibold", children: isCreatingAccount ? 'Creating Account' : 'Authenticating' }), _jsx("p", { className: "text-sm text-gray-600 dark:text-neutral-400", children: isCreatingAccount
18
+ ? 'Please wait while we create your Nord account'
19
+ : 'Please wait while we log you in to your Nord account' })] })] }));
20
+ }
@@ -0,0 +1,5 @@
1
+ interface FinalSuccessScreenProps {
2
+ onDone: () => void;
3
+ }
4
+ export declare function FinalSuccessScreen({ onDone, }: FinalSuccessScreenProps): import("react/jsx-runtime").JSX.Element;
5
+ export {};
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { ANIMATION_EASE } from '../constants';
4
+ export function FinalSuccessScreen(_a) {
5
+ var onDone = _a.onDone;
6
+ var _b = useState(false), isHovered = _b[0], setIsHovered = _b[1];
7
+ var _c = useState(false), isButtonEnabled = _c[0], setIsButtonEnabled = _c[1];
8
+ // Add a minimum viewing time before enabling the button
9
+ useEffect(function () {
10
+ var timer = setTimeout(function () {
11
+ setIsButtonEnabled(true);
12
+ }, 3000); // 3 seconds minimum viewing time
13
+ return function () { return clearTimeout(timer); };
14
+ }, []);
15
+ return (_jsx("div", { className: "overflow-hidden relative", children: _jsxs("div", { className: "space-y-8", children: [_jsxs("div", { className: "flex flex-col items-center justify-center pt-4", children: [_jsx("div", { className: "mb-6", children: _jsx("div", { className: "w-20 h-20 rounded-full bg-green-100 dark:bg-green-900/30 flex items-center justify-center", children: _jsx("svg", { className: "w-10 h-10 text-green-500 dark:text-green-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M5 13l4 4L19 7" }) }) }) }), _jsx("h2", { className: "text-2xl text-gray-800 dark:text-white font-semibold mb-2 text-center", children: "Authentication Successful!" }), _jsx("p", { className: "text-lg text-gray-700 dark:text-neutral-300 text-center", children: "Your wallet has been successfully connected" })] }), _jsx("button", { onClick: isButtonEnabled ? onDone : undefined, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () { return setIsHovered(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n ").concat(!isButtonEnabled ? 'opacity-50 cursor-not-allowed' : '', "\n "), style: {
16
+ transform: isHovered && isButtonEnabled ? 'scale(0.99)' : 'scale(1)',
17
+ }, disabled: !isButtonEnabled, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white\n "), children: isButtonEnabled ? 'Open App' : 'Please wait...' }) })] }) }));
18
+ }
@@ -0,0 +1,7 @@
1
+ interface ErrorScreenProps {
2
+ onRetry: () => void;
3
+ onCancel: () => void;
4
+ error: Error | null;
5
+ }
6
+ export declare function ErrorScreen({ onRetry, onCancel, error, }: ErrorScreenProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { ANIMATION_EASE } from '../constants';
4
+ export function ErrorScreen(_a) {
5
+ var onRetry = _a.onRetry, onCancel = _a.onCancel, error = _a.error;
6
+ var _b = useState(null), isHovered = _b[0], setIsHovered = _b[1];
7
+ var errorMessage = (error === null || error === void 0 ? void 0 : error.message) || 'An unexpected error occurred';
8
+ return (_jsx("div", { className: "overflow-hidden relative", children: _jsxs("div", { className: "space-y-6", children: [_jsxs("div", { className: "flex flex-col items-center justify-center py-4", children: [_jsx("div", { className: "mb-6", children: _jsx("div", { className: "w-20 h-20 rounded-full bg-red-100 dark:bg-red-900/30 flex items-center justify-center", children: _jsx("svg", { className: "w-10 h-10 text-red-500 dark:text-red-400", fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2", d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" }) }) }) }), _jsx("h2", { className: "text-xl text-gray-800 dark:text-white font-semibold mb-2 text-center", children: "Something went wrong" }), _jsx("p", { className: "text-sm text-gray-600 dark:text-neutral-400 text-center mb-6 max-w-xs", children: errorMessage })] }), _jsxs("div", { className: "space-y-3", children: [_jsx("button", { onClick: onRetry, onMouseEnter: function () { return setIsHovered('retry'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n "), style: {
9
+ transform: isHovered === 'retry' ? 'scale(0.99)' : 'scale(1)',
10
+ }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-700 dark:text-gray-300 group-hover:text-gray-900 dark:group-hover:text-white\n "), children: "Try Again" }) }), _jsx("button", { onClick: onCancel, onMouseEnter: function () { return setIsHovered('cancel'); }, onMouseLeave: function () { return setIsHovered(null); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 border-gray-200 dark:border-gray-800 bg-white dark:bg-neutral-900 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer hover:bg-gray-50 dark:hover:bg-neutral-950\n "), style: {
11
+ transform: isHovered === 'cancel' ? 'scale(0.99)' : 'scale(1)',
12
+ }, children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-500 dark:text-gray-400 group-hover:text-gray-700 dark:group-hover:text-gray-300\n "), children: "Cancel" }) })] })] }) }));
13
+ }
@@ -0,0 +1,10 @@
1
+ export * from './01-ConnectWalletScreen';
2
+ export * from './02-EvmWalletAuthScreen';
3
+ export * from './03-ChainSelectionScreen';
4
+ export * from './04-AmountInputScreen';
5
+ export * from './05-DepositProgressScreen';
6
+ export * from './06-DepositSuccessScreen';
7
+ export * from './07-NordAuthScreen';
8
+ export * from './08-AuthLoadingScreen';
9
+ export * from './09-FinalSuccessScreen';
10
+ export * from './10-ErrorScreen';
@@ -0,0 +1,10 @@
1
+ export * from './01-ConnectWalletScreen';
2
+ export * from './02-EvmWalletAuthScreen';
3
+ export * from './03-ChainSelectionScreen';
4
+ export * from './04-AmountInputScreen';
5
+ export * from './05-DepositProgressScreen';
6
+ export * from './06-DepositSuccessScreen';
7
+ export * from './07-NordAuthScreen';
8
+ export * from './08-AuthLoadingScreen';
9
+ export * from './09-FinalSuccessScreen';
10
+ export * from './10-ErrorScreen';
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Types for the wallet connection flow state machine
3
+ */
4
+ /**
5
+ * Enum representing all possible states in the wallet connection flow
6
+ */
7
+ export declare enum FlowState {
8
+ IDLE = "IDLE",
9
+ CONNECTING_WALLET = "CONNECTING_WALLET",
10
+ WALLET_CONNECTED = "WALLET_CONNECTED",
11
+ ETH_TO_SOL_AUTH = "ETH_TO_SOL_AUTH",
12
+ CHAIN_SELECTION = "CHAIN_SELECTION",
13
+ AMOUNT_INPUT = "AMOUNT_INPUT",
14
+ DEPOSIT_PROGRESS = "DEPOSIT_PROGRESS",
15
+ DEPOSIT_SUCCESS = "DEPOSIT_SUCCESS",
16
+ NORD_AUTH = "NORD_AUTH",
17
+ AUTH_LOADING = "AUTH_LOADING",
18
+ FINAL_SUCCESS = "FINAL_SUCCESS",
19
+ ERROR = "ERROR"
20
+ }
21
+ /**
22
+ * Interface representing the flow context, containing all data necessary
23
+ * for the wallet connection flow
24
+ */
25
+ export interface FlowContext {
26
+ walletType: 'solana' | 'ethereum' | null;
27
+ hasNordAccount: boolean;
28
+ hasActiveSession: boolean;
29
+ selectedChain: string | null;
30
+ amount: string;
31
+ transactionId: string | null;
32
+ error: Error | null;
33
+ lastInterruption: {
34
+ timestamp: number;
35
+ state: FlowState;
36
+ context: Partial<FlowContext>;
37
+ } | null;
38
+ }
39
+ /**
40
+ * Interface for state transitions in the flow
41
+ */
42
+ export interface StateTransition {
43
+ from: FlowState | FlowState[];
44
+ to: FlowState;
45
+ condition?: (context: FlowContext) => boolean;
46
+ }
47
+ /**
48
+ * Initial flow context with default values
49
+ */
50
+ export declare const initialFlowContext: FlowContext;
51
+ export interface TableValues {
52
+ amount?: {
53
+ text: string;
54
+ visible: boolean;
55
+ typing: boolean;
56
+ };
57
+ tx: {
58
+ text: string;
59
+ visible: boolean;
60
+ typing: boolean;
61
+ };
62
+ from: {
63
+ text: string;
64
+ visible: boolean;
65
+ typing: boolean;
66
+ };
67
+ to: {
68
+ text: string;
69
+ visible: boolean;
70
+ typing: boolean;
71
+ };
72
+ network: {
73
+ text: string;
74
+ visible: boolean;
75
+ typing: boolean;
76
+ };
77
+ status: {
78
+ text: string;
79
+ visible: boolean;
80
+ typing: boolean;
81
+ };
82
+ }
83
+ export interface WaitingMessageState {
84
+ title: string;
85
+ subtitle: string;
86
+ visible: boolean;
87
+ isTyping: boolean;
88
+ }
89
+ export interface Chain {
90
+ id: string;
91
+ name: string;
92
+ logo: string;
93
+ }
94
+ export interface App {
95
+ name: string;
96
+ color: string;
97
+ progress: number;
98
+ }
99
+ export type ButtonKey = 'deposit' | 'continue' | 'openApp';
100
+ export interface ButtonState {
101
+ text: string;
102
+ isTyping: boolean;
103
+ showCursor: boolean;
104
+ }
105
+ export type ButtonStates = Record<ButtonKey, ButtonState>;
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Types for the wallet connection flow state machine
3
+ */
4
+ /**
5
+ * Enum representing all possible states in the wallet connection flow
6
+ */
7
+ export var FlowState;
8
+ (function (FlowState) {
9
+ FlowState["IDLE"] = "IDLE";
10
+ FlowState["CONNECTING_WALLET"] = "CONNECTING_WALLET";
11
+ FlowState["WALLET_CONNECTED"] = "WALLET_CONNECTED";
12
+ FlowState["ETH_TO_SOL_AUTH"] = "ETH_TO_SOL_AUTH";
13
+ FlowState["CHAIN_SELECTION"] = "CHAIN_SELECTION";
14
+ FlowState["AMOUNT_INPUT"] = "AMOUNT_INPUT";
15
+ FlowState["DEPOSIT_PROGRESS"] = "DEPOSIT_PROGRESS";
16
+ FlowState["DEPOSIT_SUCCESS"] = "DEPOSIT_SUCCESS";
17
+ FlowState["NORD_AUTH"] = "NORD_AUTH";
18
+ FlowState["AUTH_LOADING"] = "AUTH_LOADING";
19
+ FlowState["FINAL_SUCCESS"] = "FINAL_SUCCESS";
20
+ FlowState["ERROR"] = "ERROR";
21
+ })(FlowState || (FlowState = {}));
22
+ /**
23
+ * Initial flow context with default values
24
+ */
25
+ export var initialFlowContext = {
26
+ walletType: null,
27
+ hasNordAccount: false,
28
+ hasActiveSession: false,
29
+ selectedChain: null,
30
+ amount: '',
31
+ transactionId: null,
32
+ error: null,
33
+ lastInterruption: null,
34
+ };
@@ -0,0 +1,24 @@
1
+ import { FlowContext, FlowState } from '../types';
2
+ /**
3
+ * Saves the current flow state and context to localStorage
4
+ * @param state Current flow state
5
+ * @param context Current flow context
6
+ */
7
+ export declare const saveStateToLocalStorage: (state: FlowState, context: FlowContext) => void;
8
+ /**
9
+ * Loads the flow state and context from localStorage if available and not expired
10
+ * @returns The loaded state and context, or null if not available or expired
11
+ */
12
+ export declare const loadStateFromLocalStorage: () => {
13
+ state: FlowState;
14
+ context: FlowContext;
15
+ } | null;
16
+ /**
17
+ * Clears the stored flow state from localStorage
18
+ */
19
+ export declare const clearStoredState: () => void;
20
+ /**
21
+ * Checks if there is a stored state that can be recovered
22
+ * @returns True if there is a recoverable state, false otherwise
23
+ */
24
+ export declare const hasRecoverableState: () => boolean;
@@ -0,0 +1,83 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { initialFlowContext } from '../types';
13
+ import { FLOW_STATE_STORAGE_KEY, STATE_EXPIRY_TIME } from '../constants';
14
+ /**
15
+ * Saves the current flow state and context to localStorage
16
+ * @param state Current flow state
17
+ * @param context Current flow context
18
+ */
19
+ export var saveStateToLocalStorage = function (state, context) {
20
+ try {
21
+ var persistedData = {
22
+ state: state,
23
+ context: __assign(__assign({}, context), {
24
+ // Filter out any sensitive data or error objects that shouldn't be persisted
25
+ error: context.error
26
+ ? {
27
+ message: context.error.message,
28
+ name: context.error.name,
29
+ }
30
+ : null }),
31
+ timestamp: Date.now(),
32
+ };
33
+ localStorage.setItem(FLOW_STATE_STORAGE_KEY, JSON.stringify(persistedData));
34
+ }
35
+ catch (error) {
36
+ console.error('Failed to save flow state:', error);
37
+ }
38
+ };
39
+ /**
40
+ * Loads the flow state and context from localStorage if available and not expired
41
+ * @returns The loaded state and context, or null if not available or expired
42
+ */
43
+ export var loadStateFromLocalStorage = function () {
44
+ try {
45
+ var storedData = localStorage.getItem(FLOW_STATE_STORAGE_KEY);
46
+ if (!storedData) {
47
+ return null;
48
+ }
49
+ var parsedData = JSON.parse(storedData);
50
+ var state = parsedData.state, context = parsedData.context, timestamp = parsedData.timestamp;
51
+ // Check if data is expired
52
+ if (Date.now() - timestamp > STATE_EXPIRY_TIME) {
53
+ localStorage.removeItem(FLOW_STATE_STORAGE_KEY);
54
+ return null;
55
+ }
56
+ return {
57
+ state: state,
58
+ context: __assign(__assign({}, initialFlowContext), context),
59
+ };
60
+ }
61
+ catch (error) {
62
+ console.error('Failed to load flow state:', error);
63
+ return null;
64
+ }
65
+ };
66
+ /**
67
+ * Clears the stored flow state from localStorage
68
+ */
69
+ export var clearStoredState = function () {
70
+ try {
71
+ localStorage.removeItem(FLOW_STATE_STORAGE_KEY);
72
+ }
73
+ catch (error) {
74
+ console.error('Failed to clear flow state:', error);
75
+ }
76
+ };
77
+ /**
78
+ * Checks if there is a stored state that can be recovered
79
+ * @returns True if there is a recoverable state, false otherwise
80
+ */
81
+ export var hasRecoverableState = function () {
82
+ return loadStateFromLocalStorage() !== null;
83
+ };
@@ -0,0 +1,3 @@
1
+ export declare function BackButton(props: {
2
+ onClick?: () => void;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { useN1WalletInternalContext } from '../../../Provider/hooks';
4
+ import { N1ModalViewMode } from '../../../Provider/types';
5
+ import { ANIMATION_EASE } from '../../NordFlow/constants';
6
+ export function BackButton(props) {
7
+ var _a = useN1WalletInternalContext(), setViewMode = _a.setViewMode, dynamicHandleLogOut = _a.dynamicHandleLogOut;
8
+ var _b = useState(false), isHovered = _b[0], setIsHovered = _b[1];
9
+ var _c = useState(false), isPressed = _c[0], setIsPressed = _c[1];
10
+ function back() {
11
+ // todo: disconnect
12
+ dynamicHandleLogOut();
13
+ setViewMode(N1ModalViewMode.Connect);
14
+ }
15
+ return (_jsx("button", { onClick: props.onClick || back, onMouseEnter: function () { return setIsHovered(true); }, onMouseLeave: function () {
16
+ setIsHovered(false);
17
+ setIsPressed(false);
18
+ }, onMouseDown: function () { return setIsPressed(true); }, onMouseUp: function () { return setIsPressed(false); }, className: "\n group relative w-full overflow-hidden rounded-md border-2 bg-gray-100 dark:bg-neutral-950 py-4 text-center\n transition-all duration-300 ".concat(ANIMATION_EASE, "\n cursor-pointer border-gray-200 dark:border-gray-800 hover:border-gray-400 dark:hover:border-white/60\n "), style: {
19
+ transform: isPressed
20
+ ? 'scale(0.98)'
21
+ : isHovered
22
+ ? 'scale(0.99)'
23
+ : 'scale(1)',
24
+ }, children: _jsx("div", { className: "relative z-[200] pl-4 isolate", children: _jsx("div", { className: "flex items-center", children: _jsx("span", { className: "\n text-base font-medium tracking-wide transition-colors duration-300 ".concat(ANIMATION_EASE, "\n text-gray-500 dark:text-neutral-400 group-hover:text-gray-900 dark:group-hover:text-white\n "), children: "Back" }) }) }) }));
25
+ }
@@ -0,0 +1 @@
1
+ export declare function ModalHeader(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useN1WalletContext, useN1WalletInternalContext, } from '../../../Provider/hooks';
3
+ import { N1ModalViewMode } from '../../../Provider/types';
4
+ import { X } from 'lucide-react';
5
+ import Logo from '../../../components/Logo';
6
+ import { ANIMATION_EASE } from '../../NordFlow/constants';
7
+ export function ModalHeader() {
8
+ var _a = useN1WalletInternalContext(), setViewMode = _a.setViewMode, setStartClosingLogin = _a.setStartClosingLogin, setDynamicWallet = _a.setDynamicWallet, setAddress = _a.setAddress, dynamicHandleLogOut = _a.dynamicHandleLogOut;
9
+ var viewMode = useN1WalletContext().viewMode;
10
+ var close = function () {
11
+ setStartClosingLogin(true);
12
+ if (viewMode === N1ModalViewMode.CreateSession) {
13
+ setDynamicWallet(null);
14
+ setAddress('');
15
+ dynamicHandleLogOut();
16
+ setViewMode(N1ModalViewMode.Connect);
17
+ }
18
+ };
19
+ return (_jsxs("div", { className: "flex items-center justify-between", children: [_jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "w-6 h-6 text-gray-50", children: _jsx(Logo, { size: 24 }) }), _jsxs("h2", { className: "text-xl text-gray-400 flex items-center gap-2", children: ["Connect", viewMode === N1ModalViewMode.CreateSession && (_jsx("span", { className: "text-gray-700 dark:text-gray-300 font-normal", children: "/ / Session" })), viewMode === N1ModalViewMode.Signing && (_jsx("span", { className: "text-gray-700 dark:text-gray-300 font-normal", children: "/ / Sign" })), viewMode === N1ModalViewMode.CreatingUser && (_jsx("span", { className: "text-gray-700 dark:text-gray-300 font-normal", children: "/ / Create User" })), viewMode === N1ModalViewMode.Success && (_jsx("span", { className: "text-gray-700 dark:text-gray-300 font-normal", children: "/ / Success" }))] })] }), _jsx("button", { onClick: close, className: "\n text-neutral-400 hover:text-gray-900 dark:hover:text-white \n transition-colors duration-300 ".concat(ANIMATION_EASE, "\n h-10 w-10 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800\n flex items-center justify-center\n "), children: _jsx(X, { size: 20 }) })] }));
20
+ }
@@ -0,0 +1 @@
1
+ export { NTSFlow } from './NTSFlow';
@@ -0,0 +1 @@
1
+ export { NTSFlow } from './NTSFlow';
@@ -0,0 +1 @@
1
+ export declare function ConnectView(): import("react/jsx-runtime").JSX.Element;