tek-wallet 0.0.210 → 0.0.212
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/components/SafeSvgRenderer.d.ts +9 -0
- package/dist/components/SafeSvgRenderer.js +18 -0
- package/dist/components/ui/DepositFunction/index.js +5 -3
- package/dist/components/ui/SafeSvgRenderer/index.d.ts +9 -0
- package/dist/components/ui/SafeSvgRenderer/index.js +29 -0
- package/package.json +2 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
var dompurify_1 = __importDefault(require("dompurify"));
|
|
8
|
+
var SafeSvgRenderer = function (_a) {
|
|
9
|
+
var svgString = _a.svgString, className = _a.className, _b = _a.width, width = _b === void 0 ? "100%" : _b, _c = _a.height, height = _c === void 0 ? "100%" : _c;
|
|
10
|
+
// Sanitize the SVG string using DOMPurify
|
|
11
|
+
var sanitizedSvg = dompurify_1.default.sanitize(svgString, {
|
|
12
|
+
USE_PROFILES: { svg: true, svgFilters: true },
|
|
13
|
+
ADD_TAGS: ["use"],
|
|
14
|
+
ADD_ATTR: ["xlink:href"],
|
|
15
|
+
});
|
|
16
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: className, style: { width: width, height: height }, dangerouslySetInnerHTML: { __html: sanitizedSvg } }));
|
|
17
|
+
};
|
|
18
|
+
exports.default = SafeSvgRenderer;
|
|
@@ -39,6 +39,7 @@ var useDepositData_1 = __importDefault(require("../../../hooks/useDepositData"))
|
|
|
39
39
|
var RequireConnect_1 = __importDefault(require("../RequireConnect"));
|
|
40
40
|
var WaitingData_1 = __importDefault(require("../WaitingData"));
|
|
41
41
|
var EmptyData_1 = __importDefault(require("../EmptyData"));
|
|
42
|
+
var SafeSvgRenderer_1 = __importDefault(require("../SafeSvgRenderer"));
|
|
42
43
|
var DepositStep;
|
|
43
44
|
(function (DepositStep) {
|
|
44
45
|
DepositStep[DepositStep["SELECT_TOKEN"] = 1] = "SELECT_TOKEN";
|
|
@@ -149,7 +150,8 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
149
150
|
display: "flex",
|
|
150
151
|
flexDirection: "column",
|
|
151
152
|
gap: theme.mixins.gaps.g16,
|
|
152
|
-
}, children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({ width: "100%" }, theme.mixins.column), { gap: theme.mixins.gaps.g12, backgroundColor: theme.palette.background.black24, borderRadius: theme.mixins.theBorderRadius.r16, padding: theme.mixins.customPadding.p16, alignItems: "flex-start", backdropFilter: "blur(10px)" }), id: "share-deposit-info", children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: {
|
|
153
|
+
}, children: [(0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({ width: "100%" }, theme.mixins.column), { gap: theme.mixins.gaps.g12, backgroundColor: theme.palette.background.black24, borderRadius: theme.mixins.theBorderRadius.r16, padding: theme.mixins.customPadding.p16, alignItems: "flex-start", backdropFilter: "blur(10px)" }), id: "share-deposit-info", children: [(0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g4, color: "text.white", alignSelf: "center" }), children: (0, jsx_runtime_1.jsxs)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: ["Deposit ", selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name] }) }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: {
|
|
154
|
+
position: "relative",
|
|
153
155
|
width: "fit-content",
|
|
154
156
|
height: "fit-content",
|
|
155
157
|
alignSelf: "center",
|
|
@@ -157,9 +159,9 @@ var DepositFunction = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
157
159
|
overflow: "hidden",
|
|
158
160
|
backgroundColor: theme.palette.background.white,
|
|
159
161
|
backdropFilter: "blur(10px)",
|
|
160
|
-
}, children: (0, jsx_runtime_1.jsx)(QRCode_1.default, { value: qrCodeValue, title: "Deposit ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name), logo: (0, getIcon_1.default)("ton"), bgColor: "transparent" }) }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g4, color: "text.white" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.valueDescription), children: "Network" }), (0, jsx_runtime_1.jsxs)(material_1.Box, { component: "button", sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g2, cursor: "pointer", transition: "transform 0.3s ease-in-out", "&:active": {
|
|
162
|
+
}, children: [(0, jsx_runtime_1.jsx)(QRCode_1.default, { value: qrCodeValue, title: "Deposit ".concat(selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name), logo: (0, getIcon_1.default)("ton"), bgColor: "transparent" }), (0, jsx_runtime_1.jsx)(SafeSvgRenderer_1.default, { svgString: (selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.icon_svg) || "", width: 100, height: 100, sx: __assign({}, theme.mixins.center) })] }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g4, color: "text.white" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.valueDescription), children: "Network" }), (0, jsx_runtime_1.jsxs)(material_1.Box, { component: "button", sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g2, cursor: "pointer", transition: "transform 0.3s ease-in-out", "&:active": {
|
|
161
163
|
transform: "translateX(0.5rem)",
|
|
162
|
-
} }), onClick: handleBack, children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: selectedNetwork === null || selectedNetwork === void 0 ? void 0 : selectedNetwork.name }), (0, jsx_runtime_1.jsx)(Icon_1.default, { src: (0, getIcon_1.default)("right_arrow"), width: 10 })] })] }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g4, color: "text.white" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.valueDescription), children: "Address" }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.value), { wordBreak: "break-all" }), children: (0, jsx_runtime_1.jsx)(CopyTextComponent_1.default, { value: addressByNetwork || "", children: addressByNetwork }) })] }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g4, backgroundColor: theme.palette.background.white16, borderRadius: theme.mixins.theBorderRadius.r12, padding: theme.mixins.customPadding.p8 }), children: (0, jsx_runtime_1.jsxs)(Text_1.default, { sx: __assign({}, theme.mixins.valueDescription), children: ["Deposit", " ", (0, jsx_runtime_1.jsxs)("strong", { style: { color: theme.palette.text.white }, children: ["min ", selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.min_value, " ", selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name] }), " ", "and", " ", (0, jsx_runtime_1.jsx)("strong", { style: { color: theme.palette.text.white }, children: "select the correct network" }), ", or you will lose your assets."] }) })] }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g12, justifyContent: "center" }), children: [(0, jsx_runtime_1.jsx)(CopyTextComponent_1.default, { value: qrCodeValue, children: (0, jsx_runtime_1.jsxs)(Button_1.default.Secondary, { className: "gap-1.5 flex items-center", children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
|
|
164
|
+
} }), onClick: handleBack, children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.value), children: selectedNetwork === null || selectedNetwork === void 0 ? void 0 : selectedNetwork.name }), (0, jsx_runtime_1.jsx)(Icon_1.default, { src: (0, getIcon_1.default)("right_arrow"), width: 10 })] })] }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g4, color: "text.white" }), children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign({}, theme.mixins.valueDescription), children: "Address" }), (0, jsx_runtime_1.jsx)(Text_1.default, { sx: __assign(__assign({}, theme.mixins.value), { wordBreak: "break-all" }), children: (0, jsx_runtime_1.jsx)(CopyTextComponent_1.default, { value: addressByNetwork || "", children: addressByNetwork }) })] }), (0, jsx_runtime_1.jsx)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.column), { gap: theme.mixins.gaps.g4, backgroundColor: theme.palette.background.white16, borderRadius: theme.mixins.theBorderRadius.r12, padding: theme.mixins.customPadding.p8 }), children: (0, jsx_runtime_1.jsxs)(Text_1.default, { sx: __assign({}, theme.mixins.valueDescription), children: ["Deposit", " ", (0, jsx_runtime_1.jsxs)("strong", { style: { color: theme.palette.text.white }, children: ["min ", selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.min_value, " ", selectedToken === null || selectedToken === void 0 ? void 0 : selectedToken.name] }), " ", "and", " ", (0, jsx_runtime_1.jsx)("strong", { style: { color: theme.palette.text.white }, children: "select the correct network" }), ", or you will lose your assets."] }) })] }), (0, jsx_runtime_1.jsx)(Button_1.default, { children: "Set amount" }), (0, jsx_runtime_1.jsxs)(material_1.Box, { sx: __assign(__assign({}, theme.mixins.row), { gap: theme.mixins.gaps.g12, justifyContent: "center" }), children: [(0, jsx_runtime_1.jsx)(CopyTextComponent_1.default, { value: qrCodeValue, children: (0, jsx_runtime_1.jsxs)(Button_1.default.Secondary, { className: "gap-1.5 flex items-center", children: [(0, jsx_runtime_1.jsx)(Text_1.default, { sx: {
|
|
163
165
|
fontSize: theme.typography.fontSize12,
|
|
164
166
|
fontWeight: theme.typography.fontWeight400,
|
|
165
167
|
leading: "typography.leading150",
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { GeneralProps } from "../../../types/ui";
|
|
3
|
+
interface SafeSvgRendererProps extends GeneralProps {
|
|
4
|
+
svgString: string;
|
|
5
|
+
width?: number | string;
|
|
6
|
+
height?: number | string;
|
|
7
|
+
}
|
|
8
|
+
declare const SafeSvgRenderer: React.FC<SafeSvgRendererProps>;
|
|
9
|
+
export default SafeSvgRenderer;
|
|
@@ -0,0 +1,29 @@
|
|
|
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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
18
|
+
var dompurify_1 = __importDefault(require("dompurify"));
|
|
19
|
+
var material_1 = require("@mui/material");
|
|
20
|
+
var SafeSvgRenderer = function (_a) {
|
|
21
|
+
var svgString = _a.svgString, _b = _a.width, width = _b === void 0 ? "100%" : _b, _c = _a.height, height = _c === void 0 ? "100%" : _c, sx = _a.sx;
|
|
22
|
+
var sanitizedSvg = dompurify_1.default.sanitize(svgString, {
|
|
23
|
+
USE_PROFILES: { svg: true, svgFilters: true },
|
|
24
|
+
ADD_TAGS: ["use"],
|
|
25
|
+
ADD_ATTR: ["xlink:href"],
|
|
26
|
+
});
|
|
27
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Box, { component: "div", sx: __assign({ width: width, height: height }, sx), dangerouslySetInnerHTML: { __html: sanitizedSvg } }));
|
|
28
|
+
};
|
|
29
|
+
exports.default = SafeSvgRenderer;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tek-wallet",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.212",
|
|
4
4
|
"description": "A custom React provider with TypeScript support",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"axios": "^1.8.4",
|
|
35
35
|
"clsx": "^2.1.1",
|
|
36
36
|
"date-fns": "^4.1.0",
|
|
37
|
+
"dompurify": "^3.2.5",
|
|
37
38
|
"framer-motion": "^12.7.4",
|
|
38
39
|
"highcharts": "^12.2.0",
|
|
39
40
|
"highcharts-react-official": "^3.2.1",
|