UNPKG

@atlaskit/editor-plugin-image-upload

Version:

Image upload plugin for @atlaskit/editor-core

33 lines (31 loc) 1.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; exports.inputRulePlugin = inputRulePlugin; var _safePlugin = require("@atlaskit/editor-common/safe-plugin"); var _utils = require("@atlaskit/editor-common/utils"); var _prosemirrorInputRules = require("@atlaskit/prosemirror-input-rules"); var _utils2 = require("../ui/hooks/utils"); function inputRulePlugin(schema, featureFlags) { if (!schema.nodes.media || !schema.nodes.mediaSingle) { return; } // ![something](link) should convert to an image // eslint-disable-next-line require-unicode-regexp var imageRule = (0, _utils.createRule)(/!\[(.*)\]\((\S+)\)$/, function (state, match, start, end) { var schema = state.schema; var attrs = { src: match[2], alt: match[1] }; var node = (0, _utils2.createExternalMediaNode)(attrs.src, schema); if (node) { return state.tr.replaceWith(start, end, node); } return null; }); return new _safePlugin.SafePlugin((0, _prosemirrorInputRules.createPlugin)('image-upload', [imageRule])); } var _default = exports.default = inputRulePlugin;