@driveflux/pdf 4.0.38 → 4.0.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/__mocks__/quotation.js +11 -10
  2. package/dist/__mocks__/subscription.js +121 -379
  3. package/dist/__mocks__/tou.js +10 -9
  4. package/dist/components/FluxLogo.js +3 -62
  5. package/dist/components/StandardPage.js +10 -99
  6. package/dist/debug.js +26 -205
  7. package/dist/index.js +1 -0
  8. package/dist/templates/QuotationPdf/CustomerSubscriptionSection.js +27 -145
  9. package/dist/templates/QuotationPdf/GFV.js +12 -49
  10. package/dist/templates/QuotationPdf/Header.js +5 -63
  11. package/dist/templates/QuotationPdf/Pricing.js +201 -573
  12. package/dist/templates/QuotationPdf/QuotationPdfPage.js +3 -23
  13. package/dist/templates/QuotationPdf/SectionBoxNew.js +4 -34
  14. package/dist/templates/QuotationPdf/TermsSection.js +5 -42
  15. package/dist/templates/QuotationPdf/VehiclePhotos.js +24 -54
  16. package/dist/templates/QuotationPdf/index.js +10 -189
  17. package/dist/templates/QuotationPdf/translations.js +22 -34
  18. package/dist/templates/QuotationPdf/utils.d.ts +3 -3
  19. package/dist/templates/QuotationPdf/utils.d.ts.map +1 -1
  20. package/dist/templates/QuotationPdf/utils.js +49 -83
  21. package/dist/templates/QuotationPdf/utils.js.map +1 -1
  22. package/dist/templates/SubscriptionAgreement/Confirmation.js +10 -65
  23. package/dist/templates/SubscriptionAgreement/CoverPage.js +10 -93
  24. package/dist/templates/SubscriptionAgreement/CoverPageSection.js +5 -16
  25. package/dist/templates/SubscriptionAgreement/Details.js +59 -139
  26. package/dist/templates/SubscriptionAgreement/Footer.js +6 -48
  27. package/dist/templates/SubscriptionAgreement/Header.js +5 -35
  28. package/dist/templates/SubscriptionAgreement/LabelValue.js +3 -25
  29. package/dist/templates/SubscriptionAgreement/SubscriptionAgreementPage.js +3 -26
  30. package/dist/templates/SubscriptionAgreement/TermsOfUse.js +8 -94
  31. package/dist/templates/SubscriptionAgreement/TermsOfUseSubSection.js +11 -97
  32. package/dist/templates/SubscriptionAgreement/index.js +15 -245
  33. package/dist/templates/SubscriptionAgreement/translations.js +194 -195
  34. package/dist/templates/SubscriptionAgreement/types.js +2 -1
  35. package/dist/templates/SubscriptionAgreement/utils.js +11 -16
  36. package/dist/templates/index.js +1 -0
  37. package/dist/theme/colors.js +63 -44
  38. package/dist/theme/index.js +1 -0
  39. package/dist/types.js +2 -1
  40. package/dist/utils.js +16 -159
  41. package/dist/watch.js +4 -3
  42. package/package.json +2 -2
@@ -2,164 +2,46 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
2
2
  import { Text, View } from '@react-pdf/renderer';
3
3
  import { colors } from '../../theme/colors.js';
4
4
  import SectionBoxNew from './SectionBoxNew.js';
