office-ui-fabric-react
Version:
Reusable React components for building experiences for Office 365.
32 lines (30 loc) • 1.64 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
/* tslint:disable */
var React = require("react");
/* tslint:enable */
var Icon_Props_1 = require("./Icon.Props");
var Image_1 = require("../Image/Image");
var Utilities_1 = require("../../Utilities");
var Styling_1 = require("../../Styling");
var Icon_styles_1 = require("./Icon.styles");
function Icon(props) {
var ariaLabel = props.ariaLabel, className = props.className, customStyles = props.styles, iconName = props.iconName;
var styles = Icon_styles_1.getStyles(undefined, customStyles);
if (props.iconType === Icon_Props_1.IconType.image || props.iconType === Icon_Props_1.IconType.Image) {
var containerClassName = Utilities_1.css('ms-Icon', 'ms-Icon-imageContainer', styles.root, styles.imageContainer, className);
return (React.createElement("div", { className: Utilities_1.css(containerClassName, styles.root) },
React.createElement(Image_1.Image, tslib_1.__assign({}, props.imageProps))));
}
else {
var iconMemberName = iconName ? iconName.charAt(0).toLowerCase() + iconName.substr(1) : '';
return (React.createElement("i", tslib_1.__assign({ "aria-label": ariaLabel }, (ariaLabel ? {} : {
role: 'presentation',
'aria-hidden': true,
'data-icon-name': iconName,
}), Utilities_1.getNativeProps(props, Utilities_1.htmlElementProperties), { className: Utilities_1.css('ms-Icon', styles.root, props.className) }), Styling_1.IconCodes[iconMemberName]));
}
}
exports.Icon = Icon;
//# sourceMappingURL=Icon.js.map
;