UNPKG

chowa

Version:

UI component library based on React

47 lines (46 loc) 2.22 kB
/** * @license chowa v1.1.3 * * Copyright (c) Chowa Techonlogies Co.,Ltd.(http://www.chowa.cn). * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const React = require("react"); const classnames_1 = require("classnames"); const utils_1 = require("../utils"); const tooltip_1 = require("../tooltip"); const tool_1 = require("./tool"); const Wrapper = (props) => { const { style, className, disabled, index, setActiveIndex, children } = props; const otherProps = utils_1.omitProps(props, ['style', 'className', 'disabled', 'index', 'setActiveIndex']); return (React.createElement("li", Object.assign({ style: style, className: className }, otherProps), React.createElement("div", { className: utils_1.preClass('menu-item-inner'), onClick: disabled ? null : setActiveIndex.bind(this, index) }, children))); }; const MenuItemRecord = (props) => { const { collapse, setActiveIndex, className, style, tier, disabled, activeIndex, index, extras, content, inOverlay } = props; const { icon, text, hasWrapper } = extras; const componentClass = classnames_1.default({ [utils_1.preClass('menu-item')]: true, [utils_1.preClass('menu-active')]: activeIndex === index, [utils_1.preClass('menu-disabled')]: disabled, [className]: utils_1.isExist(className) }); const wrapperProps = { style: Object.assign(Object.assign({}, style), ((tier > 1 && !inOverlay) ? { paddingLeft: tier * tool_1.tierSpace } : {})), className: componentClass, disabled, index, setActiveIndex }; if (tier !== 1 || !collapse || !utils_1.isExist(icon)) { return (React.createElement(Wrapper, Object.assign({}, wrapperProps), content)); } return (React.createElement(tooltip_1.default, { title: React.createElement("span", null, text), placement: 'right' }, React.createElement(Wrapper, Object.assign({}, wrapperProps), hasWrapper ? React.cloneElement(content, { children: icon }) : icon))); }; exports.default = MenuItemRecord;