UNPKG

@metamask/design-system-react

Version:
26 lines 1.01 kB
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