UNPKG

@atlaskit/editor-plugin-block-menu

Version:

BlockMenu plugin for @atlaskit/editor-core

37 lines (36 loc) 1.56 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.BlockMenuComponent = void 0; var _react = _interopRequireDefault(require("react")); var _BlockMenuComponents = require("./BlockMenuComponents"); var _utils = require("./utils"); /** * Renders the given registered component based on its type */ var BlockMenuComponent = exports.BlockMenuComponent = function BlockMenuComponent(_ref) { var registeredComponent = _ref.registeredComponent, childrenMap = _ref.childrenMap, fallbacks = _ref.fallbacks; if (!(0, _utils.willComponentRender)(registeredComponent, childrenMap)) { return null; } if (registeredComponent.type === 'block-menu-item') { var ItemComponent = registeredComponent.component || fallbacks['block-menu-item']; return /*#__PURE__*/_react.default.createElement(ItemComponent, { key: registeredComponent.key }); } var ParentComponent = registeredComponent.component || fallbacks[registeredComponent.type]; var childrenMapKey = (0, _utils.getChildrenMapKey)(registeredComponent.key, registeredComponent.type); var registeredComponents = childrenMap.get(childrenMapKey); return /*#__PURE__*/_react.default.createElement(ParentComponent, { key: registeredComponent.key }, /*#__PURE__*/_react.default.createElement(_BlockMenuComponents.BlockMenuComponents, { registeredComponents: registeredComponents, childrenMap: childrenMap, fallbacks: fallbacks })); };