@atlaskit/editor-plugin-block-controls
Version:
Block controls plugin for @atlaskit/editor-core
46 lines (45 loc) • 2.58 kB
JavaScript
;
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
})));
};