UNPKG

@atlaskit/editor-plugin-block-menu

Version:

BlockMenu plugin for @atlaskit/editor-core

40 lines • 1.58 kB
import React from 'react'; import { useIntl } from 'react-intl'; import { messages as blockMenuMessages } from '@atlaskit/editor-common/messages/block-menu'; import { ToolbarDropdownItem } from '@atlaskit/editor-toolbar/toolbar-dropdown-item'; import { ToolbarDropdownItemSection } from '@atlaskit/editor-toolbar/toolbar-dropdown-item-section'; import { ToolbarNestedDropdownMenu } from '@atlaskit/editor-toolbar/toolbar-nested-dropdown-menu'; import ChevronRightIcon from '@atlaskit/icon/core/chevron-right'; import { useBlockMenuTargetVisibility } from '../block-menu-target-visibility-context'; const FallbackNestedMenu = ({ children }) => { const { formatMessage } = useIntl(); const targetVisible = useBlockMenuTargetVisibility(); return /*#__PURE__*/React.createElement(ToolbarNestedDropdownMenu, { isPopupVisible: targetVisible, elemBefore: undefined, elemAfter: /*#__PURE__*/React.createElement(ChevronRightIcon, { label: "", size: "small" }), text: formatMessage(blockMenuMessages.fallbackNestedMenu), enableMaxHeight: true, shouldFitContainer: true }, children); }; const FallbackMenuItem = () => { const { formatMessage } = useIntl(); return /*#__PURE__*/React.createElement(ToolbarDropdownItem, null, formatMessage(blockMenuMessages.fallbackMenuItem)); }; export const BLOCK_MENU_FALLBACKS = { 'block-menu-nested': FallbackNestedMenu, 'block-menu-section': ({ children }) => /*#__PURE__*/React.createElement(ToolbarDropdownItemSection, null, children), 'block-menu-item': FallbackMenuItem };