@atlaskit/editor-plugin-layout
Version:
Layout plugin for @atlaskit/editor-core
74 lines (73 loc) • 2.88 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getLayoutQuickInsertComponents = void 0;
var _react = _interopRequireDefault(require("react"));
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 _LayoutQuickInsertMenuItem = require("./LayoutQuickInsertMenuItem");
var layoutItems = [{
columnCount: 2,
description: _messages.toolbarInsertBlockMessages.columnsDescriptionAdvancedLayout,
item: _keys.TWO_COLUMNS_LAYOUT_MENU_ITEM,
keyword: 'two column',
title: _messages.layoutMessages.twoColumnsAdvancedLayout
}, {
columnCount: 3,
description: _messages.toolbarInsertBlockMessages.columnsDescriptionAdvancedLayout,
item: _keys.THREE_COLUMNS_LAYOUT_MENU_ITEM,
keyword: 'three column',
title: _messages.layoutMessages.threeColumnsAdvancedLayout
}, {
columnCount: 4,
description: _messages.toolbarInsertBlockMessages.columnsDescriptionAdvancedLayout,
item: _keys.FOUR_COLUMNS_LAYOUT_MENU_ITEM,
keyword: 'four column',
title: _messages.layoutMessages.fourColumns
}, {
columnCount: 5,
description: _messages.toolbarInsertBlockMessages.columnsDescriptionAdvancedLayout,
item: _keys.FIVE_COLUMNS_LAYOUT_MENU_ITEM,
keyword: 'five column',
title: _messages.layoutMessages.fiveColumns
}];
var getLayoutQuickInsertComponents = exports.getLayoutQuickInsertComponents = function getLayoutQuickInsertComponents(_ref) {
var api = _ref.api;
return layoutItems.map(function (_ref2) {
var columnCount = _ref2.columnCount,
description = _ref2.description,
item = _ref2.item,
keyword = _ref2.keyword,
title = _ref2.title;
return {
key: item.key,
type: item.type,
parents: [{
key: _keys.STRUCTURE_SECTION.key,
type: _keys.STRUCTURE_SECTION.type,
rank: _rank.STRUCTURE_SECTION_RANK[item.key]
}],
match: (0, _createQuickInsertMatcher.createQuickInsertMatcher)(function (_ref3) {
var formatMessage = _ref3.formatMessage;
return {
description: formatMessage(description, {
numberOfColumns: ['one', 'two', 'three', 'four', 'five'][columnCount - 1]
}),
keywords: ['layout', 'column', 'section', 'col', keyword],
title: formatMessage(title)
};
}),
component: function component() {
return /*#__PURE__*/_react.default.createElement(_LayoutQuickInsertMenuItem.LayoutQuickInsertMenuItem, {
api: api,
columnCount: columnCount,
title: title
});
}
};
});
};