UNPKG

@jdcfe/yep-react

Version:

一套移动端的React组件库

108 lines (93 loc) 3.68 kB
import _extends from "@babel/runtime/helpers/extends"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized"; import _inherits from "@babel/runtime/helpers/inherits"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var __rest = this && this.__rest || function (s, e) { var t = {}; for (var p in s) { if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; } if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]]; } return t; }; import * as React from 'react'; import Popover from '../popover'; import ToolTipToggle from './ToolTipToggle'; var ToolTip = /*#__PURE__*/function (_React$PureComponent) { _inherits(ToolTip, _React$PureComponent); var _super = _createSuper(ToolTip); function ToolTip(props) { var _this; _classCallCheck(this, ToolTip); _this = _super.call(this, props); _this.handleToggle = _this.handleToggle.bind(_assertThisInitialized(_this)); _this.state = { open: props.open || false }; return _this; } _createClass(ToolTip, [{ key: "componentWillReceiveProps", value: function componentWillReceiveProps(nextProps) { 'open' in nextProps && this.setState({ open: nextProps.open }); } }, { key: "open", value: function open() { this.setState({ open: true }); } }, { key: "close", value: function close() { this.setState({ open: false }); } }, { key: "handleToggle", value: function handleToggle(open) { this.setState({ open: open }); this.props.onToggle && this.props.onToggle(open); } }, { key: "render", value: function render() { var _a = this.props, children = _a.children, disabled = _a.disabled, aligned = _a.aligned, overlay = _a.overlay, restProps = __rest(_a, ["children", "disabled", "aligned", "overlay"]); var open = this.state.open; return /*#__PURE__*/React.createElement(Popover, _extends({ triggerMode: "click", open: open, onToggle: this.handleToggle, content: overlay, disabled: disabled, aligned: aligned }, restProps), /*#__PURE__*/React.createElement(ToolTipToggle, { open: open }, children)); } }]); return ToolTip; }(React.PureComponent); ToolTip.defaultProps = { direction: 'down', align: 'left' }; export default ToolTip;