@atlaskit/editor-plugin-breakout
Version:
Breakout plugin for @atlaskit/editor-core
65 lines (64 loc) • 2.16 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.breakoutPlugin = void 0;
var _react = _interopRequireDefault(require("react"));
var _breakout = require("@atlaskit/adf-schema/breakout");
var _resizingPlugin = require("./pm-plugins/resizing-plugin");
var _GuidelineLabel = require("./ui/GuidelineLabel");
var breakoutPlugin = exports.breakoutPlugin = function breakoutPlugin(_ref) {
var options = _ref.config,
api = _ref.api;
return {
name: 'breakout',
pmPlugins: function pmPlugins() {
return [{
name: 'breakout-resizing',
plugin: function plugin(_ref2) {
var getIntl = _ref2.getIntl,
nodeViewPortalProviderAPI = _ref2.nodeViewPortalProviderAPI;
return (0, _resizingPlugin.createResizingPlugin)(api, getIntl, nodeViewPortalProviderAPI, options);
}
}];
},
marks: function marks() {
return [{
name: 'breakout',
mark: _breakout.breakout
}];
},
getSharedState: function getSharedState(editorState) {
if (!editorState) {
return {
breakoutNode: undefined
};
}
var resizingPluginState = _resizingPlugin.resizingPluginKey.getState(editorState);
if (!resizingPluginState) {
return {
breakoutNode: undefined,
activeGuidelineKey: undefined
};
}
return resizingPluginState;
},
contentComponent: function contentComponent(_ref3) {
var editorView = _ref3.editorView,
popupsMountPoint = _ref3.popupsMountPoint,
popupsBoundariesElement = _ref3.popupsBoundariesElement,
popupsScrollableElement = _ref3.popupsScrollableElement;
if (!editorView) {
return null;
}
return /*#__PURE__*/_react.default.createElement(_GuidelineLabel.GuidelineLabel, {
api: api,
editorView: editorView,
mountPoint: popupsMountPoint,
boundariesElement: popupsBoundariesElement,
scrollableElement: popupsScrollableElement
});
}
};
};