@n1xyz/wallet-widget 0.0.9 → 0.0.11

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 (180) hide show
  1. package/dist/Logic/transactionManager.d.ts +1 -1
  2. package/dist/Logic/transactionManager.js +1 -1
  3. package/dist/Logic/transactionManager.js.map +1 -1
  4. package/dist/Modal/LoadingFallback.js +1 -1
  5. package/dist/Modal/LoadingFallback.js.map +1 -1
  6. package/dist/Modal/NTSFlow/LoadingFallback.js +1 -1
  7. package/dist/Modal/NTSFlow/LoadingFallback.js.map +1 -1
  8. package/dist/Modal/NTSFlow/components/BackButton.js +2 -2
  9. package/dist/Modal/NTSFlow/components/BackButton.js.map +1 -1
  10. package/dist/Modal/NTSFlow/components/ModalHeader.js +1 -1
  11. package/dist/Modal/NTSFlow/components/ModalHeader.js.map +1 -1
  12. package/dist/Modal/NTSFlow/views/ConnectView.js +2 -2
  13. package/dist/Modal/NTSFlow/views/ConnectView.js.map +1 -1
  14. package/dist/Modal/NTSFlow/views/CreateSessionView.js +5 -5
  15. package/dist/Modal/NTSFlow/views/CreateSessionView.js.map +1 -1
  16. package/dist/Modal/NTSFlow/views/CreateUserView.js +1 -1
  17. package/dist/Modal/NTSFlow/views/CreateUserView.js.map +1 -1
  18. package/dist/Modal/NTSFlow/views/NoWhitelistView.js +3 -3
  19. package/dist/Modal/NTSFlow/views/NoWhitelistView.js.map +1 -1
  20. package/dist/Modal/NTSFlow/views/SigningView.js +1 -1
  21. package/dist/Modal/NTSFlow/views/SigningView.js.map +1 -1
  22. package/dist/Modal/NordFlow/NordFlow.js +22 -228
  23. package/dist/Modal/NordFlow/NordFlow.js.map +1 -1
  24. package/dist/Modal/NordFlow/components/ChainButton.js +5 -5
  25. package/dist/Modal/NordFlow/components/ChainButton.js.map +1 -1
  26. package/dist/Modal/NordFlow/components/EVMChainsButton.js +4 -4
  27. package/dist/Modal/NordFlow/components/EVMChainsButton.js.map +1 -1
  28. package/dist/Modal/NordFlow/components/Header.d.ts +10 -0
  29. package/dist/Modal/NordFlow/components/Header.js +11 -0
  30. package/dist/Modal/NordFlow/components/Header.js.map +1 -0
  31. package/dist/Modal/NordFlow/components/ImageWithFallback.js +1 -1
  32. package/dist/Modal/NordFlow/components/ImageWithFallback.js.map +1 -1
  33. package/dist/Modal/NordFlow/components/LoadingSquares.js +1 -1
  34. package/dist/Modal/NordFlow/components/LoadingSquares.js.map +1 -1
  35. package/dist/Modal/NordFlow/components/MoreButton.js +4 -4
  36. package/dist/Modal/NordFlow/components/MoreButton.js.map +1 -1
  37. package/dist/Modal/NordFlow/components/TransactionTable.js +7 -10
  38. package/dist/Modal/NordFlow/components/TransactionTable.js.map +1 -1
  39. package/dist/Modal/NordFlow/components/WaitingMessage.js +1 -1
  40. package/dist/Modal/NordFlow/components/WaitingMessage.js.map +1 -1
  41. package/dist/Modal/NordFlow/components/index.d.ts +1 -0
  42. package/dist/Modal/NordFlow/components/index.js +1 -0
  43. package/dist/Modal/NordFlow/components/index.js.map +1 -1
  44. package/dist/Modal/NordFlow/constants.js +116 -95
  45. package/dist/Modal/NordFlow/constants.js.map +1 -1
  46. package/dist/Modal/NordFlow/context/DepositContext.d.ts +27 -0
  47. package/dist/Modal/NordFlow/context/DepositContext.js +308 -0
  48. package/dist/Modal/NordFlow/context/DepositContext.js.map +1 -0
  49. package/dist/Modal/NordFlow/context/FlowContext.d.ts +23 -0
  50. package/dist/Modal/NordFlow/context/FlowContext.js +125 -0
  51. package/dist/Modal/NordFlow/context/FlowContext.js.map +1 -0
  52. package/dist/Modal/NordFlow/context/NordProvider.d.ts +10 -0
  53. package/dist/Modal/NordFlow/context/NordProvider.js +14 -0
  54. package/dist/Modal/NordFlow/context/NordProvider.js.map +1 -0
  55. package/dist/Modal/NordFlow/context/WalletConnectContext.d.ts +20 -0
  56. package/dist/Modal/NordFlow/context/WalletConnectContext.js +214 -0
  57. package/dist/Modal/NordFlow/context/WalletConnectContext.js.map +1 -0
  58. package/dist/Modal/NordFlow/context/deposit/types.d.ts +26 -0
  59. package/dist/Modal/NordFlow/context/deposit/types.js +2 -0
  60. package/dist/Modal/NordFlow/context/deposit/types.js.map +1 -0
  61. package/dist/Modal/NordFlow/context/deposit/useDepositAuth.d.ts +7 -0
  62. package/dist/Modal/NordFlow/context/deposit/useDepositAuth.js +113 -0
  63. package/dist/Modal/NordFlow/context/deposit/useDepositAuth.js.map +1 -0
  64. package/dist/Modal/NordFlow/context/deposit/useDepositTransaction.d.ts +20 -0
  65. package/dist/Modal/NordFlow/context/deposit/useDepositTransaction.js +235 -0
  66. package/dist/Modal/NordFlow/context/deposit/useDepositTransaction.js.map +1 -0
  67. package/dist/Modal/NordFlow/context/index.d.ts +5 -0
  68. package/dist/Modal/NordFlow/context/index.js +8 -0
  69. package/dist/Modal/NordFlow/context/index.js.map +1 -0
  70. package/dist/Modal/NordFlow/hooks/index.d.ts +3 -5
  71. package/dist/Modal/NordFlow/hooks/index.js +3 -5
  72. package/dist/Modal/NordFlow/hooks/index.js.map +1 -1
  73. package/dist/Modal/NordFlow/hooks/useDepositFlow.js +2 -4
  74. package/dist/Modal/NordFlow/hooks/useDepositFlow.js.map +1 -1
  75. package/dist/Modal/NordFlow/hooks/useNordInstance.d.ts +0 -6
  76. package/dist/Modal/NordFlow/hooks/useNordInstance.js +2 -358
  77. package/dist/Modal/NordFlow/hooks/useNordInstance.js.map +1 -1
  78. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.d.ts +0 -1
  79. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js +0 -1
  80. package/dist/Modal/NordFlow/hooks/useNordWalletConnect.js.map +1 -1
  81. package/dist/Modal/NordFlow/screens/00-IdleScreen.d.ts +6 -0
  82. package/dist/Modal/NordFlow/screens/00-IdleScreen.js +9 -0
  83. package/dist/Modal/NordFlow/screens/00-IdleScreen.js.map +1 -0
  84. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.d.ts +1 -6
  85. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js +12 -6
  86. package/dist/Modal/NordFlow/screens/01-ConnectWalletScreen.js.map +1 -1
  87. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.d.ts +1 -5
  88. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js +13 -16
  89. package/dist/Modal/NordFlow/screens/02-EvmWalletAuthScreen.js.map +1 -1
  90. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.d.ts +1 -7
  91. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js +11 -9
  92. package/dist/Modal/NordFlow/screens/03-ChainSelectionScreen.js.map +1 -1
  93. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.d.ts +1 -13
  94. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js +59 -31
  95. package/dist/Modal/NordFlow/screens/04-AmountInputScreen.js.map +1 -1
  96. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.d.ts +1 -6
  97. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js +9 -4
  98. package/dist/Modal/NordFlow/screens/05-DepositProgressScreen.js.map +1 -1
  99. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.d.ts +1 -8
  100. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js +18 -7
  101. package/dist/Modal/NordFlow/screens/06-DepositSuccessScreen.js.map +1 -1
  102. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.d.ts +1 -6
  103. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js +15 -121
  104. package/dist/Modal/NordFlow/screens/07-AuthLoadingScreen.js.map +1 -1
  105. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.d.ts +1 -1
  106. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js +10 -5
  107. package/dist/Modal/NordFlow/screens/08-FinalSuccessScreen.js.map +1 -1
  108. package/dist/Modal/NordFlow/screens/09-ErrorScreen.d.ts +1 -7
  109. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js +9 -9
  110. package/dist/Modal/NordFlow/screens/09-ErrorScreen.js.map +1 -1
  111. package/dist/Modal/NordFlow/screens/index.d.ts +1 -0
  112. package/dist/Modal/NordFlow/screens/index.js +1 -0
  113. package/dist/Modal/NordFlow/screens/index.js.map +1 -1
  114. package/dist/Modal/NordFlow/types.d.ts +0 -5
  115. package/dist/Modal/NordFlow/types.js +0 -1
  116. package/dist/Modal/NordFlow/types.js.map +1 -1
  117. package/dist/Modal/NordFlow/utils/index.d.ts +0 -1
  118. package/dist/Modal/NordFlow/utils/index.js +0 -1
  119. package/dist/Modal/NordFlow/utils/index.js.map +1 -1
  120. package/dist/Modal/Sidebar/N1Sidebar.js +10 -10
  121. package/dist/Modal/Sidebar/N1Sidebar.js.map +1 -1
  122. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js +5 -5
  123. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketSelector.js.map +1 -1
  124. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js +3 -3
  125. package/dist/Modal/Sidebar/NordTradingView/MarketOverview/MarketStats.js.map +1 -1
  126. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js +2 -2
  127. package/dist/Modal/Sidebar/NordTradingView/NordTradingView.js.map +1 -1
  128. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js +2 -2
  129. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBook.js.map +1 -1
  130. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js +1 -1
  131. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookDepthVisualizer.js.map +1 -1
  132. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js +4 -4
  133. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookHeader.js.map +1 -1
  134. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js +6 -6
  135. package/dist/Modal/Sidebar/NordTradingView/OrderBook/OrderBookTable.js.map +1 -1
  136. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js +1 -1
  137. package/dist/Modal/Sidebar/NordTradingView/TradeForm/AmountInput.js.map +1 -1
  138. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js +3 -3
  139. package/dist/Modal/Sidebar/NordTradingView/TradeForm/BuySellTabs.js.map +1 -1
  140. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js +7 -7
  141. package/dist/Modal/Sidebar/NordTradingView/TradeForm/FillModeSelector.js.map +1 -1
  142. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js +13 -13
  143. package/dist/Modal/Sidebar/NordTradingView/TradeForm/OrderTypeSelector.js.map +1 -1
  144. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js +1 -1
  145. package/dist/Modal/Sidebar/NordTradingView/TradeForm/PriceInput.js.map +1 -1
  146. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js +2 -2
  147. package/dist/Modal/Sidebar/NordTradingView/TradeForm/SubmitButton.js.map +1 -1
  148. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js +1 -1
  149. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TotalCalculator.js.map +1 -1
  150. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js +5 -5
  151. package/dist/Modal/Sidebar/NordTradingView/TradeForm/TradeForm.js.map +1 -1
  152. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js +1 -1
  153. package/dist/Modal/Sidebar/NordTradingView/UserBalances/UserBalances.js.map +1 -1
  154. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js +5 -5
  155. package/dist/Modal/Sidebar/NordTradingView/UserOrders/UserOrders.js.map +1 -1
  156. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js +4 -4
  157. package/dist/Modal/Sidebar/NordTradingView/UserPositions/UserPositions.js.map +1 -1
  158. package/dist/Provider/LazyWalletProvider.js +2 -0
  159. package/dist/Provider/LazyWalletProvider.js.map +1 -1
  160. package/dist/Provider/N1WalletProvider.js +48 -63
  161. package/dist/Provider/N1WalletProvider.js.map +1 -1
  162. package/dist/Provider/WalletErrorBoundary.d.ts +10 -0
  163. package/dist/Provider/WalletErrorBoundary.js +39 -0
  164. package/dist/Provider/WalletErrorBoundary.js.map +1 -0
  165. package/dist/Provider/hooks/useNordUserInitialization.d.ts +20 -0
  166. package/dist/Provider/hooks/useNordUserInitialization.js +293 -0
  167. package/dist/Provider/hooks/useNordUserInitialization.js.map +1 -0
  168. package/dist/Provider/types.d.ts +2 -0
  169. package/dist/Provider/types.js.map +1 -1
  170. package/dist/Provider/useN1WalletProvider.d.ts +37 -0
  171. package/dist/Provider/useN1WalletProvider.js +398 -0
  172. package/dist/Provider/useN1WalletProvider.js.map +1 -0
  173. package/dist/components/QRCodeLoader.js +1 -1
  174. package/dist/components/QRCodeLoader.js.map +1 -1
  175. package/dist/components/logos/EVMChainsGroup.js +1 -1
  176. package/dist/components/logos/EVMChainsGroup.js.map +1 -1
  177. package/dist/components/logos/MoreChainsGroup.js +1 -1
  178. package/dist/components/logos/MoreChainsGroup.js.map +1 -1
  179. package/dist/main.css +1 -1
  180. package/package.json +1 -1
