@metamask/design-system-react
Version:
Design system react ui components
26 lines • 1.18 kB
JavaScript
;
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