1 |
|
2 |
|
3 | export declare type HookHandler = (data: HookData) => void | boolean;
|
4 | export declare type CellHookHandler = (data: CellHookData) => void | boolean;
|
5 | declare class CellHooks {
|
6 | didParseCell: CellHookHandler[];
|
7 | willDrawCell: CellHookHandler[];
|
8 | didDrawCell: CellHookHandler[];
|
9 | didDrawPage: HookHandler[];
|
10 | }
|
11 | declare class Table {
|
12 | id?: any;
|
13 | cursor: {
|
14 | x: number;
|
15 | y: number;
|
16 | };
|
17 | doc: any;
|
18 | userStyles: {};
|
19 | settings: any;
|
20 | columns: Column[];
|
21 | head: Row[];
|
22 | body: Row[];
|
23 | foot: Row[];
|
24 | height: number;
|
25 | width: number;
|
26 | preferredWidth: number;
|
27 | wrappedWidth: number;
|
28 | minWidth: number;
|
29 | headHeight: number;
|
30 | footHeight: number;
|
31 | startPageNumber: number;
|
32 | pageNumber: number;
|
33 | pageCount: number;
|
34 | pageStartX: number;
|
35 | pageStartY: number;
|
36 | finalY: number;
|
37 | styles: {
|
38 | styles: {};
|
39 | headStyles: {};
|
40 | bodyStyles: {};
|
41 | footStyles: {};
|
42 | alternateRowStyles: {};
|
43 | columnStyles: {};
|
44 | };
|
45 | cellHooks: CellHooks;
|
46 | allRows(): Row[];
|
47 | callCellHooks(handlers: HookHandler[], cell: Cell, row: Row, column: Column): boolean;
|
48 | callEndPageHooks(): void;
|
49 | margin(side: any): any;
|
50 | }
|
51 | declare class Row {
|
52 | raw: HTMLTableRowElement | any;
|
53 | index: number;
|
54 | cells: {};
|
55 | section: 'head' | 'body' | 'foot';
|
56 | height: number;
|
57 | maxCellHeight: number;
|
58 | x: number;
|
59 | y: number;
|
60 | spansMultiplePages: boolean;
|
61 | constructor(raw: any, index: any, section: any);
|
62 | canEntireRowFit(height: any): boolean;
|
63 | getMinimumRowHeight(): any;
|
64 | }
|
65 | declare class Cell {
|
66 | raw: HTMLTableCellElement | any;
|
67 | styles: any;
|
68 | text: string[];
|
69 | section: 'head' | 'body' | 'foot';
|
70 | contentHeight: number;
|
71 | contentWidth: number;
|
72 | wrappedWidth: number;
|
73 | minWidth: number;
|
74 | textPos: {};
|
75 | height: number;
|
76 | width: number;
|
77 | x: number;
|
78 | y: number;
|
79 | colSpan: number;
|
80 | rowSpan: number;
|
81 | constructor(raw: any, themeStyles: any, section: any);
|
82 | getContentHeight(): any;
|
83 | padding(name: any): any;
|
84 | }
|
85 | declare class Column {
|
86 | raw: any;
|
87 | dataKey: string | number;
|
88 | index: number;
|
89 | preferredWidth: number;
|
90 | minWidth: number;
|
91 | wrappedWidth: number;
|
92 | width: number;
|
93 | constructor(dataKey: any, raw: any, index: any);
|
94 | }
|
95 | declare class HookData {
|
96 | table: Table;
|
97 | pageNumber: number;
|
98 | pageCount: number;
|
99 | settings: any;
|
100 | doc: any;
|
101 | cursor: {
|
102 | x: number;
|
103 | y: number;
|
104 | };
|
105 | constructor();
|
106 | }
|
107 | declare class CellHookData extends HookData {
|
108 | cell: Cell;
|
109 | row: Row;
|
110 | column: Column;
|
111 | section: 'head' | 'body' | 'foot';
|
112 | constructor(cell: Cell, row: Row, column: Column);
|
113 | }
|
114 | export interface ColumnOption {
|
115 | header?: string;
|
116 | title?: string;
|
117 | footer?: string;
|
118 | dataKey?: string | number;
|
119 | }
|
120 | export declare type UserOptions = HTMLConfig | ContentConfig | ColumnDataConfig;
|
121 | export declare type Color = [number, number, number] | number | 'transparent' | false;
|
122 | export declare type MarginPadding = number | {
|
123 | top?: number;
|
124 | right?: number;
|
125 | bottom?: number;
|
126 | left?: number;
|
127 | };
|
128 | export interface Styles {
|
129 | font?: 'helvetica' | 'times' | 'courier' | string;
|
130 | fontStyle?: 'normal' | 'bold' | 'italic' | 'bolditalic';
|
131 | overflow?: 'linebreak' | 'ellipsize' | 'visible' | 'hidden';
|
132 | fillColor?: Color;
|
133 | textColor?: Color;
|
134 | halign?: 'left' | 'center' | 'right' | 'justify';
|
135 | valign?: 'top' | 'middle' | 'bottom';
|
136 | fontSize?: number;
|
137 | cellPadding?: number;
|
138 | lineColor?: Color;
|
139 | lineWidth?: number;
|
140 | cellWidth?: 'auto' | 'wrap' | number;
|
141 | minCellHeight?: number;
|
142 | }
|
143 | export interface CellDefinition {
|
144 | rowSpan?: number;
|
145 | colSpan?: number;
|
146 | styles?: Styles;
|
147 | content?: string | string[] | number;
|
148 | }
|
149 | export declare type CellType = null | string | number | boolean | CellDefinition;
|
150 | export declare type MultipleRowType = CellType[][] | {
|
151 | string: CellType;
|
152 | }[];
|
153 | export declare type SingleRowType = CellType[] | {
|
154 | string: CellType;
|
155 | };
|
156 | export interface BaseConfig {
|
157 | theme?: 'striped' | 'grid' | 'plain';
|
158 | startY?: number;
|
159 | margin?: MarginPadding;
|
160 | pageBreak?: 'auto' | 'avoid' | 'always';
|
161 | rowPageBreak?: 'auto' | 'avoid';
|
162 | tableWidth?: 'auto' | 'wrap' | number;
|
163 | showHead?: 'everyPage' | 'firstPage' | 'never';
|
164 | showFoot?: 'everyPage' | 'lastPage' | 'never';
|
165 | tableLineWidth?: number;
|
166 | tableLineColor?: Color;
|
167 | tableId?: any;
|
168 | styles?: Styles;
|
169 | bodyStyles?: Styles;
|
170 | headStyles?: Styles;
|
171 | footStyles?: Styles;
|
172 | alternateRowStyles?: Styles;
|
173 | columnStyles?: {
|
174 | [key: string]: Styles;
|
175 | };
|
176 | didParseCell?: (data: CellHookData) => void;
|
177 | willDrawCell?: (data: CellHookData) => void;
|
178 | didDrawCell?: (data: CellHookData) => void;
|
179 | didDrawPage?: (data: CellHookData) => void;
|
180 | }
|
181 | export interface ContentConfig extends BaseConfig {
|
182 | head?: SingleRowType | MultipleRowType;
|
183 | foot?: SingleRowType | MultipleRowType;
|
184 | body: MultipleRowType;
|
185 | }
|
186 | export interface ColumnDataConfig extends BaseConfig {
|
187 | columns?: ColumnOption[];
|
188 | body: object[];
|
189 | }
|
190 | export interface HTMLConfig extends BaseConfig {
|
191 | html: string | HTMLElement;
|
192 | }
|
193 | export declare function applyPlugin(jsPDF: any): void;
|
194 | export declare type autoTable = (options: UserOptions) => void;
|
195 |
|
196 | export {};
|