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

    Interface KapomReportConfig<T>

    report-level options shared by both the single-table config and the blocks config

    interface KapomReportConfig<T> {
        columns: readonly KapomColumnInput<T>[];
        data: readonly T[];
        document?: jsPDFOptions;
        font?: FontConfig;
        group?: KapomGroupInput<T>;
        margins?: Partial<PageMargins>;
        nested?: (row: T) => TableNode<unknown> | undefined;
        nestedIndentColumn?: number;
        nestedLayout?: NonNullable<"stacked" | "below" | undefined>;
        noDataText?: string;
        numeric?: NumericStrategy;
        pageFooter?: KapomPageBandInput;
        pageHeader?: KapomPageBandInput;
        pageNumber?: PageNumberInput;
        style?: TableStyleOptions<T>;
        summaryLabel?: string;
        theme?: ThemeInput;
        title?: string;
        typography?: DeepPartial<Typography>;
        watermark?: WatermarkInput;
    }

    Type Parameters

    • T

    Hierarchy (View Summary)

    Index
    columns: readonly KapomColumnInput<T>[]
    data: readonly T[]
    document?: jsPDFOptions

    passed straight into new jsPDF(options) — orientation/format/unit etc. (omit = jsPDF's own default, a4/portrait/mm)

    font?: FontConfig
    margins?: Partial<PageMargins>
    nested?: (row: T) => TableNode<unknown> | undefined

    master-detail: a sub-table per row (see TableNode.nested) — mutually exclusive with group (throws if both set)

    nestedIndentColumn?: number

    0-based master column the 'below' child's left edge aligns to (see TableNode.nestedIndentColumn)

    nestedLayout?: NonNullable<"stacked" | "below" | undefined>

    how a nested child lays out — 'stacked' (default) or 'below' (see TableNode.nestedLayout)

    noDataText?: string

    message shown when data is empty — default 'No data' (DEFAULT_NO_DATA_TEXT)

    numeric?: NumericStrategy
    pageFooter?: KapomPageBandInput
    pageHeader?: KapomPageBandInput
    pageNumber?: PageNumberInput

    a lightweight page-number annotation drawn inside the page margin — doesn't reduce content area (unlike pageHeader/pageFooter); true for the default (bottom-left), a position string, or a full object

    summaryLabel?: string
    theme?: ThemeInput

    ready-made colour scheme (preset name or a Theme object) — drives every table fill; omit = the default blue/grey look

    title?: string

    rendered as a text block with role: 'reportTitle' above the table — omit for no title

    typography?: DeepPartial<Typography>
    watermark?: WatermarkInput

    a preset { text: 'DRAFT', ... } or a full render callback (escape hatch)