@@ -1,50 +1,9 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- var __generator = (this && this.__generator) || function (thisArg, body) {
11
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
12
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
- function verb(n) { return function (v) { return step([n, v]); }; }
14
- function step(op) {
15
- if (f) throw new TypeError("Generator is already executing.");
16
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
18
- if (y = 0, t) op = [op[0] & 2, t.value];
19
- switch (op[0]) {
20
- case 0: case 1: t = op; break;
21
- case 4: _.label++; return { value: op[1], done: false };
22
- case 5: _.label++; y = op[1]; op = [0]; continue;
23
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
- default:
25
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
- if (t[2]) _.ops.pop();
30
- _.trys.pop(); continue;
31
- }
32
- op = body.call(thisArg, _);
33
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
- }
36
- };
37
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
38
- import React, { useCallback, useState } from 'react';
39
- import Logo from '../../components/Logo';
40
- import { useN1WalletContext, useN1WalletInternalContext, } from '../../Provider/hooks';
41
- import { logger } from '../../utils/logger';
42
- import { CHAINS } from './constants';
2
+ import { Header } from './components';
3
+ import { useFlowStateContext } from './context';
43
4
  import { withImageFallback } from './hoc';
44
- import { useDepositFlow, useFlowState, useInterruptHandler, useNordInstance, useNordWalletConnect, } from './hooks';
45
- import { AmountInputScreen, AuthLoadingScreen, ChainSelectionScreen, ConnectWalletScreen, DepositProgressScreen, DepositSuccessScreen, ErrorScreen, EvmWalletAuthScreen, FinalSuccessScreen, } from './screens';
5
+ import { AmountInputScreen, AuthLoadingScreen, ChainSelectionScreen, ConnectWalletScreen, DepositProgressScreen, DepositSuccessScreen, ErrorScreen, EvmWalletAuthScreen, FinalSuccessScreen, IdleScreen, } from './screens';
46
6
  import { FlowState } from './types';
47
- import { getTokenBalance, isNordConfigured } from './utils/nordUtils';
48
7
  // Apply the withImageFallback HOC to all screen components
49
8
  var EnhancedConnectWalletScreen = withImageFallback(ConnectWalletScreen);
50
9
  var EnhancedEvmWalletAuthScreen = withImageFallback(EvmWalletAuthScreen);
@@ -55,209 +14,44 @@ var EnhancedDepositSuccessScreen = withImageFallback(DepositSuccessScreen);
55
14
  var EnhancedAuthLoadingScreen = withImageFallback(AuthLoadingScreen);
56
15
  var EnhancedFinalSuccessScreen = withImageFallback(FinalSuccessScreen);
57
16
  var EnhancedErrorScreen = withImageFallback(ErrorScreen);
17
+ var EnhancedIdleScreen = withImageFallback(IdleScreen);
58
18
  /**
59
19
  * Main component for the wallet connection flow
60
20
  */
