UNPKG

@atlaskit/editor-plugin-insert-block

Version:

Insert block plugin for @atlaskit/editor-core

34 lines 1.45 kB
import React from 'react'; import { useIntl } from 'react-intl'; import { INPUT_METHOD } from '@atlaskit/editor-common/analytics'; import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages'; import { useEditorToolbar, TOOLBAR_BUTTON_TEST_ID } from '@atlaskit/editor-common/toolbar'; import { ToolbarButton, ToolbarTooltip, LayoutIcon } from '@atlaskit/editor-toolbar'; export var LayoutButton = function LayoutButton(_ref) { var api = _ref.api; var _useIntl = useIntl(), formatMessage = _useIntl.formatMessage; var _useEditorToolbar = useEditorToolbar(), editorView = _useEditorToolbar.editorView; if (!(api !== null && api !== void 0 && api.layout)) { return null; } var onClick = function onClick() { if (editorView) { var _api$layout; var state = editorView.state, dispatch = editorView.dispatch; api === null || api === void 0 || (_api$layout = api.layout) === null || _api$layout === void 0 || _api$layout.actions.insertLayoutColumns(INPUT_METHOD.TOOLBAR)(state, dispatch); } }; return /*#__PURE__*/React.createElement(ToolbarTooltip, { content: formatMessage(messages.columns) }, /*#__PURE__*/React.createElement(ToolbarButton, { iconBefore: /*#__PURE__*/React.createElement(LayoutIcon, { label: formatMessage(messages.columns), size: "small" }), onClick: onClick, testId: TOOLBAR_BUTTON_TEST_ID.LAYOUT })); };