@atlaskit/editor-plugin-block-menu
Version:
BlockMenu plugin for @atlaskit/editor-core
31 lines • 921 B
JavaScript
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
/**
* Unwraps a layoutSection node, extracting content from all columns.
* Works with any number of columns (2, 3, etc.).
*
* Example:
* layoutSection(
* layoutColumn(p('a'), p('b')),
* layoutColumn(p('c')),
* layoutColumn(p('d'))
* )
* → [p('a'), p('b'), p('c'), p('d')]
*/
export var unwrapLayoutStep = function unwrapLayoutStep(nodes) {
var outputNodes = [];
nodes.forEach(function (node) {
var isLayoutSection = node.type.name === 'layoutSection';
if (isLayoutSection) {
node.children.forEach(function (column) {
var isLayoutColumn = column.type.name === 'layoutColumn';
if (isLayoutColumn) {
outputNodes.push.apply(outputNodes, _toConsumableArray(column.children));
}
});
}
});
if (outputNodes.length === 0) {
return nodes;
}
return outputNodes;
};