UNPKG

@wordpress/block-editor

Version:
90 lines (87 loc) 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _components = require("@wordpress/components"); var _i18n = require("@wordpress/i18n"); var _data = require("@wordpress/data"); var _element = require("@wordpress/element"); var _icons = require("@wordpress/icons"); var _store = require("../../store"); var _jsxRuntime = require("react/jsx-runtime"); /** * WordPress dependencies */ /** * Internal dependencies */ const selectIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SVG, { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Path, { d: "M9.4 20.5L5.2 3.8l14.6 9-2 .3c-.2 0-.4.1-.7.1-.9.2-1.6.3-2.2.5-.8.3-1.4.5-1.8.8-.4.3-.8.8-1.3 1.5-.4.5-.8 1.2-1.2 2l-.3.6-.9 1.9zM7.6 7.1l2.4 9.3c.2-.4.5-.8.7-1.1.6-.8 1.1-1.4 1.6-1.8.5-.4 1.3-.8 2.2-1.1l1.2-.3-8.1-5z" }) }); function ToolSelector(props, ref) { const mode = (0, _data.useSelect)(select => select(_store.store).__unstableGetEditorMode(), []); const { __unstableSetEditorMode } = (0, _data.useDispatch)(_store.store); return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Dropdown, { renderToggle: ({ isOpen, onToggle }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, { size: "compact", ...props, ref: ref, icon: mode === 'navigation' ? _icons.edit : selectIcon, "aria-expanded": isOpen, "aria-haspopup": "true", onClick: onToggle /* translators: button label text should, if possible, be under 16 characters. */, label: (0, _i18n.__)('Tools') }), popoverProps: { placement: 'bottom-start' }, renderContent: () => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, { children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.NavigableMenu, { className: "block-editor-tool-selector__menu", role: "menu", "aria-label": (0, _i18n.__)('Tools'), children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItemsChoice, { value: mode === 'navigation' ? 'navigation' : 'edit', onSelect: newMode => { __unstableSetEditorMode(newMode); }, choices: [{ value: 'navigation', label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, { children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, { icon: _icons.edit }), (0, _i18n.__)('Write')] }), info: (0, _i18n.__)('Focus on content.'), 'aria-label': (0, _i18n.__)('Write') }, { value: 'edit', label: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, { children: [selectIcon, (0, _i18n.__)('Design')] }), info: (0, _i18n.__)('Edit layout and styles.'), 'aria-label': (0, _i18n.__)('Design') }] }) }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { className: "block-editor-tool-selector__help", children: (0, _i18n.__)('Tools provide different sets of interactions for blocks. Choose between simplified content tools (Write) and advanced visual editing tools (Design).') })] }) }); } var _default = exports.default = (0, _element.forwardRef)(ToolSelector); //# sourceMappingURL=index.js.map