UNPKG

@atlaskit/editor-core

Version:

A package contains Atlassian editor core functionality

44 lines 2.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var React = require("react"); var withProviders_1 = require("../../../providerFactory/withProviders"); var emojis_1 = require("../../../plugins/emojis"); var input_rules_1 = require("../../../plugins/emojis/input-rules"); var keymap_1 = require("../../../plugins/emojis/keymap"); var ascii_input_rules_1 = require("../../../plugins/emojis/ascii-input-rules"); var emoji_1 = require("../../../schema/nodes/emoji"); var emoji_query_1 = require("../../../schema/marks/emoji-query"); var plugin_key_1 = require("../../../plugins/emojis/plugin-key"); var ToolbarEmojiPicker_1 = require("../../../ui/ToolbarEmojiPicker"); var EmojiTypeAhead_1 = require("../../../ui/EmojiTypeAhead"); var emojiPlugin = { nodes: function () { return [{ name: 'emoji', node: emoji_1.emoji, rank: 1600 }]; }, marks: function () { return [{ name: 'emojiQuery', mark: emoji_query_1.emojiQuery, rank: 1600 }]; }, pmPlugins: function () { return [ { rank: 400, plugin: function (schema, props, dispatch, providerFactory) { return emojis_1.createPlugin(providerFactory); } }, { rank: 410, plugin: function (schema) { return input_rules_1.default(schema); } }, { rank: 420, plugin: function (schema) { return keymap_1.default(schema); } }, { rank: 430, plugin: function (schema, props, dispatch, providerFactory) { return ascii_input_rules_1.inputRulePlugin(schema, providerFactory); } } ]; }, contentComponent: function (editorView, eventDispatcher, providerFactory) { var renderNode = function (providers) { return React.createElement(EmojiTypeAhead_1.default, { editorView: editorView, pluginKey: plugin_key_1.default, emojiProvider: providers.emojiProvider }); }; return (React.createElement(withProviders_1.WithProviders, { providerFactory: providerFactory, providers: ['emojiProvider'], renderNode: renderNode })); }, secondaryToolbarComponent: function (editorView, eventDispatcher, providerFactory) { var renderNode = function (providers) { // numFollowingButtons must be changed if buttons are added after ToolbarEmojiPicker to the message editor return React.createElement(ToolbarEmojiPicker_1.default, { editorView: editorView, pluginKey: plugin_key_1.default, emojiProvider: providers.emojiProvider, numFollowingButtons: 2 }); }; return (React.createElement(withProviders_1.WithProviders, { providerFactory: providerFactory, providers: ['emojiProvider'], renderNode: renderNode })); }, }; exports.default = emojiPlugin; //# sourceMappingURL=index.js.map