UNPKG

@wordpress/editor

Version:
132 lines (129 loc) 5.7 kB
"use strict"; 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