UNPKG

@atlaskit/editor-plugin-block-controls

Version:

Block controls plugin for @atlaskit/editor-core

46 lines (45 loc) • 2.58 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.BlockControlsSurfaceWithClsFix = void 0; var _react = _interopRequireDefault(require("react")); var _blockControlUiContext = require("@atlaskit/editor-common/block-controls/block-control-ui-context"); var _surfaceKeys = require("@atlaskit/editor-common/block-controls/surface-keys"); var _surfaceRenderer = require("@atlaskit/editor-ui-control-model/surface-renderer"); var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled"); var _blockControlsSurfaceComponents = require("../ui/block-controls-surface-components"); var _blockControlsSurfaceContext = require("../ui/block-controls-surface-context"); var _visibilityContainer = require("../ui/visibility-container"); /** Renders one block-controls surface for either side on the CLS fix path. */ var BlockControlsSurfaceWithClsFix = exports.BlockControlsSurfaceWithClsFix = function BlockControlsSurfaceWithClsFix(_ref) { var api = _ref.api, components = _ref.components, forceVisibleOnMouseOut = _ref.forceVisibleOnMouseOut, placement = _ref.placement, side = _ref.side, source = _ref.source, surfaceContext = _ref.surfaceContext, SurfaceWrapper = _ref.SurfaceWrapper; var controlSide = side === 'left' ? (0, _blockControlsSurfaceContext.getBlockControlsSurfaceControlSide)(surfaceContext.get(_blockControlUiContext.BLOCK_CONTROL_UI_CONTEXT), (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_controls_reliable_anchor')) : 'right'; var _useBlockControlsVisi = (0, _visibilityContainer.useBlockControlsVisibility)({ api: api, controlSide: controlSide, forceVisibleOnMouseOut: forceVisibleOnMouseOut }), shouldHideHoverControls = _useBlockControlsVisi.shouldHide, useCssStyles = _useBlockControlsVisi.useCssStyles; return /*#__PURE__*/_react.default.createElement(SurfaceWrapper, { placement: placement, source: source, surfaceContext: surfaceContext }, /*#__PURE__*/_react.default.createElement(_blockControlsSurfaceComponents.BlockControlsVisibilityProvider, { shouldHideHoverControls: shouldHideHoverControls, useCssStyles: useCssStyles }, /*#__PURE__*/_react.default.createElement(_surfaceRenderer.SurfaceRenderer, { components: components, surface: side === 'left' ? _surfaceKeys.BLOCK_CONTROLS_LEFT_SURFACE : _surfaceKeys.BLOCK_CONTROLS_RIGHT_SURFACE, surfaceContext: surfaceContext }))); };