UNPKG

@atlaskit/editor-plugin-loom

Version:

Loom plugin for @atlaskit/editor-core

48 lines 2.62 kB
import React from 'react'; import { LOOM_MENU_SECTION, LOOM_MENU_ITEM, LOOM_MENU_SECTION_RANK, OVERFLOW_MENU_PRIMARY_TOOLBAR_RANK, OVERFLOW_MENU_PRIMARY_TOOLBAR, OVERFLOW_EXTENSIONS_MENU_SECTION, OVERFLOW_EXTENSIONS_MENU_SECTION_RANK } from '@atlaskit/editor-common/toolbar'; import { LoomMenuItem } from './LoomMenuItem'; import { MenuSection } from './MenuSection'; export const getToolbarComponents = (config, api) => { return [{ type: LOOM_MENU_SECTION.type, key: LOOM_MENU_SECTION.key, parents: [{ type: OVERFLOW_MENU_PRIMARY_TOOLBAR.type, key: OVERFLOW_MENU_PRIMARY_TOOLBAR.key, rank: OVERFLOW_MENU_PRIMARY_TOOLBAR_RANK[LOOM_MENU_SECTION.key] }], component: ({ children }) => { return /*#__PURE__*/React.createElement(MenuSection, { api: api }, children); } }, { type: LOOM_MENU_ITEM.type, key: LOOM_MENU_ITEM.key, parents: [{ type: LOOM_MENU_SECTION.type, key: LOOM_MENU_SECTION.key, rank: LOOM_MENU_SECTION_RANK[LOOM_MENU_ITEM.key] }, { type: OVERFLOW_EXTENSIONS_MENU_SECTION.type, key: OVERFLOW_EXTENSIONS_MENU_SECTION.key, rank: OVERFLOW_EXTENSIONS_MENU_SECTION_RANK[LOOM_MENU_ITEM.key] }], component: () => { return /*#__PURE__*/React.createElement(LoomMenuItem, { api: api, renderButton: config.renderButton }); }, isHidden: () => { var _api$loom, _api$editorViewMode$s, _api$editorViewMode, _config$shouldRenderB, _config$shouldRenderB2; const loomState = api === null || api === void 0 ? void 0 : (_api$loom = api.loom) === null || _api$loom === void 0 ? void 0 : _api$loom.sharedState.currentState(); const editorViewMode = (_api$editorViewMode$s = api === null || api === void 0 ? void 0 : (_api$editorViewMode = api.editorViewMode) === null || _api$editorViewMode === void 0 ? void 0 : _api$editorViewMode.sharedState.currentState()) !== null && _api$editorViewMode$s !== void 0 ? _api$editorViewMode$s : 'edit'; // if shouldRenderButton is not provided, default to true const shouldRenderButton = (_config$shouldRenderB = config === null || config === void 0 ? void 0 : (_config$shouldRenderB2 = config.shouldRenderButton) === null || _config$shouldRenderB2 === void 0 ? void 0 : _config$shouldRenderB2.call(config)) !== null && _config$shouldRenderB !== void 0 ? _config$shouldRenderB : true; return 'renderButton' in config && shouldRenderButton === false || (loomState === null || loomState === void 0 ? void 0 : loomState.isEnabled) === undefined || editorViewMode !== 'edit'; } }]; };