@driveflux/pdf 3.0.0-next.0 → 3.0.0-next.10

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 (40) hide show
  1. package/dist/__mocks__/quotation.js +10 -11
  2. package/dist/__mocks__/subscription.js +379 -121
  3. package/dist/__mocks__/tou.js +9 -10
  4. package/dist/components/FluxLogo.js +62 -3
  5. package/dist/components/StandardPage.js +99 -10
  6. package/dist/debug.js +205 -26
  7. package/dist/index.js +0 -1
  8. package/dist/templates/QuotationPdf/CustomerSubscriptionSection.js +145 -27
  9. package/dist/templates/QuotationPdf/GFV.js +49 -12
  10. package/dist/templates/QuotationPdf/Header.js +63 -5
  11. package/dist/templates/QuotationPdf/Pricing.js +573 -201
  12. package/dist/templates/QuotationPdf/QuotationPdfPage.js +23 -3
  13. package/dist/templates/QuotationPdf/SectionBoxNew.js +34 -4
  14. package/dist/templates/QuotationPdf/TermsSection.js +42 -5
  15. package/dist/templates/QuotationPdf/VehiclePhotos.js +54 -24
  16. package/dist/templates/QuotationPdf/index.js +189 -10
  17. package/dist/templates/QuotationPdf/translations.js +34 -22
  18. package/dist/templates/QuotationPdf/utils.d.ts +2 -2
  19. package/dist/templates/QuotationPdf/utils.js +58 -29
  20. package/dist/templates/SubscriptionAgreement/Confirmation.js +65 -10
  21. package/dist/templates/SubscriptionAgreement/CoverPage.js +93 -10
  22. package/dist/templates/SubscriptionAgreement/CoverPageSection.js +16 -5
  23. package/dist/templates/SubscriptionAgreement/Details.js +129 -51
  24. package/dist/templates/SubscriptionAgreement/Footer.js +48 -6
  25. package/dist/templates/SubscriptionAgreement/Header.js +35 -5
  26. package/dist/templates/SubscriptionAgreement/LabelValue.js +25 -3
  27. package/dist/templates/SubscriptionAgreement/SubscriptionAgreementPage.js +26 -3
  28. package/dist/templates/SubscriptionAgreement/TermsOfUse.js +94 -8
  29. package/dist/templates/SubscriptionAgreement/TermsOfUseSubSection.js +97 -11
  30. package/dist/templates/SubscriptionAgreement/index.js +245 -15
  31. package/dist/templates/SubscriptionAgreement/translations.js +195 -194
  32. package/dist/templates/SubscriptionAgreement/types.js +1 -2
  33. package/dist/templates/SubscriptionAgreement/utils.js +16 -11
  34. package/dist/templates/index.js +0 -1
  35. package/dist/theme/colors.js +44 -63
  36. package/dist/theme/index.js +0 -1
  37. package/dist/types.js +1 -2
  38. package/dist/utils.js +159 -16
  39. package/dist/watch.js +3 -4
  40. package/package.json +7 -7
@@ -1,13 +1,43 @@
1
+ function _object_without_properties(source, excluded) {
2
+ if (source == null) return {};
3
+ var target = _object_without_properties_loose(source, excluded);
4
+ var key, i;
5
+ if (Object.getOwnPropertySymbols) {
6
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
7
+ for(i = 0; i < sourceSymbolKeys.length; i++){
8
+ key = sourceSymbolKeys[i];
9
+ if (excluded.indexOf(key) >= 0) continue;
10
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
11
+ target[key] = source[key];
12
+ }
13
+ }
14
+ return target;
15
+ }
16
+ function _object_without_properties_loose(source, excluded) {
17
+ if (source == null) return {};
18
+ var target = {};
19
+ var sourceKeys = Object.keys(source);
20
+ var key, i;
21
+ for(i = 0; i < sourceKeys.length; i++){
22
+ key = sourceKeys[i];
23
+ if (excluded.indexOf(key) >= 0) continue;
24
+ target[key] = source[key];
25
+ }
26
+ return target;
27
+ }
1
28
  import { formatMoney } from '@driveflux/format-money';
