UNPKG

chowa

Version:

UI component library based on React

62 lines (61 loc) 2.68 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 PropTypes = require("prop-types"); const classnames_1 = require("classnames"); const utils_1 = require("../utils"); const overlay_1 = require("../overlay"); const Tooltip = (props) => { const { children, className, style, visible, defaultVisible, externalWheelHide, placement, withArrow, onVisibleChange, title, trigger, fixSpace, offsetX, offsetY, disabled, delay, onShow, onHide, onEnter, onLeave } = props; const componentClass = classnames_1.default({ [utils_1.preClass('tooltip')]: true, [utils_1.preClass('tooltip-with-arrow')]: withArrow, [utils_1.preClass(`tooltip-${placement}`)]: true, [className]: utils_1.isExist(className) }); return (React.createElement(overlay_1.default, { role: 'tooltip', trigger: children, visible: visible, defaultVisible: defaultVisible, externalWheelHide: externalWheelHide, enter: utils_1.preClass('zoom-center-enter'), appear: utils_1.preClass('zoom-appear'), leave: utils_1.preClass('zoom-center-leave'), className: componentClass, style: style, onVisibleChange: onVisibleChange, placement: placement, action: trigger, fixSpace: fixSpace, offsetX: offsetX, offsetY: offsetY, disabled: disabled, delay: delay, onShow: onShow, onHide: onHide, onEnter: onEnter, onLeave: onLeave }, React.createElement("div", { className: utils_1.preClass('tooltip-inner') }, title))); }; Tooltip.propTypes = { className: PropTypes.string, style: PropTypes.object, visible: PropTypes.bool, defaultVisible: PropTypes.bool, externalWheelHide: PropTypes.bool, trigger: PropTypes.oneOf(['click', 'hover', 'focus']), placement: PropTypes.oneOf(['top', 'left', 'bottom', 'right']), withArrow: PropTypes.bool, onVisibleChange: PropTypes.func, fixSpace: PropTypes.number, offsetX: PropTypes.number, offsetY: PropTypes.number, disabled: PropTypes.bool, title: PropTypes.node.isRequired, delay: PropTypes.number, onShow: PropTypes.func, onHide: PropTypes.func, onEnter: PropTypes.func, onLeave: PropTypes.func }; Tooltip.defaultProps = { visible: false, defaultVisible: false, externalWheelHide: true, fixSpace: 2, offsetX: 0, offsetY: 0, withArrow: true, disabled: false, trigger: 'hover', placement: 'top', delay: 200 }; exports.default = Tooltip;