kapom-report - v0.1.2
    Preparing search index...

    Interface BoxNode<T>

    a painted container: fill/border/padding around a vertical stack of blocks. By default it splits across pages at child boundaries, "clone" style — each page's segment closes its own background/border + padding, then a fresh box continues at the top of the next page (a single text node never splits internally — it moves to the next segment whole, so a one-child box effectively keeps together automatically). Children that paginate themselves or force page-breaks (table/section) are rejected fail-fast at build time, same as RowNode.

    interface BoxNode<T> {
        background?: RGB;
        borderColor?: RGB;
        borderWidth?: number;
        children: readonly ReportNodeInput<T>[];
        keepTogether?: boolean;
        padding?: number;
        radius?: number;
        type: "box";
    }

    Type Parameters

    • T
    Index
    background?: RGB

    fill color behind the content — unset = no fill (a transparent padded group)

    borderColor?: RGB

    border stroke color — unset = no border

    borderWidth?: number

    border stroke width (mm) — default DEFAULT_BOX_BORDER_WIDTH; only used when borderColor is set

    children: readonly ReportNodeInput<T>[]
    keepTogether?: boolean

    never split: not enough room = the whole box moves to the next page, and content taller than one full page throws KapomLayoutError — default false (split between children)

    padding?: number

    uniform inner padding (mm) — default DEFAULT_BOX_PADDING

    radius?: number

    corner radius (mm) for the fill/border — default 0 (square corners). A box that splits across pages rounds every segment's own corners (so a mid-break segment is rounded on all sides).

    type: "box"