@metamask/design-system-react
Version:
Design system react ui components
26 lines • 1.01 kB
JavaScript
function $importDefault(module) {
if (module?.__esModule) {
return module.default;
}
return module;
}
import $React from "react";
const React = $importDefault($React);
import { IconSize, IconColor } from "../../types/index.mjs";
import { twMerge } from "../../utils/tw-merge.mjs";
import { TWCLASSMAP_ICON_SIZE_DIMENSION } from "./Icon.constants.mjs";
import { Icons } from "./icons/index.mjs";
export const Icon = ({ name, size = IconSize.Md, color = IconColor.IconDefault, className, style, ...props }) => {
if (!name) {
console.warn('Icon name is required');
return null;
}
const IconComponent = Icons[name];
if (!IconComponent) {
console.warn(`Icon "${name}" not found`);
return null;
}
const mergedClassName = twMerge('inline-block', TWCLASSMAP_ICON_SIZE_DIMENSION[size], color, className);
return (React.createElement(IconComponent, { className: mergedClassName, ...props, style: style }));
};
//# sourceMappingURL=Icon.mjs.map