-
Notifications
You must be signed in to change notification settings - Fork 6
/
global.d.ts
102 lines (92 loc) · 1.86 KB
/
global.d.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
/* --------------------------------------------------------------------------
Invoice payload types.
-------------------------------------------------------------------------- */
export interface CompanyInfo {
logo?: string;
name?: string;
address?: string;
phone?: string;
email?: string;
website?: string;
taxId?: string;
}
export interface CustomerInfo {
name: string;
company?: string;
address?: string;
phone?: string;
email?: string;
taxId?: string;
}
export interface InvoiceInfo {
label?: string;
number: string | number;
date: string;
dueDate?: string;
status: string;
path: string;
currency?: string;
}
export interface ItemInfo {
name: string;
quantity: number;
price: number;
tax?: number;
}
export interface QRInfo {
data: string;
width?: number | string;
}
export type Notes = string;
export interface InvoicePayLoad {
company: CompanyInfo;
customer: CustomerInfo;
invoice: InvoiceInfo;
items: ItemInfo[];
qr: QRInfo;
note: Notes;
}
/* --------------------------------------------------------------------------
Invoice configuration types.
-------------------------------------------------------------------------- */
export interface ConfigMeta {
title?: string;
author?: string;
subject?: string;
keywords?: string;
}
export interface ConfigBaseStyle {
font?: string;
fontSize?: number;
lineHeight?: number;
color?: string;
bold?: boolean;
}
export interface ConfigFont {
[key: string]: {
normal: string;
bold: string;
italics: string;
bolditalics: string;
};
}
export interface Configuration {
font: ConfigFont;
meta: ConfigMeta;
style: ConfigBaseStyle;
string: {
invoice?: string;
refNumber?: string;
date?: string;
dueDate?: string;
status?: string;
billTo?: string;
item?: string;
quantity?: string;
price?: string;
tax?: string;
total?: string;
subTotal?: string;
totalTax?: string;
};
}