@geezee/react-ui
Version:
Modern and minimalist React UI library.
42 lines (35 loc) • 1.18 kB
JavaScript
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;