5
- import { formatAddress, getFullMileagePackageTranslation, getSimplifiedPlanTranslation } from './utils.js';
6
- var CustomerSubscriptionSection = function(param) {
7
- var quotation = param.quotation, t = param.t;
8
- var displayContent = function(label, value) {
9
- var labelColor = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : colors.black, valueColor = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : colors.primary3;
10
- return /*#__PURE__*/ _jsxs(View, {
11
- style: {
12
- gap: 4
13
- },
14
- children: [
15
- /*#__PURE__*/ _jsx(Text, {
16
- style: {
17
- color: labelColor,
18
- letterSpacing: 1
19
- },
20
- children: label
21
- }),
22
- /*#__PURE__*/ _jsx(Text, {
23
- style: {
24
- color: valueColor,
25
- letterSpacing: 1
26
- },
27
- children: value
28
- })
29
- ]
30
- });
31
- };
32
- return /*#__PURE__*/ _jsx(View, {
33
- children: /*#__PURE__*/ _jsx(SectionBoxNew, {
34
- topContent: /*#__PURE__*/ _jsxs(_Fragment, {
35
- children: [
36
- /*#__PURE__*/ _jsx(Text, {
37
- style: {
5
+ import { formatAddress, getFullMileagePackageTranslation, getSimplifiedPlanTranslation, } from './utils.js';
6
+ const CustomerSubscriptionSection = ({ quotation, t }) => {
7
+ const displayContent = (label, value, labelColor = colors.black, valueColor = colors.primary3) => (_jsxs(View, { style: { gap: 4 }, children: [_jsx(Text, { style: { color: labelColor, letterSpacing: 1 }, children: label }), _jsx(Text, { style: { color: valueColor, letterSpacing: 1 }, children: value })] }));
8
+ return (_jsx(View, { children: _jsx(SectionBoxNew, { topContent: _jsxs(_Fragment, { children: [_jsx(Text, { style: {
38
9
  textTransform: 'uppercase',
39
10
  fontSize: 12,
40
- fontWeight: 'bold'
41
- },
42
- children: t.customer.title
43
- }),
44
- /*#__PURE__*/ _jsxs(View, {
45
- style: {
46
- flexDirection: 'row',
47
- justifyContent: 'space-between'
48
- },
49
- children: [
50
- displayContent(t.customer.name, quotation.customerName),
51
- quotation.customer.email && displayContent(t.customer.email, quotation.customer.email)
52
- ]
53
- }),
54
- quotation.customer.address && displayContent(t.customer.address, formatAddress(quotation.customer.address))
55
- ]
56
- }),
57
- bottomContent: /*#__PURE__*/ _jsxs(_Fragment, {
58
- children: [
59
- /*#__PURE__*/ _jsx(Text, {
60
- style: {
11
+ fontWeight: 'bold',
12
+ }, children: t.customer.title }), _jsxs(View, { style: { flexDirection: 'row', justifyContent: 'space-between' }, children: [displayContent(t.customer.name, quotation.customerName), quotation.customer.email &&
13
+ displayContent(t.customer.email, quotation.customer.email)] }), quotation.customer.address &&
14
+ displayContent(t.customer.address, formatAddress(quotation.customer.address))] }), bottomContent: _jsxs(_Fragment, { children: [_jsx(Text, { style: {
61
15
  textTransform: 'uppercase',
62
16
  fontSize: 12,
63
- fontWeight: 'bold'
64
- },
65
- children: t.subscription.title
66
- }),
67
- /*#__PURE__*/ _jsxs(View, {
68
- style: {
17
+ fontWeight: 'bold',
18
+ }, children: t.subscription.title }), _jsxs(View, { style: {
69
19
  flexDirection: 'row',
70
20
  justifyContent: 'space-between',
71
- gap: 4
72
- },
73
- children: [
74
- displayContent(t.subscription.vehicleName, quotation.vehicleName),
75
- /*#__PURE__*/ _jsxs(View, {
76
- style: {
21
+ gap: 4,
22
+ }, children: [displayContent(t.subscription.vehicleName, quotation.vehicleName), _jsxs(View, { style: {
77
23
  justifyContent: 'space-between',
78
24
  flexDirection: 'row',
79
- gap: 16
80
- },
81
- children: [
82
- displayContent(t.subscription.plan, getSimplifiedPlanTranslation(quotation.plan)),
83
- displayContent(t.subscription.mileagePackage, getFullMileagePackageTranslation(quotation.mileagePackage))
84
- ]
85
- })
86
- ]
87
- }),
88
- /*#__PURE__*/ _jsxs(View, {
89
- style: {
90
- rowGap: 8
91
- },
92
- children: [
93
- /*#__PURE__*/ _jsx(Text, {
94
- style: {
25
+ gap: 16,
26
+ }, children: [displayContent(t.subscription.plan, getSimplifiedPlanTranslation(quotation.plan)), displayContent(t.subscription.mileagePackage, getFullMileagePackageTranslation(quotation.mileagePackage))] })] }), _jsxs(View, { style: { rowGap: 8 }, children: [_jsx(Text, { style: {
95
27
  color: colors.primary3,
96
28
  fontWeight: 'bold',
97
- letterSpacing: 1
98
- },
99
- children: t.subIncludes.title
100
- }),
101
- t.subIncludes.content.map(function(line, i) {
102
- return /*#__PURE__*/ _jsxs(View, {
103
- style: {
104
- flexDirection: 'row',
105
- alignItems: 'flex-start',
106
- rowGap: 8
107
- },
108
- children: [
109
- /*#__PURE__*/ _jsx(Text, {
110
- style: {
111
- marginRight: 4
112
- },
113
- children: "•"
114
- }),
115
- /*#__PURE__*/ _jsx(Text, {
116
- style: {
117
- color: colors.primary3,
118
- letterSpacing: 1
119
- },
120
- children: line
121
- })
122
- ]
123
- }, i);
124
- })
125
- ]
126
- })
127
- ]
128
- }),
129
- children: quotation.mileagePackage !== 'unlimited' && /*#__PURE__*/ _jsxs(_Fragment, {
130
- children: [
131
- /*#__PURE__*/ _jsx(View, {
132
- style: {
133
- borderBottom: "1px solid ".concat(colors.primary2)
134
- }
135
- }),
136
- /*#__PURE__*/ _jsxs(View, {
137
- style: {
138
- padding: 16,
139
- rowGap: 16
140
- },
141
- children: [
142
- /*#__PURE__*/ _jsx(Text, {
143
- style: {
29
+ letterSpacing: 1,
30
+ }, children: t.subIncludes.title }), t.subIncludes.content.map((line, i) => (_jsxs(View
31
+ // biome-ignore lint/suspicious/noArrayIndexKey: <explanation>
32
+ , { style: {
33
+ flexDirection: 'row',
34
+ alignItems: 'flex-start',
35
+ rowGap: 8,
36
+ }, children: [_jsx(Text, { style: { marginRight: 4 }, children: "\u2022" }), _jsx(Text, { style: { color: colors.primary3, letterSpacing: 1 }, children: line })] }, i)))] })] }), children: quotation.mileagePackage !== 'unlimited' && (_jsxs(_Fragment, { children: [_jsx(View, { style: { borderBottom: `1px solid ${colors.primary2}` } }), _jsxs(View, { style: { padding: 16, rowGap: 16 }, children: [_jsx(Text, { style: {
144
37
  color: colors.primary3,
145
38
  fontWeight: 'bold',
146
- letterSpacing: 1
147
- },
148
- children: t.subIncludes.excessMileage.title
149
- }),
150
- /*#__PURE__*/ _jsx(Text, {
151
- style: {
39
+ letterSpacing: 1,
40
+ }, children: t.subIncludes.excessMileage.title }), _jsx(Text, { style: {
152
41
  fontSize: '9px',
153
42
  color: colors.primary3,
154
- letterSpacing: 1
155
- },
156
- children: t.subIncludes.excessMileage.description(quotation.fees.excessMileageFee || 0)
157
- })
158
- ]
159
- })
160
- ]
161
- })
162
- })
163
- });
43
+ letterSpacing: 1,
44
+ }, children: t.subIncludes.excessMileage.description(quotation.fees.excessMileageFee || 0) })] })] })) }) }));
164
45
  };
165
46
  export default CustomerSubscriptionSection;
47
+ //# sourceMappingURL=CustomerSubscriptionSection.js.map
@@ -2,60 +2,23 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { formatMoney } from '@driveflux/format-money';
3
3
  import { Text, View } from '@react-pdf/renderer';
4
4
  import { colors } from '../../theme/colors.js';
5
- var GFV = function(param) {
6
- var quotation = param.quotation, t = param.t;
7
- if (!quotation.fees.gfv) return;
8
- return /*#__PURE__*/ _jsxs(View, {
9
- style: {
10
- border: "1px solid ".concat(colors.primary2),
5
+ const GFV = ({ quotation, t }) => {
6
+ if (!quotation.fees.gfv)
7
+ return;
8
+ return (_jsxs(View, { style: {
9
+ border: `1px solid ${colors.primary2}`,
11
10
  padding: 16,
12
- rowGap: 16
13
- },
14
- children: [
15
- /*#__PURE__*/ _jsx(Text, {
16
- style: {
11
+ rowGap: 16,
12
+ }, children: [_jsx(Text, { style: {
17
13
  color: colors.black,
18
14
  fontWeight: 'bold',
19
15
  letterSpacing: 1,
20
16
  textTransform: 'uppercase',
21
- flexWrap: 'nowrap'
22
- },
23
- children: t === null || t === void 0 ? void 0 : t.fees.gfv.title
24
- }),
25
- /*#__PURE__*/ _jsxs(View, {
26
- style: {
27
- display: 'flex',
28
- flexDirection: 'row',
29
- flexWrap: 'wrap'
30
- },
31
- children: [
32
- /*#__PURE__*/ _jsxs(Text, {
33
- style: {
17
+ flexWrap: 'nowrap',
18
+ }, children: t?.fees.gfv.title }), _jsxs(View, { style: { display: 'flex', flexDirection: 'row', flexWrap: 'wrap' }, children: [_jsxs(Text, { style: {
34
19
  color: colors.primary3,
35
- letterSpacing: 1
36
- },
37
- children: [
38
- "You have the option to purchase this vehicle with GFV amount of",
39
- ' '
40
- ]
41
- }),
42
- /*#__PURE__*/ _jsx(Text, {
43
- style: {
44
- fontWeight: 'bold',
45
- color: colors.primary3
46
- },
47
- children: formatMoney(quotation.fees.gfv)
48
- }),
49
- /*#__PURE__*/ _jsx(Text, {
50
- style: {
51
- color: colors.primary3,
52
- letterSpacing: 1
53
- },
54
- children: "at the end of your subscription."
55
- })
56
- ]
57
- })
58
- ]
59
- });
20
+ letterSpacing: 1,
21
+ }, children: ["You have the option to purchase this vehicle with GFV amount of", ' '] }), _jsx(Text, { style: { fontWeight: 'bold', color: colors.primary3 }, children: formatMoney(quotation.fees.gfv) }), _jsx(Text, { style: { color: colors.primary3, letterSpacing: 1 }, children: "at the end of your subscription." })] })] }));
60
22
  };
61
23
  export default GFV;
24
+ //# sourceMappingURL=GFV.js.map
@@ -2,70 +2,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Link, Text, View } from '@react-pdf/renderer';
3
3
  import FluxLogo from '../../components/FluxLogo.js';
4
4
  import { colors } from '../../theme/colors.js';
5
- var Header = function(param) {
6
- var tTitle = param.tTitle, quotationId = param.quotationId, quotationDate = param.quotationDate;
7
- return /*#__PURE__*/ _jsxs(View, {
8
- style: {
9
- gap: 24
10
- },
11
- children: [
12
- /*#__PURE__*/ _jsx(Link, {
13
- src: "https://driveflux.com",
14
- children: /*#__PURE__*/ _jsx(FluxLogo, {})
15
- }),
16
- /*#__PURE__*/ _jsxs(View, {
17
- style: {
18
- gap: 4
19
- },
20
- children: [
21
- /*#__PURE__*/ _jsx(Text, {
22
- style: {
5
+ const Header = ({ tTitle, quotationId, quotationDate }) => {
6
+ return (_jsxs(View, { style: { gap: 24 }, children: [_jsx(Link, { src: "https://driveflux.com", children: _jsx(FluxLogo, {}) }), _jsxs(View, { style: { gap: 4 }, children: [_jsx(Text, { style: {
23
7
  fontWeight: 'bold',
24
8
  textTransform: 'uppercase',
25
- fontSize: 18
26
- },
27
- children: tTitle
28
- }),
29
- /*#__PURE__*/ _jsxs(View, {
30
- style: {
31
- justifyContent: 'space-between',
32
- flexDirection: 'row'
33
- },
34
- children: [
35
- /*#__PURE__*/ _jsx(Text, {
36
- style: {
37
- color: colors.primary3,
38
- fontSize: 10
39
- },
40
- children: quotationId
41
- }),
42
- /*#__PURE__*/ _jsxs(View, {
43
- style: {
44
- gap: 8,
45
- flexDirection: 'row'
46
- },
47
- children: [
48
- /*#__PURE__*/ _jsx(Text, {
49
- style: {
50
- fontSize: 10,
51
- color: colors.black
52
- },
53
- children: "Date"
54
- }),
55
- /*#__PURE__*/ _jsx(Text, {
56
- style: {
57
- color: colors.primary3,
58
- fontSize: 10
59
- },
60
- children: quotationDate
61
- })
62
- ]
63
- })
64
- ]
65
- })
66
- ]
67
- })
68
- ]
69
- });
9
+ fontSize: 18,
10
+ }, children: tTitle }), _jsxs(View, { style: { justifyContent: 'space-between', flexDirection: 'row' }, children: [_jsx(Text, { style: { color: colors.primary3, fontSize: 10 }, children: quotationId }), _jsxs(View, { style: { gap: 8, flexDirection: 'row' }, children: [_jsx(Text, { style: { fontSize: 10, color: colors.black }, children: "Date" }), _jsx(Text, { style: { color: colors.primary3, fontSize: 10 }, children: quotationDate })] })] })] })] }));
70
11
  };
71
12
  export default Header;
13
+ //# sourceMappingURL=Header.js.map