2
- export const formatAddress = (originalAddress) => {
3
- const { coordinates, ...address } = originalAddress;
4
- return Object.keys(address)
5
- .filter((key) => key !== 'name' && !!address[key])
6
- .map((a) => address[a])
7
- .join(', ');
29
+ export var formatAddress = function(originalAddress) {
30
+ var coordinates = originalAddress.coordinates, address = _object_without_properties(originalAddress, [
31
+ "coordinates"
32
+ ]);
33
+ return Object.keys(address).filter(function(key) {
34
+ return key !== 'name' && !!address[key];
35
+ }).map(function(a) {
36
+ return address[a];
37
+ }).join(', ');
8
38
  };
9
- export const getSimplifiedPlanTranslation = (plan) => {
10
- switch (plan) {
39
+ export var getSimplifiedPlanTranslation = function(plan) {
40
+ switch(plan){
11
41
  case 'plan60':
12
42
  return '60 Months';
13
43
  case 'plan36':
@@ -24,8 +54,8 @@ export const getSimplifiedPlanTranslation = (plan) => {
24
54
  return 'Unknown Plan';
25
55
  }
26
56
  };
27
- export const getMileagePackageTranslation = (mileagePackage) => {
28
- switch (mileagePackage) {
57
+ export var getMileagePackageTranslation = function(mileagePackage) {
58
+ switch(mileagePackage){
29
59
  case 'lite':
30
60
  return 'Lite';
31
61
  case 'standard':
@@ -38,8 +68,8 @@ export const getMileagePackageTranslation = (mileagePackage) => {
38
68
  return 'Unknown Mileage Package';
39
69
  }
40
70
  };
41
- export const getFullMileagePackageTranslation = (plan) => {
42
- switch (plan) {
71
+ export var getFullMileagePackageTranslation = function(plan) {
72
+ switch(plan){
43
73
  case 'lite':
44
74
  return 'Lite - 1,250KM';
45
75
  case 'standard':
@@ -52,25 +82,25 @@ export const getFullMileagePackageTranslation = (plan) => {
52
82
  return 'Unknown Mileage Package';
53
83
  }
54
84
  };
55
- export const getPromoNotes = (amount, discount) => {
56
- const { discountType, discountValue, maxRedemptions } = discount;
57
- switch (discountType) {
85
+ export var getPromoNotes = function(amount, discount) {
86
+ var discountType = discount.discountType, discountValue = discount.discountValue, maxRedemptions = discount.maxRedemptions;
87
+ switch(discountType){
58
88
  case 'percentage':
59
- return `Enjoy ${discountValue * 100}% off for ${maxRedemptions} month(s) for this vehicle.`;
60
- case 'fixed': {
61
- const money = formatMoney(discountValue);
62
- return amount <= 0
63
- ? `Enjoy free for ${maxRedemptions} month(s).`
64
- : `Enjoy ${money} off for the first ${maxRedemptions} month(s), then your subscription will switch to the regular price.`;
65
- }
66
- case 'forceAmount': {
67
- const money = formatMoney(Math.min(amount, discountValue));
68
- return `Enjoy only ${money} for ${maxRedemptions} month(s), then your subscription will switch to the regular price.`;
69
- }
89
+ return "Enjoy ".concat(discountValue * 100, "% off for ").concat(maxRedemptions, " month(s) for this vehicle.");
90
+ case 'fixed':
91
+ {
92
+ var money = formatMoney(discountValue);
93
+ return amount <= 0 ? "Enjoy free for ".concat(maxRedemptions, " month(s).") : "Enjoy ".concat(money, " off for the first ").concat(maxRedemptions, " month(s), then your subscription will switch to the regular price.");
94
+ }
95
+ case 'forceAmount':
96
+ {
97
+ var money1 = formatMoney(Math.min(amount, discountValue));
98
+ return "Enjoy only ".concat(money1, " for ").concat(maxRedemptions, " month(s), then your subscription will switch to the regular price.");
99
+ }
70
100
  }
71
101
  };
72
- export const getInspectionTypeTranslation = (inspectionType) => {
73
- switch (inspectionType) {
102
+ export var getInspectionTypeTranslation = function(inspectionType) {
103
+ switch(inspectionType){
74
104
  case 'exterior':
75
105
  return 'Exterior';
76
106
  case 'interior':
@@ -85,4 +115,3 @@ export const getInspectionTypeTranslation = (inspectionType) => {
85
115
  return inspectionType;
86
116
  }
87
117
  };
88
- //# sourceMappingURL=utils.js.map
@@ -4,22 +4,77 @@ import { Image, Text, View } from '@react-pdf/renderer';
4
4
  import { format } from 'date-fns';
5
5
  import { colors } from '../../theme/index.js';
6
6
  import LabelValue from './LabelValue.js';
7
- const Confirmation = ({ tConfirmation, subscription, signature, }) => {
7
+ var Confirmation = function(param) {
8
+ var tConfirmation = param.tConfirmation, subscription = param.subscription, signature = param.signature;
9
+ var _subscription_user_identification;
8
10
  if (!signature.signature) {
9
11
  throw new Error('Missing signature');
10
12
  }
11
- const border = `1px solid ${colors.primary2}`;
12
- return (_jsxs(View, { style: { borderLeft: border, borderRight: border, borderBottom: border }, children: [_jsx(View, { style: {
13
+ var border = "1px solid ".concat(colors.primary2);
14
+ return /*#__PURE__*/ _jsxs(View, {
15
+ style: {
16
+ borderLeft: border,
17
+ borderRight: border,
18
+ borderBottom: border
19
+ },
20
+ children: [
21
+ /*#__PURE__*/ _jsx(View, {
22
+ style: {
13
23
  backgroundColor: colors.primary1,
14
24
  borderTop: border,
15
- padding: 8,
16
- }, children: _jsx(Text, { style: {
25
+ padding: 8
26
+ },
27
+ children: /*#__PURE__*/ _jsx(Text, {
28
+ style: {
17
29
  fontWeight: 'bold',
18
30
  textTransform: 'uppercase',
19
- letterSpacing: 1,
20
- }, children: tConfirmation.title }) }), _jsxs(View, { style: { padding: 8, paddingBottom: 16, rowGap: 8, borderTop: border }, children: [_jsx(Text, { children: tConfirmation.agreementText(subscription.businessId ? 'business' : 'member') }), _jsx(View, { style: { height: 160, alignItems: 'flex-start' }, children: _jsx(Image, { src: signature.signature || '' }) }), _jsxs(View, { style: { rowGap: 8 }, children: [_jsx(LabelValue, { label: tConfirmation.name, value: userName(subscription.user) }), _jsx(LabelValue, { label: tConfirmation.idOrPassportNo, value: subscription.user.identification?.number }), _jsx(LabelValue, { label: tConfirmation.date, value: signature.signedAt
21
- ? format(signature.signedAt, 'dd-MM-yyyy hh:mm a')
22
- : undefined })] })] })] }));
31
+ letterSpacing: 1
32
+ },
33
+ children: tConfirmation.title
34
+ })
35
+ }),
36
+ /*#__PURE__*/ _jsxs(View, {
37
+ style: {
38
+ padding: 8,
39
+ paddingBottom: 16,
40
+ rowGap: 8,
41
+ borderTop: border
42
+ },
43
+ children: [
44
+ /*#__PURE__*/ _jsx(Text, {
45
+ children: tConfirmation.agreementText(subscription.businessId ? 'business' : 'member')
46
+ }),
47
+ /*#__PURE__*/ _jsx(View, {
48
+ style: {
49
+ height: 160,
50
+ alignItems: 'flex-start'
51
+ },
52
+ children: /*#__PURE__*/ _jsx(Image, {
53
+ src: signature.signature || ''
54
+ })
55
+ }),
56
+ /*#__PURE__*/ _jsxs(View, {
57
+ style: {
58
+ rowGap: 8
59
+ },
60
+ children: [
61
+ /*#__PURE__*/ _jsx(LabelValue, {
62
+ label: tConfirmation.name,
63
+ value: userName(subscription.user)
64
+ }),
65
+ /*#__PURE__*/ _jsx(LabelValue, {
66
+ label: tConfirmation.idOrPassportNo,
67
+ value: (_subscription_user_identification = subscription.user.identification) === null || _subscription_user_identification === void 0 ? void 0 : _subscription_user_identification.number
68
+ }),
69
+ /*#__PURE__*/ _jsx(LabelValue, {
70
+ label: tConfirmation.date,
71
+ value: signature.signedAt ? format(signature.signedAt, 'dd-MM-yyyy hh:mm a') : undefined
72
+ })
73
+ ]
74
+ })
75
+ ]
76
+ })
77
+ ]
78
+ });
23
79
  };
24
80
  export default Confirmation;
25
- //# sourceMappingURL=Confirmation.js.map
@@ -5,24 +5,107 @@ import { format } from 'date-fns';
5
5
  import { colors } from '../../theme/colors.js';
6
6
  import CoverPageSection from './CoverPageSection.js';
7
7
  import LabelValue from './LabelValue.js';
8
- const CoverPage = ({ tTitle, tCover, signedAt, user, payerType, business, }) => {
9
- return (_jsxs(View, { style: { flex: 1, paddingVertical: 80, justifyContent: 'space-between' }, children: [_jsx(Text, { style: {
8
+ var CoverPage = function(param) {
9
+ var tTitle = param.tTitle, tCover = param.tCover, signedAt = param.signedAt, user = param.user, payerType = param.payerType, business = param.business;
10
+ var _user_identification;
11
+ return /*#__PURE__*/ _jsxs(View, {
12
+ style: {
13
+ flex: 1,
14
+ paddingVertical: 80,
15
+ justifyContent: 'space-between'
16
+ },
17
+ children: [
18
+ /*#__PURE__*/ _jsx(Text, {
19
+ style: {
10
20
  fontWeight: 'bold',
11
21
  fontSize: 40,
12
22
  textTransform: 'uppercase',
13
- flex: 1,
14
- }, children: tTitle }), _jsxs(View, { style: {
23
+ flex: 1
24
+ },
25
+ children: tTitle
26
+ }),
27
+ /*#__PURE__*/ _jsxs(View, {
28
+ style: {
15
29
  padding: 16,
16
30
  rowGap: 32,
17
- border: `1px solid ${colors.primary2}`,
18
- fontSize: 10,
19
- }, children: [_jsx(CoverPageSection, { title: tCover.effectiveDate, children: _jsxs(View, { style: { flexDirection: 'row', columnGap: 4 }, children: [_jsx(Text, { style: { textDecoration: 'underline' }, children: format(signedAt, 'do') }), _jsx(Text, { children: tCover.of }), _jsx(Text, { style: { textDecoration: 'underline' }, children: format(signedAt, 'MMM') }), _jsx(Text, { children: format(signedAt, 'yyyy') })] }) }), _jsxs(CoverPageSection, { title: tCover.agreementBetween, children: [payerType === 'business' && (_jsxs(_Fragment, { children: [_jsx(LabelValue, { label: tCover.companyName, value: business?.name }), _jsx(LabelValue, { label: tCover.companyNo, value: business?.registrationNumber })] })), payerType === 'user' && (_jsxs(_Fragment, { children: [_jsx(LabelValue, { label: tCover.name, value: userName(user) }), _jsx(LabelValue, { label: tCover.idOrPassportNo, value: user.identification?.number })] }))] }), _jsx(Text, { style: {
31
+ border: "1px solid ".concat(colors.primary2),
32
+ fontSize: 10
33
+ },
34
+ children: [
35
+ /*#__PURE__*/ _jsx(CoverPageSection, {
36
+ title: tCover.effectiveDate,
37
+ children: /*#__PURE__*/ _jsxs(View, {
38
+ style: {
39
+ flexDirection: 'row',
40
+ columnGap: 4
41
+ },
42
+ children: [
43
+ /*#__PURE__*/ _jsx(Text, {
44
+ style: {
45
+ textDecoration: 'underline'
46
+ },
47
+ children: format(signedAt, 'do')
48
+ }),
49
+ /*#__PURE__*/ _jsx(Text, {
50
+ children: tCover.of
51
+ }),
52
+ /*#__PURE__*/ _jsx(Text, {
53
+ style: {
54
+ textDecoration: 'underline'
55
+ },
56
+ children: format(signedAt, 'MMM')
57
+ }),
58
+ /*#__PURE__*/ _jsx(Text, {
59
+ children: format(signedAt, 'yyyy')
60
+ })
61
+ ]
62
+ })
63
+ }),
64
+ /*#__PURE__*/ _jsxs(CoverPageSection, {
65
+ title: tCover.agreementBetween,
66
+ children: [
67
+ payerType === 'business' && /*#__PURE__*/ _jsxs(_Fragment, {
68
+ children: [
69
+ /*#__PURE__*/ _jsx(LabelValue, {
70
+ label: tCover.companyName,
71
+ value: business === null || business === void 0 ? void 0 : business.name
72
+ }),
73
+ /*#__PURE__*/ _jsx(LabelValue, {
74
+ label: tCover.companyNo,
75
+ value: business === null || business === void 0 ? void 0 : business.registrationNumber
76
+ })
77
+ ]
78
+ }),
79
+ payerType === 'user' && /*#__PURE__*/ _jsxs(_Fragment, {
80
+ children: [
81
+ /*#__PURE__*/ _jsx(LabelValue, {
82
+ label: tCover.name,
83
+ value: userName(user)
84
+ }),
85
+ /*#__PURE__*/ _jsx(LabelValue, {
86
+ label: tCover.idOrPassportNo,
87
+ value: (_user_identification = user.identification) === null || _user_identification === void 0 ? void 0 : _user_identification.number
88
+ })
89
+ ]
90
+ })
91
+ ]
92
+ }),
93
+ /*#__PURE__*/ _jsx(Text, {
94
+ style: {
20
95
  fontSize: 8,
21
96
  fontWeight: 'bold',
22
97
  color: colors.primary3,
23
98
  textTransform: 'uppercase',
24
- letterSpacing: 1,
25
- }, children: tCover.and }), _jsx(Text, { children: "FLUX Sdn Bhd (1264766-H)" })] })] }));
99
+ letterSpacing: 1
100
+ },
101
+ children: tCover.and
102
+ }),
103
+ /*#__PURE__*/ _jsx(Text, {
104
+ children: "FLUX Sdn Bhd (1264766-H)"
105
+ })
106
+ ]
107
+ })
108
+ ]
109
+ });
26
110
  };
27
111
  export default CoverPage;
28
- //# sourceMappingURL=CoverPage.js.map
@@ -1,14 +1,25 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Text, View } from '@react-pdf/renderer';
3
3
  import { colors } from '../../theme/colors.js';
4
- const CoverPageSection = ({ title, children, }) => {
5
- return (_jsxs(View, { style: { rowGap: 16 }, children: [_jsx(Text, { style: {
4
+ var CoverPageSection = function(param) {
5
+ var title = param.title, children = param.children;
6
+ return /*#__PURE__*/ _jsxs(View, {
7
+ style: {
8
+ rowGap: 16
9
+ },
10
+ children: [
11
+ /*#__PURE__*/ _jsx(Text, {
12
+ style: {
6
13
  fontSize: 8,
7
14
  fontWeight: 'bold',
8
15
  color: colors.primary3,
9
16
  textTransform: 'uppercase',
10
- letterSpacing: 1,
11
- }, children: `${title}:` }), children] }));
17
+ letterSpacing: 1
18
+ },
19
+ children: "".concat(title, ":")
20
+ }),
21
+ children
22
+ ]
23
+ });
12
24
  };
13
25
  export default CoverPageSection;
14
- //# sourceMappingURL=CoverPageSection.js.map
@@ -1,105 +1,184 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _object_spread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _define_property(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _object_spread_props(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
1
53
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
54
  import { userName } from '@driveflux/db/models/user';
3
55
  import { format } from '@driveflux/time';
4
56
  import { Text, View } from '@react-pdf/renderer';
5
57
  import { colors } from '../../theme/index.js';
6
58
  import LabelValue from './LabelValue.js';
7
- const Details = ({ tDetails, subscription }) => {
8
- let details = {};
59
+ var Details = function(param) {
60
+ var tDetails = param.tDetails, subscription = param.subscription;
61
+ var _subscription_vehicle, _subscription_vehicle1, _subscription_vehicle2, _subscription_vehicle3, _subscription_vehicle4;
62
+ var details = {};
9
63
  if (subscription.payerType === 'business') {
64
+ var _subscription_business;
10
65
  details.business = [
11
66
  {
12
67
  key: tDetails.business.name,
13
- value: subscription?.businessName,
68
+ value: subscription === null || subscription === void 0 ? void 0 : subscription.businessName
14
69
  },
15
70
  {
16
71
  key: tDetails.business.companyNo,
17
- value: subscription?.business?.registrationNumber,
18
- },
72
+ value: subscription === null || subscription === void 0 ? void 0 : (_subscription_business = subscription.business) === null || _subscription_business === void 0 ? void 0 : _subscription_business.registrationNumber
73
+ }
19
74
  ];
20
- }
21
- else {
75
+ } else {
76
+ var _subscription_user_identification;
22
77
  details.member = [
23
78
  {
24
79
  key: tDetails.member.name,
25
- value: userName(subscription.user),
80
+ value: userName(subscription.user)
26
81
  },
27
82
  {
28
83
  key: tDetails.member.idOrPassportNo,
29
- value: subscription.user.identification?.number,
30
- },
84
+ value: (_subscription_user_identification = subscription.user.identification) === null || _subscription_user_identification === void 0 ? void 0 : _subscription_user_identification.number
85
+ }
31
86
  ];
32
87
  }
33
- details = {
34
- ...details,
88
+ details = _object_spread_props(_object_spread({}, details), {
35
89
  vehicle: [
36
90
  {
37
91
  key: tDetails.vehicle.make,
38
- value: subscription.vehicle?.make,
92
+ value: (_subscription_vehicle = subscription.vehicle) === null || _subscription_vehicle === void 0 ? void 0 : _subscription_vehicle.make
39
93
  },
40
94
  {
41
95
  key: tDetails.vehicle.model,
42
- value: `${subscription.vehicle?.vehicleModel} ${subscription.vehicle?.variant}`,
96
+ value: "".concat((_subscription_vehicle1 = subscription.vehicle) === null || _subscription_vehicle1 === void 0 ? void 0 : _subscription_vehicle1.vehicleModel, " ").concat((_subscription_vehicle2 = subscription.vehicle) === null || _subscription_vehicle2 === void 0 ? void 0 : _subscription_vehicle2.variant)
43
97
  },
44
98
  {
45
99
  key: tDetails.vehicle.year,
46
- value: subscription.vehicle?.year,
100
+ value: (_subscription_vehicle3 = subscription.vehicle) === null || _subscription_vehicle3 === void 0 ? void 0 : _subscription_vehicle3.year
47
101
  },
48
102
  {
49
103
  key: tDetails.vehicle.plateNo,
50
- value: subscription.vehicle?.registrationNumber,
51
- },
104
+ value: (_subscription_vehicle4 = subscription.vehicle) === null || _subscription_vehicle4 === void 0 ? void 0 : _subscription_vehicle4.registrationNumber
105
+ }
52
106
  ],
53
107
  subscription: [
54
108
  {
55
109
  key: tDetails.subscription.subscriptionPlan,
56
- value: getPlanTranslation(subscription.plan),
110
+ value: getPlanTranslation(subscription.plan)
57
111
  },
58
112
  {
59
113
  key: tDetails.subscription.mileagePackage,
60
- value: getFullMileagePackageTranslation(subscription.mileagePackage),
114
+ value: getFullMileagePackageTranslation(subscription.mileagePackage)
61
115
  },
62
116
  {
63
117
  key: tDetails.subscription.startDate,
64
- value: subscription.startedAt
65
- ? format(subscription.startedAt, 'dd-MM-yyyy')
66
- : undefined,
118
+ value: subscription.startedAt ? format(subscription.startedAt, 'dd-MM-yyyy') : undefined
67
119
  },
68
120
  {
69
121
  key: tDetails.subscription.endDate,
70
- value: subscription.endedAt
71
- ? format(subscription.endedAt, 'dd-MM-yyyy')
72
- : subscription.scheduledEndAt
73
- ? format(subscription.scheduledEndAt, 'dd-MM-yyyy')
74
- : undefined,
75
- },
76
- ],
77
- };
78
- const border = `1px solid ${colors.primary2}`;
79
- return (_jsxs(View, { style: { borderLeft: border, borderRight: border }, children: [_jsx(View, { style: {
122
+ value: subscription.endedAt ? format(subscription.endedAt, 'dd-MM-yyyy') : subscription.scheduledEndAt ? format(subscription.scheduledEndAt, 'dd-MM-yyyy') : undefined
123
+ }
124
+ ]
125
+ });
126
+ var border = "1px solid ".concat(colors.primary2);
127
+ return /*#__PURE__*/ _jsxs(View, {
128
+ style: {
129
+ borderLeft: border,
130
+ borderRight: border
131
+ },
132
+ children: [
133
+ /*#__PURE__*/ _jsx(View, {
134
+ style: {
80
135
  backgroundColor: colors.primary1,
81
136
  borderTop: border,
82
- padding: 8,
83
- }, children: _jsx(Text, { style: {
137
+ padding: 8
138
+ },
139
+ children: /*#__PURE__*/ _jsx(Text, {
140
+ style: {
84
141
  fontWeight: 'bold',
85
142
  textTransform: 'uppercase',
86
- letterSpacing: 1,
87
- }, children: tDetails.agreement }) }), Object.keys(details).map((key, _i) => (_jsxs(View, { style: {
88
- padding: 8,
89
- paddingBottom: 16,
90
- rowGap: 8,
91
- borderTop: border,
92
- }, children: [_jsx(Text, { style: {
93
- textTransform: 'uppercase',
94
- color: colors.primary2,
95
- fontSize: 8,
96
- letterSpacing: 1,
97
- }, children: `${key} details` }), details[key].map((line) => (_jsx(LabelValue, { label: line.key, value: line.value }, line.key)))] }, key)))] }));
143
+ letterSpacing: 1
144
+ },
145
+ children: tDetails.agreement
146
+ })
147
+ }),
148
+ Object.keys(details).map(function(key, _i) {
149
+ return /*#__PURE__*/ _jsxs(View, {
150
+ style: {
151
+ padding: 8,
152
+ paddingBottom: 16,
153
+ rowGap: 8,
154
+ borderTop: border
155
+ },
156
+ children: [
157
+ /*#__PURE__*/ _jsx(Text, {
158
+ style: {
159
+ textTransform: 'uppercase',
160
+ color: colors.primary2,
161
+ fontSize: 8,
162
+ letterSpacing: 1
163
+ },
164
+ children: "".concat(key, " details")
165
+ }),
166
+ details[key].map(function(line) {
167
+ return /*#__PURE__*/ _jsx(LabelValue, {
168
+ label: line.key,
169
+ value: line.value
170
+ }, line.key);
171
+ })
172
+ ]
173
+ }, key);
174
+ })
175
+ ]
176
+ });
98
177
  };
99
178
  export default Details;
100
179
  // TODO: replace this with dump's once the package is ready
101
- const getPlanTranslation = (plan, vehicleType) => {
102
- switch (plan) {
180
+ var getPlanTranslation = function(plan, vehicleType) {
181
+ switch(plan){
103
182
  case 'plan60':
104
183
  return vehicleType === 'motorcycle' ? '60 Months' : '60 Months (Basic)';
105
184
  case 'plan36':
@@ -116,8 +195,8 @@ const getPlanTranslation = (plan, vehicleType) => {
116
195
  return 'Unknown Plan';
117
196
  }
118
197
  };
119
- const getFullMileagePackageTranslation = (plan) => {
120
- switch (plan) {
198
+ var getFullMileagePackageTranslation = function(plan) {
199
+ switch(plan){
121
200
  case 'lite':
122
201
  return 'Lite - 1,250KM';
123
202
  case 'standard':
@@ -130,4 +209,3 @@ const getFullMileagePackageTranslation = (plan) => {
130
209
  return 'Unknown Mileage Package';
131
210
  }
132
211
  };
133
- //# sourceMappingURL=Details.js.map