@matchain/matchid-sdk-react 0.1.56-alpha.8 → 0.1.56-alpha.9
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.
- package/dist/api.d.mts +6 -0
- package/dist/api.d.ts +6 -0
- package/dist/api.js +1728 -0
- package/dist/api.js.map +1 -0
- package/dist/api.mjs +23 -0
- package/dist/api.mjs.map +1 -0
- package/dist/assets/lottie.d.mts +1 -0
- package/dist/assets/lottie.d.ts +1 -0
- package/dist/assets/lottie.js +68 -0
- package/dist/assets/lottie.js.map +1 -0
- package/dist/assets/lottie.mjs +22 -0
- package/dist/assets/lottie.mjs.map +1 -0
- package/dist/chains.d.mts +2 -0
- package/dist/chains.d.ts +2 -0
- package/dist/chains.js +94 -0
- package/dist/chains.js.map +1 -0
- package/dist/chains.mjs +11 -0
- package/dist/chains.mjs.map +1 -0
- package/dist/chunk-3CR66BEX.mjs +19 -0
- package/dist/chunk-3CR66BEX.mjs.map +1 -0
- package/dist/chunk-FQ6PYZPD.mjs +1439 -0
- package/dist/chunk-FQ6PYZPD.mjs.map +1 -0
- package/dist/chunk-HBOS3RBL.mjs +19 -0
- package/dist/chunk-HBOS3RBL.mjs.map +1 -0
- package/dist/chunk-IZOOVZAD.mjs +145 -0
- package/dist/chunk-IZOOVZAD.mjs.map +1 -0
- package/dist/chunk-J5LGTIGS.mjs +10 -0
- package/dist/chunk-J5LGTIGS.mjs.map +1 -0
- package/dist/chunk-JCMQBWWW.mjs +97 -0
- package/dist/chunk-JCMQBWWW.mjs.map +1 -0
- package/dist/chunk-JX73EY6V.mjs +67 -0
- package/dist/chunk-JX73EY6V.mjs.map +1 -0
- package/dist/chunk-LOZCAT7A.mjs +7732 -0
- package/dist/chunk-LOZCAT7A.mjs.map +1 -0
- package/dist/chunk-UA6XHZHX.mjs +17 -0
- package/dist/chunk-UA6XHZHX.mjs.map +1 -0
- package/dist/chunk-XM6CYEXN.mjs +53 -0
- package/dist/chunk-XM6CYEXN.mjs.map +1 -0
- package/dist/components.d.mts +6 -0
- package/dist/components.d.ts +6 -0
- package/dist/components.js +6576 -0
- package/dist/components.js.map +1 -0
- package/dist/components.mjs +57 -0
- package/dist/components.mjs.map +1 -0
- package/dist/hooks.d.mts +12 -0
- package/dist/hooks.d.ts +12 -0
- package/dist/hooks.js +3619 -0
- package/dist/hooks.js.map +1 -0
- package/dist/hooks.mjs +41 -0
- package/dist/hooks.mjs.map +1 -0
- package/dist/icon.d.mts +5 -0
- package/dist/icon.d.ts +5 -0
- package/dist/icon.js +1454 -0
- package/dist/icon.js.map +1 -0
- package/dist/icon.mjs +116 -0
- package/dist/icon.mjs.map +1 -0
- package/dist/index-84CqVi2I.d.mts +66 -0
- package/dist/index-BNqdFiOo.d.ts +66 -0
- package/dist/index-BctnHnJp.d.ts +221 -0
- package/dist/index-BqI0PEIi.d.mts +38 -0
- package/dist/index-CHgaOUiW.d.mts +52590 -0
- package/dist/index-CHgaOUiW.d.ts +52590 -0
- package/dist/index-Car1jFyN.d.mts +132 -0
- package/dist/index-CboftuIp.d.mts +85 -0
- package/dist/index-CboftuIp.d.ts +85 -0
- package/dist/index-CcVHENNv.d.ts +132 -0
- package/dist/index-Cqdz_5bE.d.ts +92 -0
- package/dist/index-CvzpMw3N.d.ts +38 -0
- package/dist/index-D2E53ZMV.d.mts +7134 -0
- package/dist/index-DVlulZhE.d.mts +111 -0
- package/dist/index-DkijpM5Q.d.mts +221 -0
- package/dist/index-DwmrgZa2.d.ts +7134 -0
- package/dist/index-DxHhOW24.d.mts +92 -0
- package/dist/index-qmC4zt6V.d.ts +111 -0
- package/dist/index.css +2294 -0
- package/dist/index.d.mts +867 -0
- package/dist/index.d.ts +867 -0
- package/dist/index.js +9308 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +45 -0
- package/dist/index.mjs.map +1 -0
- package/dist/request-B0CyrGFT.d.mts +15 -0
- package/dist/request-B0CyrGFT.d.ts +15 -0
- package/dist/types-BrVeC0c8.d.mts +428 -0
- package/dist/types-BrVeC0c8.d.ts +428 -0
- package/dist/types.d.mts +3 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.js +44 -0
- package/dist/types.js.map +1 -0
- package/dist/types.mjs +11 -0
- package/dist/types.mjs.map +1 -0
- package/dist/ui.d.mts +7 -0
- package/dist/ui.d.ts +7 -0
- package/dist/ui.js +1688 -0
- package/dist/ui.js.map +1 -0
- package/dist/ui.mjs +47 -0
- package/dist/ui.mjs.map +1 -0
- package/dist/utils.d.mts +28 -0
- package/dist/utils.d.ts +28 -0
- package/dist/utils.js +192 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +34 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +1 -1
package/dist/ui.mjs
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AlphaAvatar,
|
|
3
|
+
Button,
|
|
4
|
+
Checkbox,
|
|
5
|
+
ConfirmModal,
|
|
6
|
+
Drawer,
|
|
7
|
+
Field,
|
|
8
|
+
HashPanel_default,
|
|
9
|
+
Input,
|
|
10
|
+
Lottie_default,
|
|
11
|
+
Modal,
|
|
12
|
+
ModalDrawer,
|
|
13
|
+
ModalWithHeader,
|
|
14
|
+
Overlay,
|
|
15
|
+
Popover,
|
|
16
|
+
Radio,
|
|
17
|
+
Skeleton_default,
|
|
18
|
+
Switch,
|
|
19
|
+
Tabs
|
|
20
|
+
} from "./chunk-LOZCAT7A.mjs";
|
|
21
|
+
import "./chunk-JX73EY6V.mjs";
|
|
22
|
+
import "./chunk-UA6XHZHX.mjs";
|
|
23
|
+
import "./chunk-IZOOVZAD.mjs";
|
|
24
|
+
import "./chunk-FQ6PYZPD.mjs";
|
|
25
|
+
import "./chunk-XM6CYEXN.mjs";
|
|
26
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
27
|
+
export {
|
|
28
|
+
AlphaAvatar,
|
|
29
|
+
Button,
|
|
30
|
+
Checkbox,
|
|
31
|
+
ConfirmModal,
|
|
32
|
+
Drawer,
|
|
33
|
+
Field,
|
|
34
|
+
HashPanel_default as HashPanel,
|
|
35
|
+
Input,
|
|
36
|
+
Lottie_default as Lottie,
|
|
37
|
+
Modal,
|
|
38
|
+
ModalDrawer,
|
|
39
|
+
ModalWithHeader,
|
|
40
|
+
Overlay,
|
|
41
|
+
Popover,
|
|
42
|
+
Radio,
|
|
43
|
+
Skeleton_default as Skeleton,
|
|
44
|
+
Switch,
|
|
45
|
+
Tabs
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=ui.mjs.map
|
package/dist/ui.mjs.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/utils.d.mts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
declare const getVersion: () => string;
|
|
2
|
+
declare function encodeBase64(input: string): string;
|
|
3
|
+
declare function decodeBase64(input: string): string;
|
|
4
|
+
declare const isValidEmail: (email: string) => boolean;
|
|
5
|
+
declare const isValidUsername: (username: string) => boolean;
|
|
6
|
+
declare const deepMerge: (target: any, source: any) => any;
|
|
7
|
+
declare function truncateAddress(address: string, startLen?: number, endLen?: number): string;
|
|
8
|
+
declare function firstUpperCase(str: string): string;
|
|
9
|
+
declare function getAppClientId(): string;
|
|
10
|
+
interface NumberFormatterProps {
|
|
11
|
+
value: number | string | undefined;
|
|
12
|
+
prefix?: string;
|
|
13
|
+
suffix?: string;
|
|
14
|
+
separator?: boolean;
|
|
15
|
+
fixNum?: number;
|
|
16
|
+
tFixNum?: number;
|
|
17
|
+
intClassName?: string;
|
|
18
|
+
decimalClassName?: string;
|
|
19
|
+
prefixClassName?: string;
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
declare const NumberFormatter: React.FC<NumberFormatterProps>;
|
|
23
|
+
declare function formatAddress(address: string, pre?: number, after?: number): string;
|
|
24
|
+
declare const formatDate: (value: any, formatString?: string) => string;
|
|
25
|
+
declare const isInTgApp: () => boolean;
|
|
26
|
+
declare function bytesToBase64(bytes: Uint8Array): string;
|
|
27
|
+
|
|
28
|
+
export { NumberFormatter, bytesToBase64, decodeBase64, deepMerge, encodeBase64, firstUpperCase, formatAddress, formatDate, getAppClientId, getVersion, isInTgApp, isValidEmail, isValidUsername, truncateAddress };
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
declare const getVersion: () => string;
|
|
2
|
+
declare function encodeBase64(input: string): string;
|
|
3
|
+
declare function decodeBase64(input: string): string;
|
|
4
|
+
declare const isValidEmail: (email: string) => boolean;
|
|
5
|
+
declare const isValidUsername: (username: string) => boolean;
|
|
6
|
+
declare const deepMerge: (target: any, source: any) => any;
|
|
7
|
+
declare function truncateAddress(address: string, startLen?: number, endLen?: number): string;
|
|
8
|
+
declare function firstUpperCase(str: string): string;
|
|
9
|
+
declare function getAppClientId(): string;
|
|
10
|
+
interface NumberFormatterProps {
|
|
11
|
+
value: number | string | undefined;
|
|
12
|
+
prefix?: string;
|
|
13
|
+
suffix?: string;
|
|
14
|
+
separator?: boolean;
|
|
15
|
+
fixNum?: number;
|
|
16
|
+
tFixNum?: number;
|
|
17
|
+
intClassName?: string;
|
|
18
|
+
decimalClassName?: string;
|
|
19
|
+
prefixClassName?: string;
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
declare const NumberFormatter: React.FC<NumberFormatterProps>;
|
|
23
|
+
declare function formatAddress(address: string, pre?: number, after?: number): string;
|
|
24
|
+
declare const formatDate: (value: any, formatString?: string) => string;
|
|
25
|
+
declare const isInTgApp: () => boolean;
|
|
26
|
+
declare function bytesToBase64(bytes: Uint8Array): string;
|
|
27
|
+
|
|
28
|
+
export { NumberFormatter, bytesToBase64, decodeBase64, deepMerge, encodeBase64, firstUpperCase, formatAddress, formatDate, getAppClientId, getVersion, isInTgApp, isValidEmail, isValidUsername, truncateAddress };
|
package/dist/utils.js
ADDED
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
|
|
30
|
+
// src/utils/index.tsx
|
|
31
|
+
var utils_exports = {};
|
|
32
|
+
__export(utils_exports, {
|
|
33
|
+
NumberFormatter: () => NumberFormatter,
|
|
34
|
+
bytesToBase64: () => bytesToBase64,
|
|
35
|
+
decodeBase64: () => decodeBase64,
|
|
36
|
+
deepMerge: () => deepMerge,
|
|
37
|
+
encodeBase64: () => encodeBase64,
|
|
38
|
+
firstUpperCase: () => firstUpperCase,
|
|
39
|
+
formatAddress: () => formatAddress,
|
|
40
|
+
formatDate: () => formatDate,
|
|
41
|
+
getAppClientId: () => getAppClientId,
|
|
42
|
+
getVersion: () => getVersion,
|
|
43
|
+
isInTgApp: () => isInTgApp,
|
|
44
|
+
isValidEmail: () => isValidEmail,
|
|
45
|
+
isValidUsername: () => isValidUsername,
|
|
46
|
+
truncateAddress: () => truncateAddress
|
|
47
|
+
});
|
|
48
|
+
module.exports = __toCommonJS(utils_exports);
|
|
49
|
+
var import_moment = __toESM(require("moment"));
|
|
50
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
51
|
+
var getVersion = () => {
|
|
52
|
+
return "0.0.2";
|
|
53
|
+
};
|
|
54
|
+
function encodeBase64(input) {
|
|
55
|
+
return btoa(unescape(encodeURIComponent(input)));
|
|
56
|
+
}
|
|
57
|
+
function decodeBase64(input) {
|
|
58
|
+
return decodeURIComponent(escape(atob(input)));
|
|
59
|
+
}
|
|
60
|
+
var isValidEmail = (email) => {
|
|
61
|
+
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
|
|
62
|
+
};
|
|
63
|
+
var isValidUsername = (username) => {
|
|
64
|
+
return /^[a-zA-Z0-9_-]+$/.test(username);
|
|
65
|
+
};
|
|
66
|
+
var deepMerge = (target, source) => {
|
|
67
|
+
for (const key in source) {
|
|
68
|
+
if (source[key] instanceof Object && key in target) {
|
|
69
|
+
target[key] = deepMerge(target[key], source[key]);
|
|
70
|
+
} else {
|
|
71
|
+
target[key] = source[key];
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return target;
|
|
75
|
+
};
|
|
76
|
+
function truncateAddress(address, startLen = 4, endLen = 4) {
|
|
77
|
+
if (address.length <= startLen + endLen) {
|
|
78
|
+
return address;
|
|
79
|
+
}
|
|
80
|
+
const start = address.slice(0, startLen);
|
|
81
|
+
const end = address.slice(-endLen);
|
|
82
|
+
return `${start}...${end}`;
|
|
83
|
+
}
|
|
84
|
+
function firstUpperCase(str) {
|
|
85
|
+
return str.toString()[0].toUpperCase() + str.toString().slice(1);
|
|
86
|
+
}
|
|
87
|
+
function getAppClientId() {
|
|
88
|
+
return "react-sdk-" + getVersion();
|
|
89
|
+
}
|
|
90
|
+
function convertScientificToDecimal(num) {
|
|
91
|
+
let str = num.toFixed(12);
|
|
92
|
+
str = str.replace(/0+$/, "");
|
|
93
|
+
str = str.replace(/\.$/, "");
|
|
94
|
+
return str;
|
|
95
|
+
}
|
|
96
|
+
var NumberFormatter = ({
|
|
97
|
+
value,
|
|
98
|
+
prefix = "",
|
|
99
|
+
suffix = "",
|
|
100
|
+
separator = true,
|
|
101
|
+
fixNum = 2,
|
|
102
|
+
tFixNum = 4,
|
|
103
|
+
intClassName = "",
|
|
104
|
+
decimalClassName = "",
|
|
105
|
+
prefixClassName = "",
|
|
106
|
+
className = ""
|
|
107
|
+
}) => {
|
|
108
|
+
const numberValue = typeof value === "number" ? convertScientificToDecimal(value) : value ? value : "0";
|
|
109
|
+
const [intPart, decimalPart] = numberValue.toString().split(".");
|
|
110
|
+
const intFormat = separator ? intPart.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : intPart;
|
|
111
|
+
if (Math.abs(parseFloat(numberValue)) >= 1) {
|
|
112
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className, children: [
|
|
113
|
+
prefix && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: prefixClassName, children: prefix }),
|
|
114
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: intClassName, children: intFormat }),
|
|
115
|
+
decimalPart ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: decimalClassName, children: [
|
|
116
|
+
".",
|
|
117
|
+
decimalPart.substring(0, fixNum)
|
|
118
|
+
] }) : "",
|
|
119
|
+
suffix
|
|
120
|
+
] });
|
|
121
|
+
}
|
|
122
|
+
if (decimalPart) {
|
|
123
|
+
let zeroCount = 0;
|
|
124
|
+
for (let i = 0; i < decimalPart.length; i++) {
|
|
125
|
+
if (decimalPart[i] === "0") {
|
|
126
|
+
zeroCount++;
|
|
127
|
+
} else {
|
|
128
|
+
break;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (zeroCount < tFixNum) {
|
|
132
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className, children: [
|
|
133
|
+
prefix && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: prefixClassName, children: prefix }),
|
|
134
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: intClassName, children: intFormat }),
|
|
135
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: decimalClassName, children: [
|
|
136
|
+
".",
|
|
137
|
+
decimalPart.substring(0, tFixNum)
|
|
138
|
+
] }),
|
|
139
|
+
suffix
|
|
140
|
+
] });
|
|
141
|
+
}
|
|
142
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className, children: [
|
|
143
|
+
prefix && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: prefixClassName, children: prefix }),
|
|
144
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: intClassName, children: intFormat }),
|
|
145
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className: decimalClassName, children: [
|
|
146
|
+
".0",
|
|
147
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("sub", { children: zeroCount }),
|
|
148
|
+
decimalPart?.substring(zeroCount, zeroCount + tFixNum - 2)
|
|
149
|
+
] }),
|
|
150
|
+
suffix
|
|
151
|
+
] });
|
|
152
|
+
}
|
|
153
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", { className, children: [
|
|
154
|
+
prefix && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: prefixClassName, children: prefix }),
|
|
155
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: intClassName, children: intPart }),
|
|
156
|
+
suffix
|
|
157
|
+
] });
|
|
158
|
+
};
|
|
159
|
+
function formatAddress(address, pre = 4, after = 5) {
|
|
160
|
+
return `${address.substring(0, pre)}...${address.substring(address.length - after, address.length)}`;
|
|
161
|
+
}
|
|
162
|
+
var formatDate = (value, formatString = "YYYY-MM-DD HH:mm:ss") => {
|
|
163
|
+
if (value) {
|
|
164
|
+
return import_moment.default.unix(value).format(formatString);
|
|
165
|
+
}
|
|
166
|
+
return "--";
|
|
167
|
+
};
|
|
168
|
+
var isInTgApp = () => {
|
|
169
|
+
return !!window.TelegramWebviewProxy;
|
|
170
|
+
};
|
|
171
|
+
function bytesToBase64(bytes) {
|
|
172
|
+
const binString = String.fromCodePoint(...bytes);
|
|
173
|
+
return btoa(binString);
|
|
174
|
+
}
|
|
175
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
176
|
+
0 && (module.exports = {
|
|
177
|
+
NumberFormatter,
|
|
178
|
+
bytesToBase64,
|
|
179
|
+
decodeBase64,
|
|
180
|
+
deepMerge,
|
|
181
|
+
encodeBase64,
|
|
182
|
+
firstUpperCase,
|
|
183
|
+
formatAddress,
|
|
184
|
+
formatDate,
|
|
185
|
+
getAppClientId,
|
|
186
|
+
getVersion,
|
|
187
|
+
isInTgApp,
|
|
188
|
+
isValidEmail,
|
|
189
|
+
isValidUsername,
|
|
190
|
+
truncateAddress
|
|
191
|
+
});
|
|
192
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/index.tsx"],"sourcesContent":["import moment from 'moment';\n\nexport const getVersion = (): string => {\n return \"0.0.2\";\n};\n\nexport function encodeBase64(input: string) {\n return btoa(unescape(encodeURIComponent(input)));\n}\n\nexport function decodeBase64(input: string) {\n return decodeURIComponent(escape(atob(input)));\n}\n\nexport const isValidEmail = (email: string) => {\n return /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email)\n}\nexport const isValidUsername = (username: string) => {\n //8-32 alpha number - _\n return /^[a-zA-Z0-9_-]+$/.test(username)\n}\n\nexport const deepMerge = (target: any, source: any): any => {\n for (const key in source) {\n if (source[key] instanceof Object && key in target) {\n target[key] = deepMerge(target[key], source[key]);\n } else {\n target[key] = source[key];\n }\n }\n return target;\n};\n\nexport function truncateAddress(address: string, startLen = 4, endLen = 4): string {\n if (address.length <= startLen + endLen) {\n return address;\n }\n const start = address.slice(0, startLen);\n const end = address.slice(-endLen);\n return `${start}...${end}`;\n}\n\n\nexport function firstUpperCase(str: string): string {\n return str.toString()[0].toUpperCase() + str.toString().slice(1);\n}\n\nexport function getAppClientId() {\n return \"react-sdk-\" + getVersion()\n}\n\n\nfunction convertScientificToDecimal(num: number) {\n let str = num.toFixed(12)\n str = str.replace(/0+$/, '')\n str = str.replace(/\\.$/, '')\n return str\n}\n\ninterface NumberFormatterProps {\n value: number | string | undefined\n prefix?: string\n suffix?: string\n separator?: boolean\n fixNum?: number //number >= 1 fix num\n tFixNum?: number //number < 1 fix num\n intClassName?: string\n decimalClassName?: string\n prefixClassName?: string\n className?: string\n}\n\nexport const NumberFormatter: React.FC<NumberFormatterProps> = ({\n value,\n prefix = '',\n suffix = '',\n separator = true,\n fixNum = 2,\n tFixNum = 4,\n intClassName = \"\",\n decimalClassName = \"\",\n prefixClassName = \"\",\n className = \"\"\n }) => {\n const numberValue =\n typeof value === 'number'\n ? convertScientificToDecimal(value)\n : value\n ? value\n : '0'\n\n const [intPart, decimalPart] = numberValue.toString().split('.')\n\n const intFormat = separator\n ? intPart.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')\n : intPart\n\n if (Math.abs(parseFloat(numberValue)) >= 1) {\n return (\n <span className={className}>\n {prefix && <span className={prefixClassName}>{prefix}</span>}\n <span className={intClassName}>{intFormat}</span>\n {decimalPart ? (\n <span className={decimalClassName}>\n .{decimalPart.substring(0, fixNum)}\n </span>\n ) : (\n ''\n )}\n {suffix}\n </span>\n )\n }\n\n if (decimalPart) {\n let zeroCount = 0\n for (let i = 0; i < decimalPart.length; i++) {\n if (decimalPart[i] === '0') {\n zeroCount++\n } else {\n break\n }\n }\n if (zeroCount < tFixNum) {\n return (\n <span className={className}>\n {prefix && <span className={prefixClassName}>{prefix}</span>}\n <span className={intClassName}>{intFormat}</span>\n <span className={decimalClassName}>\n .{decimalPart.substring(0, tFixNum)}\n </span>\n {suffix}\n </span>\n )\n }\n return (\n <span className={className}>\n {prefix && <span className={prefixClassName}>{prefix}</span>}\n <span className={intClassName}>{intFormat}</span>\n <span className={decimalClassName}>\n .0<sub>{zeroCount}</sub>\n {decimalPart?.substring(zeroCount, zeroCount + tFixNum - 2)}\n </span>\n {suffix}\n </span>\n )\n }\n return (\n <span className={className}>\n {prefix && <span className={prefixClassName}>{prefix}</span>}\n <span className={intClassName}>{intPart}</span>\n {suffix}\n </span>\n )\n}\n\nexport function formatAddress(address: string, pre = 4, after = 5) {\n return `${address.substring(0, pre)}...${address.substring(address.length - after, address.length)}`\n}\n\nexport const formatDate = (value: any, formatString = 'YYYY-MM-DD HH:mm:ss') => {\n if (value) {\n return moment.unix(value).format(formatString)\n }\n return '--'\n}\nexport const isInTgApp = () => {\n return !!(window.TelegramWebviewProxy)\n}\n\nexport function bytesToBase64(bytes: Uint8Array) {\n const binString = String.fromCodePoint(...bytes);\n return btoa(binString);\n}"],"mappings":"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","names":["moment"]}
|
package/dist/utils.mjs
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import {
|
|
2
|
+
NumberFormatter,
|
|
3
|
+
bytesToBase64,
|
|
4
|
+
decodeBase64,
|
|
5
|
+
deepMerge,
|
|
6
|
+
encodeBase64,
|
|
7
|
+
firstUpperCase,
|
|
8
|
+
formatAddress,
|
|
9
|
+
formatDate,
|
|
10
|
+
getAppClientId,
|
|
11
|
+
getVersion,
|
|
12
|
+
isInTgApp,
|
|
13
|
+
isValidEmail,
|
|
14
|
+
isValidUsername,
|
|
15
|
+
truncateAddress
|
|
16
|
+
} from "./chunk-IZOOVZAD.mjs";
|
|
17
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
18
|
+
export {
|
|
19
|
+
NumberFormatter,
|
|
20
|
+
bytesToBase64,
|
|
21
|
+
decodeBase64,
|
|
22
|
+
deepMerge,
|
|
23
|
+
encodeBase64,
|
|
24
|
+
firstUpperCase,
|
|
25
|
+
formatAddress,
|
|
26
|
+
formatDate,
|
|
27
|
+
getAppClientId,
|
|
28
|
+
getVersion,
|
|
29
|
+
isInTgApp,
|
|
30
|
+
isValidEmail,
|
|
31
|
+
isValidUsername,
|
|
32
|
+
truncateAddress
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|