1 | "use strict";
|
2 |
|
3 | var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
4 | var _typeof = require("@babel/runtime/helpers/typeof");
|
5 | Object.defineProperty(exports, "__esModule", {
|
6 | value: true
|
7 | });
|
8 | exports.default = void 0;
|
9 | var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
10 | var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
11 | var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
12 | var _classnames = _interopRequireDefault(require("classnames"));
|
13 | var _KeyCode = _interopRequireDefault(require("rc-util/lib/KeyCode"));
|
14 | var React = _interopRequireWildcard(require("react"));
|
15 | function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
16 | function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
17 | var Notify = React.forwardRef(function (props, ref) {
|
18 | var prefixCls = props.prefixCls,
|
19 | style = props.style,
|
20 | className = props.className,
|
21 | _props$duration = props.duration,
|
22 | duration = _props$duration === void 0 ? 4.5 : _props$duration,
|
23 | eventKey = props.eventKey,
|
24 | content = props.content,
|
25 | closable = props.closable,
|
26 | _props$closeIcon = props.closeIcon,
|
27 | closeIcon = _props$closeIcon === void 0 ? 'x' : _props$closeIcon,
|
28 | divProps = props.props,
|
29 | onClick = props.onClick,
|
30 | onNoticeClose = props.onNoticeClose,
|
31 | times = props.times;
|
32 | var _React$useState = React.useState(false),
|
33 | _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
|
34 | hovering = _React$useState2[0],
|
35 | setHovering = _React$useState2[1];
|
36 |
|
37 | var onInternalClose = function onInternalClose() {
|
38 | onNoticeClose(eventKey);
|
39 | };
|
40 | var onCloseKeyDown = function onCloseKeyDown(e) {
|
41 | if (e.key === 'Enter' || e.code === 'Enter' || e.keyCode === _KeyCode.default.ENTER) {
|
42 | onInternalClose();
|
43 | }
|
44 | };
|
45 |
|
46 | React.useEffect(function () {
|
47 | if (!hovering && duration > 0) {
|
48 | var timeout = setTimeout(function () {
|
49 | onInternalClose();
|
50 | }, duration * 1000);
|
51 | return function () {
|
52 | clearTimeout(timeout);
|
53 | };
|
54 | }
|
55 |
|
56 | }, [duration, hovering, times]);
|
57 |
|
58 | var noticePrefixCls = "".concat(prefixCls, "-notice");
|
59 | return React.createElement("div", (0, _extends2.default)({}, divProps, {
|
60 | ref: ref,
|
61 | className: (0, _classnames.default)(noticePrefixCls, className, (0, _defineProperty2.default)({}, "".concat(noticePrefixCls, "-closable"), closable)),
|
62 | style: style,
|
63 | onMouseEnter: function onMouseEnter() {
|
64 | setHovering(true);
|
65 | },
|
66 | onMouseLeave: function onMouseLeave() {
|
67 | setHovering(false);
|
68 | },
|
69 | onClick: onClick
|
70 | }), React.createElement("div", {
|
71 | className: "".concat(noticePrefixCls, "-content")
|
72 | }, content), closable && React.createElement("a", {
|
73 | tabIndex: 0,
|
74 | className: "".concat(noticePrefixCls, "-close"),
|
75 | onKeyDown: onCloseKeyDown,
|
76 | onClick: function onClick(e) {
|
77 | e.preventDefault();
|
78 | e.stopPropagation();
|
79 | onInternalClose();
|
80 | }
|
81 | }, closeIcon));
|
82 | });
|
83 | var _default = Notify;
|
84 | exports.default = _default; |
\ | No newline at end of file |