UNPKG

@atlaskit/editor-plugin-block-menu

Version:

BlockMenu plugin for @atlaskit/editor-core

38 lines (37 loc) 1.18 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.unwrapLayoutStep = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@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')] */ var unwrapLayoutStep = exports.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, (0, _toConsumableArray2.default)(column.children)); } }); } }); if (outputNodes.length === 0) { return nodes; } return outputNodes; };