61
21
  export var NordFlow = function (_a) {
62
22
  var onClose = _a.onClose;
63
- // Get session mode from context
64
- var _b = useN1WalletInternalContext(), sessionMode = _b.sessionMode, faucetUrl = _b.faucetUrl;
65
- var _c = useN1WalletContext(), balances = _c.balances, nord = _c.nord, nordUser = _c.nordUser;
66
- var instanceNordUser = useNordInstance().nordUser;
67
- // Use the nordUser from context, falling back to the one from useNordInstance
68
- var currentNordUser = nordUser || instanceNordUser;
69
- // Handle state changes
70
- var handleStateChange = useCallback(function (newState, prevState) {
71
- logger.debug("State changed from ".concat(prevState, " to ").concat(newState));
72
- }, []);
73
- // Handle errors
74
- var handleError = useCallback(function (error) {
75
- logger.error('Flow error:', error);
76
- }, []);
77
- // Initialize flow state
78
- var _d = useFlowState({
79
- autoRecover: false, // We'll handle recovery with a prompt
80
- onStateChange: handleStateChange,
81
- onError: handleError,
82
- }), state = _d.state, context = _d.context, transition = _d.transition, updateContext = _d.updateContext, recover = _d.recover, recordInterruption = _d.recordInterruption, handleFlowError = _d.handleError, isRecoveryAvailable = _d.isRecoveryAvailable;
83
- // Create a wrapped transition function that logs more details
84
- var enhancedTransition = useCallback(function (newState, contextUpdates) {
85
- logger.debug("Attempting transition to ".concat(newState), contextUpdates);
86
- var result = transition(newState, contextUpdates);
87
- logger.debug("Transition to ".concat(newState, " result:"), result);
88
- return result;
89
- }, [transition]);
90
- // Initialize wallet connection
91
- var _e = useNordWalletConnect(state, enhancedTransition, // Use enhanced transition instead of regular transition
92
- context, updateContext, sessionMode || 0), connectWallet = _e.connectWallet, isConnecting = _e.isConnecting;
93
- // Initialize deposit flow
94
- var _f = useDepositFlow({
95
- state: state,
96
- context: context,
97
- transition: transition,
98
- handleError: handleFlowError,
99
- updateContext: updateContext,
100
- }), amount = _f.amount, updateAmount = _f.updateAmount, startDeposit = _f.startDeposit, completeDeposit = _f.completeDeposit, getTransactionDetails = _f.getTransactionDetails;
101
- // Initialize interrupt handler
102
- var _g = useInterruptHandler({
103
- state: state,
104
- recordInterruption: recordInterruption,
105
- onClose: onClose,
106
- }), isClosing = _g.isClosing, handleCloseRequest = _g.handleCloseRequest;
107
- // Check for recovery on mount
108
- var _h = useState(false), hasAttemptedRecovery = _h[0], setHasAttemptedRecovery = _h[1];
109
- React.useEffect(function () {
110
- if (!hasAttemptedRecovery) {
111
- if (isRecoveryAvailable) {
112
- // Automatically recover without showing a prompt
113
- recover();
114
- }
115
- else {
116
- console.log('baababbababababab');
117
- // Start at CONNECTING_WALLET so we show the wallet selection screen
118
- // The actual connection will only happen when the user clicks the button
119
- transition(FlowState.CONNECTING_WALLET);
120
- }
121
- setHasAttemptedRecovery(true);
122
- }
123
- }, [hasAttemptedRecovery, isRecoveryAvailable, transition, recover]);
124
- // For deposit progress message
125
- var depositMessage = {
126
- visible: true,
127
- title: 'Processing Deposit',
128
- subtitle: 'Please wait while we process your deposit',
129
- isTyping: false,
130
- };
131
- var handleFinish = function () {
132
- if (onClose) {
133
- onClose();
134
- }
135
- };
136
- // Handle chain selection
137
- var handleChainSelect = useCallback(function (chainId) {
138
- logger.debug('Chain selected in NordFlow:', chainId);
139
- // For testnet, we need to use the network ID
140
- var selectedChain = chainId;
141
- logger.debug('Transitioning to AMOUNT_INPUT with chain:', selectedChain);
142
- enhancedTransition(FlowState.AMOUNT_INPUT, {
143
- selectedChain: selectedChain,
144
- });
145
- }, [enhancedTransition]);
146
- // Get the USDC balance
147
- var getUsdcBalance = useCallback(function () {
148
- // Try to get the balance from nordUser if available
149
- if (currentNordUser) {
150
- var usdcBalance = getTokenBalance(currentNordUser, 'USDC');
151
- if (usdcBalance > 0) {
152
- return usdcBalance;
153
- }
154
- }
155
- // Fallback to the first balance from the context or a default value
156
- return balances && balances.length > 0 ? Number(balances[0].balance) : 100;
157
- }, [currentNordUser, balances]);
158
- // Function to refresh balances
159
- var refreshBalance = useCallback(function () { return __awaiter(void 0, void 0, void 0, function () {
160
- var userAny, error_1, error_2;
161
- return __generator(this, function (_a) {
162
- switch (_a.label) {
163
- case 0:
164
- _a.trys.push([0, 6, , 7]);
165
- logger.debug('Refreshing balance...');
166
- if (!(currentNordUser && nord && isNordConfigured(nord))) return [3 /*break*/, 5];
167
- _a.label = 1;
168
- case 1:
169
- _a.trys.push([1, 4, , 5]);
170
- userAny = currentNordUser;
171
- if (!(userAny && typeof userAny.refreshBalances === 'function')) return [3 /*break*/, 3];
172
- return [4 /*yield*/, userAny.refreshBalances()];
173
- case 2:
174
- _a.sent();
175
- logger.debug('Balances refreshed using Nord-TS');
176
- return [2 /*return*/];
177
- case 3: return [3 /*break*/, 5];
178
- case 4:
179
- error_1 = _a.sent();
180
- logger.warn('Error refreshing balances using Nord-TS, falling back to default method:', error_1);
181
- return [3 /*break*/, 5];
182
- case 5:
183
- logger.debug('Balance refreshed using default method');
184
- return [3 /*break*/, 7];
185
- case 6:
186
- error_2 = _a.sent();
187
- logger.error('Error refreshing balance:', error_2);
188
- return [3 /*break*/, 7];
189
- case 7: return [2 /*return*/];
190
- }
191
- });
192
- }); }, [currentNordUser, nord]);
193
- // Get available chains from Nord if possible
194
- var getAvailableChains = useCallback(function () {
195
- if (nord &&
196
- isNordConfigured(nord) &&
197
- nord.markets &&
198
- nord.markets.length > 0) {
199
- // Map Nord markets to chains format
200
- return nord.markets.map(function (market) { return ({
201
- id: market.marketId.toString(),
202
- name: market.symbol,
203
- // Use a placeholder or dynamically generated logo instead of non-existent assets
204
- logo: market.symbol.toLowerCase(), // Just use the symbol as an identifier
205
- }); });
206
- }
207
- // Fallback to predefined chains
208
- return CHAINS;
209
- }, [nord]);
23
+ return (_jsx("div", { className: "z-50 flex items-center justify-center overflow-auto font-era", children: _jsxs("div", { className: "bg-n1-gray-50 dark:bg-n1-gray-950 relative border border-n1-gray-200 dark:border-n1-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity min-w-96", children: [_jsx(Header, { onClose: onClose }), _jsx("div", { className: "wallet-connection-flow-content p-6 overflow-hidden", children: _jsx(NordFlowScreenRenderer, { onClose: onClose }) })] }) }));
24
+ };
25
+ // Screen renderer component that uses the flow state context
26
+ var NordFlowScreenRenderer = function (_a) {
27
+ var onClose = _a.onClose;
28
+ // Use the flow state context
29
+ var _b = useFlowStateContext(), state = _b.state, isClosing = _b.isClosing;
210
30
  // Render the appropriate screen based on the current state
211
31
  var renderScreen = function () {
212
32
  switch (state) {
213
33
  case FlowState.CONNECTING_WALLET:
214
- return (_jsx(EnhancedConnectWalletScreen, { onConnectWallet: connectWallet, isConnecting: isConnecting }));
34
+ return _jsx(EnhancedConnectWalletScreen, {});
215
35
  case FlowState.CHAIN_SELECTION:
216
- var availableChains = getAvailableChains();
217
- return (_jsx(EnhancedChainSelectionScreen, { chains: availableChains, onChainSelect: handleChainSelect }));
36
+ return _jsx(EnhancedChainSelectionScreen, {});
218
37
  case FlowState.ETH_TO_SOL_AUTH:
219
- return (_jsx(EnhancedEvmWalletAuthScreen, { onAuth: function () { return transition(FlowState.CHAIN_SELECTION); } }));
38
+ return _jsx(EnhancedEvmWalletAuthScreen, {});
220
39
  case FlowState.AMOUNT_INPUT:
221
- return (_jsx(EnhancedAmountInputScreen, { amount: amount, onAmountChange: updateAmount, onContinue: startDeposit, balance: getUsdcBalance(), faucetUrl: faucetUrl, refreshBalance: refreshBalance, depositError: context.depositError }));
40
+ return _jsx(EnhancedAmountInputScreen, {});
222
41
  case FlowState.DEPOSIT_PROGRESS:
223
- return _jsx(EnhancedDepositProgressScreen, { message: depositMessage });
42
+ return _jsx(EnhancedDepositProgressScreen, {});
224
43
  case FlowState.DEPOSIT_SUCCESS:
225
- // Get transaction details from the deposit flow
226
- var txDetails = getTransactionDetails();
227
- // Create table values from transaction details
228
- var updatedTableValues = {
229
- amount: { text: txDetails.amount, visible: true, typing: false },
230
- tx: { text: txDetails.tx, visible: true, typing: false },
231
- from: { text: txDetails.from, visible: true, typing: false },
232
- to: { text: txDetails.to, visible: true, typing: false },
233
- network: { text: txDetails.network, visible: true, typing: false },
234
- status: { text: txDetails.status, visible: true, typing: false },
235
- };
236
- return (_jsx(EnhancedDepositSuccessScreen, { amount: amount, tableValues: updatedTableValues, onContinue: completeDeposit }));
44
+ return _jsx(EnhancedDepositSuccessScreen, {});
237
45
  case FlowState.AUTH_LOADING:
238
- return (_jsx(EnhancedAuthLoadingScreen, { onAuthComplete: function (success) {
239
- if (success) {
240
- // Update the context first
241
- updateContext({ hasActiveSession: true });
242
- // Then transition to success
243
- transition(FlowState.FINAL_SUCCESS, { hasActiveSession: true });
244
- }
245
- else {
246
- // Handle auth failure
247
- handleFlowError(new Error('Authentication failed'));
248
- }
249
- } }));
46
+ return _jsx(EnhancedAuthLoadingScreen, {});
250
47
  case FlowState.FINAL_SUCCESS:
251
- return _jsx(EnhancedFinalSuccessScreen, { onDone: handleFinish });
48
+ return _jsx(EnhancedFinalSuccessScreen, { onDone: onClose || (function () { }) });
252
49
  case FlowState.ERROR:
253
- return (_jsx(EnhancedErrorScreen, { error: context.error, onRetry: function () {
254
- // Logic to go back to appropriate state based on error
255
- transition(FlowState.CONNECTING_WALLET);
256
- }, onCancel: handleFinish }));
50
+ return _jsx(EnhancedErrorScreen, {});
257
51
  default:
258
- return (_jsxs("div", { className: "flex flex-col items-center justify-center p-8 space-y-4", children: [_jsxs("div", { className: "relative w-12 h-12", children: [_jsx("div", { className: "absolute inset-0 border-2 border-gray-200 dark:border-gray-800 border-b-main rounded-full animate-spin-slow" }), _jsx("div", { className: "absolute inset-0 flex items-center justify-center", children: _jsx("div", { className: "w-2 h-2 bg-main rounded-full animate-pulse" }) })] }), _jsx("p", { className: "text-gray-700 dark:text-gray-300 text-sm font-medium", children: "Loading" })] }));
52
+ return _jsx(EnhancedIdleScreen, {});
259
53
  }
260
54
  };
261
- return (_jsx("div", { className: "z-50 flex items-center justify-center overflow-auto font-era ".concat(isClosing ? 'animate-fade-out' : 'animate-fade-in'), children: _jsxs("div", { className: "bg-gray-50 dark:bg-gray-950 relative border border-gray-200 dark:border-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity min-w-96", children: [_jsx("div", { className: "p-6 border-b border-gray-200 dark:border-gray-800 w-full max-w-2xl mx-auto", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "flex items-center gap-3", children: _jsx("div", { className: "w-6 h-6 text-gray-50", children: _jsx(Logo, { size: 24 }) }) }), _jsx("button", { onClick: handleCloseRequest, className: "\n text-neutral-400 hover:text-gray-900 dark:hover:text-white \n transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\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("svg", { className: "w-5 h-5", 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: "M6 18L18 6M6 6l12 12" }) }) })] }) }), _jsx("div", { className: "wallet-connection-flow-content p-6 overflow-hidden", children: renderScreen() })] }) }));
55
+ return (_jsx("div", { className: isClosing ? 'n1-animate-fade-out' : 'n1-animate-fade-in', children: renderScreen() }));
262
56
  };
263
57
  //# sourceMappingURL=NordFlow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NordFlow.js","sourceRoot":"","sources":["../../../src/Modal/NordFlow/NordFlow.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useCallback, useState } from 'react';\nimport Logo from '../../components/Logo';\nimport {\n useN1WalletContext,\n useN1WalletInternalContext,\n} from '../../Provider/hooks';\nimport { logger } from '../../utils/logger';\nimport { CHAINS } from './constants';\nimport { withImageFallback } from './hoc';\nimport {\n useDepositFlow,\n useFlowState,\n useInterruptHandler,\n useNordInstance,\n useNordWalletConnect,\n} from './hooks';\nimport {\n AmountInputScreen,\n AuthLoadingScreen,\n ChainSelectionScreen,\n ConnectWalletScreen,\n DepositProgressScreen,\n DepositSuccessScreen,\n ErrorScreen,\n EvmWalletAuthScreen,\n FinalSuccessScreen,\n} from './screens';\nimport { FlowContext, FlowState } from './types';\nimport { getTokenBalance, isNordConfigured } from './utils/nordUtils';\n\ninterface NordFlowProps {\n onClose?: () => void;\n}\n\n// Define the Chain type to match what's expected by ChainSelectionScreen\ninterface Chain {\n id: string;\n name: string;\n logo: string;\n}\n\n// Apply the withImageFallback HOC to all screen components\nconst EnhancedConnectWalletScreen = withImageFallback(ConnectWalletScreen);\nconst EnhancedEvmWalletAuthScreen = withImageFallback(EvmWalletAuthScreen);\nconst EnhancedChainSelectionScreen = withImageFallback(ChainSelectionScreen);\nconst EnhancedAmountInputScreen = withImageFallback(AmountInputScreen);\nconst EnhancedDepositProgressScreen = withImageFallback(DepositProgressScreen);\nconst EnhancedDepositSuccessScreen = withImageFallback(DepositSuccessScreen);\nconst EnhancedAuthLoadingScreen = withImageFallback(AuthLoadingScreen);\nconst EnhancedFinalSuccessScreen = withImageFallback(FinalSuccessScreen);\nconst EnhancedErrorScreen = withImageFallback(ErrorScreen);\n\n/**\n * Main component for the wallet connection flow\n */\nexport const NordFlow: React.FC<NordFlowProps> = ({ onClose }) => {\n // Get session mode from context\n const { sessionMode, faucetUrl } = useN1WalletInternalContext();\n const { balances, nord, nordUser } = useN1WalletContext();\n const { nordUser: instanceNordUser } = useNordInstance();\n\n // Use the nordUser from context, falling back to the one from useNordInstance\n const currentNordUser = nordUser || instanceNordUser;\n\n // Handle state changes\n const handleStateChange = useCallback(\n (newState: FlowState, prevState: FlowState | null) => {\n logger.debug(`State changed from ${prevState} to ${newState}`);\n },\n []\n );\n\n // Handle errors\n const handleError = useCallback((error: Error) => {\n logger.error('Flow error:', error);\n }, []);\n\n // Initialize flow state\n const {\n state,\n context,\n transition,\n updateContext,\n recover,\n recordInterruption,\n handleError: handleFlowError,\n isRecoveryAvailable,\n } = useFlowState({\n autoRecover: false, // We'll handle recovery with a prompt\n onStateChange: handleStateChange,\n onError: handleError,\n });\n\n // Create a wrapped transition function that logs more details\n const enhancedTransition = useCallback(\n (newState: FlowState, contextUpdates?: Partial<FlowContext>) => {\n logger.debug(`Attempting transition to ${newState}`, contextUpdates);\n const result = transition(newState, contextUpdates);\n logger.debug(`Transition to ${newState} result:`, result);\n return result;\n },\n [transition]\n );\n\n // Initialize wallet connection\n const { connectWallet, isConnecting } = useNordWalletConnect(\n state,\n enhancedTransition, // Use enhanced transition instead of regular transition\n context,\n updateContext,\n sessionMode || 0\n );\n\n // Initialize deposit flow\n const {\n amount,\n updateAmount,\n startDeposit,\n completeDeposit,\n getTransactionDetails,\n } = useDepositFlow({\n state,\n context,\n transition,\n handleError: handleFlowError,\n updateContext,\n });\n\n // Initialize interrupt handler\n const { isClosing, handleCloseRequest } = useInterruptHandler({\n state,\n recordInterruption,\n onClose,\n });\n\n // Check for recovery on mount\n const [hasAttemptedRecovery, setHasAttemptedRecovery] = useState(false);\n\n React.useEffect(() => {\n if (!hasAttemptedRecovery) {\n if (isRecoveryAvailable) {\n // Automatically recover without showing a prompt\n recover();\n } else {\n console.log('baababbababababab')\n // Start at CONNECTING_WALLET so we show the wallet selection screen\n // The actual connection will only happen when the user clicks the button\n transition(FlowState.CONNECTING_WALLET);\n }\n setHasAttemptedRecovery(true);\n }\n }, [hasAttemptedRecovery, isRecoveryAvailable, transition, recover]);\n\n // For deposit progress message\n const depositMessage = {\n visible: true,\n title: 'Processing Deposit',\n subtitle: 'Please wait while we process your deposit',\n isTyping: false,\n }\n\n const handleFinish = () => {\n if (onClose) {\n onClose();\n }\n };\n\n // Handle chain selection\n const handleChainSelect = useCallback(\n (chainId: string) => {\n logger.debug('Chain selected in NordFlow:', chainId);\n\n // For testnet, we need to use the network ID\n const selectedChain = chainId;\n logger.debug('Transitioning to AMOUNT_INPUT with chain:', selectedChain);\n\n enhancedTransition(FlowState.AMOUNT_INPUT, {\n selectedChain: selectedChain,\n });\n },\n [enhancedTransition]\n );\n\n // Get the USDC balance\n const getUsdcBalance = useCallback(() => {\n // Try to get the balance from nordUser if available\n if (currentNordUser) {\n const usdcBalance = getTokenBalance(currentNordUser, 'USDC');\n if (usdcBalance > 0) {\n return usdcBalance;\n }\n }\n\n // Fallback to the first balance from the context or a default value\n return balances && balances.length > 0 ? Number(balances[0].balance) : 100;\n }, [currentNordUser, balances]);\n\n // Function to refresh balances\n const refreshBalance = useCallback(async () => {\n try {\n logger.debug('Refreshing balance...');\n\n // If we have a nordUser, try to refresh balances using Nord-TS\n if (currentNordUser && nord && isNordConfigured(nord)) {\n try {\n // This is a placeholder - in a real implementation, you would use the correct method\n // to refresh balances from the Nord-TS API\n // Check if the nordUser has a refreshBalances method using type safety\n const userAny = currentNordUser as any;\n if (userAny && typeof userAny.refreshBalances === 'function') {\n await userAny.refreshBalances();\n logger.debug('Balances refreshed using Nord-TS');\n return;\n }\n } catch (error) {\n logger.warn(\n 'Error refreshing balances using Nord-TS, falling back to default method:',\n error\n );\n }\n }\n\n logger.debug('Balance refreshed using default method');\n } catch (error) {\n logger.error('Error refreshing balance:', error);\n }\n }, [currentNordUser, nord]);\n\n // Get available chains from Nord if possible\n const getAvailableChains = useCallback((): Chain[] => {\n if (\n nord &&\n isNordConfigured(nord) &&\n nord.markets &&\n nord.markets.length > 0\n ) {\n // Map Nord markets to chains format\n return nord.markets.map((market) => ({\n id: market.marketId.toString(),\n name: market.symbol,\n // Use a placeholder or dynamically generated logo instead of non-existent assets\n logo: market.symbol.toLowerCase(), // Just use the symbol as an identifier\n }));\n }\n\n // Fallback to predefined chains\n return CHAINS;\n }, [nord]);\n\n // Render the appropriate screen based on the current state\n const renderScreen = () => {\n switch (state) {\n case FlowState.CONNECTING_WALLET:\n return (\n <EnhancedConnectWalletScreen\n onConnectWallet={connectWallet}\n isConnecting={isConnecting}\n />\n );\n case FlowState.CHAIN_SELECTION:\n const availableChains = getAvailableChains();\n return (\n <EnhancedChainSelectionScreen\n chains={availableChains}\n onChainSelect={handleChainSelect}\n />\n );\n case FlowState.ETH_TO_SOL_AUTH:\n return (\n <EnhancedEvmWalletAuthScreen\n onAuth={() => transition(FlowState.CHAIN_SELECTION)}\n />\n );\n case FlowState.AMOUNT_INPUT:\n return (\n <EnhancedAmountInputScreen\n amount={amount}\n onAmountChange={updateAmount}\n onContinue={startDeposit}\n balance={getUsdcBalance()} // Use real balance\n faucetUrl={faucetUrl} // Pass faucetUrl directly\n refreshBalance={refreshBalance} // Pass refresh function\n depositError={context.depositError} // Pass deposit error from context\n />\n );\n case FlowState.DEPOSIT_PROGRESS:\n return <EnhancedDepositProgressScreen message={depositMessage} />;\n case FlowState.DEPOSIT_SUCCESS:\n // Get transaction details from the deposit flow\n const txDetails = getTransactionDetails();\n // Create table values from transaction details\n const updatedTableValues = {\n amount: { text: txDetails.amount, visible: true, typing: false },\n tx: { text: txDetails.tx, visible: true, typing: false },\n from: { text: txDetails.from, visible: true, typing: false },\n to: { text: txDetails.to, visible: true, typing: false },\n network: { text: txDetails.network, visible: true, typing: false },\n status: { text: txDetails.status, visible: true, typing: false },\n };\n\n return (\n <EnhancedDepositSuccessScreen\n amount={amount}\n tableValues={updatedTableValues}\n onContinue={completeDeposit}\n />\n );\n case FlowState.AUTH_LOADING:\n return (\n <EnhancedAuthLoadingScreen\n onAuthComplete={(success) => {\n if (success) {\n // Update the context first\n updateContext({ hasActiveSession: true });\n // Then transition to success\n transition(FlowState.FINAL_SUCCESS, { hasActiveSession: true });\n } else {\n // Handle auth failure\n handleFlowError(new Error('Authentication failed'));\n }\n }}\n />\n );\n case FlowState.FINAL_SUCCESS:\n return <EnhancedFinalSuccessScreen onDone={handleFinish} />;\n case FlowState.ERROR:\n return (\n <EnhancedErrorScreen\n error={context.error}\n onRetry={() => {\n // Logic to go back to appropriate state based on error\n transition(FlowState.CONNECTING_WALLET);\n }}\n onCancel={handleFinish}\n />\n );\n default:\n return (\n <div className=\"flex flex-col items-center justify-center p-8 space-y-4\">\n {/* Minimalistic but creative loading animation */}\n <div className=\"relative w-12 h-12\">\n {/* Simple spinning ring with primary color accent */}\n <div className=\"absolute inset-0 border-2 border-gray-200 dark:border-gray-800 border-b-main rounded-full animate-spin-slow\"></div>\n\n {/* Subtle pulsing dot in the center */}\n <div className=\"absolute inset-0 flex items-center justify-center\">\n <div className=\"w-2 h-2 bg-main rounded-full animate-pulse\"></div>\n </div>\n </div>\n\n {/* Simple loading text */}\n <p className=\"text-gray-700 dark:text-gray-300 text-sm font-medium\">\n Loading\n </p>\n </div>\n );\n }\n };\n\n return (\n <div\n className={`z-50 flex items-center justify-center overflow-auto font-era ${isClosing ? 'animate-fade-out' : 'animate-fade-in'}`}\n >\n <div className=\"bg-gray-50 dark:bg-gray-950 relative border border-gray-200 dark:border-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity min-w-96\">\n {/* Header */}\n <div className=\"p-6 border-b border-gray-200 dark:border-gray-800 w-full max-w-2xl mx-auto\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-3\">\n <div className=\"w-6 h-6 text-gray-50\">\n {/* Use Logo component with fallback */}\n <Logo size={24} />\n </div>\n </div>\n <button\n onClick={handleCloseRequest}\n className={`\n text-neutral-400 hover:text-gray-900 dark:hover:text-white \n transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n h-10 w-10 rounded-full hover:bg-gray-100 dark:hover:bg-gray-800\n flex items-center justify-center\n `}\n >\n <svg\n className=\"w-5 h-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n </div>\n </div>\n\n {/* Content */}\n <div className=\"wallet-connection-flow-content p-6 overflow-hidden\">\n {renderScreen()}\n </div>\n </div>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"NordFlow.js","sourceRoot":"","sources":["../../../src/Modal/NordFlow/NordFlow.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Header } from './components';\nimport { useFlowStateContext } from './context';\nimport { withImageFallback } from './hoc';\nimport {\n AmountInputScreen,\n AuthLoadingScreen,\n ChainSelectionScreen,\n ConnectWalletScreen,\n DepositProgressScreen,\n DepositSuccessScreen,\n ErrorScreen,\n EvmWalletAuthScreen,\n FinalSuccessScreen,\n IdleScreen,\n} from './screens';\nimport { FlowState } from './types';\n\ninterface NordFlowProps {\n onClose?: () => void;\n}\n\n// Apply the withImageFallback HOC to all screen components\nconst EnhancedConnectWalletScreen = withImageFallback(ConnectWalletScreen);\nconst EnhancedEvmWalletAuthScreen = withImageFallback(EvmWalletAuthScreen);\nconst EnhancedChainSelectionScreen = withImageFallback(ChainSelectionScreen);\nconst EnhancedAmountInputScreen = withImageFallback(AmountInputScreen);\nconst EnhancedDepositProgressScreen = withImageFallback(DepositProgressScreen);\nconst EnhancedDepositSuccessScreen = withImageFallback(DepositSuccessScreen);\nconst EnhancedAuthLoadingScreen = withImageFallback(AuthLoadingScreen);\nconst EnhancedFinalSuccessScreen = withImageFallback(FinalSuccessScreen);\nconst EnhancedErrorScreen = withImageFallback(ErrorScreen);\nconst EnhancedIdleScreen = withImageFallback(IdleScreen);\n\n/**\n * Main component for the wallet connection flow\n */\nexport const NordFlow: React.FC<NordFlowProps> = ({ onClose }) => {\n return (\n <div\n className={`z-50 flex items-center justify-center overflow-auto font-era`}\n >\n <div className=\"bg-n1-gray-50 dark:bg-n1-gray-950 relative border border-n1-gray-200 dark:border-n1-gray-800 rounded-md transition-[max-width,transform,opacity] duration-[3000ms] ease-[cubic-bezier(0.16,1,0.3,1)] w-full max-w-sm m-4 origin-center will-change-[max-width,transform,opacity min-w-96\">\n {/* Header */}\n <Header onClose={onClose} />\n\n {/* Content */}\n <div className=\"wallet-connection-flow-content p-6 overflow-hidden\">\n <NordFlowScreenRenderer onClose={onClose} />\n </div>\n </div>\n </div>\n );\n};\n\n// Screen renderer component that uses the flow state context\nconst NordFlowScreenRenderer: React.FC<{ onClose?: () => void }> = ({ onClose }) => {\n // Use the flow state context\n const {\n state,\n isClosing,\n } = useFlowStateContext();\n\n // Render the appropriate screen based on the current state\n const renderScreen = () => {\n switch (state) {\n case FlowState.CONNECTING_WALLET:\n return <EnhancedConnectWalletScreen />;\n case FlowState.CHAIN_SELECTION:\n return <EnhancedChainSelectionScreen />;\n case FlowState.ETH_TO_SOL_AUTH:\n return <EnhancedEvmWalletAuthScreen />;\n case FlowState.AMOUNT_INPUT:\n return <EnhancedAmountInputScreen />;\n case FlowState.DEPOSIT_PROGRESS:\n return <EnhancedDepositProgressScreen />;\n case FlowState.DEPOSIT_SUCCESS:\n return <EnhancedDepositSuccessScreen />;\n case FlowState.AUTH_LOADING:\n return <EnhancedAuthLoadingScreen />;\n case FlowState.FINAL_SUCCESS:\n return <EnhancedFinalSuccessScreen onDone={onClose || (() => { })} />;\n case FlowState.ERROR:\n return <EnhancedErrorScreen />;\n default:\n return <EnhancedIdleScreen />;\n }\n };\n\n return (\n <div className={isClosing ? 'n1-animate-fade-out' : 'n1-animate-fade-in'}>\n {renderScreen()}\n </div>\n );\n};\n"]}
@@ -7,16 +7,16 @@ export function ChainButton(_a) {
7
7
  onClick(chain.id);
8
8
  }
9
9
  };
10
- var baseClasses = 'flex flex-col items-center justify-center p-6 bg-gray-50 dark:bg-gray-950 border-2 border-gray-100 dark:border-gray-800 transition-all duration-200 group rounded-lg';
11
- var enabledClasses = 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-gray-900';
10
+ var baseClasses = 'flex flex-col items-center justify-center p-6 bg-n1-gray-50 dark:bg-n1-gray-950 border-2 border-n1-gray-100 dark:border-n1-gray-800 transition-all duration-200 group rounded-lg';
11
+ var enabledClasses = 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-n1-gray-900';
12
12
  var disabledClasses = 'opacity-50 cursor-not-allowed';
13
13
  var buttonClasses = "".concat(baseClasses, " ").concat(disabled ? disabledClasses : enabledClasses);
14
14
  var imageClasses = disabled
15
15
  ? 'opacity-50 grayscale'
16
16
  : 'opacity-90 grayscale group-hover:grayscale-0 group-hover:scale-105 transition-all duration-200';
17
17
  var textClasses = disabled
18
- ? 'mt-4 font-medium text-gray-400 dark:text-gray-500'
19
- : 'mt-4 font-medium text-gray-600 dark:text-gray-400 group-hover:text-red-500 dark:group-hover:text-gray-50 transition-colors duration-200';
20
- return (_jsxs("button", { onClick: handleClick, className: buttonClasses, disabled: disabled, children: [typeof chain.logo === 'string' ? (_jsx(ImageWithFallback, { src: chain.logo, width: 48, height: 48, alt: chain.name, className: imageClasses, fallbackClassName: "w-12 h-12 rounded-full text-lg font-bold opacity-90 group-hover:scale-105 transition-all duration-200", fallbackBgColor: "bg-main/10 dark:bg-main/20", fallbackTextColor: "text-main dark:text-main" })) : (_jsx("div", { className: imageClasses, children: chain.logo })), _jsx("span", { className: textClasses, children: chain.name })] }));
18
+ ? 'mt-4 font-medium text-n1-gray-400 dark:text-n1-gray-500'
19
+ : 'mt-4 font-medium text-n1-gray-600 dark:text-n1-gray-400 group-hover:text-red-500 dark:group-hover:text-n1-gray-50 transition-colors duration-200';
20
+ return (_jsxs("button", { onClick: handleClick, className: buttonClasses, disabled: disabled, children: [typeof chain.logo === 'string' ? (_jsx(ImageWithFallback, { src: chain.logo, width: 48, height: 48, alt: chain.name, className: imageClasses, fallbackClassName: "w-12 h-12 rounded-full text-lg font-bold opacity-90 group-hover:scale-105 transition-all duration-200", fallbackBgColor: "bg-n1-main/10 dark:bg-n1-main/20", fallbackTextColor: "text-n1-main dark:text-n1-main" })) : (_jsx("div", { className: imageClasses, children: chain.logo })), _jsx("span", { className: textClasses, children: chain.name })] }));
21
21
  }
22
22
  //# sourceMappingURL=ChainButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChainButton.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/ChainButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQxD,MAAM,UAAU,WAAW,CAAC,EAIT;QAHjB,KAAK,WAAA,EACL,OAAO,aAAA,EACP,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA;IAEhB,IAAM,WAAW,GAAG;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,WAAW,GACf,sKAAsK,CAAC;IACzK,IAAM,cAAc,GAClB,0FAA0F,CAAC;IAC7F,IAAM,eAAe,GAAG,+BAA+B,CAAC;IAExD,IAAM,aAAa,GAAG,UAAG,WAAW,cAAI,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAE,CAAC;IAEtF,IAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,gGAAgG,CAAC;IAErG,IAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,mDAAmD;QACrD,CAAC,CAAC,yIAAyI,CAAC;IAE9I,OAAO,CACL,kBAAQ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,aACvE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAChC,KAAC,iBAAiB,IAChB,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,SAAS,EAAE,YAAY,EACvB,iBAAiB,EAAC,uGAAuG,EACzH,eAAe,EAAC,4BAA4B,EAC5C,iBAAiB,EAAC,0BAA0B,GAC5C,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAE,YAAY,YAAG,KAAK,CAAC,IAAI,GAAO,CACjD,EACD,eAAM,SAAS,EAAE,WAAW,YAAG,KAAK,CAAC,IAAI,GAAQ,IAC1C,CACV,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport { Chain } from '../types';\nimport { ImageWithFallback } from './ImageWithFallback';\n\ninterface ChainButtonProps {\n chain: Chain;\n onClick: (chainId: string) => void;\n disabled?: boolean;\n}\n\nexport function ChainButton({\n chain,\n onClick,\n disabled = false,\n}: ChainButtonProps) {\n const handleClick = () => {\n if (!disabled) {\n onClick(chain.id);\n }\n };\n\n const baseClasses =\n 'flex flex-col items-center justify-center p-6 bg-gray-50 dark:bg-gray-950 border-2 border-gray-100 dark:border-gray-800 transition-all duration-200 group rounded-lg';\n const enabledClasses =\n 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-gray-900';\n const disabledClasses = 'opacity-50 cursor-not-allowed';\n\n const buttonClasses = `${baseClasses} ${disabled ? disabledClasses : enabledClasses}`;\n\n const imageClasses = disabled\n ? 'opacity-50 grayscale'\n : 'opacity-90 grayscale group-hover:grayscale-0 group-hover:scale-105 transition-all duration-200';\n\n const textClasses = disabled\n ? 'mt-4 font-medium text-gray-400 dark:text-gray-500'\n : 'mt-4 font-medium text-gray-600 dark:text-gray-400 group-hover:text-red-500 dark:group-hover:text-gray-50 transition-colors duration-200';\n\n return (\n <button onClick={handleClick} className={buttonClasses} disabled={disabled}>\n {typeof chain.logo === 'string' ? (\n <ImageWithFallback\n src={chain.logo}\n width={48}\n height={48}\n alt={chain.name}\n className={imageClasses}\n fallbackClassName=\"w-12 h-12 rounded-full text-lg font-bold opacity-90 group-hover:scale-105 transition-all duration-200\"\n fallbackBgColor=\"bg-main/10 dark:bg-main/20\"\n fallbackTextColor=\"text-main dark:text-main\"\n />\n ) : (\n <div className={imageClasses}>{chain.logo}</div>\n )}\n <span className={textClasses}>{chain.name}</span>\n </button>\n );\n}\n"]}
1
+ {"version":3,"file":"ChainButton.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/ChainButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAQxD,MAAM,UAAU,WAAW,CAAC,EAIT;QAHjB,KAAK,WAAA,EACL,OAAO,aAAA,EACP,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA;IAEhB,IAAM,WAAW,GAAG;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,WAAW,GACf,kLAAkL,CAAC;IACrL,IAAM,cAAc,GAClB,6FAA6F,CAAC;IAChG,IAAM,eAAe,GAAG,+BAA+B,CAAC;IAExD,IAAM,aAAa,GAAG,UAAG,WAAW,cAAI,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAE,CAAC;IAEtF,IAAM,YAAY,GAAG,QAAQ;QAC3B,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,gGAAgG,CAAC;IAErG,IAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,yDAAyD;QAC3D,CAAC,CAAC,kJAAkJ,CAAC;IAEvJ,OAAO,CACL,kBAAQ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,aACvE,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAChC,KAAC,iBAAiB,IAChB,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,GAAG,EAAE,KAAK,CAAC,IAAI,EACf,SAAS,EAAE,YAAY,EACvB,iBAAiB,EAAC,uGAAuG,EACzH,eAAe,EAAC,kCAAkC,EAClD,iBAAiB,EAAC,gCAAgC,GAClD,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAE,YAAY,YAAG,KAAK,CAAC,IAAI,GAAO,CACjD,EACD,eAAM,SAAS,EAAE,WAAW,YAAG,KAAK,CAAC,IAAI,GAAQ,IAC1C,CACV,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport { Chain } from '../types';\nimport { ImageWithFallback } from './ImageWithFallback';\n\ninterface ChainButtonProps {\n chain: Chain;\n onClick: (chainId: string) => void;\n disabled?: boolean;\n}\n\nexport function ChainButton({\n chain,\n onClick,\n disabled = false,\n}: ChainButtonProps) {\n const handleClick = () => {\n if (!disabled) {\n onClick(chain.id);\n }\n };\n\n const baseClasses =\n 'flex flex-col items-center justify-center p-6 bg-n1-gray-50 dark:bg-n1-gray-950 border-2 border-n1-gray-100 dark:border-n1-gray-800 transition-all duration-200 group rounded-lg';\n const enabledClasses =\n 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-n1-gray-900';\n const disabledClasses = 'opacity-50 cursor-not-allowed';\n\n const buttonClasses = `${baseClasses} ${disabled ? disabledClasses : enabledClasses}`;\n\n const imageClasses = disabled\n ? 'opacity-50 grayscale'\n : 'opacity-90 grayscale group-hover:grayscale-0 group-hover:scale-105 transition-all duration-200';\n\n const textClasses = disabled\n ? 'mt-4 font-medium text-n1-gray-400 dark:text-n1-gray-500'\n : 'mt-4 font-medium text-n1-gray-600 dark:text-n1-gray-400 group-hover:text-red-500 dark:group-hover:text-n1-gray-50 transition-colors duration-200';\n\n return (\n <button onClick={handleClick} className={buttonClasses} disabled={disabled}>\n {typeof chain.logo === 'string' ? (\n <ImageWithFallback\n src={chain.logo}\n width={48}\n height={48}\n alt={chain.name}\n className={imageClasses}\n fallbackClassName=\"w-12 h-12 rounded-full text-lg font-bold opacity-90 group-hover:scale-105 transition-all duration-200\"\n fallbackBgColor=\"bg-n1-main/10 dark:bg-n1-main/20\"\n fallbackTextColor=\"text-n1-main dark:text-n1-main\"\n />\n ) : (\n <div className={imageClasses}>{chain.logo}</div>\n )}\n <span className={textClasses}>{chain.name}</span>\n </button>\n );\n}\n"]}
@@ -7,13 +7,13 @@ export function EVMChainsButton(_a) {
7
7
  onClick(chain.id);
8
8
  }
9
9
  };
10
- var baseClasses = 'flex flex-col items-center justify-center p-6 bg-gray-50 dark:bg-gray-950 border-2 border-gray-100 dark:border-gray-800 transition-all duration-200 group rounded-lg';
11
- var enabledClasses = 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-gray-900';
10
+ var baseClasses = 'flex flex-col items-center justify-center p-6 bg-n1-gray-50 dark:bg-n1-gray-950 border-2 border-n1-gray-100 dark:border-n1-gray-800 transition-all duration-200 group rounded-lg';
11
+ var enabledClasses = 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-n1-gray-900';
12
12
  var disabledClasses = 'opacity-50 cursor-not-allowed';
13
13
  var buttonClasses = "".concat(baseClasses, " ").concat(disabled ? disabledClasses : enabledClasses);
14
14
  var textClasses = disabled
15
- ? 'mt-4 font-medium text-gray-400 dark:text-gray-500'
16
- : 'mt-4 font-medium text-gray-600 dark:text-gray-400 group-hover:text-red-500 dark:group-hover:text-gray-50 transition-colors duration-200';
15
+ ? 'mt-4 font-medium text-n1-gray-400 dark:text-n1-gray-500'
16
+ : 'mt-4 font-medium text-n1-gray-600 dark:text-n1-gray-400 group-hover:text-red-500 dark:group-hover:text-n1-gray-50 transition-colors duration-200';
17
17
  return (_jsxs("button", { onClick: handleClick, className: buttonClasses, disabled: disabled, children: [_jsx(EVMChainsGroup, { size: 32, className: disabled ? 'opacity-50 grayscale' : 'opacity-90' }), _jsx("span", { className: textClasses, children: chain.name })] }));
18
18
  }
19
19
  //# sourceMappingURL=EVMChainsButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EVMChainsButton.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/EVMChainsButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ3D,MAAM,UAAU,eAAe,CAAC,EAIT;QAHrB,KAAK,WAAA,EACL,OAAO,aAAA,EACP,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA;IAEhB,IAAM,WAAW,GAAG;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,WAAW,GACf,sKAAsK,CAAC;IACzK,IAAM,cAAc,GAClB,0FAA0F,CAAC;IAC7F,IAAM,eAAe,GAAG,+BAA+B,CAAC;IAExD,IAAM,aAAa,GAAG,UAAG,WAAW,cAAI,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAE,CAAC;IAEtF,IAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,mDAAmD;QACrD,CAAC,CAAC,yIAAyI,CAAC;IAE9I,OAAO,CACL,kBAAQ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,aACxE,KAAC,cAAc,IACb,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,YAAY,GAC3D,EACF,eAAM,SAAS,EAAE,WAAW,YAAG,KAAK,CAAC,IAAI,GAAQ,IAC1C,CACV,CAAC;AACJ,CAAC","sourcesContent":["import { Chain } from '../types';\nimport { EVMChainsGroup } from '../../../components/logos';\n\ninterface EVMChainsButtonProps {\n chain: Chain;\n onClick: (chainId: string) => void;\n disabled?: boolean;\n}\n\nexport function EVMChainsButton({\n chain,\n onClick,\n disabled = false,\n}: EVMChainsButtonProps) {\n const handleClick = () => {\n if (!disabled) {\n onClick(chain.id);\n }\n };\n\n const baseClasses =\n 'flex flex-col items-center justify-center p-6 bg-gray-50 dark:bg-gray-950 border-2 border-gray-100 dark:border-gray-800 transition-all duration-200 group rounded-lg';\n const enabledClasses =\n 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-gray-900';\n const disabledClasses = 'opacity-50 cursor-not-allowed';\n\n const buttonClasses = `${baseClasses} ${disabled ? disabledClasses : enabledClasses}`;\n\n const textClasses = disabled\n ? 'mt-4 font-medium text-gray-400 dark:text-gray-500'\n : 'mt-4 font-medium text-gray-600 dark:text-gray-400 group-hover:text-red-500 dark:group-hover:text-gray-50 transition-colors duration-200';\n\n return (\n <button onClick={handleClick} className={buttonClasses} disabled={disabled}>\n <EVMChainsGroup\n size={32}\n className={disabled ? 'opacity-50 grayscale' : 'opacity-90'}\n />\n <span className={textClasses}>{chain.name}</span>\n </button>\n );\n}\n"]}
1
+ {"version":3,"file":"EVMChainsButton.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/EVMChainsButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAQ3D,MAAM,UAAU,eAAe,CAAC,EAIT;QAHrB,KAAK,WAAA,EACL,OAAO,aAAA,EACP,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA;IAEhB,IAAM,WAAW,GAAG;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,WAAW,GACf,kLAAkL,CAAC;IACrL,IAAM,cAAc,GAClB,6FAA6F,CAAC;IAChG,IAAM,eAAe,GAAG,+BAA+B,CAAC;IAExD,IAAM,aAAa,GAAG,UAAG,WAAW,cAAI,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAE,CAAC;IAEtF,IAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,yDAAyD;QAC3D,CAAC,CAAC,kJAAkJ,CAAC;IAEvJ,OAAO,CACL,kBAAQ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,aACxE,KAAC,cAAc,IACb,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,YAAY,GAC3D,EACF,eAAM,SAAS,EAAE,WAAW,YAAG,KAAK,CAAC,IAAI,GAAQ,IAC1C,CACV,CAAC;AACJ,CAAC","sourcesContent":["import { Chain } from '../types';\nimport { EVMChainsGroup } from '../../../components/logos';\n\ninterface EVMChainsButtonProps {\n chain: Chain;\n onClick: (chainId: string) => void;\n disabled?: boolean;\n}\n\nexport function EVMChainsButton({\n chain,\n onClick,\n disabled = false,\n}: EVMChainsButtonProps) {\n const handleClick = () => {\n if (!disabled) {\n onClick(chain.id);\n }\n };\n\n const baseClasses =\n 'flex flex-col items-center justify-center p-6 bg-n1-gray-50 dark:bg-n1-gray-950 border-2 border-n1-gray-100 dark:border-n1-gray-800 transition-all duration-200 group rounded-lg';\n const enabledClasses =\n 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-n1-gray-900';\n const disabledClasses = 'opacity-50 cursor-not-allowed';\n\n const buttonClasses = `${baseClasses} ${disabled ? disabledClasses : enabledClasses}`;\n\n const textClasses = disabled\n ? 'mt-4 font-medium text-n1-gray-400 dark:text-n1-gray-500'\n : 'mt-4 font-medium text-n1-gray-600 dark:text-n1-gray-400 group-hover:text-red-500 dark:group-hover:text-n1-gray-50 transition-colors duration-200';\n\n return (\n <button onClick={handleClick} className={buttonClasses} disabled={disabled}>\n <EVMChainsGroup\n size={32}\n className={disabled ? 'opacity-50 grayscale' : 'opacity-90'}\n />\n <span className={textClasses}>{chain.name}</span>\n </button>\n );\n}\n"]}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ interface HeaderProps {
3
+ onClose?: () => void;
4
+ }
5
+ /**
6
+ * Header component for the Nord Flow modal
7
+ * Contains the logo and close button
8
+ */
9
+ export declare const Header: React.FC<HeaderProps>;
10
+ export {};
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import Logo from '../../../components/Logo';
3
+ /**
4
+ * Header component for the Nord Flow modal
5
+ * Contains the logo and close button
6
+ */
7
+ export var Header = function (_a) {
8
+ var onClose = _a.onClose;
9
+ return (_jsx("div", { className: "p-6 border-b border-n1-gray-200 dark:border-n1-gray-800 w-full max-w-2xl mx-auto", children: _jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "flex items-center gap-3", children: _jsx("div", { className: "w-6 h-6 text-n1-gray-50", children: _jsx(Logo, { size: 24 }) }) }), _jsx("button", { onClick: function () { return onClose && onClose(); }, className: "\n text-neutral-400 hover:text-n1-gray-900 dark:hover:text-white \n transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n h-10 w-10 rounded-full hover:bg-n1-gray-100 dark:hover:bg-n1-gray-800\n flex items-center justify-center\n ", children: _jsx("svg", { className: "w-5 h-5", 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: "M6 18L18 6M6 6l12 12" }) }) })] }) }));
10
+ };
11
+ //# sourceMappingURL=Header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/Header.tsx"],"names":[],"mappings":";AACA,OAAO,IAAI,MAAM,0BAA0B,CAAC;AAM5C;;;GAGG;AACH,MAAM,CAAC,IAAM,MAAM,GAA0B,UAAC,EAAW;QAAT,OAAO,aAAA;IACrD,OAAO,CACL,cAAK,SAAS,EAAC,kFAAkF,YAC/F,eAAK,SAAS,EAAC,mCAAmC,aAChD,cAAK,SAAS,EAAC,yBAAyB,YACtC,cAAK,SAAS,EAAC,yBAAyB,YAEtC,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,GAAI,GACd,GACF,EACN,iBACE,OAAO,EAAE,cAAM,OAAA,OAAO,IAAI,OAAO,EAAE,EAApB,CAAoB,EACnC,SAAS,EAAE,ySAKV,YAED,cACE,SAAS,EAAC,SAAS,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,YAElC,eACE,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,EACtB,WAAW,EAAC,GAAG,EACf,CAAC,EAAC,sBAAsB,GACxB,GACE,GACC,IACL,GACF,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport Logo from '../../../components/Logo';\n\ninterface HeaderProps {\n onClose?: () => void;\n}\n\n/**\n * Header component for the Nord Flow modal\n * Contains the logo and close button\n */\nexport const Header: React.FC<HeaderProps> = ({ onClose }) => {\n return (\n <div className=\"p-6 border-b border-n1-gray-200 dark:border-n1-gray-800 w-full max-w-2xl mx-auto\">\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-3\">\n <div className=\"w-6 h-6 text-n1-gray-50\">\n {/* Use Logo component with fallback */}\n <Logo size={24} />\n </div>\n </div>\n <button\n onClick={() => onClose && onClose()}\n className={`\n text-neutral-400 hover:text-n1-gray-900 dark:hover:text-white \n transition-colors duration-300 ease-[cubic-bezier(0.16,1,0.3,1)]\n h-10 w-10 rounded-full hover:bg-n1-gray-100 dark:hover:bg-n1-gray-800\n flex items-center justify-center\n `}\n >\n <svg\n className=\"w-5 h-5\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n </button>\n </div>\n </div>\n );\n}; "]}
@@ -4,7 +4,7 @@ import { useState } from 'react';
4
4
  * A component that renders an image with a fallback div when the image is not available
