UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

28 lines 1.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var prosemirror_1 = require("../../prosemirror"); var analytics_1 = require("../../analytics"); var utils_1 = require("../utils"); var availablePanelTypes = ['info', 'note', 'tip', 'warning']; function inputRulePlugin(schema) { var panelInputRule = utils_1.createInputRule(/^\{(\S+)\}$/, function (state, match, start, end) { var panelType = match && match[1]; if (panelType && availablePanelTypes.indexOf(panelType) >= 0) { var schema_1 = state.schema; var tr = state.tr; var panel = schema_1.nodes.panel; if (panel) { var $from = state.selection.$from; var range = $from.blockRange($from); tr = tr.wrap(range, [{ type: panel, attrs: { panelType: panelType } }]); tr = tr.delete(end - (panelType.length + 2), end + 1); analytics_1.analyticsService.trackEvent("atlassian.editor.format.panel." + panelType + ".autoformatting"); return tr; } } }); return prosemirror_1.inputRules({ rules: [panelInputRule] }); } exports.inputRulePlugin = inputRulePlugin; exports.default = inputRulePlugin; //# sourceMappingURL=input-rules.js.map