@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
132 lines (129 loc) • 5.7 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = MoreMenu;
var _i18n = require("@wordpress/i18n");
var _data = require("@wordpress/data");
var _keycodes = require("@wordpress/keycodes");
var _icons = require("@wordpress/icons");
var _components = require("@wordpress/components");
var _preferences = require("@wordpress/preferences");
var _interface = require("@wordpress/interface");
var _copyContentMenuItem = _interopRequireDefault(require("./copy-content-menu-item"));
var _modeSwitcher = _interopRequireDefault(require("../mode-switcher"));
var _toolsMoreMenuGroup = _interopRequireDefault(require("./tools-more-menu-group"));
var _viewMoreMenuGroup = _interopRequireDefault(require("./view-more-menu-group"));
var _store = require("../../store");
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function MoreMenu() {
const {
openModal
} = (0, _data.useDispatch)(_interface.store);
const {
set: setPreference
} = (0, _data.useDispatch)(_preferences.store);
const {
toggleDistractionFree
} = (0, _data.useDispatch)(_store.store);
const showIconLabels = (0, _data.useSelect)(select => select(_preferences.store).get('core', 'showIconLabels'), []);
const turnOffDistractionFree = () => {
setPreference('core', 'distractionFree', false);
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.DropdownMenu, {
icon: _icons.moreVertical,
label: (0, _i18n.__)('Options'),
popoverProps: {
placement: 'bottom-end',
className: 'more-menu-dropdown__content'
},
toggleProps: {
showTooltip: !showIconLabels,
...(showIconLabels && {
variant: 'tertiary'
}),
tooltipPosition: 'bottom',
size: 'compact'
},
children: ({
onClose
}) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.MenuGroup, {
label: (0, _i18n._x)('View', 'noun'),
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_preferences.PreferenceToggleMenuItem, {
scope: "core",
name: "fixedToolbar",
onToggle: turnOffDistractionFree,
label: (0, _i18n.__)('Top toolbar'),
info: (0, _i18n.__)('Access all block and document tools in a single place'),
messageActivated: (0, _i18n.__)('Top toolbar activated'),
messageDeactivated: (0, _i18n.__)('Top toolbar deactivated')
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_preferences.PreferenceToggleMenuItem, {
scope: "core",
name: "distractionFree",
label: (0, _i18n.__)('Distraction free'),
info: (0, _i18n.__)('Write with calmness'),
handleToggling: false,
onToggle: toggleDistractionFree,
messageActivated: (0, _i18n.__)('Distraction free mode activated'),
messageDeactivated: (0, _i18n.__)('Distraction free mode deactivated'),
shortcut: _keycodes.displayShortcut.primaryShift('\\')
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_preferences.PreferenceToggleMenuItem, {
scope: "core",
name: "focusMode",
label: (0, _i18n.__)('Spotlight mode'),
info: (0, _i18n.__)('Focus on one block at a time'),
messageActivated: (0, _i18n.__)('Spotlight mode activated'),
messageDeactivated: (0, _i18n.__)('Spotlight mode deactivated')
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_viewMoreMenuGroup.default.Slot, {
fillProps: {
onClose
}
})]
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_modeSwitcher.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_interface.ActionItem.Slot, {
name: "core/plugin-more-menu",
label: (0, _i18n.__)('Plugins'),
as: _components.MenuGroup,
fillProps: {
onClick: onClose
}
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.MenuGroup, {
label: (0, _i18n.__)('Tools'),
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
onClick: () => openModal('editor/keyboard-shortcut-help'),
shortcut: _keycodes.displayShortcut.access('h'),
children: (0, _i18n.__)('Keyboard shortcuts')
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_copyContentMenuItem.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.MenuItem, {
icon: _icons.external,
href: (0, _i18n.__)('https://wordpress.org/documentation/article/wordpress-block-editor/'),
target: "_blank",
rel: "noopener noreferrer",
children: [(0, _i18n.__)('Help'), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
as: "span",
children: /* translators: accessibility text */
(0, _i18n.__)('(opens in a new tab)')
})]
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_toolsMoreMenuGroup.default.Slot, {
fillProps: {
onClose
}
})]
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
onClick: () => openModal('editor/preferences'),
children: (0, _i18n.__)('Preferences')
})
})]
})
})
});
}
//# sourceMappingURL=index.js.map