@n1xyz/wallet-widget 0.0.30 → 0.0.33-alpha.0

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 (415) hide show
  1. package/README.md +117 -208
  2. package/dist/components/LoadingFallback.js.map +1 -0
  3. package/dist/{WidgetButton → components}/N1ConnectButton.js +3 -3
  4. package/dist/components/N1ConnectButton.js.map +1 -0
  5. package/dist/components/logos/ZeroOneLogo.d.ts +8 -0
  6. package/dist/components/logos/ZeroOneLogo.js +6 -0
  7. package/dist/components/logos/ZeroOneLogo.js.map +1 -0
  8. package/dist/components/logos/index.d.ts +1 -0
  9. package/dist/components/logos/index.js +1 -0
  10. package/dist/components/logos/index.js.map +1 -1
  11. package/dist/config/chains.js +2 -0
  12. package/dist/config/chains.js.map +1 -0
  13. package/dist/config/solana.js +1 -1
  14. package/dist/config/solana.js.map +1 -1
  15. package/dist/{Provider/context.d.ts → context/n1-wallet-context.d.ts} +2 -2
  16. package/dist/{Provider/context.js → context/n1-wallet-context.js} +1 -1
  17. package/dist/context/n1-wallet-context.js.map +1 -0
  18. package/dist/{Modal → features/onboarding-flow}/N1WalletModal.d.ts +1 -1
  19. package/dist/{Modal → features/onboarding-flow}/N1WalletModal.js +18 -15
  20. package/dist/features/onboarding-flow/N1WalletModal.js.map +1 -0
  21. package/dist/features/onboarding-flow/OnboardingFlow.d.ts +9 -0
  22. package/dist/features/onboarding-flow/OnboardingFlow.js +98 -0
  23. package/dist/features/onboarding-flow/OnboardingFlow.js.map +1 -0
  24. package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ChainButton.d.ts +1 -2
  25. package/dist/features/onboarding-flow/components/ChainButton.js +21 -0
  26. package/dist/features/onboarding-flow/components/ChainButton.js.map +1 -0
  27. package/dist/{Modal/NordFlow → features/onboarding-flow}/components/Header.js +1 -1
  28. package/dist/features/onboarding-flow/components/Header.js.map +1 -0
  29. package/dist/features/onboarding-flow/components/ImageWithFallback.js.map +1 -0
  30. package/dist/{Modal/NordFlow → features/onboarding-flow}/components/TransactionTable.js +1 -1
  31. package/dist/features/onboarding-flow/components/TransactionTable.js.map +1 -0
  32. package/dist/features/onboarding-flow/components/WaitingMessage.js +17 -0
  33. package/dist/features/onboarding-flow/components/WaitingMessage.js.map +1 -0
  34. package/dist/features/onboarding-flow/components/index.js.map +1 -0
  35. package/dist/features/onboarding-flow/index.d.ts +1 -0
  36. package/dist/features/onboarding-flow/index.js +2 -0
  37. package/dist/features/onboarding-flow/index.js.map +1 -0
  38. package/dist/{Modal/NordFlow/context/DepositContext.d.ts → features/onboarding-flow/providers/DepositFlowProvider.d.ts} +9 -7
  39. package/dist/{Modal/NordFlow/context/DepositContext.js → features/onboarding-flow/providers/DepositFlowProvider.js} +228 -78
  40. package/dist/features/onboarding-flow/providers/DepositFlowProvider.js.map +1 -0
  41. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.d.ts +48 -0
  42. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js +185 -0
  43. package/dist/features/onboarding-flow/providers/OnboardingStateProvider.js.map +1 -0
  44. package/dist/features/onboarding-flow/providers/StateProvider.d.ts +10 -0
  45. package/dist/features/onboarding-flow/providers/StateProvider.js +14 -0
  46. package/dist/features/onboarding-flow/providers/StateProvider.js.map +1 -0
  47. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.d.ts +21 -0
  48. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js +394 -0
  49. package/dist/features/onboarding-flow/providers/WalletConnectionProvider.js.map +1 -0
  50. package/dist/features/onboarding-flow/providers/debug.d.ts +6 -0
  51. package/dist/features/onboarding-flow/providers/debug.js +63 -0
  52. package/dist/features/onboarding-flow/providers/debug.js.map +1 -0
  53. package/dist/features/onboarding-flow/providers/index.d.ts +5 -0
  54. package/dist/features/onboarding-flow/providers/index.js +8 -0
  55. package/dist/features/onboarding-flow/providers/index.js.map +1 -0
  56. package/dist/features/onboarding-flow/providers/onboardingStateMachine.d.ts +48 -0
  57. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js +83 -0
  58. package/dist/features/onboarding-flow/providers/onboardingStateMachine.js.map +1 -0
  59. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/01-ConnectWalletScreen.js +2 -2
  60. package/dist/features/onboarding-flow/screens/01-ConnectWalletScreen.js.map +1 -0
  61. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.d.ts +31 -0
  62. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js +100 -0
  63. package/dist/features/onboarding-flow/screens/02-ChainSelectionScreen.js.map +1 -0
  64. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/03-AmountInputScreen.d.ts +2 -0
  65. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/03-AmountInputScreen.js +123 -61
  66. package/dist/features/onboarding-flow/screens/03-AmountInputScreen.js.map +1 -0
  67. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.d.ts +3 -0
  68. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js +31 -0
  69. package/dist/features/onboarding-flow/screens/04-DepositProgressScreen.js.map +1 -0
  70. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/05-DepositSuccessScreen.js +31 -26
  71. package/dist/features/onboarding-flow/screens/05-DepositSuccessScreen.js.map +1 -0
  72. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js +31 -0
  73. package/dist/features/onboarding-flow/screens/06-AuthLoadingScreen.js.map +1 -0
  74. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js +14 -0
  75. package/dist/features/onboarding-flow/screens/07-ErrorScreen.js.map +1 -0
  76. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/index.d.ts +1 -0
  77. package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/index.js +1 -0
  78. package/dist/features/onboarding-flow/screens/index.js.map +1 -0
  79. package/dist/{Modal/NordFlow → features/onboarding-flow}/types.d.ts +13 -16
  80. package/dist/features/onboarding-flow/types.js +34 -0
  81. package/dist/features/onboarding-flow/types.js.map +1 -0
  82. package/dist/features/onboarding-flow/utils/depositStorage.js.map +1 -0
  83. package/dist/features/onboarding-flow/utils/imageUtils.js.map +1 -0
  84. package/dist/{utils/dynamicNord.d.ts → features/onboarding-flow/utils/nordUser.d.ts} +0 -1
  85. package/dist/{utils/dynamicNord.js → features/onboarding-flow/utils/nordUser.js} +2 -13
  86. package/dist/features/onboarding-flow/utils/nordUser.js.map +1 -0
  87. package/dist/features/onboarding-flow/utils/nordUtils.js.map +1 -0
  88. package/dist/{Logic/sessionManager.d.ts → features/onboarding-flow/utils/session.d.ts} +2 -2
  89. package/dist/{Logic/sessionManager.js → features/onboarding-flow/utils/session.js} +36 -5
  90. package/dist/features/onboarding-flow/utils/session.js.map +1 -0
  91. package/dist/{Logic/transactionManager.js → features/onboarding-flow/utils/transaction.js} +1 -1
  92. package/dist/features/onboarding-flow/utils/transaction.js.map +1 -0
  93. package/dist/{Logic → features/onboarding-flow/utils}/utils.d.ts +1 -1
  94. package/dist/{Logic → features/onboarding-flow/utils}/utils.js +1 -1
  95. package/dist/features/onboarding-flow/utils/utils.js.map +1 -0
  96. package/dist/features/onboarding-flow/utils/withImageFallback.js.map +1 -0
  97. package/dist/hooks/index.d.ts +2 -0
  98. package/dist/hooks/index.js +3 -0
  99. package/dist/hooks/index.js.map +1 -0
  100. package/dist/hooks/useN1Wallet.d.ts +2 -0
  101. package/dist/{Provider/hooks.js → hooks/useN1Wallet.js} +2 -2
  102. package/dist/hooks/useN1Wallet.js.map +1 -0
  103. package/dist/{Provider/hooks → hooks}/useNordUserInitialization.js +7 -7
  104. package/dist/hooks/useNordUserInitialization.js.map +1 -0
  105. package/dist/index.d.ts +4 -4
  106. package/dist/index.js +4 -4
  107. package/dist/index.js.map +1 -1
  108. package/dist/{Provider → providers}/LazyWalletProvider.js +34 -8
  109. package/dist/providers/LazyWalletProvider.js.map +1 -0
  110. package/dist/providers/N1WalletProvider.d.ts +3 -0
  111. package/dist/{Provider → providers}/N1WalletProvider.js +51 -22
  112. package/dist/providers/N1WalletProvider.js.map +1 -0
  113. package/dist/providers/ShadowRootWrapper.js.map +1 -0
  114. package/dist/providers/WalletErrorBoundary.js.map +1 -0
  115. package/dist/styles/embedded-main-css.d.ts +2 -0
  116. package/dist/styles/embedded-main-css.js +3 -0
  117. package/dist/styles/embedded-main-css.js.map +1 -0
  118. package/dist/styles/main.css +2 -0
  119. package/dist/{Provider/types.d.ts → types/wallet.d.ts} +7 -8
  120. package/dist/{Provider/types.js → types/wallet.js} +1 -1
  121. package/dist/types/wallet.js.map +1 -0
  122. package/dist/{Logic → utils}/getPseudoName.js.map +1 -1
  123. package/dist/{Logic → utils}/words.js.map +1 -1
  124. package/package.json +25 -21
  125. package/dist/Logic/sessionManager.js.map +0 -1
  126. package/dist/Logic/transactionManager.js.map +0 -1
  127. package/dist/Logic/utils.js.map +0 -1
  128. package/dist/Modal/LoadingFallback.js.map +0 -1
  129. package/dist/Modal/N1WalletModal.js.map +0 -1
  130. package/dist/Modal/NTSFlow/LoadingFallback.d.ts +0 -2
  131. package/dist/Modal/NTSFlow/LoadingFallback.js +0 -3
  132. package/dist/Modal/NTSFlow/LoadingFallback.js.map +0 -1
  133. package/dist/Modal/NTSFlow/NTSFlow.d.ts +0 -4
  134. package/dist/Modal/NTSFlow/NTSFlow.js +0 -35
  135. package/dist/Modal/NTSFlow/NTSFlow.js.map +0 -1
  136. package/dist/Modal/NTSFlow/components/BackButton.d.ts +0 -3
  137. package/dist/Modal/NTSFlow/components/BackButton.js +0 -26
  138. package/dist/Modal/NTSFlow/components/BackButton.js.map +0 -1
  139. package/dist/Modal/NTSFlow/components/ModalHeader.d.ts +0 -1
  140. package/dist/Modal/NTSFlow/components/ModalHeader.js +0 -21
  141. package/dist/Modal/NTSFlow/components/ModalHeader.js.map +0 -1
  142. package/dist/Modal/NTSFlow/index.d.ts +0 -1
  143. package/dist/Modal/NTSFlow/index.js +0 -2
  144. package/dist/Modal/NTSFlow/index.js.map +0 -1
  145. package/dist/Modal/NTSFlow/views/ConnectView.d.ts +0 -1
  146. package/dist/Modal/NTSFlow/views/ConnectView.js +0 -68
  147. package/dist/Modal/NTSFlow/views/ConnectView.js.map +0 -1
  148. package/dist/Modal/NTSFlow/views/CreateSessionView.d.ts +0 -1
  149. package/dist/Modal/NTSFlow/views/CreateSessionView.js +0 -246
  150. package/dist/Modal/NTSFlow/views/CreateSessionView.js.map +0 -1
  151. package/dist/Modal/NTSFlow/views/CreateUserView.d.ts +0 -1
  152. package/dist/Modal/NTSFlow/views/CreateUserView.js +0 -106
  153. package/dist/Modal/NTSFlow/views/CreateUserView.js.map +0 -1
  154. package/dist/Modal/NTSFlow/views/NoWhitelistView.d.ts +0 -1
  155. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +0 -43
  156. package/dist/Modal/NTSFlow/views/NoWhitelistView.js.map +0 -1
  157. package/dist/Modal/NTSFlow/views/SigningView.d.ts +0 -1
  158. package/dist/Modal/NTSFlow/views/SigningView.js +0 -6
  159. package/dist/Modal/NTSFlow/views/SigningView.js.map +0 -1
  160. package/dist/Modal/NTSFlow/views/SuccessView.d.ts +0 -1
  161. package/dist/Modal/NTSFlow/views/SuccessView.js +0 -11
  162. package/dist/Modal/NTSFlow/views/SuccessView.js.map +0 -1
  163. package/dist/Modal/NordFlow/NordFlow.d.ts +0 -9
  164. package/dist/Modal/NordFlow/NordFlow.js +0 -84
  165. package/dist/Modal/NordFlow/NordFlow.js.map +0 -1
  166. package/dist/Modal/NordFlow/components/ChainButton.js +0 -25
  167. package/dist/Modal/NordFlow/components/ChainButton.js.map +0 -1
  168. package/dist/Modal/NordFlow/components/EVMChainsButton.d.ts +0 -9
  169. package/dist/Modal/NordFlow/components/EVMChainsButton.js +0 -21
  170. package/dist/Modal/NordFlow/components/EVMChainsButton.js.map +0 -1
  171. package/dist/Modal/NordFlow/components/Header.js.map +0 -1
  172. package/dist/Modal/NordFlow/components/ImageWithFallback.js.map +0 -1
  173. package/dist/Modal/NordFlow/components/LoadingSquares.d.ts +0 -1
  174. package/dist/Modal/NordFlow/components/LoadingSquares.js +0 -6
  175. package/dist/Modal/NordFlow/components/LoadingSquares.js.map +0 -1
  176. package/dist/Modal/NordFlow/components/MoreButton.d.ts +0 -8
  177. package/dist/Modal/NordFlow/components/MoreButton.js +0 -19
  178. package/dist/Modal/NordFlow/components/MoreButton.js.map +0 -1
  179. package/dist/Modal/NordFlow/components/TransactionTable.js.map +0 -1
  180. package/dist/Modal/NordFlow/components/WaitingMessage.js +0 -18
  181. package/dist/Modal/NordFlow/components/WaitingMessage.js.map +0 -1
  182. package/dist/Modal/NordFlow/components/index.js.map +0 -1
  183. package/dist/Modal/NordFlow/constants.d.ts +0 -37
  184. package/dist/Modal/NordFlow/constants.js +0 -183
  185. package/dist/Modal/NordFlow/constants.js.map +0 -1
  186. package/dist/Modal/NordFlow/context/DepositContext.js.map +0 -1
  187. package/dist/Modal/NordFlow/context/FlowContext.d.ts +0 -24
  188. package/dist/Modal/NordFlow/context/FlowContext.js +0 -218
  189. package/dist/Modal/NordFlow/context/FlowContext.js.map +0 -1
  190. package/dist/Modal/NordFlow/context/NordProvider.d.ts +0 -10
  191. package/dist/Modal/NordFlow/context/NordProvider.js +0 -14
  192. package/dist/Modal/NordFlow/context/NordProvider.js.map +0 -1
  193. package/dist/Modal/NordFlow/context/WalletConnectContext.d.ts +0 -20
  194. package/dist/Modal/NordFlow/context/WalletConnectContext.js +0 -269
  195. package/dist/Modal/NordFlow/context/WalletConnectContext.js.map +0 -1
  196. package/dist/Modal/NordFlow/context/index.d.ts +0 -5
  197. package/dist/Modal/NordFlow/context/index.js +0 -8
  198. package/dist/Modal/NordFlow/context/index.js.map +0 -1
  199. package/dist/Modal/NordFlow/hoc/index.d.ts +0 -1
  200. package/dist/Modal/NordFlow/hoc/index.js +0 -2
  201. package/dist/Modal/NordFlow/hoc/index.js.map +0 -1
  202. package/dist/Modal/NordFlow/hoc/withImageFallback.js.map +0 -1
  203. package/dist/Modal/NordFlow/hooks/useTestnetFaucet.d.ts +0 -18
  204. package/dist/Modal/NordFlow/hooks/useTestnetFaucet.js +0 -181
  205. package/dist/Modal/NordFlow/hooks/useTestnetFaucet.js.map +0 -1
  206. package/dist/Modal/NordFlow/index.d.ts +0 -1
  207. package/dist/Modal/NordFlow/index.js +0 -2
  208. package/dist/Modal/NordFlow/index.js.map +0 -1
  209. package/dist/Modal/NordFlow/screens/00-IdleScreen.d.ts +0 -6
  210. package/dist/Modal/NordFlow/screens/00-IdleScreen.js +0 -9
  211. package/dist/Modal/NordFlow/screens/00-IdleScreen.js.map +0 -1
  212. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +0 -1
  213. package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.d.ts +0 -1
  214. package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.js +0 -115
  215. package/dist/Modal/NordFlow/screens/02-ChainSelectionScreen.js.map +0 -1
  216. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +0 -2
  217. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +0 -45
  218. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js.map +0 -1
  219. package/dist/Modal/NordFlow/screens/03-AmountInputScreen.js.map +0 -1
  220. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +0 -1
  221. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +0 -66
  222. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js.map +0 -1
  223. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +0 -1
  224. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +0 -204
  225. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +0 -1
  226. package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.d.ts +0 -1
  227. package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.js +0 -29
  228. package/dist/Modal/NordFlow/screens/04-DepositProgressScreen.js.map +0 -1
  229. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +0 -1
  230. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +0 -51
  231. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js.map +0 -1
  232. package/dist/Modal/NordFlow/screens/05-DepositSuccessScreen.js.map +0 -1
  233. package/dist/Modal/NordFlow/screens/06-AuthLoadingScreen.js +0 -37
  234. package/dist/Modal/NordFlow/screens/06-AuthLoadingScreen.js.map +0 -1
  235. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +0 -1
  236. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +0 -132
  237. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js.map +0 -1
  238. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +0 -1
  239. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +0 -30
  240. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js.map +0 -1
  241. package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.d.ts +0 -5
  242. package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.js +0 -39
  243. package/dist/Modal/NordFlow/screens/07-FinalSuccessScreen.js.map +0 -1
  244. package/dist/Modal/NordFlow/screens/08-ErrorScreen.js +0 -68
  245. package/dist/Modal/NordFlow/screens/08-ErrorScreen.js.map +0 -1
  246. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +0 -5
  247. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +0 -52
  248. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +0 -1
  249. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +0 -1
  250. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +0 -68
  251. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js.map +0 -1
  252. package/dist/Modal/NordFlow/screens/index.js.map +0 -1
  253. package/dist/Modal/NordFlow/types.js +0 -34
  254. package/dist/Modal/NordFlow/types.js.map +0 -1
  255. package/dist/Modal/NordFlow/utils/depositStorage.js.map +0 -1
  256. package/dist/Modal/NordFlow/utils/imageUtils.js.map +0 -1
  257. package/dist/Modal/NordFlow/utils/index.d.ts +0 -2
  258. package/dist/Modal/NordFlow/utils/index.js +0 -3
  259. package/dist/Modal/NordFlow/utils/index.js.map +0 -1
  260. package/dist/Modal/NordFlow/utils/nordUtils.js.map +0 -1
  261. package/dist/Modal/Sidebar/N1Sidebar.d.ts +0 -1
  262. package/dist/Modal/Sidebar/N1Sidebar.js +0 -203
  263. package/dist/Modal/Sidebar/N1Sidebar.js.map +0 -1
  264. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.d.ts +0 -12
  265. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js +0 -90
  266. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketOverview.js.map +0 -1
  267. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.d.ts +0 -6
  268. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +0 -43
  269. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js.map +0 -1
  270. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.d.ts +0 -11
  271. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +0 -20
  272. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js.map +0 -1
  273. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.d.ts +0 -1
  274. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +0 -143
  275. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js.map +0 -1
  276. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +0 -248
  277. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js.map +0 -1
  278. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.d.ts +0 -10
  279. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +0 -62
  280. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js.map +0 -1
  281. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.d.ts +0 -7
  282. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +0 -30
  283. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js.map +0 -1
  284. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.d.ts +0 -11
  285. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +0 -22
  286. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js.map +0 -1
  287. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.d.ts +0 -7
  288. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +0 -20
  289. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js.map +0 -1
  290. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.d.ts +0 -7
  291. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +0 -24
  292. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js.map +0 -1
  293. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.d.ts +0 -7
  294. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +0 -80
  295. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js.map +0 -1
  296. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.d.ts +0 -9
  297. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +0 -110
  298. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js.map +0 -1
  299. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.d.ts +0 -7
  300. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +0 -30
  301. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js.map +0 -1
  302. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.d.ts +0 -9
  303. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +0 -40
  304. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js.map +0 -1
  305. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.d.ts +0 -7
  306. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +0 -10
  307. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js.map +0 -1
  308. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.d.ts +0 -13
  309. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +0 -264
  310. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js.map +0 -1
  311. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.d.ts +0 -5
  312. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +0 -113
  313. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js.map +0 -1
  314. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.d.ts +0 -1
  315. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +0 -183
  316. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js.map +0 -1
  317. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.d.ts +0 -0
  318. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +0 -278
  319. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js.map +0 -1
  320. package/dist/Provider/LazyWalletProvider.js.map +0 -1
  321. package/dist/Provider/N1WalletProvider.d.ts +0 -3
  322. package/dist/Provider/N1WalletProvider.js.map +0 -1
  323. package/dist/Provider/ShadowRootWrapper.js.map +0 -1
  324. package/dist/Provider/WalletErrorBoundary.js.map +0 -1
  325. package/dist/Provider/context.js.map +0 -1
  326. package/dist/Provider/hooks/useNordUserInitialization.js.map +0 -1
  327. package/dist/Provider/hooks.d.ts +0 -2
  328. package/dist/Provider/hooks.js.map +0 -1
  329. package/dist/Provider/icons/CoinbaseWalletIcon.d.ts +0 -1
  330. package/dist/Provider/icons/CoinbaseWalletIcon.js +0 -5
  331. package/dist/Provider/icons/CoinbaseWalletIcon.js.map +0 -1
  332. package/dist/Provider/icons/ConnectionDotsSVG.d.ts +0 -1
  333. package/dist/Provider/icons/ConnectionDotsSVG.js +0 -5
  334. package/dist/Provider/icons/ConnectionDotsSVG.js.map +0 -1
  335. package/dist/Provider/icons/MetamaskIcon.d.ts +0 -1
  336. package/dist/Provider/icons/MetamaskIcon.js +0 -5
  337. package/dist/Provider/icons/MetamaskIcon.js.map +0 -1
  338. package/dist/Provider/icons/PhantomIcon.d.ts +0 -1
  339. package/dist/Provider/icons/PhantomIcon.js +0 -5
  340. package/dist/Provider/icons/PhantomIcon.js.map +0 -1
  341. package/dist/Provider/icons/UserIcon.d.ts +0 -1
  342. package/dist/Provider/icons/UserIcon.js +0 -5
  343. package/dist/Provider/icons/UserIcon.js.map +0 -1
  344. package/dist/Provider/icons/WalletConnectIcon.d.ts +0 -1
  345. package/dist/Provider/icons/WalletConnectIcon.js +0 -5
  346. package/dist/Provider/icons/WalletConnectIcon.js.map +0 -1
  347. package/dist/Provider/index.d.ts +0 -3
  348. package/dist/Provider/index.js +0 -4
  349. package/dist/Provider/index.js.map +0 -1
  350. package/dist/Provider/types.js.map +0 -1
  351. package/dist/WidgetButton/N1ConnectButton.js.map +0 -1
  352. package/dist/components/QRCodeLoader.d.ts +0 -4
  353. package/dist/components/QRCodeLoader.js +0 -9
  354. package/dist/components/QRCodeLoader.js.map +0 -1
  355. package/dist/components/logos/EVMChainsGroup.d.ts +0 -7
  356. package/dist/components/logos/EVMChainsGroup.js +0 -19
  357. package/dist/components/logos/EVMChainsGroup.js.map +0 -1
  358. package/dist/components/logos/MoreChainsGroup.d.ts +0 -7
  359. package/dist/components/logos/MoreChainsGroup.js +0 -19
  360. package/dist/components/logos/MoreChainsGroup.js.map +0 -1
  361. package/dist/embedded-main-css.d.ts +0 -2
  362. package/dist/embedded-main-css.js +0 -3
  363. package/dist/embedded-main-css.js.map +0 -1
  364. package/dist/main.css +0 -2
  365. package/dist/utils/dynamicImports.js +0 -42
  366. package/dist/utils/dynamicImports.js.map +0 -1
  367. package/dist/utils/dynamicNord.js.map +0 -1
  368. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Bold-Italic-Trial.otf +0 -0
  369. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Bold-Trial.otf +0 -0
  370. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Extra-Bold-Italic-Trial.otf +0 -0
  371. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Extra-Bold-Trial.otf +0 -0
  372. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Light-Italic-Trial.otf +0 -0
  373. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Light-Trial.otf +0 -0
  374. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Medium-Italic-Trial.otf +0 -0
  375. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Medium-Trial.otf +0 -0
  376. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Regular-Italic-Trial.otf +0 -0
  377. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Regular-Trial.otf +0 -0
  378. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Semi-Bold-Italic-Trial.otf +0 -0
  379. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Semi-Bold-Trial.otf +0 -0
  380. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Thin-Italic-Trial.otf +0 -0
  381. /package/dist/{fonts → assets/fonts}/apk-galeria/APK-Galeria-Thin-Trial.otf +0 -0
  382. /package/dist/{Modal → components}/LoadingFallback.d.ts +0 -0
  383. /package/dist/{Modal → components}/LoadingFallback.js +0 -0
  384. /package/dist/{WidgetButton → components}/N1ConnectButton.d.ts +0 -0
  385. /package/dist/{Modal/Sidebar/NordTradingView/OrderBook/OrderBook.d.ts → config/chains.d.ts} +0 -0
  386. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/Header.d.ts +0 -0
  387. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ImageWithFallback.d.ts +0 -0
  388. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/ImageWithFallback.js +0 -0
  389. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/TransactionTable.d.ts +0 -0
  390. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/WaitingMessage.d.ts +0 -0
  391. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/index.d.ts +0 -0
  392. /package/dist/{Modal/NordFlow → features/onboarding-flow}/components/index.js +0 -0
  393. /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/01-ConnectWalletScreen.d.ts +0 -0
  394. /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/05-DepositSuccessScreen.d.ts +0 -0
  395. /package/dist/{Modal/NordFlow → features/onboarding-flow}/screens/06-AuthLoadingScreen.d.ts +0 -0
  396. /package/dist/{Modal/NordFlow/screens/08-ErrorScreen.d.ts → features/onboarding-flow/screens/07-ErrorScreen.d.ts} +0 -0
  397. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/depositStorage.d.ts +0 -0
  398. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/depositStorage.js +0 -0
  399. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/imageUtils.d.ts +0 -0
  400. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/imageUtils.js +0 -0
  401. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/nordUtils.d.ts +0 -0
  402. /package/dist/{Modal/NordFlow → features/onboarding-flow}/utils/nordUtils.js +0 -0
  403. /package/dist/{Logic/transactionManager.d.ts → features/onboarding-flow/utils/transaction.d.ts} +0 -0
  404. /package/dist/{Modal/NordFlow/hoc → features/onboarding-flow/utils}/withImageFallback.d.ts +0 -0
  405. /package/dist/{Modal/NordFlow/hoc → features/onboarding-flow/utils}/withImageFallback.js +0 -0
  406. /package/dist/{Provider/hooks → hooks}/useNordUserInitialization.d.ts +0 -0
  407. /package/dist/{Provider → providers}/LazyWalletProvider.d.ts +0 -0
  408. /package/dist/{Provider → providers}/ShadowRootWrapper.d.ts +0 -0
  409. /package/dist/{Provider → providers}/ShadowRootWrapper.js +0 -0
  410. /package/dist/{Provider → providers}/WalletErrorBoundary.d.ts +0 -0
  411. /package/dist/{Provider → providers}/WalletErrorBoundary.js +0 -0
  412. /package/dist/{Logic → utils}/getPseudoName.d.ts +0 -0
  413. /package/dist/{Logic → utils}/getPseudoName.js +0 -0
  414. /package/dist/{Logic → utils}/words.d.ts +0 -0
  415. /package/dist/{Logic → utils}/words.js +0 -0
