@metamask/design-system-react-native
Version:
26 lines • 1.01 kB
JavaScript
function $importDefault(module) {
if (module?.__esModule) {
return module.default;
}
return module;
}
import { useTailwind } from "@metamask/design-system-twrnc-preset";
import $React, { useMemo } from "react";
const React = $importDefault($React);
import { IconColor, IconSize } from "../../types/index.mjs";
import { assetByIconName } from "./Icon.assets.mjs";
import { generateIconClassNames } from "./Icon.utilities.mjs";
export const Icon = ({ size = IconSize.Md, name, color = IconColor.IconDefault, twClassName, style, ...props }) => {
const tw = useTailwind();
const SVG = assetByIconName[name];
const twStyle = useMemo(() => {
const mergedClassnames = generateIconClassNames({
color,
size,
twClassName,
});
return tw `${mergedClassnames}`;
}, [color, size, tw, twClassName]);
return (<SVG name={name} fill="currentColor" style={[twStyle, style]} {...props}/>);
};
//# sourceMappingURL=Icon.mjs.map