diff --git a/packages/mermaid/src/diagrams/block/blockDB.ts b/packages/mermaid/src/diagrams/block/blockDB.ts index a3ef97e24..3cc9ec11d 100644 --- a/packages/mermaid/src/diagrams/block/blockDB.ts +++ b/packages/mermaid/src/diagrams/block/blockDB.ts @@ -22,8 +22,7 @@ const populateBlockDatabase = (blockList: Block[], parent: Block): void => { const children = []; for (const block of blockList) { if (block.type === 'column-setting') { - const columns = block.columns || -1; - parent.columns = columns; + parent.columns = block.columns || -1; } else { if (!block.label) { if (block.type === 'composite') { @@ -39,7 +38,8 @@ const populateBlockDatabase = (blockList: Block[], parent: Block): void => { } if (block.type === 'space') { - for (let j = 0; j < block.width; j++) { + const w = block.width || 1; + for (let j = 0; j < w; j++) { const newBlock = clone(block); newBlock.id = newBlock.id + '-' + j; blockDatabase[newBlock.id] = newBlock; diff --git a/packages/mermaid/src/diagrams/block/blockTypes.ts b/packages/mermaid/src/diagrams/block/blockTypes.ts index 001cd7bda..a65e5db32 100644 --- a/packages/mermaid/src/diagrams/block/blockTypes.ts +++ b/packages/mermaid/src/diagrams/block/blockTypes.ts @@ -17,6 +17,7 @@ export type BlockType = | 'lean_left' | 'trapezoid' | 'inv_trapezoid' + | 'rect_left_inv_arrow' | 'odd_right' | 'circle' | 'ellipse' @@ -28,6 +29,7 @@ export type BlockType = | 'composite'; export interface Block { + width?: number; id: string; label?: string; parent?: Block;