@wordpress/edit-post
Version:
Edit Post module for WordPress.
63 lines (59 loc) • 1.91 kB
JavaScript
import { createElement, Fragment } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { DropdownMenu, MenuGroup } from '@wordpress/components';
import { moreVertical } from '@wordpress/icons';
import { ActionItem, PinnedItems } from '@wordpress/interface';
import { useViewportMatch } from '@wordpress/compose';
/**
* Internal dependencies
*/
import ModeSwitcher from '../mode-switcher';
import PreferencesMenuItem from '../preferences-menu-item';
import ToolsMoreMenuGroup from '../tools-more-menu-group';
import WritingMenu from '../writing-menu';
const POPOVER_PROPS = {
className: 'edit-post-more-menu__content',
position: 'bottom left'
};
const TOGGLE_PROPS = {
tooltipPosition: 'bottom'
};
const MoreMenu = ({
showIconLabels
}) => {
const isLargeViewport = useViewportMatch('large');
return createElement(DropdownMenu, {
className: "edit-post-more-menu",
icon: moreVertical
/* translators: button label text should, if possible, be under 16 characters. */
,
label: __('Options'),
popoverProps: POPOVER_PROPS,
toggleProps: {
showTooltip: !showIconLabels,
isTertiary: showIconLabels,
...TOGGLE_PROPS
}
}, ({
onClose
}) => createElement(Fragment, null, showIconLabels && !isLargeViewport && createElement(PinnedItems.Slot, {
className: showIconLabels && 'show-icon-labels',
scope: "core/edit-post"
}), createElement(WritingMenu, null), createElement(ModeSwitcher, null), createElement(ActionItem.Slot, {
name: "core/edit-post/plugin-more-menu",
label: __('Plugins'),
as: MenuGroup,
fillProps: {
onClick: onClose
}
}), createElement(ToolsMoreMenuGroup.Slot, {
fillProps: {
onClose
}
}), createElement(MenuGroup, null, createElement(PreferencesMenuItem, null))));
};
export default MoreMenu;
//# sourceMappingURL=index.js.map