UNPKG

@atlaskit/editor-plugin-block-menu

Version:

BlockMenu plugin for @atlaskit/editor-core

58 lines 1.67 kB
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray"; /** * Create a simple registry for block menu components. * * @returns A registry object with a `register` method and a `components` array. * * @example * ```ts * const registry = createBlockMenuRegistry(); * registry.register( * [{ * type: 'block-menu-section' as const, * key: 'block-menu-section-format', * rank: 100, * component: ({ children }: { children: React.ReactNode }) => { * return <ToolbarDropdownItemSection>{children}</ToolbarDropdownItemSection>; * }, * }, * { * type: 'block-menu-nested' as const, * key: 'nested-menu', * parent: { * type: 'block-menu-section' as const, * key: 'block-menu-section-format', * rank: 100, * }, * component: () => { * return ( * <ToolbarNestedDropdownMenu>{...}</ToolbarNestedDropdownMenu> * ); * }, * }, * { * type: 'block-menu-item' as const, * key: 'block-menu-item-create-jira', * parent: { * type: 'block-menu-section' as const, * key: 'block-menu-section-format', * rank: 200, * }, * component: () => { * return <ToolbarDropdownItem elemBefore={<JiraIcon label="" />}>Create Jira work item</ToolbarDropdownItem>; * }, * }, * ]); * ``` * */ export var createBlockMenuRegistry = function createBlockMenuRegistry() { var components = []; var register = function register(blockMenuComponents) { components.push.apply(components, _toConsumableArray(blockMenuComponents)); }; return { register: register, components: components }; };