Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 12 additions & 3 deletions types/pdfkit/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -466,14 +466,23 @@ declare namespace PDFKit.Mixins {
/** Column definitions of the table. (default auto) */
columnStyles?:
| number
| Array<number | string>
| Array<number | string | ColumnStyle>
| ColumnStyle
| ((row: number) => number | ColumnStyle | undefined);
/** Row definitions of the table. (default *) */
rowStyles?: number | Array<number | string> | RowStyle | ((row: number) => number | RowStyle | undefined);
rowStyles?:
| number
| Array<number | string | RowStyle>
| RowStyle
| ((row: number) => number | RowStyle | undefined);
/** Defaults to apply to every cell */
defaultStyle?:
& (number | Array<number | string> | CellStyle | ((row: number) => number | CellStyle | undefined))
& (
| number
| Array<number | string>
| CellStyle
| ((row: number) => number | CellStyle | undefined)
)
& { width?: number };
/** Whether to show the debug lines for all the cells (default false) */
debug?: boolean;
Expand Down
22 changes: 22 additions & 0 deletions types/pdfkit/pdfkit-tests.ts
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,28 @@ doc.table({
],
});

// Alternative way to define the same styles as above using arrays
doc.table({
// Set the style for all cells
defaultStyle: { border: 1, borderColor: "gray" },
// Set the style for cells based on their column
columnStyles: [{ border: { left: 2 }, borderColor: { left: "black" } }, {
border: { right: 2 },
borderColor: { right: "black" },
}],
// Set the style for cells based on their row
rowStyles: [{ border: { top: 2 }, borderColor: { top: "black" } }, {
border: { bottom: 2 },
borderColor: { bottom: "black" },
}],
data: [
["Header 1", "Header 2", "Header 3"],
["Sample value 1", "Sample value 2", "Sample value 3"],
["Sample value 1", "Sample value 2", "Sample value 3"],
["Sample value 1", "Sample value 2", "Sample value 3"],
],
});

doc.table({
rowStyles: (i) => {
if (i % 2 === 0) return { backgroundColor: "#ccc" };
Expand Down