/** * The default layout built from the default template. */ export const DEFAULT_PRODUCT_LIST_LAYOUT = [ [ 'woocommerce/product-image' ], [ 'woocommerce/product-title' ], [ 'woocommerce/product-price' ], [ 'woocommerce/product-rating' ], [ 'woocommerce/product-button' ], ]; /** * Converts innerblocks to a list of layout configs. * * @param {Object[]} innerBlocks Inner block components. */ export const getProductLayoutConfig = ( innerBlocks ) => { if ( ! innerBlocks || innerBlocks.length === 0 ) { return []; } return innerBlocks.map( ( block ) => { return [ block.name, { ...block.attributes, product: undefined, children: block.innerBlocks.length > 0 ? getProductLayoutConfig( block.innerBlocks ) : [], }, ]; } ); };