@metamask/design-system-react
Version:
Design system react ui components
33 lines • 1.23 kB
JavaScript
function $importDefault(module) {
if (module?.__esModule) {
return module.default;
}
return module;
}
import * as dompurify from "dompurify";
import $React, { useEffect, useState } from "react";
const React = $importDefault($React);
import { getMaskiconSVG } from "./Maskicon.utilities.mjs";
const DOMPurify = dompurify.default;
export const Maskicon = ({ address, size = 32, style, ...props }) => {
const [svgString, setSvgString] = useState('');
useEffect(() => {
let cancelled = false;
// eslint-disable-next-line no-void
void (async () => {
const newSvg = await getMaskiconSVG(address, size);
if (!cancelled) {
setSvgString(newSvg);
}
})();
return () => {
cancelled = true;
};
}, [address, size]);
if (!svgString) {
return React.createElement("div", { style: { width: size, height: size, ...style }, ...props });
}
return (React.createElement("div", { style: { width: size, height: size, ...style }, dangerouslySetInnerHTML: { __html: DOMPurify.sanitize(svgString) }, ...props }));
};
Maskicon.displayName = 'Maskicon';
//# sourceMappingURL=Maskicon.mjs.map