UNPKG

@geezee/react-ui

Version:

Modern and minimalist React UI library.

42 lines (35 loc) 1.18 kB
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray"; import _extends from "@babel/runtime/helpers/esm/extends"; import { useCfxUIContext } from '../utils/use-cfx-ui-context'; import { getId } from '../utils/collections'; var defaultMessage = { delay: 2000, color: 'default', closeable: false, shadow: true, className: '' }; var useMessages = function useMessages() { var _useCfxUIContext = useCfxUIContext(), updateMessages = _useCfxUIContext.updateMessages, messages = _useCfxUIContext.messages; var setMessage = function setMessage(message) { var id = "message-".concat(getId()); var destroy = function destroy(id) { updateMessages(function (currentMessages) { return currentMessages.filter(function (item) { return item.id !== id; }); }); }; updateMessages(function (currentMessages) { var newMessage = _extends(_extends({}, defaultMessage), {}, { id: id, destroy: destroy }, message); return [].concat(_toConsumableArray(currentMessages), [newMessage]); }); }; return [messages, setMessage]; }; export default useMessages;