package/README.md CHANGED
@@ -1,288 +1,197 @@
1
1
  # N1 Wallet Widget
2
2
 
3
- A React component library for integrating N1 wallet functionality into your application. This widget provides a seamless way to connect to blockchain wallets, manage sessions, and perform wallet operations.
3
+ `@n1xyz/wallet-widget` is the Nord-only wallet modal, deposit flow, and React context that powers N1 applications. Drop the provider at the root of your app and you get connection UX, session management, deposit orchestration, and signing utilities with no extra wiring.
4
4
 
5
- ## Features
5
+ ## Highlights
6
+ - Full Nord onboarding flow (connect wallet → choose chain → fund → authenticate) with automatic error handling
7
+ - `N1ConnectButton`, hooks, and context helpers for driving the modal or building custom UI
8
+ - Shadow DOM + embedded Tailwind CSS keep widget styles isolated while still allowing brand overrides
9
+ - Ships with a Next.js playground for iterating locally before consuming the published package
6
10
 
7
- - Wallet connection and authentication
8
- - Session management (Nord mode)
9
- - Transaction signing
10
- - Message signing
11
- - Balance display
12
- - Error handling
13
- - Dark/light mode support
14
- - Customizable UI
15
-
16
- > **Note:** As of this release the NTS flow and related SDK have been removed. The widget now targets the Nord experience exclusively.
17
-
18
- ## Installation
11
+ ## Install
19
12
 
