"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useNotification; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var React = _interopRequireWildcard(require("react")); var _Notice = _interopRequireDefault(require("./Notice")); function useNotification(notificationInstance) { var createdRef = React.useRef({}); var _React$useState = React.useState([]), _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), elements = _React$useState2[0], setElements = _React$useState2[1]; function notify(noticeProps) { var firstMount = true; notificationInstance.add(noticeProps, function (div, props) { var key = props.key; if (div && (!createdRef.current[key] || firstMount)) { var noticeEle = /*#__PURE__*/React.createElement(_Notice.default, (0, _extends2.default)({}, props, { holder: div })); createdRef.current[key] = noticeEle; setElements(function (originElements) { var index = originElements.findIndex(function (ele) { return ele.key === props.key; }); if (index === -1) { return [].concat((0, _toConsumableArray2.default)(originElements), [noticeEle]); } var cloneList = (0, _toConsumableArray2.default)(originElements); cloneList[index] = noticeEle; return cloneList; }); } firstMount = false; }); } return [notify, /*#__PURE__*/React.createElement(React.Fragment, null, elements)]; }