@zosmaai/medusa-documents-v2 0.2.13

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 (96) hide show
  1. package/.medusa/server/src/admin/index.js +1884 -0
  2. package/.medusa/server/src/admin/index.mjs +1881 -0
  3. package/.medusa/server/src/api/admin/documents/document-invoice-settings/invoice-template/route.js +40 -0
  4. package/.medusa/server/src/api/admin/documents/document-invoice-settings/route.js +62 -0
  5. package/.medusa/server/src/api/admin/documents/document-packing-slip-settings/route.js +62 -0
  6. package/.medusa/server/src/api/admin/documents/document-packing-slip-settings/template/route.js +40 -0
  7. package/.medusa/server/src/api/admin/documents/document-settings/document-address/route.js +47 -0
  8. package/.medusa/server/src/api/admin/documents/document-settings/india-gst/route.js +67 -0
  9. package/.medusa/server/src/api/admin/documents/document-settings/logo/route.js +67 -0
  10. package/.medusa/server/src/api/admin/documents/document-settings/route.js +36 -0
  11. package/.medusa/server/src/api/admin/documents/invoice/display-number/route.js +34 -0
  12. package/.medusa/server/src/api/admin/documents/invoice/generate/route.js +47 -0
  13. package/.medusa/server/src/api/admin/documents/invoice/route.js +112 -0
  14. package/.medusa/server/src/api/admin/documents/packing-slip/preview/route.js +47 -0
  15. package/.medusa/server/src/api/admin/documents/packing-slip/route.js +112 -0
  16. package/.medusa/server/src/links/invoice-order.js +13 -0
  17. package/.medusa/server/src/links/packing-slip-order.js +13 -0
  18. package/.medusa/server/src/modules/documents/assets/fonts/IBMPlexSans-Bold.ttf +0 -0
  19. package/.medusa/server/src/modules/documents/assets/fonts/IBMPlexSans-Regular.ttf +0 -0
  20. package/.medusa/server/src/modules/documents/assets/i18n/locales/de-AT/translation.json +26 -0
  21. package/.medusa/server/src/modules/documents/assets/i18n/locales/en/translation.json +26 -0
  22. package/.medusa/server/src/modules/documents/assets/i18n/locales/es/translation.json +26 -0
  23. package/.medusa/server/src/modules/documents/assets/i18n/locales/fr/translation.json +26 -0
  24. package/.medusa/server/src/modules/documents/assets/i18n/locales/pl/translation.json +26 -0
  25. package/.medusa/server/src/modules/documents/index.js +26 -0
  26. package/.medusa/server/src/modules/documents/loaders/i18next.js +49 -0
  27. package/.medusa/server/src/modules/documents/migrations/Migration20250228142557.js +39 -0
  28. package/.medusa/server/src/modules/documents/migrations/Migration20260810120000.js +14 -0
  29. package/.medusa/server/src/modules/documents/models/document-invoice-settings.js +29 -0
  30. package/.medusa/server/src/modules/documents/models/document-invoice.js +32 -0
  31. package/.medusa/server/src/modules/documents/models/document-packing-slip-settings.js +29 -0
  32. package/.medusa/server/src/modules/documents/models/document-packing-slip.js +32 -0
  33. package/.medusa/server/src/modules/documents/models/document-settings.js +33 -0
  34. package/.medusa/server/src/modules/documents/service.js +502 -0
  35. package/.medusa/server/src/modules/documents/services/generators/invoice-generator.js +78 -0
  36. package/.medusa/server/src/modules/documents/services/generators/packing-slip-generator.js +73 -0
  37. package/.medusa/server/src/modules/documents/services/templates/invoices/basic/basic-logo.js +55 -0
  38. package/.medusa/server/src/modules/documents/services/templates/invoices/basic/basic.js +52 -0
  39. package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/customer-info.js +69 -0
  40. package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header-for-logo.js +32 -0
  41. package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header-logo.js +29 -0
  42. package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header.js +35 -0
  43. package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/hr.js +23 -0
  44. package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/invoice-info.js +35 -0
  45. package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/table.js +97 -0
  46. package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/india-gst.js +72 -0
  47. package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/footer.js +41 -0
  48. package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/invoice-meta.js +22 -0
  49. package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/seller-info.js +42 -0
  50. package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/table.js +88 -0
  51. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/basic.js +52 -0
  52. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/customer-info-small.js +69 -0
  53. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/customer-info.js +65 -0
  54. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/header-small.js +37 -0
  55. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/header.js +37 -0
  56. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/hr.js +32 -0
  57. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-items-small.js +44 -0
  58. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-items.js +44 -0
  59. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-order-info-small.js +35 -0
  60. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-order-info.js +36 -0
  61. package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/small.js +53 -0
  62. package/.medusa/server/src/modules/documents/types/api.js +14 -0
  63. package/.medusa/server/src/modules/documents/types/constants.js +17 -0
  64. package/.medusa/server/src/modules/documents/types/dto.js +14 -0
  65. package/.medusa/server/src/modules/documents/types/template-kind.js +26 -0
  66. package/.medusa/server/src/modules/documents/utils/currency.js +18 -0
  67. package/.medusa/server/src/ui-components/actions-dropdown/actions-dropdown.js +15 -0
  68. package/.medusa/server/src/ui-components/actions-dropdown/invoice/button-generate-invoice.js +75 -0
  69. package/.medusa/server/src/ui-components/actions-dropdown/packing-slip/button-generate-packing-slip.js +72 -0
  70. package/.medusa/server/src/ui-components/index.js +21 -0
  71. package/.medusa/server/src/ui-components/orders/order-table/invoice-number-from-order.js +107 -0
  72. package/.medusa/server/src/ui-components/orders/order-table/packing-slip-number.js +107 -0
  73. package/.medusa/server/src/ui-components/orders/order-table/use-columns.js +172 -0
  74. package/.medusa/server/src/ui-components/orders/order-table/use-orders.js +145 -0
  75. package/.medusa/server/src/ui-components/orders/order-table/utils/currencies.js +1077 -0
  76. package/.medusa/server/src/ui-components/orders/order-table/utils/time.js +53 -0
  77. package/.medusa/server/src/ui-components/orders/order-table.js +134 -0
  78. package/.medusa/server/src/ui-components/settings/settings-address.js +90 -0
  79. package/.medusa/server/src/ui-components/settings/settings-india-gst.js +90 -0
  80. package/.medusa/server/src/ui-components/settings/settings-invoice-display-number.js +55 -0
  81. package/.medusa/server/src/ui-components/settings/settings-invoice.js +139 -0
  82. package/.medusa/server/src/ui-components/settings/settings-logo.js +108 -0
  83. package/.medusa/server/src/ui-components/tabs/orders-tab.js +28 -0
  84. package/.medusa/server/src/ui-components/tabs/pro-tab.js +23 -0
  85. package/.medusa/server/src/ui-components/tabs/settings-tab.js +29 -0
  86. package/.medusa/server/src/ui-components/tabs/templates-tab/templates-invoice-tab.js +153 -0
  87. package/.medusa/server/src/ui-components/tabs/templates-tab/templates-packing-slip-tab.js +155 -0
  88. package/.medusa/server/src/ui-components/tabs/templates-tab/templates-tab.js +24 -0
  89. package/.medusa/server/src/ui-components/types/api.js +14 -0
  90. package/.medusa/server/src/ui-components/types/invoice.js +14 -0
  91. package/.medusa/server/src/ui-components/types/packing-slip.js +14 -0
  92. package/.medusa/server/src/ui-components/types/template-kind.js +26 -0
  93. package/.medusa/server/src/workflows/assign-invoice.js +31 -0
  94. package/.medusa/server/src/workflows/assign-packing-slip.js +31 -0
  95. package/README.md +171 -0
  96. package/package.json +103 -0
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateFooter = generateFooter;
4
+ async function generateFooter(doc, y, settings) {
5
+ const gst = settings.storeIndiaGstDetails;
6
+ const legalName = gst?.legalName || settings.storeAddress?.company || '';
7
+ const pageHeight = doc.page.height - 100;
8
+ let _y = y;
9
+ if (_y > pageHeight) {
10
+ doc.addPage();
11
+ _y = 50;
12
+ }
13
+ doc
14
+ .fillColor("#000000")
15
+ .font("Regular")
16
+ .fontSize(9)
17
+ .text(`For ${legalName}`, 400, _y, { width: 155, align: 'right' });
18
+ let signatureY = _y + 15;
19
+ if (gst?.signatureSource) {
20
+ try {
21
+ const responseImage = await fetch(gst.signatureSource);
22
+ if (responseImage.ok && responseImage.status == 200) {
23
+ const responseImageBuffer = await responseImage.arrayBuffer();
24
+ const responseBuffer = Buffer.from(responseImageBuffer);
25
+ doc.image(responseBuffer, 440, signatureY, { align: 'right', width: 115, height: 40 });
26
+ }
27
+ }
28
+ catch {
29
+ // ponytail: signature is optional, silently skip on fetch failure rather than breaking the invoice
30
+ }
31
+ signatureY += 45;
32
+ }
33
+ else {
34
+ signatureY += 40;
35
+ }
36
+ doc
37
+ .fontSize(9)
38
+ .text('Authorised Signatory', 400, signatureY, { width: 155, align: 'right' });
39
+ return signatureY + 15;
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9pbmRpYS1nc3QvcGFydHMvZm9vdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUEsd0NBd0NDO0FBeENNLEtBQUssVUFBVSxjQUFjLENBQUMsR0FBRyxFQUFFLENBQVMsRUFBRSxRQUE2QjtJQUNoRixNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsb0JBQW9CLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLFNBQVMsSUFBSSxRQUFRLENBQUMsWUFBWSxFQUFFLE9BQU8sSUFBSSxFQUFFLENBQUM7SUFFekUsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0lBQ3pDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNYLElBQUksRUFBRSxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQ3BCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNkLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsR0FBRztTQUNBLFNBQVMsQ0FBQyxTQUFTLENBQUM7U0FDcEIsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNmLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsT0FBTyxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUVyRSxJQUFJLFVBQVUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBRXpCLElBQUksR0FBRyxFQUFFLGVBQWUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQztZQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUN2RCxJQUFJLGFBQWEsQ0FBQyxFQUFFLElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDcEQsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDOUQsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2dCQUN4RCxHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3pGLENBQUM7UUFDSCxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsbUdBQW1HO1FBQ3JHLENBQUM7UUFDRCxVQUFVLElBQUksRUFBRSxDQUFDO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsR0FBRztTQUNBLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFakYsT0FBTyxVQUFVLEdBQUcsRUFBRSxDQUFDO0FBQ3pCLENBQUMifQ==
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateInvoiceMeta = generateInvoiceMeta;
4
+ const i18next_1 = require("i18next");
5
+ function generateInvoiceMeta(doc, y, invoice, order) {
6
+ doc.fillColor("#000000").font("Regular").fontSize(9);
7
+ const lines = [
8
+ `${(0, i18next_1.t)("invoice-number", "Invoice No")}: ${invoice.displayNumber}`,
9
+ `${(0, i18next_1.t)("invoice-date", "Invoice Date")}: ${new Date(order.created_at).toLocaleDateString()}`,
10
+ ];
11
+ const placeOfSupply = order.billing_address?.province || order.billing_address?.city;
12
+ if (placeOfSupply) {
13
+ lines.push(`Place of Supply: ${placeOfSupply}`);
14
+ }
15
+ let curY = y;
16
+ lines.forEach((line) => {
17
+ doc.text(line, 340, curY, { width: 215, align: 'right' });
18
+ curY += 13;
19
+ });
20
+ return curY;
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52b2ljZS1tZXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9pbnZvaWNlcy9pbmRpYS1nc3QvcGFydHMvaW52b2ljZS1tZXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBSUEsa0RBb0JDO0FBdEJELHFDQUE0QjtBQUU1QixTQUFnQixtQkFBbUIsQ0FBQyxHQUFHLEVBQUUsQ0FBUyxFQUFFLE9BQTJCLEVBQUUsS0FBZTtJQUM5RixHQUFHLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFckQsTUFBTSxLQUFLLEdBQUc7UUFDWixHQUFHLElBQUEsV0FBQyxFQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxhQUFhLEVBQUU7UUFDaEUsR0FBRyxJQUFBLFdBQUMsRUFBQyxjQUFjLEVBQUUsY0FBYyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLEVBQUU7S0FDM0YsQ0FBQztJQUVGLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxlQUFlLEVBQUUsUUFBUSxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDO0lBQ3JGLElBQUksYUFBYSxFQUFFLENBQUM7UUFDbEIsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ2IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3JCLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzFELElBQUksSUFBSSxFQUFFLENBQUM7SUFDYixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyJ9
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateSellerInfo = generateSellerInfo;
4
+ function generateSellerInfo(doc, y, settings) {
5
+ const gst = settings.storeIndiaGstDetails;
6
+ const legalName = gst?.legalName || settings.storeAddress?.company || '';
7
+ doc
8
+ .fillColor("#000000")
9
+ .font("Bold")
10
+ .fontSize(14)
11
+ .text(legalName, 40, y, { width: 300 });
12
+ const nameHeight = doc.heightOfString(legalName, { width: 300 });
13
+ const addressLine = [
14
+ settings.storeAddress?.address_1,
15
+ settings.storeAddress?.city,
16
+ settings.storeAddress?.province,
17
+ settings.storeAddress?.postal_code
18
+ ].filter(Boolean).join(', ');
19
+ const addrY = y + nameHeight + 4;
20
+ doc
21
+ .font("Regular")
22
+ .fontSize(9)
23
+ .text(addressLine, 40, addrY, { width: 300 });
24
+ const addrHeight = doc.heightOfString(addressLine, { width: 300 });
25
+ const idParts = [];
26
+ if (gst?.gstin)
27
+ idParts.push(`GSTIN: ${gst.gstin}`);
28
+ if (gst?.pan)
29
+ idParts.push(`PAN: ${gst.pan}`);
30
+ if (gst?.cin)
31
+ idParts.push(`CIN: ${gst.cin}`);
32
+ let idY = addrY + addrHeight + 6;
33
+ if (idParts.length) {
34
+ doc
35
+ .font("Bold")
36
+ .fontSize(9)
37
+ .text(idParts.join(' '), 40, idY, { width: 300 });
38
+ idY += 14;
39
+ }
40
+ return idY;
41
+ }
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsbGVyLWluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2luZGlhLWdzdC9wYXJ0cy9zZWxsZXItaW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGdEQXdDQztBQXhDRCxTQUFnQixrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBUyxFQUFFLFFBQTZCO0lBQzlFLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQztJQUMxQyxNQUFNLFNBQVMsR0FBRyxHQUFHLEVBQUUsU0FBUyxJQUFJLFFBQVEsQ0FBQyxZQUFZLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUV6RSxHQUFHO1NBQ0EsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ1osUUFBUSxDQUFDLEVBQUUsQ0FBQztTQUNaLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFakUsTUFBTSxXQUFXLEdBQUc7UUFDbEIsUUFBUSxDQUFDLFlBQVksRUFBRSxTQUFTO1FBQ2hDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsSUFBSTtRQUMzQixRQUFRLENBQUMsWUFBWSxFQUFFLFFBQVE7UUFDL0IsUUFBUSxDQUFDLFlBQVksRUFBRSxXQUFXO0tBQ25DLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU3QixNQUFNLEtBQUssR0FBRyxDQUFDLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNqQyxHQUFHO1NBQ0EsSUFBSSxDQUFDLFNBQVMsQ0FBQztTQUNmLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUNoRCxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsY0FBYyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRW5FLE1BQU0sT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUM3QixJQUFJLEdBQUcsRUFBRSxLQUFLO1FBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3BELElBQUksR0FBRyxFQUFFLEdBQUc7UUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDOUMsSUFBSSxHQUFHLEVBQUUsR0FBRztRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUU5QyxJQUFJLEdBQUcsR0FBRyxLQUFLLEdBQUcsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNqQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNuQixHQUFHO2FBQ0EsSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNaLFFBQVEsQ0FBQyxDQUFDLENBQUM7YUFDWCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDdEQsR0FBRyxJQUFJLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMifQ==
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateInvoiceTable = generateInvoiceTable;
4
+ const hr_1 = require("../../basic/parts/hr");
5
+ const i18next_1 = require("i18next");
6
+ const currency_1 = require("../../../../../utils/currency");
7
+ function amountToDisplayNormalized(amount, currencyCode) {
8
+ const decimalDigits = (0, currency_1.getDecimalDigits)(currencyCode);
9
+ return `${parseFloat(amount.toString()).toFixed(decimalDigits)} ${currencyCode.toUpperCase()}`;
10
+ }
11
+ function generateTableRow(doc, y, item, hsn, quantity, unitCost, lineTotal) {
12
+ doc.fontSize(9);
13
+ const pageHeight = doc.page.height - 80;
14
+ const itemHeight = doc.heightOfString(item, { width: 190 });
15
+ const height = Math.max(itemHeight, 20);
16
+ let _y = y;
17
+ let nextY = y + height;
18
+ if (nextY > pageHeight) {
19
+ doc.addPage();
20
+ _y = 50;
21
+ nextY = _y + height;
22
+ }
23
+ doc
24
+ .text(item, 40, _y, { width: 190 })
25
+ .text(hsn, 235, _y, { width: 55 })
26
+ .text(quantity, 295, _y, { width: 45, align: "right" })
27
+ .text(unitCost, 345, _y, { width: 85, align: "right" })
28
+ .text(lineTotal, 435, _y, { width: 120, align: "right" });
29
+ return nextY;
30
+ }
31
+ function generateTotalRow(doc, y, label, amount) {
32
+ doc.text(label, 345, y, { width: 85, align: "right" });
33
+ doc.text(amount, 435, y, { width: 120, align: "right" });
34
+ return y + 15;
35
+ }
36
+ function generateInvoiceTable(doc, y, order, items, isInterState) {
37
+ let i;
38
+ const invoiceTableTop = y + 20;
39
+ const pageHeight = doc.page.height - 50;
40
+ doc.font("Bold").fontSize(9);
41
+ generateTableRow(doc, invoiceTableTop, (0, i18next_1.t)("invoice-table-header-item", "Item"), "HSN/SAC", (0, i18next_1.t)("invoice-table-header-quantity", "Qty"), (0, i18next_1.t)("invoice-table-header-unit-cost", "Unit Cost"), (0, i18next_1.t)("invoice-table-header-line-total", "Line Total"));
42
+ (0, hr_1.generateHr)(doc, invoiceTableTop + 15);
43
+ doc.font("Regular");
44
+ let currentY = invoiceTableTop + 25;
45
+ for (i = 0; i < items.length; i++) {
46
+ if (currentY > pageHeight) {
47
+ doc.addPage();
48
+ currentY = 50;
49
+ }
50
+ const item = items[i];
51
+ currentY = generateTableRow(doc, currentY, item.title, item.metadata?.hsn_code ? String(item.metadata.hsn_code) : '', item.quantity, amountToDisplayNormalized(Number(item.raw_unit_price.value), order.currency_code), amountToDisplayNormalized(Number(item.raw_unit_price.value) * item.quantity, order.currency_code));
52
+ currentY += 5;
53
+ if (currentY > pageHeight) {
54
+ doc.addPage();
55
+ currentY = 50;
56
+ }
57
+ (0, hr_1.generateHr)(doc, currentY);
58
+ currentY += 8;
59
+ }
60
+ currentY += 15;
61
+ if (currentY > pageHeight) {
62
+ doc.addPage();
63
+ currentY = 50;
64
+ }
65
+ const shippingTotal = order.shipping_subtotal.numeric;
66
+ const taxTotal = order.tax_total.numeric;
67
+ const grandTotal = order.total.numeric;
68
+ doc.fontSize(9);
69
+ currentY = generateTotalRow(doc, currentY, (0, i18next_1.t)("invoice-table-shipping", "Shipping"), amountToDisplayNormalized(shippingTotal, order.currency_code));
70
+ if (isInterState) {
71
+ currentY = generateTotalRow(doc, currentY, "IGST", amountToDisplayNormalized(taxTotal, order.currency_code));
72
+ }
73
+ else {
74
+ const half = taxTotal / 2;
75
+ currentY = generateTotalRow(doc, currentY, "CGST", amountToDisplayNormalized(half, order.currency_code));
76
+ currentY = generateTotalRow(doc, currentY, "SGST", amountToDisplayNormalized(half, order.currency_code));
77
+ }
78
+ currentY += 10;
79
+ if (currentY > pageHeight) {
80
+ doc.addPage();
81
+ currentY = 50;
82
+ }
83
+ doc.font("Bold");
84
+ generateTotalRow(doc, currentY, (0, i18next_1.t)("invoice-table-total", "Total"), amountToDisplayNormalized(grandTotal, order.currency_code));
85
+ doc.font("Regular");
86
+ return currentY + 25;
87
+ }
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL2ludm9pY2VzL2luZGlhLWdzdC9wYXJ0cy90YWJsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTBDQSxvREFpR0M7QUEzSUQsNkNBQWtEO0FBQ2xELHFDQUE0QjtBQUU1Qiw0REFBaUU7QUFHakUsU0FBUyx5QkFBeUIsQ0FBQyxNQUFjLEVBQUUsWUFBb0I7SUFDckUsTUFBTSxhQUFhLEdBQUcsSUFBQSwyQkFBZ0IsRUFBQyxZQUFZLENBQUMsQ0FBQztJQUNyRCxPQUFPLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxZQUFZLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztBQUNqRyxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTO0lBQ3hFLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFaEIsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO0lBQ3hDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDNUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1gsSUFBSSxLQUFLLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQztJQUV2QixJQUFJLEtBQUssR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUN2QixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZCxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsS0FBSyxHQUFHLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDdEIsQ0FBQztJQUVELEdBQUc7U0FDQSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUFDO1NBQ2pDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1NBQ3RELElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO1NBQ3RELElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFNUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNO0lBQzdDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZELEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3pELE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQ2xDLEdBQUcsRUFDSCxDQUFTLEVBQ1QsS0FBZSxFQUNmLEtBQXlCLEVBQ3pCLFlBQXFCO0lBRXJCLElBQUksQ0FBQyxDQUFDO0lBQ04sTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUMvQixNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFFeEMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0IsZ0JBQWdCLENBQ2QsR0FBRyxFQUNILGVBQWUsRUFDZixJQUFBLFdBQUMsRUFBQywyQkFBMkIsRUFBRSxNQUFNLENBQUMsRUFDdEMsU0FBUyxFQUNULElBQUEsV0FBQyxFQUFDLCtCQUErQixFQUFFLEtBQUssQ0FBQyxFQUN6QyxJQUFBLFdBQUMsRUFBQyxnQ0FBZ0MsRUFBRSxXQUFXLENBQUMsRUFDaEQsSUFBQSxXQUFDLEVBQUMsaUNBQWlDLEVBQUUsWUFBWSxDQUFDLENBQ25ELENBQUM7SUFDRixJQUFBLGVBQVUsRUFBQyxHQUFHLEVBQUUsZUFBZSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEIsSUFBSSxRQUFRLEdBQUcsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUNwQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNsQyxJQUFJLFFBQVEsR0FBRyxVQUFVLEVBQUUsQ0FBQztZQUMxQixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZCxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFFRCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsUUFBUSxHQUFHLGdCQUFnQixDQUN6QixHQUFHLEVBQ0gsUUFBUSxFQUNSLElBQUksQ0FBQyxLQUFLLEVBQ1YsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQzdELElBQUksQ0FBQyxRQUFRLEVBQ2IseUJBQXlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxFQUNqRix5QkFBeUIsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDbEcsQ0FBQztRQUVGLFFBQVEsSUFBSSxDQUFDLENBQUM7UUFDZCxJQUFJLFFBQVEsR0FBRyxVQUFVLEVBQUUsQ0FBQztZQUMxQixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDZCxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLENBQUM7UUFDRCxJQUFBLGVBQVUsRUFBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDMUIsUUFBUSxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNmLElBQUksUUFBUSxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNkLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUVELE1BQU0sYUFBYSxHQUFJLEtBQUssQ0FBQyxpQkFBK0IsQ0FBQyxPQUFPLENBQUM7SUFDckUsTUFBTSxRQUFRLEdBQUksS0FBSyxDQUFDLFNBQXVCLENBQUMsT0FBTyxDQUFDO0lBQ3hELE1BQU0sVUFBVSxHQUFJLEtBQUssQ0FBQyxLQUFtQixDQUFDLE9BQU8sQ0FBQztJQUV0RCxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hCLFFBQVEsR0FBRyxnQkFBZ0IsQ0FDekIsR0FBRyxFQUNILFFBQVEsRUFDUixJQUFBLFdBQUMsRUFBQyx3QkFBd0IsRUFBRSxVQUFVLENBQUMsRUFDdkMseUJBQXlCLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDOUQsQ0FBQztJQUVGLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakIsUUFBUSxHQUFHLGdCQUFnQixDQUN6QixHQUFHLEVBQ0gsUUFBUSxFQUNSLE1BQU0sRUFDTix5QkFBeUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUN6RCxDQUFDO0lBQ0osQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLElBQUksR0FBRyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7UUFDekcsUUFBUSxHQUFHLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHlCQUF5QixDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQsUUFBUSxJQUFJLEVBQUUsQ0FBQztJQUNmLElBQUksUUFBUSxHQUFHLFVBQVUsRUFBRSxDQUFDO1FBQzFCLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNkLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDaEIsQ0FBQztJQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakIsZ0JBQWdCLENBQ2QsR0FBRyxFQUNILFFBQVEsRUFDUixJQUFBLFdBQUMsRUFBQyxxQkFBcUIsRUFBRSxPQUFPLENBQUMsRUFDakMseUJBQXlCLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FDM0QsQ0FBQztJQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEIsT0FBTyxRQUFRLEdBQUcsRUFBRSxDQUFDO0FBQ3ZCLENBQUMifQ==
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2024 RSC-Labs, https://rsoftcon.com/
4
+ *
5
+ * MIT License
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software
8
+ * distributed under the License is distributed on an "AS IS" BASIS,
9
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ * See the License for the specific language governing permissions and
11
+ * limitations under the License.
12
+ */
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.validateInput = validateInput;
18
+ const pdfkit_1 = __importDefault(require("pdfkit"));
19
+ const header_1 = require("./parts/header");
20
+ const customer_info_1 = require("./parts/customer-info");
21
+ const table_items_1 = require("./parts/table-items");
22
+ const table_order_info_1 = require("./parts/table-order-info");
23
+ const path_1 = __importDefault(require("path"));
24
+ function validateInput(settings) {
25
+ if (settings && settings.storeAddress && settings.storeAddress.company &&
26
+ settings.storeAddress.address_1 &&
27
+ settings.storeAddress.city &&
28
+ settings.storeAddress.postal_code)
29
+ return [true, ''];
30
+ return [false, `Not all settings are defined to generate template. Following settings are checked: company, address, city, postal_code`];
31
+ }
32
+ exports.default = async (settings, packingSlip, order) => {
33
+ var doc = new pdfkit_1.default();
34
+ doc.registerFont('Regular', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Regular.ttf'));
35
+ doc.registerFont('Bold', path_1.default.resolve(__dirname, '../../../../assets/fonts/IBMPlexSans-Bold.ttf'));
36
+ doc.font('Regular');
37
+ const buffers = [];
38
+ doc.on("data", buffers.push.bind(buffers));
39
+ const endHeader = (0, header_1.generateHeader)(doc, 30, settings);
40
+ const endY = (0, customer_info_1.generateCustomerInformation)(doc, endHeader, order);
41
+ const endTable = (0, table_order_info_1.generateOrderInfoTable)(doc, endY, order, order.items || []);
42
+ (0, table_items_1.generateItemsTable)(doc, endTable, order, order.items || []);
43
+ doc.end();
44
+ const bufferPromise = new Promise(resolve => {
45
+ doc.on("end", () => {
46
+ const pdfData = Buffer.concat(buffers);
47
+ resolve(pdfData);
48
+ });
49
+ });
50
+ return await bufferPromise;
51
+ };
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvYmFzaWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7Ozs7O0FBV0gsc0NBT0M7QUFoQkQsb0RBQWlDO0FBRWpDLDJDQUErQztBQUMvQyx5REFBb0U7QUFDcEUscURBQXlEO0FBQ3pELCtEQUFrRTtBQUNsRSxnREFBd0I7QUFHeEIsU0FBZ0IsYUFBYSxDQUFDLFFBQThCO0lBQzFELElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPO1FBQ3BFLFFBQVEsQ0FBQyxZQUFZLENBQUMsU0FBUztRQUMvQixRQUFRLENBQUMsWUFBWSxDQUFDLElBQUk7UUFDMUIsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXO1FBQ2pDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEIsT0FBTyxDQUFDLEtBQUssRUFBRSx3SEFBd0gsQ0FBQyxDQUFDO0FBQzNJLENBQUM7QUFFRCxrQkFBZSxLQUFLLEVBQUUsUUFBNkIsRUFBRSxXQUFtQyxFQUFFLEtBQWUsRUFBbUIsRUFBRTtJQUU1SCxJQUFJLEdBQUcsR0FBRyxJQUFJLGdCQUFXLEVBQUUsQ0FBQztJQUM1QixHQUFHLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxjQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxrREFBa0QsQ0FBQyxDQUFDLENBQUE7SUFDeEcsR0FBRyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsY0FBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsK0NBQStDLENBQUMsQ0FBQyxDQUFBO0lBQ2xHLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFcEIsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFBO0lBQ2xCLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7SUFFMUMsTUFBTSxTQUFTLEdBQUcsSUFBQSx1QkFBYyxFQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEQsTUFBTSxJQUFJLEdBQUcsSUFBQSwyQ0FBMkIsRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sUUFBUSxHQUFHLElBQUEseUNBQXNCLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3RSxJQUFBLGdDQUFrQixFQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7SUFFNUQsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBRVYsTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQVMsT0FBTyxDQUFDLEVBQUU7UUFDbEQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFO1lBQ2YsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUN0QyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDLENBQUMsQ0FBQTtJQUVGLE9BQU8sTUFBTSxhQUFhLENBQUM7QUFDN0IsQ0FBQyxDQUFDIn0=
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2024 RSC-Labs, https://rsoftcon.com/
4
+ *
5
+ * MIT License
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software
8
+ * distributed under the License is distributed on an "AS IS" BASIS,
9
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ * See the License for the specific language governing permissions and
11
+ * limitations under the License.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.generateCustomerInformation = generateCustomerInformation;
15
+ const hr_1 = require("./hr");
16
+ const i18next_1 = require("i18next");
17
+ function generateCustomerInformation(doc, y, order) {
18
+ (0, hr_1.generateHrInA7)(doc, y + 15);
19
+ const customerInformationTop = y + 25;
20
+ let heightOfBillToAddress;
21
+ if (order.billing_address) {
22
+ doc
23
+ .fontSize(6)
24
+ .font("Bold")
25
+ .text(`${(0, i18next_1.t)("packing-slip-bill-to", "Bill to")}:`, 25, customerInformationTop, { align: 'left' })
26
+ .font("Regular")
27
+ .text(`${order.billing_address.first_name} ${order.billing_address.last_name}`, 25, customerInformationTop + 10, { align: 'left' })
28
+ .text(`${order.billing_address.city} ${order.billing_address.postal_code}`, 25, customerInformationTop + 20, { align: 'left' });
29
+ const billAddress = order.billing_address.address_1;
30
+ heightOfBillToAddress = doc.heightOfString(billAddress);
31
+ doc.text(billAddress, 25, customerInformationTop + 30, { align: 'left' })
32
+ .moveDown();
33
+ }
34
+ let heightOfShipToAddress;
35
+ if (order.shipping_address) {
36
+ const RIGHT_MARGIN = 90;
37
+ const RIGHT_WIDTH = 100;
38
+ doc
39
+ .fontSize(6)
40
+ .font("Bold");
41
+ doc
42
+ .text(`${(0, i18next_1.t)("packing-slip-ship-to", "Ship to")}:`, RIGHT_MARGIN, customerInformationTop, { align: 'right', width: RIGHT_WIDTH })
43
+ .font("Regular");
44
+ doc
45
+ .text(`${order.shipping_address.first_name} ${order.shipping_address.last_name}`, RIGHT_MARGIN, customerInformationTop + 10, { align: 'right', width: RIGHT_WIDTH })
46
+ .text(`${order.shipping_address.city} ${order.shipping_address.postal_code}`, RIGHT_MARGIN, customerInformationTop + 20, { align: 'right', width: RIGHT_WIDTH })
47
+ .moveDown();
48
+ const shipAddress = order.shipping_address.address_1;
49
+ heightOfShipToAddress = doc.heightOfString(shipAddress, { width: RIGHT_WIDTH });
50
+ doc.text(shipAddress, RIGHT_MARGIN, customerInformationTop + 30, { align: 'right', width: RIGHT_WIDTH })
51
+ .moveDown();
52
+ }
53
+ if (heightOfBillToAddress && heightOfShipToAddress) {
54
+ if (heightOfShipToAddress > heightOfBillToAddress) {
55
+ return customerInformationTop + 30 + heightOfShipToAddress;
56
+ }
57
+ else {
58
+ return customerInformationTop + 30 + heightOfBillToAddress;
59
+ }
60
+ }
61
+ if (heightOfBillToAddress) {
62
+ return customerInformationTop + 30 + heightOfBillToAddress;
63
+ }
64
+ if (heightOfShipToAddress) {
65
+ return customerInformationTop + 30 + heightOfShipToAddress;
66
+ }
67
+ return customerInformationTop;
68
+ }
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItaW5mby1zbWFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2RvY3VtZW50cy9zZXJ2aWNlcy90ZW1wbGF0ZXMvcGFja2luZy1zbGlwcy9iYXNpYy9wYXJ0cy9jdXN0b21lci1pbmZvLXNtYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOztBQU1ILGtFQTZEQztBQWhFRCw2QkFBc0M7QUFDdEMscUNBQTRCO0FBRTVCLFNBQWdCLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBZTtJQUVqRSxJQUFBLG1CQUFjLEVBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUU1QixNQUFNLHNCQUFzQixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFdEMsSUFBSSxxQkFBeUMsQ0FBQztJQUU5QyxJQUFJLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUMxQixHQUFHO2FBQ0YsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUNYLElBQUksQ0FBQyxNQUFNLENBQUM7YUFDWixJQUFJLENBQUMsR0FBRyxJQUFBLFdBQUMsRUFBQyxzQkFBc0IsRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxzQkFBc0IsRUFBRSxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUMsQ0FBQzthQUM3RixJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ2YsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsc0JBQXNCLEdBQUcsRUFBRSxFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDO2FBQ2hJLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLEtBQUssQ0FBQyxl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
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2024 RSC-Labs, https://rsoftcon.com/
4
+ *
5
+ * MIT License
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software
8
+ * distributed under the License is distributed on an "AS IS" BASIS,
9
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ * See the License for the specific language governing permissions and
11
+ * limitations under the License.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.generateCustomerInformation = generateCustomerInformation;
15
+ const hr_1 = require("./hr");
16
+ const i18next_1 = require("i18next");
17
+ function generateCustomerInformation(doc, y, order) {
18
+ (0, hr_1.generateHr)(doc, y + 35);
19
+ const customerInformationTop = y + 50;
20
+ let heightOfBillToAddress;
21
+ if (order.billing_address) {
22
+ doc
23
+ .fontSize(10)
24
+ .font("Bold")
25
+ .text(`${(0, i18next_1.t)("packing-slip-bill-to", "Bill to")}:`, 50, customerInformationTop, { align: 'left' })
26
+ .font("Regular")
27
+ .text(`${order.billing_address.first_name} ${order.billing_address.last_name}`, 50, customerInformationTop + 15, { align: 'left' })
28
+ .text(`${order.billing_address.city} ${order.billing_address.postal_code}`, 50, customerInformationTop + 30, { align: 'left' });
29
+ const billAddress = order.billing_address.address_1;
30
+ heightOfBillToAddress = doc.heightOfString(billAddress, { width: 150 });
31
+ doc.text(billAddress, 50, customerInformationTop + 45, { align: 'left', width: 150 })
32
+ .moveDown();
33
+ }
34
+ let heightOfShipToAddress;
35
+ if (order.shipping_address) {
36
+ doc
37
+ .fontSize(10)
38
+ .font("Bold")
39
+ .text(`${(0, i18next_1.t)("packing-slip-ship-to", "Ship to")}:`, 50, customerInformationTop, { align: 'right' })
40
+ .font("Regular")
41
+ .text(`${order.shipping_address.first_name} ${order.shipping_address.last_name}`, 50, customerInformationTop + 15, { align: 'right' })
42
+ .text(`${order.shipping_address.city} ${order.shipping_address.postal_code}`, 50, customerInformationTop + 30, { align: 'right' })
43
+ .moveDown();
44
+ const shipAddress = order.shipping_address.address_1;
45
+ heightOfShipToAddress = doc.heightOfString(shipAddress, { width: 150 });
46
+ doc.text(shipAddress, 360, customerInformationTop + 45, { align: 'right', widdth: 150 })
47
+ .moveDown();
48
+ }
49
+ if (heightOfBillToAddress && heightOfShipToAddress) {
50
+ if (heightOfShipToAddress > heightOfBillToAddress) {
51
+ return customerInformationTop + 45 + heightOfShipToAddress;
52
+ }
53
+ else {
54
+ return customerInformationTop + 45 + heightOfBillToAddress;
55
+ }
56
+ }
57
+ if (heightOfBillToAddress) {
58
+ return customerInformationTop + 45 + heightOfBillToAddress;
59
+ }
60
+ if (heightOfShipToAddress) {
61
+ return customerInformationTop + 45 + heightOfShipToAddress;
62
+ }
63
+ return customerInformationTop;
64
+ }
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItaW5mby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2RvY3VtZW50cy9zZXJ2aWNlcy90ZW1wbGF0ZXMvcGFja2luZy1zbGlwcy9iYXNpYy9wYXJ0cy9jdXN0b21lci1pbmZvLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7OztHQVVHOztBQU1ILGtFQXNEQztBQTFERCw2QkFBa0M7QUFDbEMscUNBQTRCO0FBRzVCLFNBQWdCLDJCQUEyQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBZTtJQUVqRSxJQUFBLGVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBRXhCLE1BQU0sc0JBQXNCLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV0QyxJQUFJLHFCQUF5QyxDQUFDO0lBRTlDLElBQUksS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFCLEdBQUc7YUFDQSxRQUFRLENBQUMsRUFBRSxDQUFDO2FBQ1osSUFBSSxDQUFDLE1BQU0sQ0FBQzthQUNaLElBQUksQ0FBQyxHQUFHLElBQUEsV0FBQyxFQUFDLHNCQUFzQixFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLHNCQUFzQixFQUFFLEVBQUMsS0FBSyxFQUFFLE1BQU0sRUFBQyxDQUFDO2FBQzdGLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDZixJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLFVBQVUsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRSxzQkFBc0IsR0FBRyxFQUFFLEVBQUUsRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFDLENBQUM7YUFDaEksSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxXQUFX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
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2024 RSC-Labs, https://rsoftcon.com/
4
+ *
5
+ * MIT License
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software
8
+ * distributed under the License is distributed on an "AS IS" BASIS,
9
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ * See the License for the specific language governing permissions and
11
+ * limitations under the License.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.generateHeader = generateHeader;
15
+ const i18next_1 = require("i18next");
16
+ function generateHeader(doc, y, documentSettings) {
17
+ doc
18
+ .fillColor("#444444")
19
+ .fontSize(12);
20
+ doc
21
+ .text((0, i18next_1.t)("packing-slip", "Packing Slip"), 25, y, { align: "left" });
22
+ const heightCompany = doc.heightOfString(documentSettings.storeAddress?.company, { align: "left" });
23
+ doc
24
+ .fontSize(6)
25
+ .text(documentSettings.storeAddress?.company, 25, y + 25, { align: "left" })
26
+ .text(`${documentSettings.storeAddress?.city} ${documentSettings.storeAddress?.postal_code}`, 25, y + 35, { align: "left" });
27
+ const heightAddress = doc.heightOfString(documentSettings.storeAddress?.address_1, { width: 150 });
28
+ doc
29
+ .text(`${documentSettings.storeAddress?.address_1}`, 25, y + 45, { align: "left" });
30
+ if (heightCompany > heightAddress + 45) {
31
+ return heightCompany + y;
32
+ }
33
+ else {
34
+ return heightAddress + y + 45;
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLXNtYWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9wYWNraW5nLXNsaXBzL2Jhc2ljL3BhcnRzL2hlYWRlci1zbWFsbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7QUFLSCx3Q0F5QkM7QUEzQkQscUNBQTRCO0FBRTVCLFNBQWdCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBUyxFQUFFLGdCQUFxQztJQUNsRixHQUFHO1NBQ0EsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNwQixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFZixHQUFHO1NBQ0EsSUFBSSxDQUFDLElBQUEsV0FBQyxFQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFFcEUsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEcsR0FBRztTQUNBLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUMzRSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLGdCQUFnQixDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBRTlILE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBRWpHLEdBQUc7U0FDQSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUdyRixJQUFJLGFBQWEsR0FBRyxhQUFhLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDdkMsT0FBTyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxhQUFhLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2024 RSC-Labs, https://rsoftcon.com/
4
+ *
5
+ * MIT License
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software
8
+ * distributed under the License is distributed on an "AS IS" BASIS,
9
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ * See the License for the specific language governing permissions and
11
+ * limitations under the License.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.generateHeader = generateHeader;
15
+ const i18next_1 = require("i18next");
16
+ function generateHeader(doc, y, documentSettings) {
17
+ doc
18
+ .fillColor("#444444")
19
+ .fontSize(20);
20
+ doc
21
+ .text((0, i18next_1.t)("packing-slip", "Packing Slip"), 50, y, { align: "left" });
22
+ const heightCompany = doc.heightOfString(documentSettings.storeAddress?.company, { align: "left" });
23
+ doc
24
+ .fontSize(10)
25
+ .text(documentSettings.storeAddress?.company, 50, y + 30, { align: "left" })
26
+ .text(`${documentSettings.storeAddress?.city} ${documentSettings.storeAddress?.postal_code}`, 50, y + 45, { align: "left" });
27
+ const heightAddress = doc.heightOfString(documentSettings.storeAddress?.address_1, { width: 150 });
28
+ doc
29
+ .text(`${documentSettings.storeAddress?.address_1}`, 50, y + 60, { align: "left" });
30
+ if (heightCompany > heightAddress + 60) {
31
+ return heightCompany + y;
32
+ }
33
+ else {
34
+ return heightAddress + y + 60;
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvZG9jdW1lbnRzL3NlcnZpY2VzL3RlbXBsYXRlcy9wYWNraW5nLXNsaXBzL2Jhc2ljL3BhcnRzL2hlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7R0FVRzs7QUFLSCx3Q0F5QkM7QUEzQkQscUNBQTRCO0FBRTVCLFNBQWdCLGNBQWMsQ0FBQyxHQUFHLEVBQUUsQ0FBUyxFQUFFLGdCQUFxQztJQUNsRixHQUFHO1NBQ0EsU0FBUyxDQUFDLFNBQVMsQ0FBQztTQUNwQixRQUFRLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFZixHQUFHO1NBQ0EsSUFBSSxDQUFDLElBQUEsV0FBQyxFQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUE7SUFFcEUsTUFBTSxhQUFhLEdBQUcsR0FBRyxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDcEcsR0FBRztTQUNBLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDWixJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUMzRSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxJQUFJLGdCQUFnQixDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBRTlILE1BQU0sYUFBYSxHQUFHLEdBQUcsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBRSxHQUFHLEVBQUMsQ0FBQyxDQUFDO0lBRWpHLEdBQUc7U0FDQSxJQUFJLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUdyRixJQUFJLGFBQWEsR0FBRyxhQUFhLEdBQUcsRUFBRSxFQUFFLENBQUM7UUFDdkMsT0FBTyxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBQzNCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxhQUFhLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0FBQ0gsQ0FBQyJ9
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2024 RSC-Labs, https://rsoftcon.com/
4
+ *
5
+ * MIT License
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software
8
+ * distributed under the License is distributed on an "AS IS" BASIS,
9
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ * See the License for the specific language governing permissions and
11
+ * limitations under the License.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.generateHr = generateHr;
15
+ exports.generateHrInA7 = generateHrInA7;
16
+ function generateHr(doc, y, moveTo, lineTo) {
17
+ doc
18
+ .strokeColor("#aaaaaa")
19
+ .lineWidth(1)
20
+ .moveTo(moveTo ? moveTo : 50, y)
21
+ .lineTo(lineTo ? lineTo : 550, y)
22
+ .stroke();
23
+ }
24
+ function generateHrInA7(doc, y) {
25
+ doc
26
+ .strokeColor("#aaaaaa")
27
+ .lineWidth(1)
28
+ .moveTo(25, y)
29
+ .lineTo(190, y)
30
+ .stroke();
31
+ }
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvcGFydHMvaHIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBRUgsZ0NBT0M7QUFFRCx3Q0FPQztBQWhCRCxTQUFnQixVQUFVLENBQUMsR0FBRyxFQUFFLENBQVMsRUFBRSxNQUFlLEVBQUUsTUFBZTtJQUN6RSxHQUFHO1NBQ0EsV0FBVyxDQUFDLFNBQVMsQ0FBQztTQUN0QixTQUFTLENBQUMsQ0FBQyxDQUFDO1NBQ1osTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztTQUMvQixNQUFNLEVBQUUsQ0FBQztBQUNkLENBQUM7QUFFRCxTQUFnQixjQUFjLENBQUMsR0FBRyxFQUFFLENBQVM7SUFDM0MsR0FBRztTQUNBLFdBQVcsQ0FBQyxTQUFTLENBQUM7U0FDdEIsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUNaLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ2IsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDZCxNQUFNLEVBQUUsQ0FBQztBQUNkLENBQUMifQ==
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2024 RSC-Labs, https://rsoftcon.com/
4
+ *
5
+ * MIT License
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software
8
+ * distributed under the License is distributed on an "AS IS" BASIS,
9
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ * See the License for the specific language governing permissions and
11
+ * limitations under the License.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.generateItemsTable = generateItemsTable;
15
+ const hr_1 = require("./hr");
16
+ const i18next_1 = require("i18next");
17
+ function generateTableRow(doc, y, item, description, quantity) {
18
+ doc
19
+ .fontSize(6)
20
+ .text(item, 25, y)
21
+ .text(description, 80, y)
22
+ .text(quantity, 90, y, { align: "right", width: 100 });
23
+ }
24
+ function generateItemsTable(doc, y, order, items) {
25
+ let i;
26
+ const invoiceTableTop = y + 25;
27
+ let totalQuantity = 0;
28
+ doc.font("Bold");
29
+ generateTableRow(doc, invoiceTableTop, (0, i18next_1.t)("packing-slip-table-header-item", "Item"), (0, i18next_1.t)("packing-slip-table-header-description", "Description"), (0, i18next_1.t)("packing-slip-table-header-quantity", "Quantity"));
30
+ (0, hr_1.generateHrInA7)(doc, invoiceTableTop + 10);
31
+ doc.font("Regular");
32
+ for (i = 0; i < items.length; i++) {
33
+ const item = items[i];
34
+ totalQuantity += item.quantity;
35
+ const position = invoiceTableTop + (i + 1) * 20;
36
+ generateTableRow(doc, position, item.title, item.subtitle, item.quantity);
37
+ (0, hr_1.generateHrInA7)(doc, position + 10);
38
+ }
39
+ const totalQuantityPosition = invoiceTableTop + (i + 1) * 20;
40
+ doc.font("Bold");
41
+ generateTableRow(doc, totalQuantityPosition, "", (0, i18next_1.t)("packing-slip-table-header-total", "Total"), totalQuantity);
42
+ doc.font("Regular");
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaXRlbXMtc21hbGwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvcGFydHMvdGFibGUtaXRlbXMtc21hbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBb0JILGdEQTBDQztBQTNERCw2QkFBc0M7QUFDdEMscUNBQTRCO0FBRTVCLFNBQVMsZ0JBQWdCLENBQ3ZCLEdBQUcsRUFDSCxDQUFDLEVBQ0QsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRO0lBRVIsR0FBRztTQUNBLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDWCxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3hCLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVELFNBQWdCLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBZSxFQUFFLEtBQXlCO0lBQ25GLElBQUksQ0FBQyxDQUFDO0lBQ04sTUFBTSxlQUFlLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUUvQixJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7SUFFdEIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQixnQkFBZ0IsQ0FDZCxHQUFHLEVBQ0gsZUFBZSxFQUNmLElBQUEsV0FBQyxFQUFDLGdDQUFnQyxFQUFFLE1BQU0sQ0FBQyxFQUMzQyxJQUFBLFdBQUMsRUFBQyx1Q0FBdUMsRUFBRSxhQUFhLENBQUMsRUFDekQsSUFBQSxXQUFDLEVBQUMsb0NBQW9DLEVBQUUsVUFBVSxDQUFDLENBQ3BELENBQUM7SUFDRixJQUFBLG1CQUFjLEVBQUMsR0FBRyxFQUFFLGVBQWUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUMxQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBCLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hELGdCQUFnQixDQUNkLEdBQUcsRUFDSCxRQUFRLEVBQ1IsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUVGLElBQUEsbUJBQWMsRUFBQyxHQUFHLEVBQUUsUUFBUSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxNQUFNLHFCQUFxQixHQUFHLGVBQWUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0QsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNqQixnQkFBZ0IsQ0FDZCxHQUFHLEVBQ0gscUJBQXFCLEVBQ3JCLEVBQUUsRUFDRixJQUFBLFdBQUMsRUFBQyxpQ0FBaUMsRUFBRSxPQUFPLENBQUMsRUFDN0MsYUFBYSxDQUNkLENBQUM7SUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3RCLENBQUMifQ==
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright 2024 RSC-Labs, https://rsoftcon.com/
4
+ *
5
+ * MIT License
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software
8
+ * distributed under the License is distributed on an "AS IS" BASIS,
9
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ * See the License for the specific language governing permissions and
11
+ * limitations under the License.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.generateItemsTable = generateItemsTable;
15
+ const hr_1 = require("./hr");
16
+ const i18next_1 = require("i18next");
17
+ function generateTableRow(doc, y, item, description, quantity) {
18
+ doc
19
+ .fontSize(10)
20
+ .text(item, 50, y)
21
+ .text(description, 200, y)
22
+ .text(quantity, 0, y, { align: "right" });
23
+ }
24
+ function generateItemsTable(doc, y, order, items) {
25
+ let i;
26
+ const invoiceTableTop = y + 35;
27
+ let totalQuantity = 0;
28
+ doc.font("Bold");
29
+ generateTableRow(doc, invoiceTableTop, (0, i18next_1.t)("packing-slip-table-header-item", "Item"), (0, i18next_1.t)("packing-slip-table-header-description", "Description"), (0, i18next_1.t)("packing-slip-table-header-quantity", "Quantity"));
30
+ (0, hr_1.generateHr)(doc, invoiceTableTop + 20);
31
+ doc.font("Regular");
32
+ for (i = 0; i < items.length; i++) {
33
+ const item = items[i];
34
+ totalQuantity += item.quantity;
35
+ const position = invoiceTableTop + (i + 1) * 30;
36
+ generateTableRow(doc, position, item.title, item.subtitle, item.quantity);
37
+ (0, hr_1.generateHr)(doc, position + 20);
38
+ }
39
+ const totalQuantityPosition = invoiceTableTop + (i + 1) * 30;
40
+ doc.font("Bold");
41
+ generateTableRow(doc, totalQuantityPosition, "", (0, i18next_1.t)("packing-slip-table-header-total", "Total"), totalQuantity);
42
+ doc.font("Regular");
43
+ }
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtaXRlbXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9kb2N1bWVudHMvc2VydmljZXMvdGVtcGxhdGVzL3BhY2tpbmctc2xpcHMvYmFzaWMvcGFydHMvdGFibGUtaXRlbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7O0dBVUc7O0FBcUJILGdEQTBDQztBQTNERCw2QkFBa0M7QUFDbEMscUNBQTRCO0FBRTVCLFNBQVMsZ0JBQWdCLENBQ3ZCLEdBQUcsRUFDSCxDQUFDLEVBQ0QsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRO0lBRVIsR0FBRztTQUNBLFFBQVEsQ0FBQyxFQUFFLENBQUM7U0FDWixJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1NBQ3pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0FBQzlDLENBQUM7QUFFRCxTQUFnQixrQkFBa0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQWUsRUFBRSxLQUF5QjtJQUNuRixJQUFJLENBQUMsQ0FBQztJQUNOLE1BQU0sZUFBZSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFL0IsSUFBSSxhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBRXRCLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDakIsZ0JBQWdCLENBQ2QsR0FBRyxFQUNILGVBQWUsRUFDZixJQUFBLFdBQUMsRUFBQyxnQ0FBZ0MsRUFBRSxNQUFNLENBQUMsRUFDM0MsSUFBQSxXQUFDLEVBQUMsdUNBQXVDLEVBQUUsYUFBYSxDQUFDLEVBQ3pELElBQUEsV0FBQyxFQUFDLG9DQUFvQyxFQUFFLFVBQVUsQ0FBQyxDQUNwRCxDQUFDO0lBQ0YsSUFBQSxlQUFVLEVBQUMsR0FBRyxFQUFFLGVBQWUsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0QyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXBCLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixhQUFhLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUMvQixNQUFNLFFBQVEsR0FBRyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ2hELGdCQUFnQixDQUNkLEdBQUcsRUFDSCxRQUFRLEVBQ1IsSUFBSSxDQUFDLEtBQUssRUFDVixJQUFJLENBQUMsUUFBUSxFQUNiLElBQUksQ0FBQyxRQUFRLENBQ2QsQ0FBQztRQUVGLElBQUEsZUFBVSxFQUFDLEdBQUcsRUFBRSxRQUFRLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU0scUJBQXFCLEdBQUcsZUFBZSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM3RCxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pCLGdCQUFnQixDQUNkLEdBQUcsRUFDSCxxQkFBcUIsRUFDckIsRUFBRSxFQUNGLElBQUEsV0FBQyxFQUFDLGlDQUFpQyxFQUFFLE9BQU8sQ0FBQyxFQUM3QyxhQUFhLENBQ2QsQ0FBQztJQUNGLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDdEIsQ0FBQyJ9