5
5
  */
6
6
  export var ImageWithFallback = function (_a) {
7
- var src = _a.src, alt = _a.alt, _b = _a.width, width = _b === void 0 ? 'auto' : _b, _c = _a.height, height = _c === void 0 ? 'auto' : _c, _d = _a.className, className = _d === void 0 ? '' : _d, _e = _a.fallbackClassName, fallbackClassName = _e === void 0 ? '' : _e, fallbackText = _a.fallbackText, _f = _a.fallbackBgColor, fallbackBgColor = _f === void 0 ? 'bg-gray-200 dark:bg-gray-800' : _f, _g = _a.fallbackTextColor, fallbackTextColor = _g === void 0 ? 'text-gray-500 dark:text-gray-400' : _g;
7
+ var src = _a.src, alt = _a.alt, _b = _a.width, width = _b === void 0 ? 'auto' : _b, _c = _a.height, height = _c === void 0 ? 'auto' : _c, _d = _a.className, className = _d === void 0 ? '' : _d, _e = _a.fallbackClassName, fallbackClassName = _e === void 0 ? '' : _e, fallbackText = _a.fallbackText, _f = _a.fallbackBgColor, fallbackBgColor = _f === void 0 ? 'bg-n1-gray-200 dark:bg-n1-gray-800' : _f, _g = _a.fallbackTextColor, fallbackTextColor = _g === void 0 ? 'text-n1-gray-500 dark:text-n1-gray-400' : _g;
8
8
  var _h = useState(false), imageError = _h[0], setImageError = _h[1];
9
9
  // Get initials from alt text for fallback
10
10
  var getInitials = function (text) {
@@ -1 +1 @@
1
- {"version":3,"file":"ImageWithFallback.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/ImageWithFallback.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAcxC;;GAEG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAqC,UAAC,EAUnE;QATC,GAAG,SAAA,EACH,GAAG,SAAA,EACH,aAAc,EAAd,KAAK,mBAAG,MAAM,KAAA,EACd,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EACf,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,yBAAsB,EAAtB,iBAAiB,mBAAG,EAAE,KAAA,EACtB,YAAY,kBAAA,EACZ,uBAAgD,EAAhD,eAAe,mBAAG,8BAA8B,KAAA,EAChD,yBAAsD,EAAtD,iBAAiB,mBAAG,kCAAkC,KAAA;IAEhD,IAAA,KAA8B,QAAQ,CAAC,KAAK,CAAC,EAA5C,UAAU,QAAA,EAAE,aAAa,QAAmB,CAAC;IAEpD,0CAA0C;IAC1C,IAAM,WAAW,GAAG,UAAC,IAAY;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI;aACR,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,CAAC,CAAC,EAAP,CAAO,CAAC;aACtB,IAAI,CAAC,EAAE,CAAC;aACR,WAAW,EAAE;aACb,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG;QAClB,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,sBAAsB;QACtB,OAAO,CACL,cACE,SAAS,EAAE,2CAAoC,eAAe,cAAI,iBAAiB,cAAI,iBAAiB,CAAE,EAC1G,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAG,KAAK,OAAI,CAAC,CAAC,CAAC,KAAK;gBACvD,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAG,MAAM,OAAI,CAAC,CAAC,CAAC,MAAM;aAC5D,gBACW,GAAG,YAEd,YAAY,IAAI,WAAW,CAAC,GAAG,CAAC,GAC7B,CACP,CAAC;IACJ,CAAC;IAED,eAAe;IACf,OAAO,CACL,cACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,WAAW,GACpB,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React, { useState } from 'react';\n\ninterface ImageWithFallbackProps {\n src: string;\n alt: string;\n width?: number | string;\n height?: number | string;\n className?: string;\n fallbackClassName?: string;\n fallbackText?: string;\n fallbackBgColor?: string;\n fallbackTextColor?: string;\n}\n\n/**\n * A component that renders an image with a fallback div when the image is not available\n */\nexport const ImageWithFallback: React.FC<ImageWithFallbackProps> = ({\n src,\n alt,\n width = 'auto',\n height = 'auto',\n className = '',\n fallbackClassName = '',\n fallbackText,\n fallbackBgColor = 'bg-gray-200 dark:bg-gray-800',\n fallbackTextColor = 'text-gray-500 dark:text-gray-400',\n}) => {\n const [imageError, setImageError] = useState(false);\n\n // Get initials from alt text for fallback\n const getInitials = (text: string) => {\n if (!text) return '';\n return text\n .split(' ')\n .map((word) => word[0])\n .join('')\n .toUpperCase()\n .substring(0, 2);\n };\n\n const handleError = () => {\n setImageError(true);\n };\n\n if (imageError || !src) {\n // Render fallback div\n return (\n <div\n className={`flex items-center justify-center ${fallbackBgColor} ${fallbackTextColor} ${fallbackClassName}`}\n style={{\n width: typeof width === 'number' ? `${width}px` : width,\n height: typeof height === 'number' ? `${height}px` : height,\n }}\n aria-label={alt}\n >\n {fallbackText || getInitials(alt)}\n </div>\n );\n }\n\n // Render image\n return (\n <img\n src={src}\n alt={alt}\n width={width}\n height={height}\n className={className}\n onError={handleError}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"ImageWithFallback.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/ImageWithFallback.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAcxC;;GAEG;AACH,MAAM,CAAC,IAAM,iBAAiB,GAAqC,UAAC,EAUnE;QATC,GAAG,SAAA,EACH,GAAG,SAAA,EACH,aAAc,EAAd,KAAK,mBAAG,MAAM,KAAA,EACd,cAAe,EAAf,MAAM,mBAAG,MAAM,KAAA,EACf,iBAAc,EAAd,SAAS,mBAAG,EAAE,KAAA,EACd,yBAAsB,EAAtB,iBAAiB,mBAAG,EAAE,KAAA,EACtB,YAAY,kBAAA,EACZ,uBAAsD,EAAtD,eAAe,mBAAG,oCAAoC,KAAA,EACtD,yBAA4D,EAA5D,iBAAiB,mBAAG,wCAAwC,KAAA;IAEtD,IAAA,KAA8B,QAAQ,CAAC,KAAK,CAAC,EAA5C,UAAU,QAAA,EAAE,aAAa,QAAmB,CAAC;IAEpD,0CAA0C;IAC1C,IAAM,WAAW,GAAG,UAAC,IAAY;QAC/B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI;aACR,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,CAAC,CAAC,EAAP,CAAO,CAAC;aACtB,IAAI,CAAC,EAAE,CAAC;aACR,WAAW,EAAE;aACb,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG;QAClB,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,IAAI,UAAU,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,sBAAsB;QACtB,OAAO,CACL,cACE,SAAS,EAAE,2CAAoC,eAAe,cAAI,iBAAiB,cAAI,iBAAiB,CAAE,EAC1G,KAAK,EAAE;gBACL,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAG,KAAK,OAAI,CAAC,CAAC,CAAC,KAAK;gBACvD,MAAM,EAAE,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAG,MAAM,OAAI,CAAC,CAAC,CAAC,MAAM;aAC5D,gBACW,GAAG,YAEd,YAAY,IAAI,WAAW,CAAC,GAAG,CAAC,GAC7B,CACP,CAAC;IACJ,CAAC;IAED,eAAe;IACf,OAAO,CACL,cACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,WAAW,GACpB,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React, { useState } from 'react';\n\ninterface ImageWithFallbackProps {\n src: string;\n alt: string;\n width?: number | string;\n height?: number | string;\n className?: string;\n fallbackClassName?: string;\n fallbackText?: string;\n fallbackBgColor?: string;\n fallbackTextColor?: string;\n}\n\n/**\n * A component that renders an image with a fallback div when the image is not available\n */\nexport const ImageWithFallback: React.FC<ImageWithFallbackProps> = ({\n src,\n alt,\n width = 'auto',\n height = 'auto',\n className = '',\n fallbackClassName = '',\n fallbackText,\n fallbackBgColor = 'bg-n1-gray-200 dark:bg-n1-gray-800',\n fallbackTextColor = 'text-n1-gray-500 dark:text-n1-gray-400',\n}) => {\n const [imageError, setImageError] = useState(false);\n\n // Get initials from alt text for fallback\n const getInitials = (text: string) => {\n if (!text) return '';\n return text\n .split(' ')\n .map((word) => word[0])\n .join('')\n .toUpperCase()\n .substring(0, 2);\n };\n\n const handleError = () => {\n setImageError(true);\n };\n\n if (imageError || !src) {\n // Render fallback div\n return (\n <div\n className={`flex items-center justify-center ${fallbackBgColor} ${fallbackTextColor} ${fallbackClassName}`}\n style={{\n width: typeof width === 'number' ? `${width}px` : width,\n height: typeof height === 'number' ? `${height}px` : height,\n }}\n aria-label={alt}\n >\n {fallbackText || getInitials(alt)}\n </div>\n );\n }\n\n // Render image\n return (\n <img\n src={src}\n alt={alt}\n width={width}\n height={height}\n className={className}\n onError={handleError}\n />\n );\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  export function LoadingSquares() {
4
- return (_jsx("div", { className: "relative w-32 h-32 animate-fade-up", style: { animationDelay: '0.2s' }, children: _jsxs("div", { className: "absolute inset-0 grid grid-cols-2 gap-2", children: [_jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader" }) }), _jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader", style: { animationDelay: '0.2s' } }) }), _jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader", style: { animationDelay: '0.4s' } }) }), _jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader", style: { animationDelay: '0.6s' } }) })] }) }));
4
+ return (_jsx("div", { className: "relative w-32 h-32 n1-animate-fade-up", style: { animationDelay: '0.2s' }, children: _jsxs("div", { className: "absolute inset-0 grid grid-cols-2 gap-2", children: [_jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-n1-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-n1-main/40 dark:bg-n1-main/20 n1-animate-square-loader" }) }), _jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-n1-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-n1-main/40 dark:bg-n1-main/20 n1-animate-square-loader", style: { animationDelay: '0.2s' } }) }), _jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-n1-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-n1-main/40 dark:bg-n1-main/20 n1-animate-square-loader", style: { animationDelay: '0.4s' } }) }), _jsx("div", { className: "relative bg-white dark:bg-neutral-900 border-2 border-n1-gray-100 dark:border-neutral-800 overflow-hidden", children: _jsx("div", { className: "absolute inset-x-0 bottom-0 h-full bg-n1-main/40 dark:bg-n1-main/20 n1-animate-square-loader", style: { animationDelay: '0.6s' } }) })] }) }));
5
5
  }
6
6
  //# sourceMappingURL=LoadingSquares.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoadingSquares.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/LoadingSquares.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,MAAM,UAAU,cAAc;IAC5B,OAAO,CACL,cACE,SAAS,EAAC,oCAAoC,EAC9C,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,YAEjC,eAAK,SAAS,EAAC,yCAAyC,aACtD,cAAK,SAAS,EAAC,wGAAwG,YACrH,cAAK,SAAS,EAAC,qFAAqF,GAAO,GACvG,EACN,cAAK,SAAS,EAAC,wGAAwG,YACrH,cACE,SAAS,EAAC,qFAAqF,EAC/F,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAC5B,GACH,EACN,cAAK,SAAS,EAAC,wGAAwG,YACrH,cACE,SAAS,EAAC,qFAAqF,EAC/F,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAC5B,GACH,EACN,cAAK,SAAS,EAAC,wGAAwG,YACrH,cACE,SAAS,EAAC,qFAAqF,EAC/F,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAC5B,GACH,IACF,GACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["'use client';\n\nexport function LoadingSquares() {\n return (\n <div\n className=\"relative w-32 h-32 animate-fade-up\"\n style={{ animationDelay: '0.2s' }}\n >\n <div className=\"absolute inset-0 grid grid-cols-2 gap-2\">\n <div className=\"relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden\">\n <div className=\"absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader\"></div>\n </div>\n <div className=\"relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden\">\n <div\n className=\"absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader\"\n style={{ animationDelay: '0.2s' }}\n ></div>\n </div>\n <div className=\"relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden\">\n <div\n className=\"absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader\"\n style={{ animationDelay: '0.4s' }}\n ></div>\n </div>\n <div className=\"relative bg-white dark:bg-neutral-900 border-2 border-gray-100 dark:border-neutral-800 overflow-hidden\">\n <div\n className=\"absolute inset-x-0 bottom-0 h-full bg-main/40 dark:bg-main/20 animate-square-loader\"\n style={{ animationDelay: '0.6s' }}\n ></div>\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"LoadingSquares.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/LoadingSquares.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,MAAM,UAAU,cAAc;IAC5B,OAAO,CACL,cACE,SAAS,EAAC,uCAAuC,EACjD,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,YAEjC,eAAK,SAAS,EAAC,yCAAyC,aACtD,cAAK,SAAS,EAAC,2GAA2G,YACxH,cAAK,SAAS,EAAC,8FAA8F,GAAO,GAChH,EACN,cAAK,SAAS,EAAC,2GAA2G,YACxH,cACE,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAC5B,GACH,EACN,cAAK,SAAS,EAAC,2GAA2G,YACxH,cACE,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAC5B,GACH,EACN,cAAK,SAAS,EAAC,2GAA2G,YACxH,cACE,SAAS,EAAC,8FAA8F,EACxG,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,GAC5B,GACH,IACF,GACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["'use client';\n\nexport function LoadingSquares() {\n return (\n <div\n className=\"relative w-32 h-32 n1-animate-fade-up\"\n style={{ animationDelay: '0.2s' }}\n >\n <div className=\"absolute inset-0 grid grid-cols-2 gap-2\">\n <div className=\"relative bg-white dark:bg-neutral-900 border-2 border-n1-gray-100 dark:border-neutral-800 overflow-hidden\">\n <div className=\"absolute inset-x-0 bottom-0 h-full bg-n1-main/40 dark:bg-n1-main/20 n1-animate-square-loader\"></div>\n </div>\n <div className=\"relative bg-white dark:bg-neutral-900 border-2 border-n1-gray-100 dark:border-neutral-800 overflow-hidden\">\n <div\n className=\"absolute inset-x-0 bottom-0 h-full bg-n1-main/40 dark:bg-n1-main/20 n1-animate-square-loader\"\n style={{ animationDelay: '0.2s' }}\n ></div>\n </div>\n <div className=\"relative bg-white dark:bg-neutral-900 border-2 border-n1-gray-100 dark:border-neutral-800 overflow-hidden\">\n <div\n className=\"absolute inset-x-0 bottom-0 h-full bg-n1-main/40 dark:bg-n1-main/20 n1-animate-square-loader\"\n style={{ animationDelay: '0.4s' }}\n ></div>\n </div>\n <div className=\"relative bg-white dark:bg-neutral-900 border-2 border-n1-gray-100 dark:border-neutral-800 overflow-hidden\">\n <div\n className=\"absolute inset-x-0 bottom-0 h-full bg-n1-main/40 dark:bg-n1-main/20 n1-animate-square-loader\"\n style={{ animationDelay: '0.6s' }}\n ></div>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -7,13 +7,13 @@ export function MoreButton(_a) {
7
7
  onClick(chain.id);
8
8
  }
