UNPKG

choerodon-ui

Version:

An enterprise-class UI design language and React-based implementation

154 lines (125 loc) 5.22 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _propTypes = _interopRequireDefault(require("prop-types")); function _createSuper(Derived) { function isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } } return function () { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (isNativeReflectConstruct()) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } var Notice = /*#__PURE__*/ function (_Component) { (0, _inherits2["default"])(Notice, _Component); var _super = _createSuper(Notice); function Notice() { var _this; (0, _classCallCheck2["default"])(this, Notice); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _super.call.apply(_super, [this].concat(args)); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "close", function () { _this.clearCloseTimer(); _this.props.onClose(); }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "startCloseTimer", function () { if (_this.props.duration) { _this.closeTimer = setTimeout(function () { _this.close(); }, _this.props.duration * 1000); } }); (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "clearCloseTimer", function () { if (_this.closeTimer) { clearTimeout(_this.closeTimer); _this.closeTimer = null; } }); return _this; } (0, _createClass2["default"])(Notice, [{ key: "componentDidMount", value: function componentDidMount() { this.startCloseTimer(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this.clearCloseTimer(); } }, { key: "render", value: function render() { var _className; var props = this.props; var contentClassName = props.contentClassName; var componentClass = "".concat(props.prefixCls, "-notice"); var className = (_className = {}, (0, _defineProperty2["default"])(_className, "".concat(componentClass), 1), (0, _defineProperty2["default"])(_className, "".concat(componentClass, "-closable"), props.closable), (0, _defineProperty2["default"])(_className, props.className, !!props.className), _className); return _react["default"].createElement("div", { className: (0, _classnames["default"])(className), style: props.style, onMouseEnter: this.clearCloseTimer, onMouseLeave: this.startCloseTimer }, _react["default"].createElement("div", { className: "".concat(componentClass, "-content ").concat(contentClassName) }, props.children), props.closable ? _react["default"].createElement("a", { tabIndex: "0", onClick: this.close, className: "".concat(componentClass, "-close") }, props.closeIcon || _react["default"].createElement("span", { className: "".concat(componentClass, "-close-x") })) : null); } }]); return Notice; }(_react.Component); exports["default"] = Notice; (0, _defineProperty2["default"])(Notice, "propTypes", { duration: _propTypes["default"].number, onClose: _propTypes["default"].func, children: _propTypes["default"].any, closeIcon: _propTypes["default"].node, contentClassName: _propTypes["default"].string }); (0, _defineProperty2["default"])(Notice, "defaultProps", { onEnd: function onEnd() {}, onClose: function onClose() {}, duration: 1.5, style: { right: '50%' } }); //# sourceMappingURL=Notice.js.map