20
13
  ```bash
21
- npm install @n1xyz/wallet-widget
14
+ pnpm add @n1xyz/wallet-widget @n1xyz/nord-ts @solana/web3.js
22
15
  # or
23
- yarn add @n1xyz/wallet-widget
16
+ npm install @n1xyz/wallet-widget @n1xyz/nord-ts @solana/web3.js
24
17
  ```
25
18
 
26
- ## Quick Start
19
+ ## Configure Nord
20
+
21
+ - Create a `Nord` client with the same RPC + web server URLs you use in production.
22
+ - Common environment variables:
23
+ - `NEXT_PUBLIC_NORD_SOLANA_URL`
24
+ - `NEXT_PUBLIC_NORD_WEB_SERVER_URL`
25
+ - `NEXT_PUBLIC_NORD_BRIDGE_VK`
26
+ - The widget currently exposes `N1SessionMode.Nord` only. Other modes are ignored.
27
+
28
+ ## Quick start
27
29
 
28
- ```jsx
30
+ ```tsx
29
31
  import { useEffect, useState } from 'react';
30
32
  import { Connection } from '@solana/web3.js';
31
- import { N1WalletProvider, N1SessionMode } from '@n1xyz/wallet-widget';
32
33
  import { Nord } from '@n1xyz/nord-ts';
