UNPKG

@metamask/design-system-react

Version:
26 lines 1.18 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Icon = void 0; const react_1 = __importDefault(require("react")); const types_1 = require("../../types/index.cjs"); const tw_merge_1 = require("../../utils/tw-merge.cjs"); const Icon_constants_1 = require("./Icon.constants.cjs"); const icons_1 = require("./icons/index.cjs"); const Icon = ({ name, size = types_1.IconSize.Md, color = types_1.IconColor.IconDefault, className, style, ...props }) => { if (!name) { console.warn('Icon name is required'); return null; } const IconComponent = icons_1.Icons[name]; if (!IconComponent) { console.warn(`Icon "${name}" not found`); return null; } const mergedClassName = (0, tw_merge_1.twMerge)('inline-block', Icon_constants_1.TWCLASSMAP_ICON_SIZE_DIMENSION[size], color, className); return (react_1.default.createElement(IconComponent, { className: mergedClassName, ...props, style: style })); }; exports.Icon = Icon; //# sourceMappingURL=Icon.cjs.map