@fluentui/react-icons-mdl2
Version:
SVG icon components for @fluentui/react
31 lines • 1.38 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const React = require("react");
const utilities_1 = require("@fluentui/utilities");
const classes = require("./SvgIcon.scss");
const react_icon_provider_1 = require("@fluentui/react-icon-provider");
const createSvgIcon = ({ svg, displayName, }) => {
const Component = props => {
var _a;
const { className, style = {} } = props;
const icons = (0, react_icon_provider_1.useIconSubset)(); // TODO: handle fontFace and styles
const nativeProps = (0, utilities_1.getNativeProps)(props, utilities_1.htmlElementProperties);
const containerProps = props['aria-label'] || props['aria-labelledby'] || props.title
? {
role: 'img',
}
: {
['aria-hidden']: true,
};
return React.createElement('span', {
...containerProps,
...nativeProps,
className: (0, utilities_1.css)(classes.root, className),
style,
}, ((_a = icons === null || icons === void 0 ? void 0 : icons.icons) === null || _a === void 0 ? void 0 : _a[displayName]) ? icons.icons[displayName] : svg({ classes, props }));
};
Component.displayName = displayName;
return Component;
};
exports.default = createSvgIcon;
//# sourceMappingURL=createSvgIcon.js.map