@atlaskit/editor-plugin-toolbar-lists-indentation
Version:
Toolbar lists and indentation plugin for @atlaskit/editor-core
111 lines • 4.53 kB
JavaScript
import React from 'react';
import { BULLETED_LIST_MENU_ITEM, INDENT_MENU_ITEM, LISTS_INDENTATION_GROUP, LISTS_INDENTATION_GROUP_COLLAPSED, LISTS_INDENTATION_GROUP_COLLAPSED_RANK, LISTS_INDENTATION_GROUP_INLINE, LISTS_INDENTATION_GROUP_RANK, LISTS_INDENTATION_MENU, LISTS_INDENTATION_MENU_RANK, LISTS_INDENTATION_MENU_SECTION, LISTS_INDENTATION_MENU_SECTION_RANK, NUMBERED_LIST_MENU_ITEM, OUTDENT_MENU_ITEM, TEXT_COLLAPSED_MENU, TEXT_COLLAPSED_MENU_RANK } from '@atlaskit/editor-common/toolbar';
import { BulletedListMenuItem } from './BulletedListMenuItem';
import { IndentMenuItem } from './IndentMenuItem';
import { ListsIndentationMenu } from './ListsIndentationMenu';
import { MenuSection } from './MenuSection';
import { NumberedListMenuItem } from './NumberedListMenuItem';
import { OutdentMenuItem } from './OutdentMenuItem';
export var getListsIndentationMenu = function getListsIndentationMenu(allowHeadingAndParagraphIndentation, showIndentationButtons, api) {
return [{
type: LISTS_INDENTATION_MENU.type,
key: LISTS_INDENTATION_MENU.key,
parents: [{
type: LISTS_INDENTATION_GROUP.type,
key: LISTS_INDENTATION_GROUP.key,
rank: LISTS_INDENTATION_GROUP_RANK[LISTS_INDENTATION_MENU.key]
}, {
type: LISTS_INDENTATION_GROUP_COLLAPSED.type,
key: LISTS_INDENTATION_GROUP_COLLAPSED.key,
rank: LISTS_INDENTATION_GROUP_COLLAPSED_RANK[LISTS_INDENTATION_MENU.key]
}, {
type: LISTS_INDENTATION_GROUP_INLINE.type,
key: LISTS_INDENTATION_GROUP_INLINE.key,
rank: LISTS_INDENTATION_GROUP_COLLAPSED_RANK[LISTS_INDENTATION_MENU.key]
}],
component: function component(_ref) {
var children = _ref.children;
return /*#__PURE__*/React.createElement(ListsIndentationMenu, {
api: api,
allowHeadingAndParagraphIndentation: allowHeadingAndParagraphIndentation
}, children);
}
}, {
type: LISTS_INDENTATION_MENU_SECTION.type,
key: LISTS_INDENTATION_MENU_SECTION.key,
parents: [{
type: LISTS_INDENTATION_MENU.type,
key: LISTS_INDENTATION_MENU.key,
rank: LISTS_INDENTATION_MENU_RANK[LISTS_INDENTATION_MENU_SECTION.key]
}, {
type: TEXT_COLLAPSED_MENU.type,
key: TEXT_COLLAPSED_MENU.key,
rank: TEXT_COLLAPSED_MENU_RANK[LISTS_INDENTATION_MENU_SECTION.key]
}],
component: MenuSection
}, {
type: BULLETED_LIST_MENU_ITEM.type,
key: BULLETED_LIST_MENU_ITEM.key,
parents: [{
type: LISTS_INDENTATION_MENU_SECTION.type,
key: LISTS_INDENTATION_MENU_SECTION.key,
rank: LISTS_INDENTATION_MENU_SECTION_RANK[BULLETED_LIST_MENU_ITEM.key]
}],
component: function component(_ref2) {
var parents = _ref2.parents;
return /*#__PURE__*/React.createElement(BulletedListMenuItem, {
api: api,
parents: parents
});
}
}, {
type: NUMBERED_LIST_MENU_ITEM.type,
key: NUMBERED_LIST_MENU_ITEM.key,
parents: [{
type: LISTS_INDENTATION_MENU_SECTION.type,
key: LISTS_INDENTATION_MENU_SECTION.key,
rank: LISTS_INDENTATION_MENU_SECTION_RANK[NUMBERED_LIST_MENU_ITEM.key]
}],
component: function component(_ref3) {
var parents = _ref3.parents;
return /*#__PURE__*/React.createElement(NumberedListMenuItem, {
api: api,
parents: parents
});
}
}, {
type: OUTDENT_MENU_ITEM.type,
key: OUTDENT_MENU_ITEM.key,
parents: [{
type: LISTS_INDENTATION_MENU_SECTION.type,
key: LISTS_INDENTATION_MENU_SECTION.key,
rank: LISTS_INDENTATION_MENU_SECTION_RANK[OUTDENT_MENU_ITEM.key]
}],
component: function component(_ref4) {
var parents = _ref4.parents;
return /*#__PURE__*/React.createElement(OutdentMenuItem, {
api: api,
allowHeadingAndParagraphIndentation: allowHeadingAndParagraphIndentation,
showIndentationButtons: showIndentationButtons,
parents: parents
});
}
}, {
type: INDENT_MENU_ITEM.type,
key: INDENT_MENU_ITEM.key,
parents: [{
type: LISTS_INDENTATION_MENU_SECTION.type,
key: LISTS_INDENTATION_MENU_SECTION.key,
rank: LISTS_INDENTATION_MENU_SECTION_RANK[INDENT_MENU_ITEM.key]
}],
component: function component(_ref5) {
var parents = _ref5.parents;
return /*#__PURE__*/React.createElement(IndentMenuItem, {
api: api,
allowHeadingAndParagraphIndentation: allowHeadingAndParagraphIndentation,
showIndentationButtons: showIndentationButtons,
parents: parents
});
}
}];
};