tek-wallet 0.0.752 → 0.0.754

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 (119) hide show
  1. package/dist/components/TekWallet/components/index.d.ts +7 -0
  2. package/dist/components/TekWallet/components/index.js +7 -0
  3. package/dist/components/TekWallet/components/layouts/ChildPageLayout/index.js +14 -3
  4. package/dist/components/TekWallet/components/ui/BackHeader/index.js +5 -1
  5. package/dist/components/TekWallet/components/ui/BottomActionLayout/index.d.ts +3 -3
  6. package/dist/components/TekWallet/components/ui/BottomActionLayout/index.js +24 -6
  7. package/dist/components/TekWallet/components/ui/Button/index.js +2 -2
  8. package/dist/components/TekWallet/components/ui/ConfirmByPasscode/index.js +2 -6
  9. package/dist/components/TekWallet/components/ui/ConfirmSendExternal/index.d.ts +6 -2
  10. package/dist/components/TekWallet/components/ui/ConfirmSendExternal/index.js +92 -12
  11. package/dist/components/TekWallet/components/ui/ConfirmSendInternal/index.d.ts +4 -2
  12. package/dist/components/TekWallet/components/ui/ConfirmSendInternal/index.js +12 -4
  13. package/dist/components/TekWallet/components/ui/ConfirmSwapToken/Result.d.ts +8 -0
  14. package/dist/components/TekWallet/components/ui/ConfirmSwapToken/Result.js +112 -0
  15. package/dist/components/TekWallet/components/ui/ConfirmSwapToken/index.d.ts +18 -0
  16. package/dist/components/TekWallet/components/ui/ConfirmSwapToken/index.js +169 -0
  17. package/dist/components/TekWallet/components/ui/CopyableText/index.js +1 -1
  18. package/dist/components/TekWallet/components/ui/DetailSwap/index.js +1 -1
  19. package/dist/components/TekWallet/components/ui/Fees/index.d.ts +1 -1
  20. package/dist/components/TekWallet/components/ui/Fees/index.js +51 -41
  21. package/dist/components/TekWallet/components/ui/FeesAutoDebounce/index.d.ts +10 -0
  22. package/dist/components/TekWallet/components/ui/FeesAutoDebounce/index.js +223 -0
  23. package/dist/components/TekWallet/components/ui/FiatDeposit/components/shareAction.js +2 -2
  24. package/dist/components/TekWallet/components/ui/FiatDeposit/components/shareImage.js +13 -13
  25. package/dist/components/TekWallet/components/ui/FiatDeposit/index.js +6 -4
  26. package/dist/components/TekWallet/components/ui/Formatter/index.d.ts +1 -0
  27. package/dist/components/TekWallet/components/ui/Formatter/index.js +4 -2
  28. package/dist/components/TekWallet/components/ui/FunctionItem/index.js +5 -4
  29. package/dist/components/TekWallet/components/ui/Icon/index.d.ts +4 -2
  30. package/dist/components/TekWallet/components/ui/Icon/index.js +44 -3
  31. package/dist/components/TekWallet/components/ui/Input/index.js +3 -3
  32. package/dist/components/TekWallet/components/ui/ListItemCustom/index.d.ts +2 -1
  33. package/dist/components/TekWallet/components/ui/ListItemCustom/index.js +3 -3
  34. package/dist/components/TekWallet/components/ui/QRCode/index.js +1 -1
  35. package/dist/components/TekWallet/components/ui/SendExternalToken/index.js +1 -1
  36. package/dist/components/TekWallet/components/ui/SendExternalTokenWithdrawn/index.d.ts +2 -5
  37. package/dist/components/TekWallet/components/ui/SvgPath/index.d.ts +12 -0
  38. package/dist/components/TekWallet/components/ui/SvgPath/index.js +27 -15
  39. package/dist/components/TekWallet/components/ui/SwapFunction/index.js +4 -4
  40. package/dist/components/TekWallet/components/ui/SwapToken/index.d.ts +2 -3
  41. package/dist/components/TekWallet/components/ui/TokensBoard/index.js +1 -3
  42. package/dist/components/TekWallet/components/ui/ValidateWalletAddress/index.d.ts +5 -0
  43. package/dist/components/TekWallet/components/ui/ValidateWalletAddress/index.js +67 -0
  44. package/dist/components/TekWallet/components/ui/WaitingData/index.d.ts +1 -0
  45. package/dist/components/TekWallet/components/ui/WaitingData/index.js +10 -6
  46. package/dist/components/TekWallet/components/ui/WithdrawFunction/index.d.ts +1 -1
  47. package/dist/components/TekWallet/components/ui/WithdrawFunction/index.js +70 -32
  48. package/dist/components/TekWallet/components/views/AssetView/Menu.d.ts +7 -0
  49. package/dist/components/TekWallet/components/views/AssetView/Menu.js +25 -0
  50. package/dist/components/TekWallet/components/views/AssetView/index.js +25 -26
  51. package/dist/components/TekWallet/components/views/NotFoundView/index.d.ts +2 -0
  52. package/dist/components/TekWallet/components/views/NotFoundView/index.js +7 -0
  53. package/dist/components/TekWallet/components/views/SendExternalView/components/Form.d.ts +11 -0
  54. package/dist/components/TekWallet/components/views/SendExternalView/components/Form.js +450 -0
  55. package/dist/components/TekWallet/components/views/SendExternalView/components/Result.d.ts +14 -0
  56. package/dist/components/TekWallet/components/views/SendExternalView/components/Result.js +140 -0
  57. package/dist/components/TekWallet/components/views/SendExternalView/components/SelectNetwork.d.ts +10 -0
  58. package/dist/components/TekWallet/components/views/SendExternalView/components/SelectNetwork.js +34 -0
  59. package/dist/components/TekWallet/components/views/SendExternalView/components/SelectToken.d.ts +8 -0
  60. package/dist/components/TekWallet/components/views/SendExternalView/components/SelectToken.js +173 -0
  61. package/dist/components/TekWallet/components/views/SendExternalView/components/Summary.d.ts +12 -0
  62. package/dist/components/TekWallet/components/views/SendExternalView/components/Summary.js +131 -0
  63. package/dist/components/TekWallet/components/views/SendExternalView/index.d.ts +23 -0
  64. package/dist/components/TekWallet/components/views/SendExternalView/index.js +143 -0
  65. package/dist/components/TekWallet/components/views/SendInternalView/components/AmountForm.d.ts +11 -0
  66. package/dist/components/TekWallet/components/views/SendInternalView/components/AmountForm.js +380 -0
  67. package/dist/components/TekWallet/components/views/SendInternalView/components/Form.d.ts +11 -0
  68. package/dist/components/TekWallet/components/views/SendInternalView/components/Form.js +381 -0
  69. package/dist/components/TekWallet/components/views/SendInternalView/components/Result.d.ts +13 -0
  70. package/dist/components/TekWallet/components/views/SendInternalView/components/Result.js +128 -0
  71. package/dist/components/TekWallet/components/views/SendInternalView/components/SelectToken.d.ts +8 -0
  72. package/dist/components/TekWallet/components/views/SendInternalView/components/SelectToken.js +173 -0
  73. package/dist/components/TekWallet/components/views/SendInternalView/components/Summary.d.ts +11 -0
  74. package/dist/components/TekWallet/components/views/SendInternalView/components/Summary.js +126 -0
  75. package/dist/components/TekWallet/components/views/SendInternalView/index.d.ts +24 -0
  76. package/dist/components/TekWallet/components/views/SendInternalView/index.js +155 -0
  77. package/dist/components/TekWallet/components/views/SwapView/components/CardTo/index.d.ts +11 -0
  78. package/dist/components/TekWallet/components/views/SwapView/components/CardTo/index.js +111 -0
  79. package/dist/components/TekWallet/components/views/SwapView/components/FromCard/index.d.ts +14 -0
  80. package/dist/components/TekWallet/components/views/SwapView/components/FromCard/index.js +180 -0
  81. package/dist/components/TekWallet/components/views/SwapView/components/SelectToken.d.ts +9 -0
  82. package/dist/components/TekWallet/components/views/SwapView/components/SelectToken.js +173 -0
  83. package/dist/components/TekWallet/components/views/SwapView/components/Summary.d.ts +14 -0
  84. package/dist/components/TekWallet/components/views/SwapView/components/Summary.js +239 -0
  85. package/dist/components/TekWallet/components/views/SwapView/functions/convertTokensRate.d.ts +3 -0
  86. package/dist/components/TekWallet/components/views/SwapView/functions/convertTokensRate.js +14 -0
  87. package/dist/components/TekWallet/components/views/SwapView/index.d.ts +11 -0
  88. package/dist/components/TekWallet/components/views/SwapView/index.js +218 -0
  89. package/dist/components/TekWallet/components/views/TekWalletView/expose.d.ts +2 -0
  90. package/dist/components/TekWallet/components/views/TekWalletView/expose.js +18 -0
  91. package/dist/components/TekWallet/components/views/TekWalletView/index.d.ts +3 -0
  92. package/dist/components/TekWallet/components/views/TekWalletView/index.js +16 -0
  93. package/dist/components/TekWallet/components/views/TekWalletView/routes.d.ts +9 -0
  94. package/dist/components/TekWallet/components/views/TekWalletView/routes.js +74 -0
  95. package/dist/components/TekWallet/hooks/useValidateAmount.d.ts +26 -0
  96. package/dist/components/TekWallet/hooks/useValidateAmount.js +103 -0
  97. package/dist/components/TekWallet/providers/EventHandlerProvider/index.js +5 -0
  98. package/dist/components/TekWallet/providers/RealtimeProvider/index.js +2 -2
  99. package/dist/components/TekWallet/providers/TekWalletProvider/index.d.ts +3 -0
  100. package/dist/components/TekWallet/providers/TekWalletProvider/index.js +8 -2
  101. package/dist/components/TekWallet/providers/WithdrawProvider/index.js +36 -0
  102. package/dist/components/TekWallet/services/axios/get-est-fee-service/type.d.ts +5 -4
  103. package/dist/components/TekWallet/services/axios/send-external-service/type.d.ts +5 -30
  104. package/dist/components/TekWallet/services/axios/swap-service/type.d.ts +4 -0
  105. package/dist/components/TekWallet/services/axios/transfer-internal-service/type.d.ts +4 -32
  106. package/dist/components/TekWallet/theme/mui/deposit-fiat-theme/components.js +3 -3
  107. package/dist/components/TekWallet/theme/mui/deposit-fiat-theme/palette.js +3 -3
  108. package/dist/components/TekWallet/theme/mui/theme.js +9 -9
  109. package/dist/components/TekWallet/utils/stop.d.ts +3 -0
  110. package/dist/components/TekWallet/utils/stop.js +6 -0
  111. package/package.json +2 -2
  112. package/dist/components/TekWallet/components/ui/CardFrom/index.d.ts +0 -10
  113. package/dist/components/TekWallet/components/ui/CardFrom/index.js +0 -91
  114. package/dist/components/TekWallet/components/ui/CardTo/index.d.ts +0 -10
  115. package/dist/components/TekWallet/components/ui/CardTo/index.js +0 -39
  116. package/dist/components/TekWallet/components/ui/ConfirmLayout copy/index.d.ts +0 -7
  117. package/dist/components/TekWallet/components/ui/ConfirmLayout copy/index.js +0 -67
  118. package/dist/components/TekWallet/components/views/HelpView/index.d.ts +0 -2
  119. package/dist/components/TekWallet/components/views/HelpView/index.js +0 -7
