UNPKG

@atlaskit/editor-plugin-alignment

Version:

Alignment plugin for @atlaskit/editor-core

49 lines (48 loc) 2.2 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.AlignmentMenuItem = void 0; var _react = _interopRequireDefault(require("react")); var _reactIntl = require("react-intl"); var _hooks = require("@atlaskit/editor-common/hooks"); var _keymaps = require("@atlaskit/editor-common/keymaps"); var _toolbar = require("@atlaskit/editor-common/toolbar"); var _editorToolbar = require("@atlaskit/editor-toolbar"); var _editorCommands = require("../../editor-commands"); var AlignmentMenuItem = exports.AlignmentMenuItem = function AlignmentMenuItem(_ref) { var _ref$option = _ref.option, label = _ref$option.label, Icon = _ref$option.icon, keymap = _ref$option.keymap, api = _ref.api, alignment = _ref.alignment, parents = _ref.parents; var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api, ['alignment'], function (states) { var _states$alignmentStat; return { align: (_states$alignmentStat = states.alignmentState) === null || _states$alignmentStat === void 0 ? void 0 : _states$alignmentStat.align }; }), align = _useSharedPluginState.align; var _useIntl = (0, _reactIntl.useIntl)(), formatMessage = _useIntl.formatMessage; var shortcut = (0, _keymaps.tooltip)(keymap); return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, { isSelected: align === alignment, elemBefore: /*#__PURE__*/_react.default.createElement(Icon, { size: "small", label: "" }), elemAfter: shortcut && /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarKeyboardShortcutHint, { shortcut: shortcut }), ariaKeyshortcuts: (0, _keymaps.getAriaKeyshortcuts)(keymap) // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed) , onClick: function onClick() { api === null || api === void 0 || api.core.actions.execute((0, _editorCommands.changeAlignmentTr)(api, alignment, (0, _toolbar.getInputMethodFromParentKeys)(parents))); } }, formatMessage(label)); };