@matchain/matchid-sdk-react 0.1.48-alpha.9 → 0.1.49
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/assets/icon/index.d.mts +8 -2
- package/dist/assets/icon/index.d.ts +8 -2
- package/dist/assets/icon/index.js +54 -2
- package/dist/assets/icon/index.js.map +1 -1
- package/dist/assets/icon/index.mjs +5 -1
- package/dist/chunk-5JHHHLG4.mjs +136 -0
- package/dist/chunk-5JHHHLG4.mjs.map +1 -0
- package/dist/{chunk-USKUYOYJ.mjs → chunk-FB5MHLWX.mjs} +75 -42
- package/dist/chunk-FB5MHLWX.mjs.map +1 -0
- package/dist/{chunk-T72FT5NB.mjs → chunk-IKSPEZ4F.mjs} +2 -2
- package/dist/{chunk-7UTR37EJ.mjs → chunk-LHNKZISB.mjs} +54 -4
- package/dist/chunk-LHNKZISB.mjs.map +1 -0
- package/dist/{chunk-CI63DTB6.mjs → chunk-MXDPJRRH.mjs} +2020 -702
- package/dist/chunk-MXDPJRRH.mjs.map +1 -0
- package/dist/components/index.d.mts +4 -3
- package/dist/components/index.d.ts +4 -3
- package/dist/components/index.js +2265 -536
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +14 -3
- package/dist/hooks/api/index.d.mts +2 -2
- package/dist/hooks/api/index.d.ts +2 -2
- package/dist/hooks/api/index.js +363 -204
- package/dist/hooks/api/index.js.map +1 -1
- package/dist/hooks/api/index.mjs +5 -4
- package/dist/hooks/index.d.mts +4 -2
- package/dist/hooks/index.d.ts +4 -2
- package/dist/hooks/index.js +1532 -320
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/index.mjs +8 -3
- package/dist/index-BMfaixEx.d.mts +66 -0
- package/dist/{index-Bbn2Stvu.d.ts → index-BMsj8hJv.d.ts} +4 -3
- package/dist/{index-DcxdJ0m2.d.ts → index-BcEreCxd.d.ts} +1 -1
- package/dist/{index-Bz53bbI_.d.ts → index-Bg4rqEu2.d.ts} +145 -88
- package/dist/index-Bpmrd7mh.d.ts +66 -0
- package/dist/{index-C_S7k6z2.d.mts → index-Bvc8cjpN.d.ts} +34 -4
- package/dist/{index-Dzvj-uGt.d.mts → index-C9F6f2iz.d.mts} +4 -3
- package/dist/{index-D-uNr-JV.d.ts → index-C9qYyRgt.d.mts} +34 -4
- package/dist/{index-DDV4F9ka.d.mts → index-CNzG0MX7.d.mts} +145 -88
- package/dist/{index-CB4j_ONH.d.mts → index-Cou96DpL.d.mts} +1 -1
- package/dist/{index-B7A0lN0C.d.mts → index-Cy3K-Yao.d.ts} +21 -6
- package/dist/{index-dhPbMbvL.d.ts → index-D4ju2J_e.d.mts} +21 -6
- package/dist/index.css +613 -10
- package/dist/index.d.mts +9 -9
- package/dist/index.d.ts +9 -9
- package/dist/index.js +2597 -1104
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +15 -10
- package/dist/types/index.d.mts +2 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/{types-B4BYNw8B.d.mts → types-DzVVzMYU.d.mts} +62 -35
- package/dist/{types-B4BYNw8B.d.ts → types-DzVVzMYU.d.ts} +62 -35
- package/dist/ui/index.d.mts +4 -3
- package/dist/ui/index.d.ts +4 -3
- package/dist/ui/index.js +134 -95
- package/dist/ui/index.js.map +1 -1
- package/dist/ui/index.mjs +2 -2
- package/dist/utils/index.d.mts +26 -0
- package/dist/utils/index.d.ts +26 -0
- package/dist/utils/index.js +181 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/index.mjs +30 -0
- package/dist/utils/index.mjs.map +1 -0
- package/example/src/pages/Wallet/components/MatchWallet.tsx +44 -9
- package/example/src/pages/Wallet/index.tsx +2 -1
- package/package.json +7 -1
- package/dist/chunk-7UTR37EJ.mjs.map +0 -1
- package/dist/chunk-CI63DTB6.mjs.map +0 -1
- package/dist/chunk-USKUYOYJ.mjs.map +0 -1
- package/dist/index-CKyWWkzU.d.mts +0 -60
- package/dist/index-DV_mRu4y.d.ts +0 -60
- /package/dist/{chunk-T72FT5NB.mjs.map → chunk-IKSPEZ4F.mjs.map} +0 -0
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
ArrowDownIcon,
|
|
3
3
|
ArrowLeftIcon,
|
|
4
4
|
ArrowRightIcon,
|
|
5
|
+
ArrowSendIcon,
|
|
5
6
|
BTCDarkIcon,
|
|
6
7
|
BTCLightIcon,
|
|
7
8
|
BackIcon,
|
|
@@ -38,6 +39,7 @@ import {
|
|
|
38
39
|
TelegramIcon,
|
|
39
40
|
TonLightIcon,
|
|
40
41
|
TonLightIcon2,
|
|
42
|
+
TransferIcon,
|
|
41
43
|
TronLinkIcon,
|
|
42
44
|
UnLoginIcon_default,
|
|
43
45
|
UnisatIcon,
|
|
@@ -45,12 +47,13 @@ import {
|
|
|
45
47
|
XIcon,
|
|
46
48
|
XverseIcon,
|
|
47
49
|
YoutubeIcon
|
|
48
|
-
} from "../../chunk-
|
|
50
|
+
} from "../../chunk-LHNKZISB.mjs";
|
|
49
51
|
import "../../chunk-J5LGTIGS.mjs";
|
|
50
52
|
export {
|
|
51
53
|
ArrowDownIcon,
|
|
52
54
|
ArrowLeftIcon,
|
|
53
55
|
ArrowRightIcon,
|
|
56
|
+
ArrowSendIcon,
|
|
54
57
|
BTCDarkIcon,
|
|
55
58
|
BTCLightIcon,
|
|
56
59
|
BackIcon,
|
|
@@ -87,6 +90,7 @@ export {
|
|
|
87
90
|
TelegramIcon,
|
|
88
91
|
TonLightIcon as TonDarkIcon,
|
|
89
92
|
TonLightIcon2 as TonLightIcon,
|
|
93
|
+
TransferIcon,
|
|
90
94
|
TronLinkIcon,
|
|
91
95
|
UnLoginIcon_default as UnLoginIcon,
|
|
92
96
|
UnisatIcon,
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
// src/utils/index.tsx
|
|
2
|
+
import moment from "moment";
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
var getVersion = () => {
|
|
5
|
+
return "0.0.2";
|
|
6
|
+
};
|
|
7
|
+
function encodeBase64(input) {
|
|
8
|
+
return btoa(unescape(encodeURIComponent(input)));
|
|
9
|
+
}
|
|
10
|
+
function decodeBase64(input) {
|
|
11
|
+
return decodeURIComponent(escape(atob(input)));
|
|
12
|
+
}
|
|
13
|
+
var isValidEmail = (email) => {
|
|
14
|
+
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email);
|
|
15
|
+
};
|
|
16
|
+
var isValidUsername = (username) => {
|
|
17
|
+
return /^[a-zA-Z0-9_-]+$/.test(username);
|
|
18
|
+
};
|
|
19
|
+
var deepMerge = (target, source) => {
|
|
20
|
+
for (const key in source) {
|
|
21
|
+
if (source[key] instanceof Object && key in target) {
|
|
22
|
+
target[key] = deepMerge(target[key], source[key]);
|
|
23
|
+
} else {
|
|
24
|
+
target[key] = source[key];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return target;
|
|
28
|
+
};
|
|
29
|
+
function truncateAddress(address) {
|
|
30
|
+
if (address.length <= 6) {
|
|
31
|
+
return address;
|
|
32
|
+
}
|
|
33
|
+
const start = address.slice(0, 4);
|
|
34
|
+
const end = address.slice(-2);
|
|
35
|
+
return `${start}...${end}`;
|
|
36
|
+
}
|
|
37
|
+
function firstUpperCase(str) {
|
|
38
|
+
return str.toString()[0].toUpperCase() + str.toString().slice(1);
|
|
39
|
+
}
|
|
40
|
+
function getAppClientId() {
|
|
41
|
+
return "react-sdk-" + getVersion();
|
|
42
|
+
}
|
|
43
|
+
function convertScientificToDecimal(num) {
|
|
44
|
+
let str = num.toFixed(12);
|
|
45
|
+
str = str.replace(/0+$/, "");
|
|
46
|
+
str = str.replace(/\.$/, "");
|
|
47
|
+
return str;
|
|
48
|
+
}
|
|
49
|
+
var NumberFormatter = ({
|
|
50
|
+
value,
|
|
51
|
+
prefix = "",
|
|
52
|
+
suffix = "",
|
|
53
|
+
separator = true,
|
|
54
|
+
fixNum = 2,
|
|
55
|
+
tFixNum = 4,
|
|
56
|
+
intClassName = "",
|
|
57
|
+
decimalClassName = "",
|
|
58
|
+
prefixClassName = "",
|
|
59
|
+
className = ""
|
|
60
|
+
}) => {
|
|
61
|
+
const numberValue = typeof value === "number" ? convertScientificToDecimal(value) : value ? value : "0";
|
|
62
|
+
const [intPart, decimalPart] = numberValue.toString().split(".");
|
|
63
|
+
const intFormat = separator ? intPart.replace(/\B(?=(\d{3})+(?!\d))/g, ",") : intPart;
|
|
64
|
+
if (Math.abs(parseFloat(numberValue)) >= 1) {
|
|
65
|
+
return /* @__PURE__ */ jsxs("span", { className, children: [
|
|
66
|
+
prefix && /* @__PURE__ */ jsx("span", { className: prefixClassName, children: prefix }),
|
|
67
|
+
/* @__PURE__ */ jsx("span", { className: intClassName, children: intFormat }),
|
|
68
|
+
decimalPart ? /* @__PURE__ */ jsxs("span", { className: decimalClassName, children: [
|
|
69
|
+
".",
|
|
70
|
+
decimalPart.substring(0, fixNum)
|
|
71
|
+
] }) : "",
|
|
72
|
+
suffix
|
|
73
|
+
] });
|
|
74
|
+
}
|
|
75
|
+
if (decimalPart) {
|
|
76
|
+
let zeroCount = 0;
|
|
77
|
+
for (let i = 0; i < decimalPart.length; i++) {
|
|
78
|
+
if (decimalPart[i] === "0") {
|
|
79
|
+
zeroCount++;
|
|
80
|
+
} else {
|
|
81
|
+
break;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (zeroCount < tFixNum) {
|
|
85
|
+
return /* @__PURE__ */ jsxs("span", { children: [
|
|
86
|
+
prefix && /* @__PURE__ */ jsx("span", { className: prefixClassName, children: prefix }),
|
|
87
|
+
/* @__PURE__ */ jsx("span", { className: intClassName, children: intFormat }),
|
|
88
|
+
/* @__PURE__ */ jsxs("span", { className: decimalClassName, children: [
|
|
89
|
+
".",
|
|
90
|
+
decimalPart.substring(0, tFixNum)
|
|
91
|
+
] }),
|
|
92
|
+
suffix
|
|
93
|
+
] });
|
|
94
|
+
}
|
|
95
|
+
return /* @__PURE__ */ jsxs("span", { children: [
|
|
96
|
+
prefix && /* @__PURE__ */ jsx("span", { className: prefixClassName, children: prefix }),
|
|
97
|
+
/* @__PURE__ */ jsx("span", { className: intClassName, children: intFormat }),
|
|
98
|
+
/* @__PURE__ */ jsxs("span", { className: decimalClassName, children: [
|
|
99
|
+
".0",
|
|
100
|
+
/* @__PURE__ */ jsx("sub", { children: zeroCount }),
|
|
101
|
+
decimalPart?.substring(zeroCount, zeroCount + tFixNum - 2)
|
|
102
|
+
] }),
|
|
103
|
+
suffix
|
|
104
|
+
] });
|
|
105
|
+
}
|
|
106
|
+
return /* @__PURE__ */ jsxs("span", { className, children: [
|
|
107
|
+
prefix && /* @__PURE__ */ jsx("span", { className: prefixClassName, children: prefix }),
|
|
108
|
+
/* @__PURE__ */ jsx("span", { className: intClassName, children: intPart }),
|
|
109
|
+
suffix
|
|
110
|
+
] });
|
|
111
|
+
};
|
|
112
|
+
function formatAddress(address, pre = 4, after = 5) {
|
|
113
|
+
return `${address.substring(0, pre)}...${address.substring(address.length - after, address.length)}`;
|
|
114
|
+
}
|
|
115
|
+
var formatDate = (value, formatString = "YYYY-MM-DD HH:mm:ss") => {
|
|
116
|
+
if (value) {
|
|
117
|
+
return moment.unix(value).format(formatString);
|
|
118
|
+
}
|
|
119
|
+
return "--";
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export {
|
|
123
|
+
getVersion,
|
|
124
|
+
encodeBase64,
|
|
125
|
+
decodeBase64,
|
|
126
|
+
isValidEmail,
|
|
127
|
+
isValidUsername,
|
|
128
|
+
deepMerge,
|
|
129
|
+
truncateAddress,
|
|
130
|
+
firstUpperCase,
|
|
131
|
+
getAppClientId,
|
|
132
|
+
NumberFormatter,
|
|
133
|
+
formatAddress,
|
|
134
|
+
formatDate
|
|
135
|
+
};
|
|
136
|
+
//# sourceMappingURL=chunk-5JHHHLG4.mjs.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): string {\n if (address.length <= 6) {\n return address;\n }\n const start = address.slice(0, 4);\n const end = address.slice(-2);\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>\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>\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}"],"mappings":"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","names":[]}
|