@@ -0,0 +1,380 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || (function () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
46
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
47
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
48
+ return new (P || (P = Promise))(function (resolve, reject) {
49
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
50
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
51
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
52
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
53
+ });
54
+ };
55
+ var __generator = (this && this.__generator) || function (thisArg, body) {
56
+ 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);
57
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
58
+ function verb(n) { return function (v) { return step([n, v]); }; }
59
+ function step(op) {
60
+ if (f) throw new TypeError("Generator is already executing.");
61
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
62
+ 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;
63
+ if (y = 0, t) op = [op[0] & 2, t.value];
64
+ switch (op[0]) {
65
+ case 0: case 1: t = op; break;
66
+ case 4: _.label++; return { value: op[1], done: false };
67
+ case 5: _.label++; y = op[1]; op = [0]; continue;
68
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
69
+ default:
70
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
71
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
72
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
73
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
74
+ if (t[2]) _.ops.pop();
75
+ _.trys.pop(); continue;
76
+ }
77
+ op = body.call(thisArg, _);
78
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
79
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
80
+ }
81
+ };
82
+ var __importDefault = (this && this.__importDefault) || function (mod) {
83
+ return (mod && mod.__esModule) ? mod : { "default": mod };
84
+ };
85
+ Object.defineProperty(exports, "__esModule", { value: true });
86
+ exports.default = Form;
87
+ var jsx_runtime_1 = require("react/jsx-runtime");
88
+ var material_1 = require("@mui/material");
89
+ var Input_1 = __importDefault(require("../../../ui/Input"));
90
+ var Formatter_1 = __importDefault(require("../../../ui/Formatter"));
91
+ var SvgPath_1 = require("../../../ui/SvgPath");
92
+ var Text_1 = __importDefault(require("../../../ui/Text"));
93
+ var providers_1 = require("../../../../providers");
94
+ var react_1 = require("react");
95
+ var validate_wallet_address_service_1 = __importDefault(require("../../../../services/axios/validate-wallet-address-service"));
96
+ var lodash_1 = require("lodash");
97
+ var Button_1 = __importStar(require("../../../ui/Button"));
98
+ var expose_1 = require("../../../../services/axios/expose");
99
+ var __1 = require("..");
100
+ var QrCodeReader_1 = __importDefault(require("../../../ui/QrCodeReader"));
101
+ var Icon_1 = __importDefault(require("../../../ui/Icon"));
102
+ var get_est_fee_service_1 = __importDefault(require("../../../../services/axios/get-est-fee-service"));
103
+ var type_1 = require("../../../../services/axios/get-activities-service/type");
104
+ var Fees_1 = __importStar(require("../../../ui/Fees"));
105
+ var xhub_keyboard_1 = require("xhub-keyboard");
106
+ var useUniqueId_1 = require("../../../../hooks/useUniqueId");
107
+ var validateAddressDebounce = (0, lodash_1.debounce)(function (callback) {
108
+ callback();
109
+ }, 500, { leading: true, trailing: true });
110
+ var getEstimateFeeDebounce = (0, lodash_1.debounce)(function (callback) {
111
+ callback();
112
+ }, 500, { leading: true, trailing: true });
113
+ function Form(props) {
114
+ var _this = this;
115
+ var theme = (0, providers_1.useTheme)();
116
+ var selectedToken = props.selectedToken, onContinue = props.onContinue, sx = props.sx;
117
+ var _a = (0, react_1.useState)(""), recipientAddress = _a[0], setRecipientAddress = _a[1];
118
+ var _b = (0, react_1.useState)(), recipientAddressError = _b[0], setRecipientAddressError = _b[1];
119
+ var _c = (0, react_1.useState)(""), amount = _c[0], setAmount = _c[1];
120
+ var _d = (0, react_1.useState)(), amountErrorMessage = _d[0], setAmountErrorMessage = _d[1];
121
+ var _e = (0, react_1.useState)(), amountError = _e[0], setAmountError = _e[1];
122
+ var _f = (0, react_1.useState)(undefined), comment = _f[0], setComment = _f[1];
123
+ var _g = (0, react_1.useState)(false), isValidatingAddress = _g[0], setIsValidatingAddress = _g[1];
124
+ var scannerAddressQrCodeRef = (0, react_1.useRef)(null);
125
+ var _h = (0, react_1.useState)(false), isEstimatingFee = _h[0], setIsLoadingEstimateFee = _h[1];
126
+ var _j = (0, react_1.useState)(), estimateFee = _j[0], setEstimateFee = _j[1];
127
+ var _k = (0, react_1.useState)(false), isEnoughBalanceToPayFee = _k[0], setIsEnoughBalanceToPayFee = _k[1];
128
+ var _l = (0, react_1.useState)(false), isKeyboardOpen = _l[0], setIsKeyboardOpen = _l[1];
129
+ var getEstimateFee = (0, react_1.useCallback)(function (amount) { return __awaiter(_this, void 0, void 0, function () {
130
+ var _this = this;
131
+ return __generator(this, function (_a) {
132
+ setIsLoadingEstimateFee(true);
133
+ getEstimateFeeDebounce(function () { return __awaiter(_this, void 0, void 0, function () {
134
+ var response;
135
+ return __generator(this, function (_a) {
136
+ switch (_a.label) {
137
+ case 0: return [4 /*yield*/, (0, get_est_fee_service_1.default)({
138
+ amount: "".concat(amount),
139
+ transaction_type: type_1.TransactionSlug.TRANSFER_INTERNAL,
140
+ currency: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.slug) || "",
141
+ })];
142
+ case 1:
143
+ response = _a.sent();
144
+ setIsLoadingEstimateFee(false);
145
+ setEstimateFee(response === null || response === void 0 ? void 0 : response.data);
146
+ return [2 /*return*/];
147
+ }
148
+ });
149
+ }); });
150
+ return [2 /*return*/];
151
+ });
152
+ }); }, [selectedToken]);
153
+ var validateAmount = (0, react_1.useCallback)(function (amount) {
154
+ var _a, _b;
155
+ if (!selectedToken)
156
+ return false;
157
+ if (+amount < +(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.min_value)) {
158
+ setAmountErrorMessage(__1.InternalAmountError.MIN_LIMIT);
159
+ setAmountError(+((_a = selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.min_value) !== null && _a !== void 0 ? _a : 0));
160
+ return false;
161
+ }
162
+ if (+amount > +(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.max_value)) {
163
+ setAmountErrorMessage(__1.InternalAmountError.MAX_LIMIT);
164
+ setAmountError(+((_b = selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.max_value) !== null && _b !== void 0 ? _b : 0));
165
+ return false;
166
+ }
167
+ if (+amount > +(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.balance)) {
168
+ setAmountErrorMessage(__1.InternalAmountError.INSUFFICIENT_BALANCE);
169
+ setAmountError(undefined);
170
+ return false;
171
+ }
172
+ setAmountError(undefined);
173
+ setAmountErrorMessage(undefined);
174
+ getEstimateFee(amount);
175
+ return true;
176
+ }, [selectedToken, getEstimateFee]);
177
+ var validateAddress = function (address) {
178
+ if (!address) {
179
+ setRecipientAddressError("The address is required");
180
+ return;
181
+ }
182
+ validateAddressDebounce(function () { return __awaiter(_this, void 0, void 0, function () {
183
+ var validateResult, message;
184
+ return __generator(this, function (_a) {
185
+ switch (_a.label) {
186
+ case 0:
187
+ setIsValidatingAddress(true);
188
+ return [4 /*yield*/, (0, validate_wallet_address_service_1.default)({
189
+ address: address,
190
+ })];
191
+ case 1:
192
+ validateResult = _a.sent();
193
+ setIsValidatingAddress(false);
194
+ message = validateResult.message;
195
+ if (message === expose_1.ValidateWalletAddressResultMessage.ERROR) {
196
+ setRecipientAddressError("Something went wrong, please try again");
197
+ return [2 /*return*/];
198
+ }
199
+ if (message === expose_1.ValidateWalletAddressResultMessage.IN_VALID) {
200
+ setRecipientAddressError("The address is invalid");
201
+ return [2 /*return*/];
202
+ }
203
+ if (message === expose_1.ValidateWalletAddressResultMessage.EXTERNAL_WALLET) {
204
+ setRecipientAddressError("The address is not a master wallet");
205
+ return [2 /*return*/];
206
+ }
207
+ if (message === expose_1.ValidateWalletAddressResultMessage.IS_CURRENT_WALLET) {
208
+ setRecipientAddressError("You can not send to yourself wallet");
209
+ return [2 /*return*/];
210
+ }
211
+ if (message === expose_1.ValidateWalletAddressResultMessage.INTERNAL_WALLET) {
212
+ setRecipientAddressError(undefined);
213
+ }
214
+ return [2 /*return*/];
215
+ }
216
+ });
217
+ }); });
218
+ };
219
+ var handleChangeRecipientAddress = function (e) {
220
+ var address = e.target.value.trim();
221
+ setRecipientAddress(address);
222
+ validateAddress(address);
223
+ };
224
+ var handlePaste = function () { return __awaiter(_this, void 0, void 0, function () {
225
+ var text, address;
226
+ return __generator(this, function (_a) {
227
+ switch (_a.label) {
228
+ case 0: return [4 /*yield*/, navigator.clipboard.readText()];
229
+ case 1:
230
+ text = _a.sent();
231
+ address = text.trim();
232
+ if (!address) {
233
+ return [2 /*return*/];
234
+ }
235
+ handleChangeRecipientAddress({
236
+ target: { value: address },
237
+ });
238
+ return [2 /*return*/];
239
+ }
240
+ });
241
+ }); };
242
+ var handleClearRecipientAddress = function () {
243
+ handleChangeRecipientAddress({
244
+ target: { value: "" },
245
+ });
246
+ };
247
+ var handleChangeAmount = function (e) {
248
+ var amount = e.target.value;
249
+ setAmount(amount);
250
+ validateAmount(amount);
251
+ };
252
+ var handleKeyboardChangeAmount = function (amount) {
253
+ handleChangeAmount({
254
+ target: { value: amount },
255
+ });
256
+ };
257
+ var handleChangeComment = function (e) {
258
+ setComment(e.target.value);
259
+ };
260
+ var handleClickMaxAmount = function () {
261
+ if (!selectedToken)
262
+ return;
263
+ var balance = Math.min(+(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.balance), +(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.max_value));
264
+ handleChangeAmount({
265
+ target: { value: balance || "" },
266
+ });
267
+ };
268
+ var handleContinue = function () {
269
+ onContinue === null || onContinue === void 0 ? void 0 : onContinue({
270
+ amount: +amount,
271
+ to_address: recipientAddress,
272
+ currency_slug: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.slug) || "",
273
+ extraTransactions: [],
274
+ message: comment,
275
+ }, estimateFee);
276
+ };
277
+ var openScannerAddressQrCode = function () {
278
+ var _a;
279
+ (_a = scannerAddressQrCodeRef.current) === null || _a === void 0 ? void 0 : _a.open();
280
+ };
281
+ var closeScannerAddressQrCode = function () {
282
+ var _a;
283
+ (_a = scannerAddressQrCodeRef.current) === null || _a === void 0 ? void 0 : _a.close();
284
+ };
285
+ var handleScanAddressQrCode = function (result) { return __awaiter(_this, void 0, void 0, function () {
286
+ var text, address, isReceiveInternal, data;
287
+ var _a;
288
+ return __generator(this, function (_b) {
289
+ closeScannerAddressQrCode();
290
+ text = (_a = result === null || result === void 0 ? void 0 : result[0]) === null || _a === void 0 ? void 0 : _a.rawValue;
291
+ address = "";
292
+ isReceiveInternal = text === null || text === void 0 ? void 0 : text.includes("isTekWalletReceiveInternal");
293
+ if (isReceiveInternal) {
294
+ data = JSON.parse(text);
295
+ address = data === null || data === void 0 ? void 0 : data.address;
296
+ }
297
+ else {
298
+ address = text;
299
+ }
300
+ if (!address)
301
+ return [2 /*return*/];
302
+ handleChangeRecipientAddress({
303
+ target: { value: address },
304
+ });
305
+ return [2 /*return*/];
306
+ });
307
+ }); };
308
+ var keyboardId = (0, useUniqueId_1.useUniqueId)("form-keyboard");
309
+ var handleKeyboardOpen = function () {
310
+ setIsKeyboardOpen(true);
311
+ };
312
+ var handleKeyboardClose = function () {
313
+ setIsKeyboardOpen(false);
314
+ };
315
+ return ((0, jsx_runtime_1.jsx)(xhub_keyboard_1.Keyboard, { styles: {
316
+ container: {
317
+ height: "100%",
318
+ },
319
+ }, id: keyboardId, onChange: handleKeyboardChangeAmount, keyboardType: xhub_keyboard_1.KeyboardType.Double, value: amount === null || amount === void 0 ? void 0 : amount.toString(), keyboardId: "form-amount-keyboard-id", onOpen: handleKeyboardOpen, onClose: handleKeyboardClose, children: (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign(__assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g16, minHeight: "100%", transition: "padding-bottom 0.3s ease-in-out" }), sx), (isKeyboardOpen
320
+ ? {
321
+ paddingBottom: theme.mixins.customPadding.p8,
322
+ }
323
+ : {})), children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g8 }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
324
+ fontSize: theme.typography.fontSize14,
325
+ color: theme.palette.text.black,
326
+ fontWeight: theme.typography.fontWeight700,
327
+ }, children: "Wallet address" }), (0, jsx_runtime_1.jsx)(Input_1.default, { sx: {
328
+ paddingX: theme.mixins.customPadding.p16,
329
+ }, inputRest: {
330
+ placeholder: "Enter recipient address",
331
+ value: recipientAddress,
332
+ onChange: handleChangeRecipientAddress,
333
+ }, rightPart: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8 }), children: !!recipientAddress ? ((0, jsx_runtime_1.jsx)(material_1.Box, { onClick: handleClearRecipientAddress, sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8, cursor: "pointer" }), children: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 12, height: 12 }, children: SvgPath_1.IC_CLOSE }) })) : ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8 }), children: [(0, jsx_runtime_1.jsx)(material_1.Box, { onClick: openScannerAddressQrCode, children: (0, jsx_runtime_1.jsx)(Icon_1.default, { iconKey: "IC_SCAN", sx: { width: 18, height: 18 } }) }), (0, jsx_runtime_1.jsx)(material_1.Divider, { orientation: "vertical", variant: "fullWidth", flexItem: true }), (0, jsx_runtime_1.jsx)(material_1.Box, { onClick: handlePaste, children: (0, jsx_runtime_1.jsx)(material_1.SvgIcon, { sx: { width: 18, height: 18 }, children: SvgPath_1.IC_DOCUMENTS }) })] })) }) }), !!recipientAddressError && ((0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.validationError), children: recipientAddressError }))] }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g8 }), children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8, alignItems: "center", justifyContent: "space-between" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
334
+ fontSize: theme.typography.fontSize14,
335
+ color: theme.palette.text.black,
336
+ fontWeight: theme.typography.fontWeight700,
337
+ }, children: "Withdrawal amount" }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8, alignItems: "center" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.value), { fontSize: theme.typography.fontSize11, color: theme.palette.text.accent }), children: "Your balance " }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.value), { fontSize: theme.typography.fontSize12, color: theme.palette.text.black, fontWeight: theme.typography.fontWeight700 }), children: (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.balance, unit: " ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name) }) })] })] }), (0, jsx_runtime_1.jsx)(xhub_keyboard_1.Label, { htmlFor: keyboardId, children: (0, jsx_runtime_1.jsx)(xhub_keyboard_1.Input, { elementsAcceptIds: ["form-amount-keyboard-id"], value: amount === null || amount === void 0 ? void 0 : amount.toString(), displayType: xhub_keyboard_1.DisplayType.Double, placeholder: ((0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
338
+ display: "inline-flex",
339
+ alignItems: "center",
340
+ gap: theme.mixins.gaps.g4,
341
+ pointerEvents: "none",
342
+ }, children: [(0, jsx_runtime_1.jsx)(Formatter_1.default, { value: selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.min_value }), " -", " ", (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.max_value, unit: " ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name) })] })), styles: {
343
+ container: {
344
+ paddingRight: theme.mixins.customPadding.p4,
345
+ paddingLeft: theme.mixins.customPadding.p16,
346
+ paddingTop: theme.mixins.customPadding.p4,
347
+ paddingBottom: theme.mixins.customPadding.p4,
348
+ border: "1px ".concat(theme.palette.border.primary, " solid"),
349
+ borderRadius: theme.mixins.customRadius.r8,
350
+ },
351
+ }, rightElement: (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g8 }), children: (0, jsx_runtime_1.jsx)(material_1.Box, { onClick: handleClickMaxAmount, sx: {
352
+ background: theme.palette.background.tertiary,
353
+ color: theme.palette.text.black,
354
+ fontSize: theme.typography.fontSize11,
355
+ fontWeight: theme.typography.fontWeight700,
356
+ borderRadius: theme.mixins.customRadius.r4,
357
+ paddingX: theme.mixins.customPadding.p16,
358
+ paddingY: theme.mixins.customPadding.p8,
359
+ border: "0px solid",
360
+ cursor: "pointer",
361
+ }, children: (0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
362
+ fontSize: theme.typography.fontSize12,
363
+ color: theme.palette.text.primary,
364
+ fontWeight: theme.typography.fontWeight500,
365
+ }, children: "Max" }) }) }) }) }), !!amountErrorMessage && ((0, jsx_runtime_1.jsxs)(Text_1.default, { sx: __assign({}, theme.mixins.validationError), children: [amountErrorMessage, " ", !!amountError && (0, jsx_runtime_1.jsx)(Formatter_1.default, { value: amountError, unit: " ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name) })] }))] }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g8 }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
366
+ fontSize: theme.typography.fontSize14,
367
+ color: theme.palette.text.black,
368
+ fontWeight: theme.typography.fontWeight700,
369
+ }, children: "Message" }), (0, jsx_runtime_1.jsx)(Input_1.default, { inputRest: {
370
+ placeholder: "Enter comment if needed",
371
+ value: comment,
372
+ onChange: handleChangeComment,
373
+ } }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.validationDescription), children: "Enter comment if your receiving platform requires one to avoid losing your funds." })] }), (0, jsx_runtime_1.jsx)(Fees_1.default, { isFeePaidByAmount: true, feesData: estimateFee, amount: +amount, tokenSlug: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.slug) || "", feesStyle: Fees_1.FeesStyle.WITH_BACKGROUND, setIsEnoughBalanceToPayFee: setIsEnoughBalanceToPayFee }), (0, jsx_runtime_1.jsx)(QrCodeReader_1.default, { ref: scannerAddressQrCodeRef, onResult: handleScanAddressQrCode }), (0, jsx_runtime_1.jsx)(Button_1.default.Primary, { loading: isValidatingAddress || isEstimatingFee, onClick: handleContinue, status: !recipientAddress ||
374
+ !amount ||
375
+ !!recipientAddressError ||
376
+ !!amountError ||
377
+ !isEnoughBalanceToPayFee
378
+ ? Button_1.BUTTON_STATUS.DISABLED
379
+ : Button_1.BUTTON_STATUS.ENABLED, sx: { width: "100%", marginTop: "auto" }, children: "Continue" })] }) }));
380
+ }
@@ -0,0 +1,11 @@
1
+ import { SxProps } from "@mui/material";
2
+ import { WithdrawCurrency } from "../../../../services/axios/get-withdraw-tokens-list-service/type";
3
+ import { FeesDataType } from "../../../../services/axios/get-est-fee-service/type";
4
+ import { SendInternalDataType } from "../../../ui/ConfirmSendInternal";
5
+ interface FormProps {
6
+ onContinue?: (payload?: SendInternalDataType, estimateFee?: FeesDataType) => void;
7
+ selectedToken?: WithdrawCurrency;
8
+ sx?: SxProps;
9
+ }
10
+ export default function Form(props: FormProps): import("react/jsx-runtime").JSX.Element;
11
+ export type { FormProps };