@atlaskit/editor-plugin-list
Version:
List plugin for @atlaskit/editor-core
42 lines (40 loc) • 1.44 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = inputRulePlugin;
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
var _prosemirrorInputRules = require("@atlaskit/prosemirror-input-rules");
var _createListInputRule = require("./create-list-input-rule");
function inputRulePlugin(schema, editorAnalyticsApi) {
var _schema$nodes = schema.nodes,
bulletList = _schema$nodes.bulletList,
orderedList = _schema$nodes.orderedList;
var rules = [];
if (bulletList) {
rules.push((0, _createListInputRule.createRuleForListType)({
// Using UTF instead of • character
// because of issue where product converted the
// character into an escaped version.
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
expression: /^\s*([\*\-\u2022]) $/,
listType: bulletList,
editorAnalyticsApi: editorAnalyticsApi
}));
}
// Ignored via go/ees005
// eslint-disable-next-line require-unicode-regexp
var expression = /((^[1-9]{1}[0-9]{0,2})|^(0))[\.\)] $/;
if (orderedList) {
rules.push((0, _createListInputRule.createRuleForListType)({
expression: expression,
listType: orderedList,
editorAnalyticsApi: editorAnalyticsApi
}));
}
if (rules.length !== 0) {
return new _safePlugin.SafePlugin((0, _prosemirrorInputRules.createPlugin)('lists', rules));
}
return;
}