9
9
  };
10
- var baseClasses = 'flex flex-col items-center justify-center p-6 bg-gray-50 dark:bg-gray-950 border-2 border-gray-100 dark:border-gray-800 transition-all duration-200 group rounded-lg';
11
- var enabledClasses = 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-gray-900';
10
+ var baseClasses = 'flex flex-col items-center justify-center p-6 bg-n1-gray-50 dark:bg-n1-gray-950 border-2 border-n1-gray-100 dark:border-n1-gray-800 transition-all duration-200 group rounded-lg';
11
+ var enabledClasses = 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-n1-gray-900';
12
12
  var disabledClasses = 'opacity-50 cursor-not-allowed';
13
13
  var buttonClasses = "".concat(baseClasses, " ").concat(disabled ? disabledClasses : enabledClasses);
14
14
  var textClasses = disabled
15
- ? 'mt-4 font-medium text-gray-400 dark:text-gray-500'
16
- : 'mt-4 font-medium text-gray-600 dark:text-gray-400 group-hover:text-red-500 dark:group-hover:text-gray-50 transition-colors duration-200';
15
+ ? 'mt-4 font-medium text-n1-gray-400 dark:text-n1-gray-500'
16
+ : 'mt-4 font-medium text-n1-gray-600 dark:text-n1-gray-400 group-hover:text-red-500 dark:group-hover:text-n1-gray-50 transition-colors duration-200';
17
17
  return (_jsxs("button", { onClick: handleClick, className: buttonClasses, disabled: disabled, children: [_jsx(MoreChainsGroup, { size: 32, className: disabled ? 'opacity-50 grayscale' : 'opacity-90' }), _jsx("span", { className: textClasses, children: chain.name })] }));
