UNPKG

@gechiui/block-editor

Version:
96 lines (85 loc) 2.54 kB
import { createElement } from "@gechiui/element"; /** * External dependencies */ import classnames from 'classnames'; /** * GeChiUI dependencies */ import { Button, Tooltip, VisuallyHidden } from '@gechiui/components'; import { forwardRef } from '@gechiui/element'; import { _x, sprintf } from '@gechiui/i18n'; import { Icon, plus } from '@gechiui/icons'; import deprecated from '@gechiui/deprecated'; /** * Internal dependencies */ import Inserter from '../inserter'; function ButtonBlockAppender(_ref, ref) { let { rootClientId, className, onFocus, tabIndex } = _ref; return createElement(Inserter, { position: "bottom center", rootClientId: rootClientId, __experimentalIsQuick: true, renderToggle: _ref2 => { let { onToggle, disabled, isOpen, blockTitle, hasSingleBlockType } = _ref2; let label; if (hasSingleBlockType) { label = sprintf( // translators: %s: the name of the block when there is only one _x('Add %s', 'directly add the only allowed block'), blockTitle); } else { label = _x('Add block', 'Generic label for block inserter button'); } const isToggleButton = !hasSingleBlockType; let inserterButton = createElement(Button, { ref: ref, onFocus: onFocus, tabIndex: tabIndex, className: classnames(className, 'block-editor-button-block-appender'), onClick: onToggle, "aria-haspopup": isToggleButton ? 'true' : undefined, "aria-expanded": isToggleButton ? isOpen : undefined, disabled: disabled, label: label }, !hasSingleBlockType && createElement(VisuallyHidden, { as: "span" }, label), createElement(Icon, { icon: plus })); if (isToggleButton || hasSingleBlockType) { inserterButton = createElement(Tooltip, { text: label }, inserterButton); } return inserterButton; }, isAppender: true }); } /** * Use `ButtonBlockAppender` instead. * * @deprecated */ export const ButtonBlockerAppender = forwardRef((props, ref) => { deprecated(`gc.blockEditor.ButtonBlockerAppender`, { alternative: 'gc.blockEditor.ButtonBlockAppender' }); return ButtonBlockAppender(props, ref); }); /** * @see https://github.com/GeChiUI/gutenberg/blob/HEAD/packages/block-editor/src/components/button-block-appender/README.md */ export default forwardRef(ButtonBlockAppender); //# sourceMappingURL=index.js.map