UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

25 lines 1.16 kB
import { inputRules } from '../../prosemirror'; import { analyticsService } from '../../analytics'; import { createInputRule } from '../utils'; var availablePanelTypes = ['info', 'note', 'tip', 'warning']; export function inputRulePlugin(schema) { var panelInputRule = 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); analyticsService.trackEvent("atlassian.editor.format.panel." + panelType + ".autoformatting"); return tr; } } }); return inputRules({ rules: [panelInputRule] }); } export default inputRulePlugin; //# sourceMappingURL=input-rules.js.map