UNPKG

@atlaskit/editor-plugin-selection-extension

Version:

editor-plugin-selection-extension plugin for @atlaskit/editor-core

41 lines 1.49 kB
import React from 'react'; import { useSelectionExtensionComponentContext } from '../SelectionExtensionComponentContext'; import { getBlockMenuTriggerExtensionKey } from '../utils/getBlockMenuTriggerExtensionKey'; import { isNestedDropdownMenuConfiguration } from '../utils/menu-items'; import { SelectionExtensionDropdownItem } from './SelectionExtensionDropdownItem'; import { SelectionExtensionNestedDropdownMenu } from './SelectionExtensionNestedDropdownMenu'; export const SelectionExtensionMenuItems = ({ getMenuItems }) => { const { api, editorView, extensionKey, extensionLocation, extensionSource } = useSelectionExtensionComponentContext(); const extensionMenuItems = getMenuItems({ blockMenuTriggerExtensionKey: getBlockMenuTriggerExtensionKey({ api, editorView }), extensionKey, extensionLocation, extensionSource }); if (!(extensionMenuItems !== null && extensionMenuItems !== void 0 && extensionMenuItems.length)) { return null; } return /*#__PURE__*/React.createElement(React.Fragment, null, extensionMenuItems.map(item => { if (isNestedDropdownMenuConfiguration(item)) { return /*#__PURE__*/React.createElement(SelectionExtensionNestedDropdownMenu, { key: item.key || item.label, nestedDropdownMenu: item }); } return /*#__PURE__*/React.createElement(SelectionExtensionDropdownItem, { key: item.key || item.label, dropdownItem: item }); })); };