18
18
  }
19
19
  //# sourceMappingURL=MoreButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MoreButton.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/MoreButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAQ5D,MAAM,UAAU,UAAU,CAAC,EAIT;QAHhB,KAAK,WAAA,EACL,OAAO,aAAA,EACP,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA;IAEhB,IAAM,WAAW,GAAG;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,WAAW,GACf,sKAAsK,CAAC;IACzK,IAAM,cAAc,GAClB,0FAA0F,CAAC;IAC7F,IAAM,eAAe,GAAG,+BAA+B,CAAC;IAExD,IAAM,aAAa,GAAG,UAAG,WAAW,cAAI,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAE,CAAC;IAEtF,IAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,mDAAmD;QACrD,CAAC,CAAC,yIAAyI,CAAC;IAE9I,OAAO,CACL,kBAAQ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,aACxE,KAAC,eAAe,IACd,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,YAAY,GAC3D,EACF,eAAM,SAAS,EAAE,WAAW,YAAG,KAAK,CAAC,IAAI,GAAQ,IAC1C,CACV,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport { Chain } from '../types';\nimport { MoreChainsGroup } from '../../../components/logos';\n\ninterface MoreButtonProps {\n chain: Chain;\n onClick: (chainId: string) => void;\n disabled?: boolean;\n}\n\nexport function MoreButton({\n chain,\n onClick,\n disabled = false,\n}: MoreButtonProps) {\n const handleClick = () => {\n if (!disabled) {\n onClick(chain.id);\n }\n };\n\n const baseClasses =\n 'flex flex-col items-center justify-center p-6 bg-gray-50 dark:bg-gray-950 border-2 border-gray-100 dark:border-gray-800 transition-all duration-200 group rounded-lg';\n const enabledClasses =\n 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-gray-900';\n const disabledClasses = 'opacity-50 cursor-not-allowed';\n\n const buttonClasses = `${baseClasses} ${disabled ? disabledClasses : enabledClasses}`;\n\n const textClasses = disabled\n ? 'mt-4 font-medium text-gray-400 dark:text-gray-500'\n : 'mt-4 font-medium text-gray-600 dark:text-gray-400 group-hover:text-red-500 dark:group-hover:text-gray-50 transition-colors duration-200';\n\n return (\n <button onClick={handleClick} className={buttonClasses} disabled={disabled}>\n <MoreChainsGroup\n size={32}\n className={disabled ? 'opacity-50 grayscale' : 'opacity-90'}\n />\n <span className={textClasses}>{chain.name}</span>\n </button>\n );\n}\n"]}
