UNPKG

@wordpress/block-editor

Version:
76 lines (62 loc) 2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _classnames = _interopRequireDefault(require("classnames")); var _i18n = require("@wordpress/i18n"); var _components = require("@wordpress/components"); var _icons = require("@wordpress/icons"); var _sorting = require("../../../utils/sorting"); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ const POPOVER_PROPS = { position: 'bottom right', variant: 'toolbar' }; const FormatToolbar = () => { return (0, _element.createElement)(_element.Fragment, null, ['bold', 'italic', 'link', 'unknown'].map(format => (0, _element.createElement)(_components.Slot, { name: `RichText.ToolbarControls.${format}`, key: format })), (0, _element.createElement)(_components.Slot, { name: "RichText.ToolbarControls" }, fills => { if (!fills.length) { return null; } const allProps = fills.map(([{ props }]) => props); const hasActive = allProps.some(({ isActive }) => isActive); return (0, _element.createElement)(_components.ToolbarItem, null, toggleProps => (0, _element.createElement)(_components.DropdownMenu, { icon: _icons.chevronDown /* translators: button label text should, if possible, be under 16 characters. */ , label: (0, _i18n.__)('More'), toggleProps: { ...toggleProps, className: (0, _classnames.default)(toggleProps.className, { 'is-pressed': hasActive }), describedBy: (0, _i18n.__)('Displays more block tools') }, controls: (0, _sorting.orderBy)(fills.map(([{ props }]) => props), 'title'), popoverProps: POPOVER_PROPS })); })); }; var _default = FormatToolbar; exports.default = _default; //# sourceMappingURL=index.js.map