UNPKG

@atlaskit/editor-plugin-block-menu

Version:

BlockMenu plugin for @atlaskit/editor-core

30 lines 778 B
/** * 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 const unwrapLayoutStep = nodes => { const outputNodes = []; nodes.forEach(node => { const isLayoutSection = node.type.name === 'layoutSection'; if (isLayoutSection) { node.children.forEach(column => { const isLayoutColumn = column.type.name === 'layoutColumn'; if (isLayoutColumn) { outputNodes.push(...column.children); } }); } }); if (outputNodes.length === 0) { return nodes; } return outputNodes; };