UNPKG

@atlaskit/editor-plugin-list

Version:

List plugin for @atlaskit/editor-core

43 lines (41 loc) 1.49 kB
"use strict"; 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"); // 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 var BULLET_LIST_EXPRESSION = /^\s*([\*\-\u2022]) $/; // Ignored via go/ees005 // eslint-disable-next-line require-unicode-regexp var ORDERED_LIST_EXPRESSION = /((^[1-9]{1}[0-9]{0,2})|^(0))[\.\)] $/; 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)({ expression: BULLET_LIST_EXPRESSION, listType: bulletList, editorAnalyticsApi: editorAnalyticsApi })); } if (orderedList) { rules.push((0, _createListInputRule.createRuleForListType)({ expression: ORDERED_LIST_EXPRESSION, listType: orderedList, editorAnalyticsApi: editorAnalyticsApi })); } if (rules.length !== 0) { return new _safePlugin.SafePlugin((0, _prosemirrorInputRules.createPlugin)('lists', rules)); } return; }