@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
53 lines (50 loc) • 1.56 kB
JavaScript
import { createElement, Fragment } from "@wordpress/element";
/**
* External dependencies
*/
import { filter } from 'lodash';
/**
* WordPress dependencies
*/
import { NoticeList, SnackbarList } from '@wordpress/components';
import { withSelect, withDispatch } from '@wordpress/data';
import { compose } from '@wordpress/compose';
import { store as noticesStore } from '@wordpress/notices';
/**
* Internal dependencies
*/
import TemplateValidationNotice from '../template-validation-notice';
export function EditorNotices({
notices,
onRemove
}) {
const dismissibleNotices = filter(notices, {
isDismissible: true,
type: 'default'
});
const nonDismissibleNotices = filter(notices, {
isDismissible: false,
type: 'default'
});
const snackbarNotices = filter(notices, {
type: 'snackbar'
});
return createElement(Fragment, null, createElement(NoticeList, {
notices: nonDismissibleNotices,
className: "components-editor-notices__pinned"
}), createElement(NoticeList, {
notices: dismissibleNotices,
className: "components-editor-notices__dismissible",
onRemove: onRemove
}, createElement(TemplateValidationNotice, null)), createElement(SnackbarList, {
notices: snackbarNotices,
className: "components-editor-notices__snackbar",
onRemove: onRemove
}));
}
export default compose([withSelect(select => ({
notices: select(noticesStore).getNotices()
})), withDispatch(dispatch => ({
onRemove: dispatch(noticesStore).removeNotice
}))])(EditorNotices);
//# sourceMappingURL=index.js.map