UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

36 lines 1.91 kB
import * as React from 'react'; import { WithProviders } from '../../../providerFactory/withProviders'; import { createPlugin } from '../../../plugins/mentions'; import inputRulePlugin from '../../../plugins/mentions/input-rules'; import keymap from '../../../plugins/mentions/keymap'; import { mention } from '../../../schema/nodes/mention'; import { mentionQuery } from '../../../schema/marks/mention-query'; import pluginKey from '../../../plugins/mentions/plugin-key'; import ToolbarMention from '../../../ui/ToolbarMention'; import MentionPicker from '../../../ui/MentionPicker'; var mentionsPlugin = { nodes: function () { return [{ name: 'mention', node: mention, rank: 1200 }]; }, marks: function () { return [{ name: 'mentionQuery', mark: mentionQuery, rank: 1200 }]; }, pmPlugins: function () { return [ { rank: 300, plugin: function (schema, props, dispatch, providerFactory) { return createPlugin(providerFactory); } }, { rank: 310, plugin: function (schema) { return inputRulePlugin(schema); } }, { rank: 320, plugin: function (schema) { return keymap(schema); } } ]; }, contentComponent: function (editorView, eventDispatcher, providerFactory) { var renderNode = function (providers) { return React.createElement(MentionPicker, { editorView: editorView, pluginKey: pluginKey, mentionProvider: providers.mentionProvider, presenceProvider: providers.presenceProvider }); }; return (React.createElement(WithProviders, { providerFactory: providerFactory, providers: ['mentionProvider', 'presenceProvider'], renderNode: renderNode })); }, secondaryToolbarComponent: function (editorView) { return React.createElement(ToolbarMention, { editorView: editorView, pluginKey: pluginKey }); } }; export default mentionsPlugin; //# sourceMappingURL=index.js.map