UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

28 lines 1.09 kB
import { inputRules } from '../../prosemirror'; import { stateKey } from './'; import { createInputRule, leafNodeReplacementCharacter } from '../utils'; export function inputRulePlugin(schema) { var rules = []; if (schema.nodes.emoji && schema.marks.emojiQuery) { var regex = new RegExp("(^|[\\s(" + leafNodeReplacementCharacter + "]):$"); var emojiQueryRule = createInputRule(regex, function (state, match, start, end) { var emojisState = stateKey.getState(state); if (!emojisState.emojiProvider) { return undefined; } if (!emojisState.isEnabled()) { return undefined; } var mark = schema.mark('emojiQuery'); var tr = state.tr; var emojiText = schema.text(':', [mark]); return tr.replaceSelectionWith(emojiText, false); }); rules.push(emojiQueryRule); } if (rules.length !== 0) { return inputRules({ rules: rules }); } } export default inputRulePlugin; //# sourceMappingURL=input-rules.js.map