UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

37 lines 1.84 kB
import * as React from 'react'; import { WithProviders } from '../../../providerFactory/withProviders'; import { plugin } from '../../../plugins/hyperlink'; import inputRulePlugin from '../../../plugins/hyperlink/input-rule'; import keymap from '../../../plugins/hyperlink/keymap'; import { link } from '../../../schema/marks/link'; import pluginKey from '../../../plugins/hyperlink/plugin-key'; import HyperlinkEdit from '../../../ui/HyperlinkEdit'; import ToolbarHyperlink from '../../../ui/ToolbarHyperlink'; var hyperlinkPlugin = { marks: function () { return [{ name: 'link', mark: link, rank: 100 }]; }, pmPlugins: function () { return [ { rank: 900, plugin: function () { return plugin; } }, { rank: 910, plugin: function (schema) { return inputRulePlugin(schema); } }, { rank: 920, plugin: function (schema, props) { return keymap(schema, props); } }, ]; }, primaryToolbarComponent: function (editorView) { var pluginState = pluginKey.getState(editorView.state); return React.createElement(ToolbarHyperlink, { editorView: editorView, pluginState: pluginState }); }, contentComponent: function (editorView, dispatch, providerFactory, appearance) { if (appearance === 'message') { return null; } var renderNode = function (providers) { var pluginState = pluginKey.getState(editorView.state); return React.createElement(HyperlinkEdit, { editorView: editorView, pluginState: pluginState, activityProvider: providers.activityProvider }); }; return (React.createElement(WithProviders, { providerFactory: providerFactory, providers: ['activityProvider'], renderNode: renderNode })); } }; export default hyperlinkPlugin; //# sourceMappingURL=index.js.map