@atlaskit/editor-plugin-extension
Version:
editor-plugin-extension plugin for @atlaskit/editor-core
41 lines (39 loc) • 1.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getExtensionPresetWidth = exports.getExtensionLayout = void 0;
var _getBreakoutWidth = require("@atlaskit/editor-common/extensibility/get-breakout-width");
var _constants = require("@atlaskit/editor-shared-styles/constants");
var extensionPresetWidths = {
default: _constants.akEditorDefaultLayoutWidth,
wide: _constants.akEditorCalculatedWideLayoutWidth,
'full-width': _constants.akEditorFullWidthLayoutWidth
};
var getExtensionPresetWidth = exports.getExtensionPresetWidth = function getExtensionPresetWidth(layout) {
return extensionPresetWidths[layout];
};
/**
* getExtensionLayout tries to match the breakout mark's width (if any) to an extension layout preset.
* @returns the layout preset if the breakout width matches, null if there is no match, or
* the node's layout attribute if there is no breakout width.
*/
var getExtensionLayout = exports.getExtensionLayout = function getExtensionLayout(node) {
var _node$attrs$layout = node.attrs.layout,
layout = _node$attrs$layout === void 0 ? 'default' : _node$attrs$layout;
var breakoutWidth = (0, _getBreakoutWidth.getBreakoutWidth)(node.marks);
if (breakoutWidth !== undefined) {
if (breakoutWidth === extensionPresetWidths.default) {
return 'default';
}
if (breakoutWidth === extensionPresetWidths.wide) {
return 'wide';
}
if (breakoutWidth === extensionPresetWidths['full-width']) {
return 'full-width';
}
return null;
}
// if there is no breakout width, return the node's layout attribute
return layout;
};