UNPKG

@atlaskit/editor-plugin-text-formatting

Version:

Text-formatting plugin for @atlaskit/editor-core

117 lines (116 loc) 4.77 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.textFormattingMenuGroup = exports.getFormatMenuItems = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _react = _interopRequireDefault(require("react")); var _toolbar = require("@atlaskit/editor-common/toolbar"); var _editorToolbar = require("@atlaskit/editor-toolbar"); var _Component = require("./Component"); var _utils = require("./utils"); var getFormatMenuItems = exports.getFormatMenuItems = function getFormatMenuItems(api) { return Object.entries((0, _utils.formatOptions)()).map(function (_ref) { var _ref2 = (0, _slicedToArray2.default)(_ref, 2), optionType = _ref2[0], _ref2$ = _ref2[1], icon = _ref2$.icon, shortcut = _ref2$.shortcut, title = _ref2$.title, command = _ref2$.command, rank = _ref2$.rank, key = _ref2$.key; return { type: 'menu-item', key: key, parents: [{ type: _toolbar.TEXT_FORMATTING_MENU_SECTION.type, key: _toolbar.TEXT_FORMATTING_MENU_SECTION.key, rank: rank }], component: function component(_ref3) { var parents = _ref3.parents; return /*#__PURE__*/_react.default.createElement(_Component.FormatMenuItem, { api: api, parents: parents, icon: icon, shortcut: shortcut, title: title, optionType: optionType, toggleMarkWithAnalyticsCallback: command }); } }; }); }; var textFormattingMenuGroup = exports.textFormattingMenuGroup = function textFormattingMenuGroup(api) { return [{ type: _toolbar.TEXT_FORMATTING_MENU.type, key: _toolbar.TEXT_FORMATTING_MENU.key, parents: [{ type: _toolbar.TEXT_FORMATTING_GROUP.type, key: _toolbar.TEXT_FORMATTING_GROUP.key, rank: _toolbar.TEXT_FORMAT_GROUP_RANK[_toolbar.TEXT_FORMATTING_MENU.key] }, { type: _toolbar.TEXT_FORMATTING_GROUP_COLLAPSED.type, key: _toolbar.TEXT_FORMATTING_GROUP_COLLAPSED.key, rank: _toolbar.TEXT_FORMAT_GROUP_RANK[_toolbar.TEXT_FORMATTING_MENU.key] }, { type: _toolbar.TEXT_FORMATTING_GROUP_INLINE.type, key: _toolbar.TEXT_FORMATTING_GROUP_INLINE.key, rank: _toolbar.TEXT_FORMAT_GROUP_RANK[_toolbar.TEXT_FORMATTING_HERO_BUTTON.key] }], component: function component(_ref4) { var children = _ref4.children; return /*#__PURE__*/_react.default.createElement(_Component.MoreFormattingMenu, null, children); } }, { type: _toolbar.TEXT_FORMATTING_MENU_SECTION.type, key: _toolbar.TEXT_FORMATTING_MENU_SECTION.key, parents: [{ type: _toolbar.TEXT_FORMATTING_MENU.type, key: _toolbar.TEXT_FORMATTING_MENU.key, rank: _toolbar.TEXT_FORMAT_MENU_RANK[_toolbar.TEXT_FORMATTING_MENU_SECTION.key] }, { type: _toolbar.TEXT_COLLAPSED_MENU.type, key: _toolbar.TEXT_COLLAPSED_MENU.key, rank: _toolbar.TEXT_COLLAPSED_MENU_RANK[_toolbar.TEXT_FORMATTING_MENU_SECTION.key] }], component: _Component.MenuSection }].concat((0, _toConsumableArray2.default)(getFormatMenuItems(api)), [{ type: _toolbar.CLEAR_FORMARTTING_MENU_SECTION.type, key: _toolbar.CLEAR_FORMARTTING_MENU_SECTION.key, parents: [{ type: _toolbar.TEXT_FORMATTING_MENU.type, key: _toolbar.TEXT_FORMATTING_MENU.key, rank: _toolbar.TEXT_FORMAT_MENU_RANK[_toolbar.CLEAR_FORMARTTING_MENU_SECTION.key] }, { type: _toolbar.TEXT_COLLAPSED_MENU.type, key: _toolbar.TEXT_COLLAPSED_MENU.key, rank: _toolbar.TEXT_COLLAPSED_MENU_RANK[_toolbar.CLEAR_FORMARTTING_MENU_SECTION.key] }], component: function component(_ref5) { var children = _ref5.children; return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItemSection, { hasSeparator: true }, children); } }, { type: _toolbar.CLEAR_FORMATTING_MENU_ITEM.type, key: _toolbar.CLEAR_FORMATTING_MENU_ITEM.key, parents: [{ type: _toolbar.CLEAR_FORMARTTING_MENU_SECTION.type, key: _toolbar.CLEAR_FORMARTTING_MENU_SECTION.key, rank: _toolbar.CLEAR_FORMARTTING_MENU_SECTION_RANK[_toolbar.CLEAR_FORMATTING_MENU_ITEM.key] }], component: function component(_ref6) { var parents = _ref6.parents; return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Component.ClearFormatMenuItem, { parents: parents, api: api })); } }]); };