UNPKG

office-ui-fabric-react

Version:

Reusable React components for building experiences for Office 365.

51 lines 2.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); var React = require("react"); var index_1 = require("../../utilities/contextualMenu/index"); var Utilities_1 = require("../../Utilities"); var Icon_1 = require("../../Icon"); var renderItemIcon = function (_a) { var hasIcons = _a.hasIcons, item = _a.item, classNames = _a.classNames; // Only present to allow continued use of item.icon which is deprecated. var iconProps = item.iconProps, icon = item.icon; if (!hasIcons) { return null; } if (iconProps) { return React.createElement(Icon_1.Icon, tslib_1.__assign({}, iconProps, { className: classNames.icon })); } return React.createElement(Icon_1.Icon, { iconName: icon, className: classNames.icon }); }; var renderCheckMarkIcon = function (_a) { var onCheckmarkClick = _a.onCheckmarkClick, item = _a.item, classNames = _a.classNames; var isItemChecked = index_1.getIsChecked(item); if (onCheckmarkClick) { var onClick = function (e) { return onCheckmarkClick(item, e); }; return (React.createElement(Icon_1.Icon, { iconName: isItemChecked ? 'CheckMark' : '', className: classNames.checkmarkIcon, onClick: onClick })); } return null; }; var renderItemName = function (_a) { var item = _a.item, classNames = _a.classNames; if (item.name) { return React.createElement("span", { className: classNames.label }, item.name); } return null; }; var renderSubMenuIcon = function (_a) { var item = _a.item, classNames = _a.classNames; if (index_1.hasSubmenu(item)) { return (React.createElement(Icon_1.Icon, tslib_1.__assign({ iconName: Utilities_1.getRTL() ? 'ChevronLeft' : 'ChevronRight' }, item.submenuIconProps, { className: classNames.subMenuIcon }))); } return null; }; exports.ContextualMenuItem = function (props) { var item = props.item, classNames = props.classNames; return (React.createElement("div", { className: item.split ? classNames.linkContentMenu : classNames.linkContent }, renderCheckMarkIcon(props), renderItemIcon(props), renderItemName(props), renderSubMenuIcon(props))); }; //# sourceMappingURL=ContextualMenuItem.js.map