UNPKG

@wordpress/edit-post

Version:
81 lines (66 loc) 1.8 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _i18n = require("@wordpress/i18n"); var _components = require("@wordpress/components"); var _data = require("@wordpress/data"); var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts"); var _store = require("../../../store"); /** * WordPress dependencies */ /** * Internal dependencies */ /** * Set of available mode options. * * @type {Array} */ const MODES = [{ value: 'visual', label: (0, _i18n.__)('Visual editor') }, { value: 'text', label: (0, _i18n.__)('Code editor') }]; function ModeSwitcher() { const { shortcut, isRichEditingEnabled, isCodeEditingEnabled, mode } = (0, _data.useSelect)(select => ({ shortcut: select(_keyboardShortcuts.store).getShortcutRepresentation('core/edit-post/toggle-mode'), isRichEditingEnabled: select('core/editor').getEditorSettings().richEditingEnabled, isCodeEditingEnabled: select('core/editor').getEditorSettings().codeEditingEnabled, mode: select(_store.store).getEditorMode() }), []); const { switchEditorMode } = (0, _data.useDispatch)(_store.store); if (!isRichEditingEnabled || !isCodeEditingEnabled) { return null; } const choices = MODES.map(choice => { if (choice.value !== mode) { return { ...choice, shortcut }; } return choice; }); return (0, _element.createElement)(_components.MenuGroup, { label: (0, _i18n.__)('Editor') }, (0, _element.createElement)(_components.MenuItemsChoice, { choices: choices, value: mode, onSelect: switchEditorMode })); } var _default = ModeSwitcher; exports.default = _default; //# sourceMappingURL=index.js.map