1
+ {"version":3,"file":"MoreButton.js","sourceRoot":"","sources":["../../../../src/Modal/NordFlow/components/MoreButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAQ5D,MAAM,UAAU,UAAU,CAAC,EAIT;QAHhB,KAAK,WAAA,EACL,OAAO,aAAA,EACP,gBAAgB,EAAhB,QAAQ,mBAAG,KAAK,KAAA;IAEhB,IAAM,WAAW,GAAG;QAClB,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAM,WAAW,GACf,kLAAkL,CAAC;IACrL,IAAM,cAAc,GAClB,6FAA6F,CAAC;IAChG,IAAM,eAAe,GAAG,+BAA+B,CAAC;IAExD,IAAM,aAAa,GAAG,UAAG,WAAW,cAAI,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAE,CAAC;IAEtF,IAAM,WAAW,GAAG,QAAQ;QAC1B,CAAC,CAAC,yDAAyD;QAC3D,CAAC,CAAC,kJAAkJ,CAAC;IAEvJ,OAAO,CACL,kBAAQ,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,aACxE,KAAC,eAAe,IACd,IAAI,EAAE,EAAE,EACR,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,YAAY,GAC3D,EACF,eAAM,SAAS,EAAE,WAAW,YAAG,KAAK,CAAC,IAAI,GAAQ,IAC1C,CACV,CAAC;AACJ,CAAC","sourcesContent":["import React from 'react';\nimport { Chain } from '../types';\nimport { MoreChainsGroup } from '../../../components/logos';\n\ninterface MoreButtonProps {\n chain: Chain;\n onClick: (chainId: string) => void;\n disabled?: boolean;\n}\n\nexport function MoreButton({\n chain,\n onClick,\n disabled = false,\n}: MoreButtonProps) {\n const handleClick = () => {\n if (!disabled) {\n onClick(chain.id);\n }\n };\n\n const baseClasses =\n 'flex flex-col items-center justify-center p-6 bg-n1-gray-50 dark:bg-n1-gray-950 border-2 border-n1-gray-100 dark:border-n1-gray-800 transition-all duration-200 group rounded-lg';\n const enabledClasses =\n 'hover:border-red-500 dark:hover:border-red-500 hover:bg-red-50/50 dark:hover:bg-n1-gray-900';\n const disabledClasses = 'opacity-50 cursor-not-allowed';\n\n const buttonClasses = `${baseClasses} ${disabled ? disabledClasses : enabledClasses}`;\n\n const textClasses = disabled\n ? 'mt-4 font-medium text-n1-gray-400 dark:text-n1-gray-500'\n : 'mt-4 font-medium text-n1-gray-600 dark:text-n1-gray-400 group-hover:text-red-500 dark:group-hover:text-n1-gray-50 transition-colors duration-200';\n\n return (\n <button onClick={handleClick} className={buttonClasses} disabled={disabled}>\n <MoreChainsGroup\n size={32}\n className={disabled ? 'opacity-50 grayscale' : 'opacity-90'}\n />\n <span className={textClasses}>{chain.name}</span>\n </button>\n );\n}\n"]}