add-to-css
3 years ago
build-css
6 years ago
check-block-version
4 years ago
compatible-render
2 years ago
filter-attributes
2 years ago
flexbox-alignment
6 years ago
get-attribute
1 year ago
get-background-image
4 years ago
get-background-image-url
4 years ago
get-content-attribute
2 years ago
get-device-type
3 years ago
get-dynamic-image
4 years ago
get-icon
1 year ago
get-image-sizes
4 years ago
get-media-url
4 years ago
get-responsive-placeholder
2 years ago
get-unique-block-names
2 years ago
has-numeric-value
4 years ago
hex-to-rgba
2 years ago
is-flex-item
2 years ago
is-numeric
2 years ago
sanitize-svg
5 years ago
shorthand-css
2 years ago
should-rebuild-css
4 years ago
sizingValue
3 years ago
value-with-unit
2 years ago
was-block-just-inserted
4 years ago
convertInlineStyleStringToObject.js
1 year ago
convertLegacyHtmlAttributes.js
1 year ago
get-editor-blocks.js
2 years ago
getBlockClasses.js
1 year ago
getInnerBlocks.js
1 year ago
index.js
1 year ago
legacyStyleUtils.js
1 year ago
loop-utils.js
1 year ago
more-design-options.js
1 year ago
noStyleAttributes.js
1 year ago
object-is-empty.js
4 years ago
sanitizeHtmlAttribute.js
1 year ago
selectorShortcuts.js
1 year ago
getInnerBlocks.js
21 lines
| 1 | |
| 2 | /** |
| 3 | * Get the inner blocks from a given block. This function recursively traverses |
| 4 | * the inner blocks and returns them as flat array. |
| 5 | * |
| 6 | * @param {Object} block The block object containing the inner blocks. |
| 7 | * @return {Array} An array of inner blocks. |
| 8 | */ |
| 9 | export function getInnerBlocks( block ) { |
| 10 | return block?.innerBlocks?.reduce( ( acc, innerBlock ) => { |
| 11 | if ( innerBlock.innerBlocks ) { |
| 12 | return [ |
| 13 | ...acc, |
| 14 | innerBlock, |
| 15 | ...getInnerBlocks( innerBlock ), |
| 16 | ]; |
| 17 | } |
| 18 | return [ ...acc, innerBlock ]; |
| 19 | }, [] ); |
| 20 | } |
| 21 |