34
+ import {
35
+ N1ConnectButton,
36
+ N1WalletProvider,
37
+ N1SessionMode,
38
+ } from '@n1xyz/wallet-widget';
33
39
 
34
- function App() {
35
- const [nord, setNord] = useState(null);
40
+ export function AppShell({ children }: { children: React.ReactNode }) {
41
+ const [nord, setNord] = useState<Nord | null>(null);
36
42
 
37
43
  useEffect(() => {
38
44
  let cancelled = false;
39
-
40
- async function initNord() {
45
+ (async () => {
41
46
  const client = await Nord.new({
42
- webServerUrl: 'https://your-nord-web-server',
43
- solanaConnection: new Connection('https://your-solana-rpc'),
44
- app: 'bridge-verification-key',
47
+ webServerUrl: process.env.NEXT_PUBLIC_NORD_WEB_SERVER_URL!,
48
+ solanaConnection: new Connection(process.env.NEXT_PUBLIC_NORD_SOLANA_URL!),
49
+ app: process.env.NEXT_PUBLIC_NORD_BRIDGE_VK!,
45
50
  });
46
-
47
- if (!cancelled) {
48
- setNord(client);
49
- }
50
- }
51
-
52
- initNord();
51
+ if (!cancelled) setNord(client);
52
+ })();
53
53
  return () => {
54
54
  cancelled = true;
55
55
  };
56
56
  }, []);
57
57
 
58
- if (!nord) {
59
- return null;
60
- }
58
+ if (!nord) return null;
61
59
 
62
60
  return (
63
- <N1WalletProvider
64
- providedSessionMode={N1SessionMode.Nord}
65
- appId="your-app-id"
61
+ <N1WalletProvider
62
+ providedSessionMode={N1SessionMode.Nord}
66
63
  nord={nord}
64
+ onError={(error) => console.error('[wallet]', error)}
67
65
  >
68
- {/* Your application components */}
66
+ <N1ConnectButton label="Launch Nord Wallet" />
67
+ {children}
69
68
  </N1WalletProvider>
70
69
  );
71
70
  }
72
71
  ```
73
72
 
74
- ## Nord Configuration
75
-
76
- The widget expects a fully initialized `Nord` client. When using the example app (or wiring your own integration) configure:
77
-
78
- - `NEXT_PUBLIC_NORD_SOLANA_URL`: the Solana RPC endpoint Nord will use.
79
- - `NEXT_PUBLIC_NORD_WEB_SERVER_URL`: the Nord REST/web server host (used for all HTTP + WebSocket calls).
80
- - `NEXT_PUBLIC_NORD_BRIDGE_VK`: the bridge verification key for your target environment.
81
-
82
- ## Usage
83
-
84
- The wallet widget provides a React context that can be accessed throughout your application to interact with the wallet functionality.
85
-
86
- ### Accessing Wallet Context
73
+ ## Provider props
74
+
75
+ | Prop | Type | Required | Description |
76
+ |------|------|----------|-------------|
77
+ | `children` | `React.ReactNode` | | Your application tree. |
78
+ | `providedSessionMode` | `N1SessionMode` | | Pass `N1SessionMode.Nord`; any other value is ignored. |
79
+ | `nord` | `Nord \| null` | | Initialized Nord client instance. |
80
+ | `onError` | `(error: WalletError) => void` | – | Surface widget errors to your own logger or telemetry. |
81
+ | `colorOverrides` | `{ color: string; replacement: string; }[]` | – | Replace CSS colors without ejecting styles. The comparison is case-insensitive. |
82
+ | `skipFinalScreen` | `boolean` | – | When `true`, the modal closes immediately after the success step so you can show your own confirmation UI. |
83
+
84
+ ## Accessing wallet state
85
+
86
+ `useN1WalletContext()` exposes the most relevant data and helpers:
87
+
88
+ | Field | Type | Notes |
89
+ |-------|------|-------|
90
+ | `address`, `chain`, `username` | `string` | Empty when the user is not connected. |
91
+ | `balances` | `Balance[]` | `balance` is a `bigint`. Convert to string before serialising. |
92
+ | `isConnected`, `showLogin`, `viewMode` | `boolean \| N1ModalViewMode` | Track UI state. |
93
+ | `nordUser` | `NordUser \| null` | Use for authenticated Nord calls (trading, withdrawals, etc.). |
94
+ | `setShowLogin()` | `(show: boolean) => void` | Opens or closes the modal. |
95
+ | `startDepositFlow()` | `() => boolean` | Jumps straight into chain selection + deposit for authenticated users. |
96
+ | `setViewMode()` | `(mode: N1ModalViewMode) => void` | Force the modal to render a specific screen (useful for QA). |
97
+ | `signMessageWithSessionKey`, `signMessageWithWalletKey`, `signTransactionWithWalletKey` | functions \| `null` | Populated after the user connects. |
98
+ | `disconnectWallet()` | `() => void` | Logs the user out of the Dynamic session and clears state. |
87
99
 
88
- ```jsx
100
+ ```tsx
89
101
  import { useN1WalletContext } from '@n1xyz/wallet-widget';
90
102
 
91
- function WalletInfo() {
92
- const {
93
- address,
94
- isConnected,
95
- balances,
96
- username,
97
- setShowLogin
103
+ export function AccountBadge() {
104
+ const {
105
+ address,
106
+ balances,
107
+ isConnected,
108
+ setShowLogin,
109
+ disconnectWallet,
98
110
  } = useN1WalletContext();
99
111
 
112
+ if (!isConnected) {
113
+ return <button onClick={() => setShowLogin(true)}>Connect</button>;
114
+ }
115
+
100
116
  return (
101
117
  <div>
102
- {isConnected ? (
103
- <>
104
- <p>Connected as: {username}</p>
105
- <p>Address: {address}</p>
106
- <p>Balances: {balances.map(b => `${b.balance} ${b.appType}`).join(', ')}</p>
107
- </>
108
- ) : (
109
- <button onClick={() => setShowLogin(true)}>Connect Wallet</button>
110
- )}
118
+ <span>{address}</span>
119
+ <span>{Number(balances[0]?.balance ?? 0n)} {balances[0]?.appType}</span>
120
+ <button onClick={disconnectWallet}>Sign out</button>
111
121
  </div>
112
122
  );
113
123
  }
114
124
  ```
115
125
 
116
- ### Signing Messages and Transactions
117
-
118
- ```jsx
119
- import { useN1WalletContext } from '@n1xyz/wallet-widget';
120
-
121
- function SigningExample() {
122
- const {
123
- signMessageWithSessionKey,
124
- signMessageWithWalletKey,
125
- signTransactionWithWalletKey
126
- } = useN1WalletContext();
127
-
128
- const handleSignMessage = async () => {
129
- if (signMessageWithSessionKey) {
130
- const message = { content: "Hello, world!" };
131
- const signature = await signMessageWithSessionKey(message);
132
- console.log("Signature:", signature);
133
- }
134
- };
135
-
136
- return (
137
- <button onClick={handleSignMessage}>Sign Message</button>
138
- );
139
- }
140
- ```
126
+ ## Modal controls & deposit flow
141
127
 
142
- ### Starting the Deposit Flow After Authentication
143
-
144
- When a user already has an authenticated Nord session you can bypass the connection/auth screens and jump straight into the deposit experience (chain selection → amount → progress → success) by calling `startDepositFlow()`:
128
+ You can script the modal without touching internals:
145
129
 
146
130
  ```tsx
147
- import { useN1WalletContext } from '@n1xyz/wallet-widget';
131
+ import { N1ModalViewMode, useN1WalletContext } from '@n1xyz/wallet-widget';
148
132
 
149
- function DepositButton() {
150
- const { startDepositFlow } = useN1WalletContext();
133
+ function DepositCTA() {
134
+ const { isConnected, startDepositFlow, setShowLogin, setViewMode } =
135
+ useN1WalletContext();
136
+
137
+ const open = () => {
138
+ setViewMode(N1ModalViewMode.Automatic);
139
+ setShowLogin(true);
140
+ };
151
141
 
152
- const handleClick = () => {
142
+ const deposit = () => {
153
143
  const started = startDepositFlow();
154
- if (!started) {
155
- console.warn('Unable to start deposit flow until the user is authenticated.');
156
- }
144
+ if (!started) open();
157
145
  };
158
146
 
159
147
  return (
160
- <button onClick={handleClick}>Fund Account</button>
148
+ <button onClick={isConnected ? deposit : open}>
149
+ {isConnected ? 'Deposit' : 'Connect'}
150
+ </button>
161
151
  );
162
152
  }
163
153
  ```
164
154
 
165
- This helper opens the modal (if it is not already visible), begins at the chain-selection screen, skips the auth loading step, and swaps the Deposit Success action button to `Close` so the user can exit immediately. No cache or `localStorage` entries are touched during this fast-path flow.
166
-
167
- ## API Reference
168
-
169
- ### N1WalletProvider Props
170
-
171
- | Prop | Type | Required | Default | Description |
172
- |---------------------|------------------------------|----------|---------|----------------------------------------|
173
- | children | React.ReactNode | Yes | - | Child components |
174
- | providedSessionMode | N1SessionMode | Yes | - | Session mode (Nord only) |
175
- | appId | string | Yes | - | Your application ID |
176
- | darkMode | boolean | No | true | Enable dark mode UI |
177
- | onError | (error: WalletError) => void | No | - | Error handler callback |
178
- | faucetUrl | string | No | - | URL for faucet service |
179
- | isTestnet | boolean | No | false | Enable testnet UX (faucet, warnings) |
180
- | nord | Nord | No | - | Nord instance (required for Nord mode) |
155
+ `N1ModalViewMode` options: `Automatic`, `Connect`, `ChainSelection`, `AmountInput`, `DepositProgress`, `DepositSuccess`, `AuthLoading`, and `Error`. Stick to `Automatic` in production and reserve direct view overrides for testing or debugging.
181
156
 
182
- ### N1SessionMode
157
+ ## Styling & branding
183
158
 
184
- ```typescript
185
- enum N1SessionMode {
186
- Nord,
187
- }
188
- ```
159
+ - All widget UI is rendered inside a Shadow DOM root with pre-bundled Tailwind CSS (`src/styles/embedded-main-css.ts`). Your app styles will not leak in.
160
+ - Use `colorOverrides` to patch specific hex/rgb values:
189
161
 
190
- ### N1WalletContext
191
-
192
- The context provides the following values:
193
-
194
- | Property | Type | Description |
195
- |------------------------------|------------------------------------|----------------------------------|
196
- | address | string | User's wallet address |
197
- | appId | string | Application ID |
198
- | balances | Balance[] | User's token balances |
199
- | chain | string | Current blockchain |
200
- | isConnected | boolean | Connection status |
201
- | sessionMode | N1SessionMode | Current session mode |
202
- | sessionPubKey | Uint8Array | Session public key |
203
- | setShowLogin | (show: boolean) => void | Show/hide login modal |
204
- | startDepositFlow | () => boolean | Start deposit-only flow once authenticated |
205
- | showLogin | boolean | Login modal visibility state |
206
- | signMessageWithSessionKey | (message: any) => Promise<any> | Sign message with session key |
207
- | signMessageWithWalletKey | (message: any) => Promise<any> | Sign message with wallet key |
208
- | signTransactionWithWalletKey | (transaction: any) => Promise<any> | Sign transaction with wallet key |
209
- | username | string | User's username |
210
- | walletPubKey | Uint8Array | Wallet public key |
211
- | isTestnet | boolean | Indicates if widget runs on testnet |
212
-
213
- ## Error Handling
214
-
215
- The wallet widget includes a built-in error boundary that catches and processes wallet-related errors. You can provide a custom error handler through the `onError` prop:
216
-
217
- ```jsx
162
+ ```tsx
218
163
  <N1WalletProvider
219
- providedSessionMode={N1SessionMode.Nord}
220
- appId="your-app-id"
221
- onError={(error) => {
222
- console.error("Wallet error:", error.code, error.message);
223
- // Handle error appropriately
224
- }}
164
+ colorOverrides={[
165
+ { color: '#ffffff', replacement: '#0c0c0c' },
166
+ { color: '#ffb347', replacement: '#0a84ff' },
167
+ ]}
168
+ {...otherProps}
225
169
  >
226
- {/* Your application */}
170
+
227
171
  </N1WalletProvider>
228
172
  ```
229
173
 
230
- ## Examples
231
-
232
- ### Next.js sandbox
174
+ - Additional exports:
175
+ - `N1ConnectButton` – drop-in CTA that follows widget styles and defers modal open until Dynamic loads.
176
+ - `Logo`, `N1LoaderAnimation`, and `ProcessingAnimation` – useful for composing branded fallback UI.
233
177
 
234
- An interactive Next.js playground lives in `examples/nextjs-wallet`. It lets you:
178
+ ## Example app
235
179
 
236
- - launch the Nord modal via the floating connect button;
237
- - inspect live wallet context state across routes;
238
- - tweak the widget source in `src/` and watch the app hot-reload.
180
+ A ready-to-run Next.js sandbox lives in `examples/nextjs-wallet`.
239
181
 
240
182
  ```bash
241
183
  pnpm install
242
184
  cp examples/nextjs-wallet/.env.local.example examples/nextjs-wallet/.env.local
243
- pnpm dev:example:next
185
+ pnpm --filter wallet-widget-next-example dev
244
186
  # open http://localhost:4000
245
187
  ```
246
188
 
247
- ### Nord Mode Integration
189
+ The UI Playground page lets you jump to any modal screen (including deposit success) without wiring backend services.
248
190
 
249
- ```jsx
250
- import { useEffect, useState } from 'react';
251
- import { Connection } from '@solana/web3.js';
252
- import { N1WalletProvider, N1SessionMode } from '@n1xyz/wallet-widget';
253
- import { Nord } from '@n1xyz/nord-ts';
191
+ ## Security
254
192
 
255
- function App() {
256
- const [nord, setNord] = useState(null);
257
-
258
- useEffect(() => {
259
- async function initNord() {
260
- const nordClient = await Nord.new({
261
- webServerUrl: 'https://your-nord-web-server',
262
- solanaConnection: new Connection('https://your-solana-rpc'),
263
- app: 'bridge-verification-key',
264
- });
265
- setNord(nordClient);
266
- }
267
-
268
- initNord();
269
- }, []);
270
-
271
- if (!nord) return <div>Loading...</div>;
272
-
273
- return (
274
- <N1WalletProvider
275
- providedSessionMode={N1SessionMode.Nord}
276
- appId="your-app-id"
277
- faucetUrl="https://your-faucet-url.com/api/faucet"
278
- nord={nord}
279
- >
280
- <YourApplication />
281
- </N1WalletProvider>
282
- );
283
- }
284
- ```
193
+ All dependencies are pinned. Run `pnpm run security:deps` to verify specifiers and `pnpm run security:audit` for the registry audit before publishing. `pnpm run setup:hooks` installs a pre-commit hook that runs both checks (set `SKIP_SECURITY_AUDIT=1` when you are offline).
285
194
 
286
195
  ## License
287
196
 
288
- [MIT License](LICENSE)
197
+ Use of the widget is governed by the proprietary N1 Labs license found in [`LICENSE`](LICENSE). Reach out to `legal@n1.xyz` for questions about redistribution.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoadingFallback.js","sourceRoot":"","sources":["../../src/components/LoadingFallback.tsx"],"names":[],"mappings":";AAEA,MAAM,CAAC,IAAM,eAAe,GAAa,cAAM,OAAA,CAC7C,cAAK,SAAS,EAAC,gDAAgD,YAC7D,cAAK,SAAS,EAAC,6EAA6E,GAAO,GAC/F,CACP,EAJ8C,CAI9C,CAAC","sourcesContent":["import React from 'react';\n\nexport const LoadingFallback: React.FC = () => (\n <div className=\"flex items-center justify-center w-full h-full\">\n <div className=\"n1-ww-animate-spin-slow rounded-full h-8 w-8 border-b-2 border-n1-ww-border\"></div>\n </div>\n);\n"]}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import BlockiesSvg from 'blockies-react-svg';
3
3
  import { useEffect, useState } from 'react';
4
- import { useN1WalletContext, useN1WalletInternalContext, } from '../Provider/hooks';
5
- import { ShadowRootWrapper } from '../Provider/ShadowRootWrapper';
6
- import mainCss from '../embedded-main-css';
4
+ import { useN1WalletContext, useN1WalletInternalContext, } from '../hooks';
5
+ import { ShadowRootWrapper } from '../providers/ShadowRootWrapper';
6
+ import mainCss from '../styles/embedded-main-css';
7
7
  export function N1ConnectButton(_props) {
8
8
  var _a = useN1WalletContext(), isConnected = _a.isConnected, setShowLogin = _a.setShowLogin, address = _a.address;
9
9
  var _b = useState(false), toOpen = _b[0], setToOpen = _b[1];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"N1ConnectButton.js","sourceRoot":"","sources":["../../src/components/N1ConnectButton.tsx"],"names":[],"mappings":";AAAA,OAAO,WAAW,MAAM,oBAAoB,CAAC;AAC7C,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EACL,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,MAAM,UAAU,eAAe,CAAC,MAG/B;IACO,IAAA,KAAyC,kBAAkB,EAAE,EAA3D,WAAW,iBAAA,EAAE,YAAY,kBAAA,EAAE,OAAO,aAAyB,CAAC;IAC9D,IAAA,KAAsB,QAAQ,CAAC,KAAK,CAAC,EAApC,MAAM,QAAA,EAAE,SAAS,QAAmB,CAAC;IACtC,IAAA,KAAiC,0BAA0B,EAAE,EAA3D,OAAO,aAAA,EAAE,iBAAiB,uBAAiC,CAAC;IACpE,IAAM,WAAW,GAAG,WAAW;QAC7B,CAAC,CAAC,UAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAM,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAE;QACrD,CAAC,CAAC,EAAE,CAAC;IAEP,IAAM,WAAW,GAAG;QAClB,YAAY,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,SAAS,CAAC;QACR,IAAI,CAAC,OAAO,IAAI,MAAM,EAAE,CAAC;YACvB,WAAW,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,IAAM,WAAW,GACf,0ZAA0Z,CAAC;IAE7Z,IAAM,WAAW,GAAG,EAAE,CAAC;IAEvB,IAAM,WAAW,GAAG;QAClB,IAAI,OAAO,IAAI,CAAC,WAAW;YAAE,OAAO,eAAe,CAAC;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC;QACnD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG;QAClB,IAAI,iBAAiB,EAAE,CAAC;YACtB,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAC5B,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,WAAW;YAAE,OAAO;QAExB,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACpE,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,iBAAiB,IAAC,WAAW,EAAE,OAAO,GAAG,WAAW,YACnD,cAAK,SAAS,EAAC,uBAAuB,YACpC,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,WAAW,eACT,OAAO,IAAI,CAAC,WAAW,aAEjC,WAAW,IAAI,CACd,eAAM,SAAS,EAAC,gEAAgE,YAC9E,KAAC,WAAW,IACV,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,sBAAsB,GAChC,GACG,CACR,EACD,yBAAO,WAAW,EAAE,GAAQ,IACrB,GACL,GACY,CACrB,CAAC;AACJ,CAAC","sourcesContent":["import BlockiesSvg from 'blockies-react-svg';\nimport React, { useEffect, useState } from 'react';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../hooks';\nimport { ShadowRootWrapper } from '../providers/ShadowRootWrapper';\nimport mainCss from '../styles/embedded-main-css';\n\nexport function N1ConnectButton(_props: {\n label: string;\n children?: React.ReactNode;\n}) {\n const { isConnected, setShowLogin, address } = useN1WalletContext();\n const [toOpen, setToOpen] = useState(false);\n const { loading, startClosingLogin } = useN1WalletInternalContext();\n const addressText = isConnected\n ? `${address.substring(0, 6)}...${address.slice(-4)}`\n : '';\n\n const showLoginFn = () => {\n setShowLogin(true);\n };\n\n useEffect(() => {\n if (!loading && toOpen) {\n showLoginFn();\n setToOpen(false);\n }\n }, [loading]);\n\n const buttonClass =\n 'inline-flex w-full items-center justify-center gap-2 rounded-full border border-n1-ww-border bg-black px-4 py-2 text-xs font-semibold uppercase tracking-wide text-white transition-colors duration-200 hover:bg-white hover:text-black focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-black disabled:pointer-events-none disabled:opacity-60 min-w-[7rem] sm:w-auto';\n\n const injectedCss = '';\n\n const renderLabel = () => {\n if (loading && !isConnected) return 'Connecting...';\n if (!isConnected) return _props.label || 'Connect';\n return addressText;\n };\n\n const handleClick = () => {\n if (startClosingLogin) {\n console.debug('[N1ConnectButton] click ignored; modal closing');\n return;\n }\n\n if (loading && !isConnected) {\n setToOpen(true);\n console.debug('[N1ConnectButton] deferring open until loading completes');\n return;\n }\n\n if (isConnected) return;\n\n console.debug('[N1ConnectButton] opening modal via connect button');\n showLoginFn();\n };\n\n return (\n <ShadowRootWrapper injectedCss={mainCss + injectedCss}>\n <div className=\"n1-wallet-widget dark\">\n <button\n type=\"button\"\n className={buttonClass}\n onClick={handleClick}\n aria-busy={loading && !isConnected}\n >\n {isConnected && (\n <span className=\"flex h-5 w-5 items-center justify-center rounded-full bg-white\">\n <BlockiesSvg\n address={address}\n className=\"h-4 w-4 rounded-full\"\n />\n </span>\n )}\n <span>{renderLabel()}</span>\n </button>\n </div>\n </ShadowRootWrapper>\n );\n}\n"]}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface ZeroOneLogoProps {
3
+ width?: number;
4
+ height?: number;
5
+ className?: string;
6
+ }
7
+ export declare const ZeroOneLogo: React.FC<ZeroOneLogoProps>;
8
+ export {};
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export var ZeroOneLogo = function (_a) {
3
+ var _b = _a.width, width = _b === void 0 ? 43 : _b, _c = _a.height, height = _c === void 0 ? 34 : _c, _d = _a.className, className = _d === void 0 ? '' : _d;
4
+ return (_jsx("svg", { width: width, height: height, viewBox: "0 0 43 34", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, children: _jsx("path", { d: "M21.3299 20.7674C21.3299 22.8824 21.0824 24.7499 20.5874 26.3699C20.1074 27.9749 19.4099 29.3174 18.4949 30.3974C17.5799 31.4924 16.4624 32.3174 15.1424 32.8724C13.8224 33.4274 12.3374 33.7049 10.6874 33.7049C9.05244 33.7049 7.57494 33.4274 6.25494 32.8724C4.93494 32.3174 3.81744 31.4924 2.90244 30.3974C1.97244 29.3174 1.25244 27.9749 0.742442 26.3699C0.247442 24.7499 -0.0000579674 22.8824 -0.0000579674 20.7674V12.9374C-0.0000579674 10.8224 0.247442 8.96242 0.742442 7.35742C1.23744 5.73742 1.94994 4.37992 2.87994 3.28492C3.79494 2.20492 4.90494 1.38742 6.20994 0.832423C7.52994 0.277423 9.00744 -0.0000766945 10.6424 -0.0000766945C12.2924 -0.0000766945 13.7774 0.277423 15.0974 0.832423C16.4174 1.38742 17.5424 2.20492 18.4724 3.28492C19.3874 4.37992 20.0924 5.73742 20.5874 7.35742C21.0824 8.96242 21.3299 10.8224 21.3299 12.9374V20.7674ZM6.29994 18.0674L15.0299 11.5649C14.9999 10.3349 14.8649 9.28492 14.6249 8.41492C14.3999 7.52992 14.0624 6.82492 13.6124 6.29992C13.2674 5.87992 12.8399 5.57242 12.3299 5.37742C11.8349 5.16742 11.2724 5.06242 10.6424 5.06242C9.93744 5.06242 9.31494 5.19742 8.77494 5.46742C8.24994 5.72242 7.80744 6.11242 7.44744 6.63742C7.05744 7.19242 6.76494 7.91242 6.56994 8.79742C6.38994 9.68242 6.29994 10.7324 6.29994 11.9474V15.5699C6.29994 16.2899 6.29994 16.7699 6.29994 17.0099C6.29994 17.2499 6.29994 17.6024 6.29994 18.0674ZM15.0299 21.7124V17.9099C15.0299 17.4149 15.0299 17.0549 15.0299 16.8299C15.0299 16.5899 15.0299 16.2524 15.0299 15.8174L6.29994 22.2974C6.32994 23.2874 6.42744 24.1649 6.59244 24.9299C6.77244 25.6949 7.01994 26.3324 7.33494 26.8424C7.69494 27.4574 8.15244 27.9149 8.70744 28.2149C9.26244 28.5149 9.92244 28.6649 10.6874 28.6649C11.3924 28.6649 12.0149 28.5374 12.5549 28.2824C13.0949 28.0124 13.5449 27.6074 13.9049 27.0674C14.2799 26.4974 14.5574 25.7699 14.7374 24.8849C14.9324 23.9849 15.0299 22.9274 15.0299 21.7124ZM42.9974 33.2324H36.6749V8.09992L28.3949 11.0699V5.62492L42.6599 0.472423H42.9974V33.2324Z", fill: "white" }) }));
5
+ };
6
+ //# sourceMappingURL=ZeroOneLogo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ZeroOneLogo.js","sourceRoot":"","sources":["../../../src/components/logos/ZeroOneLogo.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,IAAM,WAAW,GAA+B,UAAC,EAIvD;QAHC,aAAU,EAAV,KAAK,mBAAG,EAAE,KAAA,EACV,cAAW,EAAX,MAAM,mBAAG,EAAE,KAAA,EACX,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA;IACV,OAAA,CACJ,cACE,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAE,SAAS,YAEpB,eACE,CAAC,EAAC,27DAA27D,EAC77D,IAAI,EAAC,OAAO,GACZ,GACE,CACP;AAdK,CAcL,CAAC","sourcesContent":["import React from 'react';\n\ninterface ZeroOneLogoProps {\n width?: number;\n height?: number;\n className?: string;\n}\n\nexport const ZeroOneLogo: React.FC<ZeroOneLogoProps> = ({\n width = 43,\n height = 34,\n className = '',\n}) => (\n <svg\n width={width}\n height={height}\n viewBox=\"0 0 43 34\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M21.3299 20.7674C21.3299 22.8824 21.0824 24.7499 20.5874 26.3699C20.1074 27.9749 19.4099 29.3174 18.4949 30.3974C17.5799 31.4924 16.4624 32.3174 15.1424 32.8724C13.8224 33.4274 12.3374 33.7049 10.6874 33.7049C9.05244 33.7049 7.57494 33.4274 6.25494 32.8724C4.93494 32.3174 3.81744 31.4924 2.90244 30.3974C1.97244 29.3174 1.25244 27.9749 0.742442 26.3699C0.247442 24.7499 -0.0000579674 22.8824 -0.0000579674 20.7674V12.9374C-0.0000579674 10.8224 0.247442 8.96242 0.742442 7.35742C1.23744 5.73742 1.94994 4.37992 2.87994 3.28492C3.79494 2.20492 4.90494 1.38742 6.20994 0.832423C7.52994 0.277423 9.00744 -0.0000766945 10.6424 -0.0000766945C12.2924 -0.0000766945 13.7774 0.277423 15.0974 0.832423C16.4174 1.38742 17.5424 2.20492 18.4724 3.28492C19.3874 4.37992 20.0924 5.73742 20.5874 7.35742C21.0824 8.96242 21.3299 10.8224 21.3299 12.9374V20.7674ZM6.29994 18.0674L15.0299 11.5649C14.9999 10.3349 14.8649 9.28492 14.6249 8.41492C14.3999 7.52992 14.0624 6.82492 13.6124 6.29992C13.2674 5.87992 12.8399 5.57242 12.3299 5.37742C11.8349 5.16742 11.2724 5.06242 10.6424 5.06242C9.93744 5.06242 9.31494 5.19742 8.77494 5.46742C8.24994 5.72242 7.80744 6.11242 7.44744 6.63742C7.05744 7.19242 6.76494 7.91242 6.56994 8.79742C6.38994 9.68242 6.29994 10.7324 6.29994 11.9474V15.5699C6.29994 16.2899 6.29994 16.7699 6.29994 17.0099C6.29994 17.2499 6.29994 17.6024 6.29994 18.0674ZM15.0299 21.7124V17.9099C15.0299 17.4149 15.0299 17.0549 15.0299 16.8299C15.0299 16.5899 15.0299 16.2524 15.0299 15.8174L6.29994 22.2974C6.32994 23.2874 6.42744 24.1649 6.59244 24.9299C6.77244 25.6949 7.01994 26.3324 7.33494 26.8424C7.69494 27.4574 8.15244 27.9149 8.70744 28.2149C9.26244 28.5149 9.92244 28.6649 10.6874 28.6649C11.3924 28.6649 12.0149 28.5374 12.5549 28.2824C13.0949 28.0124 13.5449 27.6074 13.9049 27.0674C14.2799 26.4974 14.5574 25.7699 14.7374 24.8849C14.9324 23.9849 15.0299 22.9274 15.0299 21.7124ZM42.9974 33.2324H36.6749V8.09992L28.3949 11.0699V5.62492L42.6599 0.472423H42.9974V33.2324Z\"\n fill=\"white\"\n />\n </svg>\n);\n"]}
@@ -6,3 +6,4 @@ export * from './BitcoinLogo';
6
6
  export * from './HyperliquidLogo';
7
7
  export * from './BaseLogo';
8
8
  export * from './BeraLogo';
9
+ export * from './ZeroOneLogo';
@@ -6,4 +6,5 @@ export * from './BitcoinLogo';
6
6
  export * from './HyperliquidLogo';
7
7
  export * from './BaseLogo';
8
8
  export * from './BeraLogo';
9
+ export * from './ZeroOneLogo';
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/logos/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC","sourcesContent":["export * from './SolanaLogo';\nexport * from './EthereumLogo';\nexport * from './OptimismLogo';\nexport * from './ArbitrumLogo';\nexport * from './BitcoinLogo';\nexport * from './HyperliquidLogo';\nexport * from './BaseLogo';\nexport * from './BeraLogo';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/logos/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC","sourcesContent":["export * from './SolanaLogo';\nexport * from './EthereumLogo';\nexport * from './OptimismLogo';\nexport * from './ArbitrumLogo';\nexport * from './BitcoinLogo';\nexport * from './HyperliquidLogo';\nexport * from './BaseLogo';\nexport * from './BeraLogo';\nexport * from './ZeroOneLogo';\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chains.js","sourceRoot":"","sources":["../../src/config/chains.tsx"],"names":[],"mappings":"","sourcesContent":[""]}
@@ -14,6 +14,6 @@ var DEFAULT_SOLANA_RPC_URL = 'https://api.mainnet-beta.solana.com';
14
14
  */
15
15
  export function getSolanaRpcUrl() {
16
16
  var _a;
17
- return ((_a = process.env.NEXT_PUBLIC_NORD_RPC_URL) === null || _a === void 0 ? void 0 : _a.trim()) || DEFAULT_SOLANA_RPC_URL;
17
+ return ((_a = process.env.NEXT_PUBLIC_NORD_SOLANA_URL) === null || _a === void 0 ? void 0 : _a.trim()) || DEFAULT_SOLANA_RPC_URL;
18
18
  }
19
19
  //# sourceMappingURL=solana.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../src/config/solana.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,yCAAwB,CAAA;IACxB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,IAAM,sBAAsB,GAAG,qCAAqC,CAAC;AAErE;;;GAGG;AACH,MAAM,UAAU,eAAe;;IAC7B,OAAO,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,wBAAwB,0CAAE,IAAI,EAAE,KAAI,sBAAsB,CAAC;AAChF,CAAC","sourcesContent":["/**\n * Solana network configuration\n */\n\nexport enum SolanaNetwork {\n MAINNET = 'mainnet-beta',\n TESTNET = 'testnet',\n DEVNET = 'devnet',\n}\n\nconst DEFAULT_SOLANA_RPC_URL = 'https://api.mainnet-beta.solana.com';\n\n/**\n * Resolve the Solana RPC URL from environment variables.\n * Falls back to mainnet RPC if none provided.\n */\nexport function getSolanaRpcUrl(): string {\n return process.env.NEXT_PUBLIC_NORD_RPC_URL?.trim() || DEFAULT_SOLANA_RPC_URL;\n}\n"]}
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../src/config/solana.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,yCAAwB,CAAA;IACxB,oCAAmB,CAAA;IACnB,kCAAiB,CAAA;AACnB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,IAAM,sBAAsB,GAAG,qCAAqC,CAAC;AAErE;;;GAGG;AACH,MAAM,UAAU,eAAe;;IAC7B,OAAO,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,2BAA2B,0CAAE,IAAI,EAAE,KAAI,sBAAsB,CAAC;AACnF,CAAC","sourcesContent":["/**\n * Solana network configuration\n */\n\nexport enum SolanaNetwork {\n MAINNET = 'mainnet-beta',\n TESTNET = 'testnet',\n DEVNET = 'devnet',\n}\n\nconst DEFAULT_SOLANA_RPC_URL = 'https://api.mainnet-beta.solana.com';\n\n/**\n * Resolve the Solana RPC URL from environment variables.\n * Falls back to mainnet RPC if none provided.\n */\nexport function getSolanaRpcUrl(): string {\n return process.env.NEXT_PUBLIC_NORD_SOLANA_URL?.trim() || DEFAULT_SOLANA_RPC_URL;\n}\n"]}
@@ -1,5 +1,5 @@
1
- import { N1WalletState } from './types';
2
- import { N1InternalWalletState } from './types';
1
+ import { N1WalletState } from '../types/wallet';
2
+ import { N1InternalWalletState } from '../types/wallet';
3
3
  declare const N1WalletContext: import("react").Context<N1WalletState>;
4
4
  declare const N1InternalWalletContext: import("react").Context<N1InternalWalletState>;
5
5
  export { N1WalletContext, N1InternalWalletContext };
@@ -2,4 +2,4 @@ import { createContext } from 'react';
2
2
  var N1WalletContext = createContext({});
3
3
  var N1InternalWalletContext = createContext({});
4
4
  export { N1WalletContext, N1InternalWalletContext };
5
- //# sourceMappingURL=context.js.map
5
+ //# sourceMappingURL=n1-wallet-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"n1-wallet-context.js","sourceRoot":"","sources":["../../src/context/n1-wallet-context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAGtC,IAAM,eAAe,GAAG,aAAa,CAAgB,EAAmB,CAAC,CAAC;AAC1E,IAAM,uBAAuB,GAAG,aAAa,CAC3C,EAA2B,CAC5B,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["import { N1WalletState } from '../types/wallet';\n\nimport { createContext } from 'react';\nimport { N1InternalWalletState } from '../types/wallet';\n\nconst N1WalletContext = createContext<N1WalletState>({} as N1WalletState);\nconst N1InternalWalletContext = createContext<N1InternalWalletState>(\n {} as N1InternalWalletState\n);\n\nexport { N1WalletContext, N1InternalWalletContext };\n"]}
@@ -1,2 +1,2 @@
1
- import '../main.css';
1
+ import '../../styles/main.css';
2
2
  export declare function N1WalletModal(): import("react/jsx-runtime").JSX.Element | null;
@@ -1,16 +1,16 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import '../main.css';
2
+ import '../../styles/main.css';
3
3
  import { lazy, Suspense, useEffect, useState, useCallback } from 'react';
4
- import { ANIMATION_EASE } from './NordFlow/constants';
5
- import { useN1WalletContext, useN1WalletInternalContext, } from '../Provider/hooks';
6
- import { LoadingFallback } from './LoadingFallback';
7
- import { logger } from '../utils/logger';
8
- // Lazy load the NordFlow component
9
- var NordFlow = lazy(function () {
10
- return import('./NordFlow/NordFlow').then(function (mod) { return ({
11
- default: mod.NordFlow,
4
+ import { useN1WalletContext, useN1WalletInternalContext, } from '../../hooks';
5
+ import { LoadingFallback } from '../../components/LoadingFallback';
6
+ import { logger } from '../../utils/logger';
7
+ // Lazy load the onboarding flow component
8
+ var OnboardingFlow = lazy(function () {
9
+ return import('./OnboardingFlow').then(function (mod) { return ({
10
+ default: mod.OnboardingFlow,
12
11
  }); });
13
12
  });
13
+ var lastLoggedShowLogin = null;
14
14
  export function N1WalletModal() {
15
15
  var _a = useN1WalletContext(), showLogin = _a.showLogin, setShowLogin = _a.setShowLogin;
16
16
  var _b = useN1WalletInternalContext(), setStartClosingLogin = _b.setStartClosingLogin, startClosingLogin = _b.startClosingLogin, setLoading = _b.setLoading, dynamicWallet = _b.dynamicWallet, dynamicSdkHasLoaded = _b.dynamicSdkHasLoaded, blockModalReopen = _b.blockModalReopen;
@@ -50,7 +50,10 @@ export function N1WalletModal() {
50
50
  }, [dynamicSdkHasLoaded, dynamicWallet, setLoading]);
51
51
  // Handle modal visibility
52
52
  useEffect(function () {
53
- logger.debug('N1WalletModal: showLogin state changed', { showLogin: showLogin });
53
+ if (lastLoggedShowLogin !== showLogin) {
54
+ logger.debug('N1WalletModal: showLogin state changed', { showLogin: showLogin });
55
+ lastLoggedShowLogin = showLogin;
56
+ }
54
57
  if (showLogin) {
55
58
  setStartClosingLogin(false);
56
59
  setShowLoginAnimation(true);
@@ -67,9 +70,9 @@ export function N1WalletModal() {
67
70
  return function () { return clearTimeout(timeout_1); };
68
71
  }
69
72
  }, [startClosingLogin, setStartClosingLogin]);
70
- // Handle modal close for Nord mode
71
- var handleNordFlowClose = function () {
72
- logger.debug('N1WalletModal: handleNordFlowClose invoked');
73
+ // Handle modal close for onboarding mode
74
+ var handleOnboardingFlowClose = function () {
75
+ logger.debug('N1WalletModal: handleOnboardingFlowClose invoked');
73
76
  suppressDocumentClick();
74
77
  blockModalReopen(1200);
75
78
  setShowLogin(false);
@@ -77,13 +80,13 @@ export function N1WalletModal() {
77
80
  };
78
81
  if (!showLogin && !startClosingLogin)
79
82
  return null;
80
- return (_jsx("div", { className: "n1-wallet-widget dark ", children: showLogin && (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center w-full h-full", children: [_jsx("div", { className: "\n fixed inset-0 w-full h-full bg-black/40 backdrop-blur-sm\n transition-all duration-500 ".concat(ANIMATION_EASE, "\n ").concat(showLoginAnimation ? 'opacity-100' : 'opacity-0', "\n "), onClick: function (event) {
83
+ return (_jsx("div", { className: "n1-wallet-widget dark ", children: showLogin && (_jsxs("div", { className: "fixed inset-0 z-50 flex items-center justify-center w-full h-full", children: [_jsx("div", { className: "\n fixed inset-0 w-full h-full bg-black/40 backdrop-blur-sm\n transition-all duration-500 cubic-bezier(0.16, 1, 0.3, 1)\n ".concat(showLoginAnimation ? 'opacity-100' : 'opacity-0', "\n "), onClick: function (event) {
81
84
  logger.debug('N1WalletModal: backdrop clicked, closing modal');
82
85
  blockEventPropagation(event);
83
86
  suppressDocumentClick();
84
87
  blockModalReopen(1200);
85
88
  setShowLogin(false);
86
89
  setStartClosingLogin(true);
87
- }, onMouseDown: blockEventPropagation, onMouseUp: blockEventPropagation, onPointerDown: blockEventPropagation, onPointerUp: blockEventPropagation, onTouchStart: blockEventPropagation, onTouchEnd: blockEventPropagation }), _jsx("div", { className: "\n scale-100 relative z-50 transition-all duration-500 ".concat(ANIMATION_EASE, "\n ").concat(showLoginAnimation ? 'opacity-100 scale-100' : 'opacity-0 scale-95', "\n "), children: _jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsx(NordFlow, { onClose: handleNordFlowClose }) }) })] })) }));
90
+ }, onMouseDown: blockEventPropagation, onMouseUp: blockEventPropagation, onPointerDown: blockEventPropagation, onPointerUp: blockEventPropagation, onTouchStart: blockEventPropagation, onTouchEnd: blockEventPropagation }), _jsx("div", { className: "\n scale-100 relative z-50 transition-all duration-500 cubic-bezier(0.16, 1, 0.3, 1)\n ".concat(showLoginAnimation ? 'opacity-100 scale-100' : 'opacity-0 scale-95', "\n "), children: _jsx(Suspense, { fallback: _jsx(LoadingFallback, {}), children: _jsx(OnboardingFlow, { onClose: handleOnboardingFlowClose }) }) })] })) }));
88
91
  }
89
92
  //# sourceMappingURL=N1WalletModal.js.map