UNPKG

@atlaskit/editor-plugin-alignment

Version:

Alignment plugin for @atlaskit/editor-core

38 lines 1.9 kB
import React, { useCallback } from 'react'; import { INPUT_METHOD } from '@atlaskit/editor-common/analytics'; import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks'; import { changeAlignment } from '../editor-commands'; import { ToolbarType } from '../pm-plugins/types'; import ToolbarAlignment from './ToolbarAlignment'; export function PrimaryToolbarComponent(_ref) { var api = _ref.api, editorView = _ref.editorView, disabled = _ref.disabled, popupsMountPoint = _ref.popupsMountPoint, popupsBoundariesElement = _ref.popupsBoundariesElement, popupsScrollableElement = _ref.popupsScrollableElement, isToolbarReducedSpacing = _ref.isToolbarReducedSpacing; var _useSharedPluginState = useSharedPluginStateWithSelector(api, ['alignment'], function (states) { var _states$alignmentStat, _states$alignmentStat2; return { align: (_states$alignmentStat = states.alignmentState) === null || _states$alignmentStat === void 0 ? void 0 : _states$alignmentStat.align, isEnabled: (_states$alignmentStat2 = states.alignmentState) === null || _states$alignmentStat2 === void 0 ? void 0 : _states$alignmentStat2.isEnabled }; }), align = _useSharedPluginState.align, isEnabled = _useSharedPluginState.isEnabled; var changeAlignmentCallback = useCallback(function (align) { return changeAlignment(align, api, INPUT_METHOD.TOOLBAR)(editorView.state, editorView.dispatch); }, [editorView, api]); return /*#__PURE__*/React.createElement(ToolbarAlignment, { align: align, isReducedSpacing: isToolbarReducedSpacing, changeAlignment: changeAlignmentCallback, disabled: disabled || !isEnabled, popupsMountPoint: popupsMountPoint, popupsBoundariesElement: popupsBoundariesElement, popupsScrollableElement: popupsScrollableElement, api: api, toolbarType: ToolbarType.PRIMARY }); }