@atlaskit/editor-plugin-image-upload
Version:
Image upload plugin for @atlaskit/editor-core
33 lines (31 loc) • 1.15 kB
JavaScript
;
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;
}
//  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;