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

    Class KapomReportBuilder<T>

    Fluent report builder — the chain counterpart to the object-config createKapomReport, shaped around the report anatomy. Band sections that reserve space are sub-builders you configure in detail (report.pageHeader.addBlock(...)); the flowing/once sections and settings are methods (report.content(...), report.pageNumber(...)). build() emits the exact same config the object form takes, so both produce an identical report.

    Method/section names follow the anatomy: no page prefix = printed once (title first page, summary last page); a page prefix = repeated every page. content flows across pages.

    Type Parameters

    • T = unknown
    Index
    pageFooter: BandBuilder = ...

    page footer band — repeats every page

    pageHeader: BandBuilder = ...

    page header band — repeats every page; report.pageHeader.addBlock(...) (height auto-measured)

    • Paper size / orientation / unit + page margins in one place — the single page-setup entry. Splits internally: format/orientation/unit/… → jsPDF document options, margins → layout. Margins only: pageSetup({ margins }); orientation only: pageSetup({ orientation }).

      Parameters

      • setup: jsPDFOptions & { margins?: Partial<PageMargins> }

      Returns this

    • Add a table from the single-table config — the same Progressive-Disclosure shorthands the object form takes: column { key, header }, group string / ['region','category'] array, column groups (children may use shorthand too), master-detail (nested), plus style / summaryLabel / noDataText. Appended to the content flow at the call site (interleaves with .content(...)), so it renders below .title().

      Repeatable — each call adds one table, in call order (drop a .content(pageBreak()) between them to start a new page). All tables share the builder's single T; mixing different row types still needs .content(TableNode) + a cast, since one generic can't cover several types.

      Parameters

      Returns this

    • ready-made colour scheme (preset name or a Theme object) — drives every table fill

      Parameters

      • theme: Opt<"theme">

      Returns this

    • Parameters

      • typography: Opt<"typography">

      Returns this