@atlaskit/editor-plugin-list
Version:
List plugin for @atlaskit/editor-core
52 lines (51 loc) • 2.19 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getListQuickInsertComponents = void 0;
var _react = _interopRequireDefault(require("react"));
var _keymaps = require("@atlaskit/editor-common/keymaps");
var _messages = require("@atlaskit/editor-common/messages");
var _createQuickInsertMatcher = require("@atlaskit/editor-common/quick-insert/create-quick-insert-matcher");
var _keys = require("@atlaskit/editor-common/quick-insert/keys");
var _rank = require("@atlaskit/editor-common/quick-insert/rank");
var _ListQuickInsertMenuItem = require("./ListQuickInsertMenuItem");
var getListQuickInsertComponents = exports.getListQuickInsertComponents = function getListQuickInsertComponents(_ref) {
var api = _ref.api;
return [{
item: _keys.UNORDERED_LIST_MENU_ITEM,
type: 'unordered'
}, {
item: _keys.ORDERED_LIST_MENU_ITEM,
type: 'ordered'
}].map(function (_ref2) {
var item = _ref2.item,
type = _ref2.type;
var isOrdered = type === 'ordered';
return {
key: item.key,
type: item.type,
parents: [{
key: _keys.TEXT_FORMATTING_SECTION.key,
type: _keys.TEXT_FORMATTING_SECTION.type,
rank: _rank.TEXT_FORMATTING_SECTION_RANK[item.key]
}],
match: (0, _createQuickInsertMatcher.createQuickInsertMatcher)(function (_ref3) {
var formatMessage = _ref3.formatMessage;
return {
description: formatMessage(isOrdered ? _messages.listMessages.orderedListDescription : _messages.listMessages.unorderedListDescription),
keywords: isOrdered ? ['ol', 'ordered'] : ['ul', 'unordered'],
shortcut: (0, _keymaps.tooltip)(isOrdered ? _keymaps.toggleOrderedList : _keymaps.toggleBulletList),
title: formatMessage(isOrdered ? _messages.listMessages.orderedList : _messages.listMessages.unorderedList)
};
}),
component: function component() {
return /*#__PURE__*/_react.default.createElement(_ListQuickInsertMenuItem.ListQuickInsertMenuItem, {
api: api,
type: type
});
}
};
});
};