av6-pdf-engine 1.0.1 → 1.0.3

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 (178) hide show
  1. package/.prettierignore +4 -0
  2. package/.prettierrc +6 -0
  3. package/README.md +4 -14
  4. package/dist/index.d.mts +296 -0
  5. package/dist/index.d.ts +296 -3
  6. package/dist/index.js +1979 -18
  7. package/dist/index.mjs +1940 -0
  8. package/package.json +12 -25
  9. package/dist/index.d.ts.map +0 -1
  10. package/dist/index.js.map +0 -1
  11. package/dist/renderer-engine/blocks/barcode.d.ts +0 -3
  12. package/dist/renderer-engine/blocks/barcode.d.ts.map +0 -1
  13. package/dist/renderer-engine/blocks/barcode.js +0 -47
  14. package/dist/renderer-engine/blocks/barcode.js.map +0 -1
  15. package/dist/renderer-engine/blocks/columns.d.ts +0 -3
  16. package/dist/renderer-engine/blocks/columns.d.ts.map +0 -1
  17. package/dist/renderer-engine/blocks/columns.js +0 -105
  18. package/dist/renderer-engine/blocks/columns.js.map +0 -1
  19. package/dist/renderer-engine/blocks/image.d.ts +0 -4
  20. package/dist/renderer-engine/blocks/image.d.ts.map +0 -1
  21. package/dist/renderer-engine/blocks/image.js +0 -57
  22. package/dist/renderer-engine/blocks/image.js.map +0 -1
  23. package/dist/renderer-engine/blocks/index.d.ts +0 -8
  24. package/dist/renderer-engine/blocks/index.d.ts.map +0 -1
  25. package/dist/renderer-engine/blocks/index.js +0 -24
  26. package/dist/renderer-engine/blocks/index.js.map +0 -1
  27. package/dist/renderer-engine/blocks/key-value-grid.d.ts +0 -3
  28. package/dist/renderer-engine/blocks/key-value-grid.d.ts.map +0 -1
  29. package/dist/renderer-engine/blocks/key-value-grid.js +0 -245
  30. package/dist/renderer-engine/blocks/key-value-grid.js.map +0 -1
  31. package/dist/renderer-engine/blocks/line.d.ts +0 -3
  32. package/dist/renderer-engine/blocks/line.d.ts.map +0 -1
  33. package/dist/renderer-engine/blocks/line.js +0 -35
  34. package/dist/renderer-engine/blocks/line.js.map +0 -1
  35. package/dist/renderer-engine/blocks/table.d.ts +0 -4
  36. package/dist/renderer-engine/blocks/table.d.ts.map +0 -1
  37. package/dist/renderer-engine/blocks/table.js +0 -201
  38. package/dist/renderer-engine/blocks/table.js.map +0 -1
  39. package/dist/renderer-engine/blocks/text.d.ts +0 -3
  40. package/dist/renderer-engine/blocks/text.d.ts.map +0 -1
  41. package/dist/renderer-engine/blocks/text.js +0 -52
  42. package/dist/renderer-engine/blocks/text.js.map +0 -1
  43. package/dist/renderer-engine/index.d.ts +0 -4
  44. package/dist/renderer-engine/index.d.ts.map +0 -1
  45. package/dist/renderer-engine/index.js +0 -215
  46. package/dist/renderer-engine/index.js.map +0 -1
  47. package/dist/renderer-engine/utils/block-renderer.d.ts +0 -17
  48. package/dist/renderer-engine/utils/block-renderer.d.ts.map +0 -1
  49. package/dist/renderer-engine/utils/block-renderer.js +0 -86
  50. package/dist/renderer-engine/utils/block-renderer.js.map +0 -1
  51. package/dist/renderer-engine/utils/context.d.ts +0 -3
  52. package/dist/renderer-engine/utils/context.d.ts.map +0 -1
  53. package/dist/renderer-engine/utils/context.js +0 -16
  54. package/dist/renderer-engine/utils/context.js.map +0 -1
  55. package/dist/renderer-engine/utils/ensure-space.d.ts +0 -9
  56. package/dist/renderer-engine/utils/ensure-space.d.ts.map +0 -1
  57. package/dist/renderer-engine/utils/ensure-space.js +0 -18
  58. package/dist/renderer-engine/utils/ensure-space.js.map +0 -1
  59. package/dist/renderer-engine/utils/env.d.ts +0 -3
  60. package/dist/renderer-engine/utils/env.d.ts.map +0 -1
  61. package/dist/renderer-engine/utils/env.js +0 -10
  62. package/dist/renderer-engine/utils/env.js.map +0 -1
  63. package/dist/renderer-engine/utils/finish-page.d.ts +0 -13
  64. package/dist/renderer-engine/utils/finish-page.d.ts.map +0 -1
  65. package/dist/renderer-engine/utils/finish-page.js +0 -27
  66. package/dist/renderer-engine/utils/finish-page.js.map +0 -1
  67. package/dist/renderer-engine/utils/footer.d.ts +0 -3
  68. package/dist/renderer-engine/utils/footer.d.ts.map +0 -1
  69. package/dist/renderer-engine/utils/footer.js +0 -89
  70. package/dist/renderer-engine/utils/footer.js.map +0 -1
  71. package/dist/renderer-engine/utils/header.d.ts +0 -3
  72. package/dist/renderer-engine/utils/header.d.ts.map +0 -1
  73. package/dist/renderer-engine/utils/header.js +0 -47
  74. package/dist/renderer-engine/utils/header.js.map +0 -1
  75. package/dist/renderer-engine/utils/image-loader.d.ts +0 -4
  76. package/dist/renderer-engine/utils/image-loader.d.ts.map +0 -1
  77. package/dist/renderer-engine/utils/image-loader.js +0 -52
  78. package/dist/renderer-engine/utils/image-loader.js.map +0 -1
  79. package/dist/renderer-engine/utils/index.d.ts +0 -19
  80. package/dist/renderer-engine/utils/index.d.ts.map +0 -1
  81. package/dist/renderer-engine/utils/index.js +0 -35
  82. package/dist/renderer-engine/utils/index.js.map +0 -1
  83. package/dist/renderer-engine/utils/layout.d.ts +0 -8
  84. package/dist/renderer-engine/utils/layout.d.ts.map +0 -1
  85. package/dist/renderer-engine/utils/layout.js +0 -22
  86. package/dist/renderer-engine/utils/layout.js.map +0 -1
  87. package/dist/renderer-engine/utils/measure-block-height.d.ts +0 -8
  88. package/dist/renderer-engine/utils/measure-block-height.d.ts.map +0 -1
  89. package/dist/renderer-engine/utils/measure-block-height.js +0 -220
  90. package/dist/renderer-engine/utils/measure-block-height.js.map +0 -1
  91. package/dist/renderer-engine/utils/page-background.d.ts +0 -6
  92. package/dist/renderer-engine/utils/page-background.d.ts.map +0 -1
  93. package/dist/renderer-engine/utils/page-background.js +0 -30
  94. package/dist/renderer-engine/utils/page-background.js.map +0 -1
  95. package/dist/renderer-engine/utils/page-flow.d.ts +0 -3
  96. package/dist/renderer-engine/utils/page-flow.d.ts.map +0 -1
  97. package/dist/renderer-engine/utils/page-flow.js +0 -9
  98. package/dist/renderer-engine/utils/page-flow.js.map +0 -1
  99. package/dist/renderer-engine/utils/page-limit.d.ts +0 -8
  100. package/dist/renderer-engine/utils/page-limit.d.ts.map +0 -1
  101. package/dist/renderer-engine/utils/page-limit.js +0 -15
  102. package/dist/renderer-engine/utils/page-limit.js.map +0 -1
  103. package/dist/renderer-engine/utils/qr-bar-code.d.ts +0 -17
  104. package/dist/renderer-engine/utils/qr-bar-code.d.ts.map +0 -1
  105. package/dist/renderer-engine/utils/qr-bar-code.js +0 -141
  106. package/dist/renderer-engine/utils/qr-bar-code.js.map +0 -1
  107. package/dist/renderer-engine/utils/signature.d.ts +0 -20
  108. package/dist/renderer-engine/utils/signature.d.ts.map +0 -1
  109. package/dist/renderer-engine/utils/signature.js +0 -214
  110. package/dist/renderer-engine/utils/signature.js.map +0 -1
  111. package/dist/renderer-engine/utils/start-page-layout.d.ts +0 -20
  112. package/dist/renderer-engine/utils/start-page-layout.d.ts.map +0 -1
  113. package/dist/renderer-engine/utils/start-page-layout.js +0 -34
  114. package/dist/renderer-engine/utils/start-page-layout.js.map +0 -1
  115. package/dist/renderer-engine/utils/styles.d.ts +0 -7
  116. package/dist/renderer-engine/utils/styles.d.ts.map +0 -1
  117. package/dist/renderer-engine/utils/styles.js +0 -124
  118. package/dist/renderer-engine/utils/styles.js.map +0 -1
  119. package/dist/renderer-engine/utils/watermark.d.ts +0 -11
  120. package/dist/renderer-engine/utils/watermark.d.ts.map +0 -1
  121. package/dist/renderer-engine/utils/watermark.js +0 -57
  122. package/dist/renderer-engine/utils/watermark.js.map +0 -1
  123. package/dist/types/barcode.d.ts +0 -23
  124. package/dist/types/barcode.d.ts.map +0 -1
  125. package/dist/types/barcode.js +0 -11
  126. package/dist/types/barcode.js.map +0 -1
  127. package/dist/types/columns.d.ts +0 -14
  128. package/dist/types/columns.d.ts.map +0 -1
  129. package/dist/types/columns.js +0 -3
  130. package/dist/types/columns.js.map +0 -1
  131. package/dist/types/common.d.ts +0 -102
  132. package/dist/types/common.d.ts.map +0 -1
  133. package/dist/types/common.js +0 -3
  134. package/dist/types/common.js.map +0 -1
  135. package/dist/types/context.d.ts +0 -17
  136. package/dist/types/context.d.ts.map +0 -1
  137. package/dist/types/context.js +0 -3
  138. package/dist/types/context.js.map +0 -1
  139. package/dist/types/image.d.ts +0 -13
  140. package/dist/types/image.d.ts.map +0 -1
  141. package/dist/types/image.js +0 -3
  142. package/dist/types/image.js.map +0 -1
  143. package/dist/types/index.d.ts +0 -13
  144. package/dist/types/index.d.ts.map +0 -1
  145. package/dist/types/index.js +0 -29
  146. package/dist/types/index.js.map +0 -1
  147. package/dist/types/key-value-grid.d.ts +0 -34
  148. package/dist/types/key-value-grid.d.ts.map +0 -1
  149. package/dist/types/key-value-grid.js +0 -3
  150. package/dist/types/key-value-grid.js.map +0 -1
  151. package/dist/types/line.d.ts +0 -11
  152. package/dist/types/line.d.ts.map +0 -1
  153. package/dist/types/line.js +0 -3
  154. package/dist/types/line.js.map +0 -1
  155. package/dist/types/page-break.d.ts +0 -5
  156. package/dist/types/page-break.d.ts.map +0 -1
  157. package/dist/types/page-break.js +0 -3
  158. package/dist/types/page-break.js.map +0 -1
  159. package/dist/types/qr.d.ts +0 -22
  160. package/dist/types/qr.d.ts.map +0 -1
  161. package/dist/types/qr.js +0 -10
  162. package/dist/types/qr.js.map +0 -1
  163. package/dist/types/signature.d.ts +0 -12
  164. package/dist/types/signature.d.ts.map +0 -1
  165. package/dist/types/signature.js +0 -3
  166. package/dist/types/signature.js.map +0 -1
  167. package/dist/types/table.d.ts +0 -32
  168. package/dist/types/table.d.ts.map +0 -1
  169. package/dist/types/table.js +0 -3
  170. package/dist/types/table.js.map +0 -1
  171. package/dist/types/text.d.ts +0 -19
  172. package/dist/types/text.d.ts.map +0 -1
  173. package/dist/types/text.js +0 -3
  174. package/dist/types/text.js.map +0 -1
  175. package/dist/types/utility.d.ts +0 -1
  176. package/dist/types/utility.d.ts.map +0 -1
  177. package/dist/types/utility.js +0 -2
  178. package/dist/types/utility.js.map +0 -1
package/package.json CHANGED
@@ -1,42 +1,29 @@
1
1
  {
2
2
  "name": "av6-pdf-engine",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
- "exports": {
7
- ".": {
8
- "types": "./dist/index.d.ts",
9
- "default": "./dist/index.js"
10
- }
11
- },
12
- "files": [
13
- "dist",
14
- "assets",
15
- "README.md",
16
- "LICENSE"
17
- ],
6
+ "module": "dist/index.mjs",
7
+ "description": "PDF engine for AV6 to create dynamic pdf from configure json",
8
+ "author": "Arka Provo Sen",
9
+ "license": "ISC",
18
10
  "scripts": {
19
11
  "clean": "rm -rf dist",
20
- "build": "pnpm run clean && tsc",
21
- "prepublishOnly": "pnpm run build",
22
- "dev": "ts-node src/app.ts",
23
- "demo": "ts-node scripts/demo.ts"
12
+ "build": "npm run clean && npm run format && tsup",
13
+ "format": "prettier --write **/*.ts"
24
14
  },
25
15
  "dependencies": {
26
- "@types/cors": "^2.8.19",
27
- "@types/express": "^5.0.5",
28
16
  "axios": "^1.13.2",
29
17
  "bwip-js": "^4.8.0",
30
18
  "pdfkit": "^0.15.0",
31
- "qrcode": "^1.5.4"
19
+ "qrcode": "^1.5.4",
20
+ "tsup": "^8.5.1"
32
21
  },
33
22
  "devDependencies": {
34
23
  "@types/bwip-js": "^3.2.3",
35
- "@types/node": "^22.0.0",
36
24
  "@types/pdfkit": "^0.13.6",
37
25
  "@types/qrcode": "^1.5.6",
38
- "ts-node": "^10.9.2",
39
- "typescript": "^5.4.0"
40
- },
41
- "packageManager": "pnpm@10.8.1+sha512.c50088ba998c67b8ca8c99df8a5e02fd2ae2e2b29aaf238feaa9e124248d3f48f9fb6db2424949ff901cffbb5e0f0cc1ad6aedb602cd29450751d11c35023677"
26
+ "typescript": "^5.4.0",
27
+ "prettier": "^3.6.2"
28
+ }
42
29
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,SAAS,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,0CAAwB"}
@@ -1,3 +0,0 @@
1
- import { BarcodeBlock, PageContext, RenderEnv } from "../../types";
2
- export declare const processBarcodeBlock: (doc: PDFKit.PDFDocument, ctx: PageContext, block: BarcodeBlock, y: number | null, env: RenderEnv, ensureSpaceFor: (heightNeeded: number, env: RenderEnv) => void) => number;
3
- //# sourceMappingURL=barcode.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"barcode.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/blocks/barcode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGnE,eAAO,MAAM,mBAAmB,GAC9B,KAAK,MAAM,CAAC,WAAW,EACvB,KAAK,WAAW,EAChB,OAAO,YAAY,EACnB,GAAG,MAAM,GAAG,IAAI,EAChB,KAAK,SAAS,EACd,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,KAC7D,MA4CF,CAAC"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processBarcodeBlock = void 0;
4
- const _1 = require("./");
5
- const processBarcodeBlock = (doc, ctx, block, y, env, ensureSpaceFor) => {
6
- var _a, _b, _c, _d, _e, _f;
7
- const imgSource = block.src;
8
- const imgWidth = (_a = block.width) !== null && _a !== void 0 ? _a : 120;
9
- const imgHeight = (_b = block.height) !== null && _b !== void 0 ? _b : 40;
10
- const localLeft = (_c = block.marginLeft) !== null && _c !== void 0 ? _c : 0;
11
- const localRight = (_d = block.marginRight) !== null && _d !== void 0 ? _d : 0;
12
- const baseLeft = env.marginLeft + localLeft;
13
- const availableWidth = Math.max(env.innerWidth - localLeft - localRight, 1);
14
- const mt = (_e = block.marginTop) !== null && _e !== void 0 ? _e : 0;
15
- const mb = (_f = block.marginBottom) !== null && _f !== void 0 ? _f : 0;
16
- const baseY = y !== null && y !== void 0 ? y : ctx.currentY;
17
- const startY = baseY + mt;
18
- const heightNeeded = mt + imgHeight + mb;
19
- if (y === null) {
20
- ensureSpaceFor(heightNeeded, env);
21
- }
22
- let x = baseLeft;
23
- if (block.align === "center") {
24
- x = baseLeft + (availableWidth - imgWidth) / 2;
25
- }
26
- else if (block.align === "right") {
27
- x = baseLeft + availableWidth - imgWidth;
28
- }
29
- const rotation = typeof block.rotate === "number"
30
- ? block.rotate
31
- : block.orientation === "vertical"
32
- ? 90
33
- : 0;
34
- try {
35
- (0, _1.drawRotatedImage)(doc, imgSource, x, startY, imgWidth, imgHeight, rotation);
36
- }
37
- catch (e) {
38
- // eslint-disable-next-line no-console
39
- console.warn("Failed to load barcode image:", e);
40
- }
41
- const newY = startY + imgHeight + mb;
42
- if (y === null)
43
- ctx.currentY = newY;
44
- return newY;
45
- };
46
- exports.processBarcodeBlock = processBarcodeBlock;
47
- //# sourceMappingURL=barcode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"barcode.js","sourceRoot":"","sources":["../../../src/renderer-engine/blocks/barcode.ts"],"names":[],"mappings":";;;AACA,yBAAsC;AAE/B,MAAM,mBAAmB,GAAG,CACjC,GAAuB,EACvB,GAAgB,EAChB,KAAmB,EACnB,CAAgB,EAChB,GAAc,EACd,cAA8D,EACtD,EAAE;;IACV,MAAM,SAAS,GAAG,KAAK,CAAC,GAAI,CAAC;IAC7B,MAAM,QAAQ,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,GAAG,CAAC;IACpC,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC;IAErC,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,UAAU,mCAAI,CAAC,CAAC;IACxC,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,WAAW,mCAAI,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC;IAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC,CAAC;IAE5E,MAAM,EAAE,GAAG,MAAA,KAAK,CAAC,SAAS,mCAAI,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,MAAA,KAAK,CAAC,YAAY,mCAAI,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC,aAAD,CAAC,cAAD,CAAC,GAAI,GAAG,CAAC,QAAQ,CAAC;IAChC,MAAM,MAAM,GAAG,KAAK,GAAG,EAAE,CAAC;IAC1B,MAAM,YAAY,GAAG,EAAE,GAAG,SAAS,GAAG,EAAE,CAAC;IAEzC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,cAAc,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,CAAC,GAAG,QAAQ,CAAC;IACjB,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC7B,CAAC,GAAG,QAAQ,GAAG,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,KAAK,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QACnC,CAAC,GAAG,QAAQ,GAAG,cAAc,GAAG,QAAQ,CAAC;IAC3C,CAAC;IAED,MAAM,QAAQ,GACZ,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAC9B,CAAC,CAAC,KAAK,CAAC,MAAM;QACd,CAAC,CAAC,KAAK,CAAC,WAAW,KAAK,UAAU;YAClC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,CAAC;IAER,IAAI,CAAC;QACH,IAAA,mBAAgB,EAAC,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7E,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,SAAS,GAAG,EAAE,CAAC;IACrC,IAAI,CAAC,KAAK,IAAI;QAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;IACpC,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAnDW,QAAA,mBAAmB,uBAmD9B"}
@@ -1,3 +0,0 @@
1
- import { Block, ColumnsBlock, PageContext, RenderEnv } from "../../types";
2
- export declare const processColumnsBlock: (ctx: PageContext, block: ColumnsBlock, y: number | null, env: RenderEnv, computeColumnPixelWidths: (widths: (number | "*")[], totalWidth: number) => number[], renderBlock: (block: Block, y: number | null, env: RenderEnv) => number, ensureSpaceFor: (heightNeeded: number, env: RenderEnv) => void, measureBlockHeight: (block: Block, env: RenderEnv) => number) => number;
3
- //# sourceMappingURL=columns.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"columns.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/blocks/columns.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE1E,eAAO,MAAM,mBAAmB,GAC9B,KAAK,WAAW,EAChB,OAAO,YAAY,EACnB,GAAG,MAAM,GAAG,IAAI,EAChB,KAAK,SAAS,EACd,0BAA0B,CACxB,MAAM,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,EACxB,UAAU,EAAE,MAAM,KACf,MAAM,EAAE,EACb,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,EACvE,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,EAC9D,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,KAAK,MAAM,KAC3D,MA6GF,CAAC"}
@@ -1,105 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processColumnsBlock = void 0;
4
- const processColumnsBlock = (ctx, block, y, env, computeColumnPixelWidths, renderBlock, ensureSpaceFor, measureBlockHeight) => {
5
- var _a, _b, _c, _d, _e, _f, _g;
6
- const blockLeft = (_a = block.marginLeft) !== null && _a !== void 0 ? _a : 0;
7
- const blockRight = (_b = block.marginRight) !== null && _b !== void 0 ? _b : 0;
8
- const baseLeft = env.marginLeft + blockLeft;
9
- const totalWidth = Math.max(env.innerWidth - blockLeft - blockRight, 1);
10
- const mt = (_c = block.marginTop) !== null && _c !== void 0 ? _c : 0;
11
- const mb = (_d = block.marginBottom) !== null && _d !== void 0 ? _d : 0;
12
- const cols = (_e = block.columns) !== null && _e !== void 0 ? _e : [];
13
- const n = cols.length;
14
- // Empty columns
15
- if (!n) {
16
- const baseY0 = y !== null && y !== void 0 ? y : ctx.currentY;
17
- const endY = baseY0 + mt + mb;
18
- if (y === null)
19
- ctx.currentY = endY;
20
- return endY;
21
- }
22
- // Compute column widths + gap
23
- let colWidths;
24
- const mode = (_f = block.mode) !== null && _f !== void 0 ? _f : "fixedGap";
25
- let gap;
26
- if (mode === "spaceBetween" && n > 1) {
27
- if (block.widths && block.widths.length === n) {
28
- colWidths = computeColumnPixelWidths(block.widths, totalWidth);
29
- }
30
- else {
31
- colWidths = Array(n).fill(totalWidth / n);
32
- }
33
- const totalColsWidth = colWidths.reduce((a, b) => a + b, 0);
34
- const remaining = Math.max(totalWidth - totalColsWidth, 0);
35
- gap = remaining / (n - 1);
36
- }
37
- else {
38
- gap = (_g = block.gap) !== null && _g !== void 0 ? _g : 20;
39
- const totalGapsWidth = gap * (n - 1);
40
- const widthForCols = Math.max(totalWidth - totalGapsWidth, 1);
41
- if (block.widths && block.widths.length === n) {
42
- colWidths = computeColumnPixelWidths(block.widths, widthForCols);
43
- }
44
- else {
45
- colWidths = Array(n).fill(widthForCols / n);
46
- }
47
- }
48
- // X origins
49
- const xBases = [];
50
- {
51
- let x = baseLeft;
52
- for (let i = 0; i < n; i++) {
53
- xBases.push(x);
54
- x += colWidths[i] + (i < n - 1 ? gap : 0);
55
- }
56
- }
57
- // ✅ PRE-MEASURE TOTAL HEIGHT (max of column heights)
58
- const measureColHeights = [];
59
- for (let colIndex = 0; colIndex < n; colIndex++) {
60
- const colEnvMeasure = {
61
- marginLeft: 0,
62
- innerWidth: colWidths[colIndex],
63
- allowPageBreak: false, // measure as keep-together
64
- };
65
- let h = 0;
66
- for (const b of cols[colIndex]) {
67
- if (b.visible === false)
68
- continue;
69
- h += measureBlockHeight(b, colEnvMeasure);
70
- }
71
- measureColHeights.push(h);
72
- }
73
- const maxColHeight = Math.max(...measureColHeights, 0);
74
- const totalHeightNeeded = mt + maxColHeight + mb;
75
- // ✅ IMPORTANT: call ensureSpaceFor BEFORE computing baseY/startY
76
- if (y === null) {
77
- ensureSpaceFor(totalHeightNeeded, env);
78
- }
79
- // Now recompute after potential page break
80
- const baseY = y !== null && y !== void 0 ? y : ctx.currentY;
81
- const startY = baseY + mt;
82
- // ✅ Render columns WITHOUT allowing breaks inside columns
83
- const heights = [];
84
- for (let colIndex = 0; colIndex < n; colIndex++) {
85
- const colEnv = {
86
- marginLeft: xBases[colIndex],
87
- innerWidth: colWidths[colIndex],
88
- allowPageBreak: false, // keep whole column block intact on one page
89
- };
90
- let colY = startY;
91
- for (const b of cols[colIndex]) {
92
- if (b.visible === false)
93
- continue;
94
- colY = renderBlock(b, colY, colEnv);
95
- }
96
- heights.push(colY - startY);
97
- }
98
- const maxHeight = Math.max(...heights, 0);
99
- const newY = startY + maxHeight + mb;
100
- if (y === null)
101
- ctx.currentY = newY;
102
- return newY;
103
- };
104
- exports.processColumnsBlock = processColumnsBlock;
105
- //# sourceMappingURL=columns.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"columns.js","sourceRoot":"","sources":["../../../src/renderer-engine/blocks/columns.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { ImageBlock, PageContext, RenderEnv } from "../../types";
2
- export declare const drawRotatedImage: (doc: PDFKit.PDFDocument, src: string | Buffer, x: number, y: number, width: number, height: number, rotationDeg: number) => void;
3
- export declare const processImageBlock: (doc: PDFKit.PDFDocument, ctx: PageContext, block: ImageBlock, y: number | null, env: RenderEnv, ensureSpaceFor: (heightNeeded: number, env: RenderEnv) => void) => number;
4
- //# sourceMappingURL=image.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/blocks/image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjE,eAAO,MAAM,gBAAgB,GAC3B,KAAK,MAAM,CAAC,WAAW,EACvB,KAAK,MAAM,GAAG,MAAM,EACpB,GAAG,MAAM,EACT,GAAG,MAAM,EACT,OAAO,MAAM,EACb,QAAQ,MAAM,EACd,aAAa,MAAM,SAcpB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,KAAK,MAAM,CAAC,WAAW,EACvB,KAAK,WAAW,EAChB,OAAO,UAAU,EACjB,GAAG,MAAM,GAAG,IAAI,EAChB,KAAK,SAAS,EACd,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,KAC7D,MAwCF,CAAC"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processImageBlock = exports.drawRotatedImage = void 0;
4
- const drawRotatedImage = (doc, src, x, y, width, height, rotationDeg) => {
5
- if (!rotationDeg) {
6
- doc.image(src, x, y, { width, height });
7
- return;
8
- }
9
- const cx = x + width / 2;
10
- const cy = y + height / 2;
11
- doc.save();
12
- doc.rotate(rotationDeg, { origin: [cx, cy] });
13
- doc.image(src, x, y, { width, height });
14
- doc.restore();
15
- };
16
- exports.drawRotatedImage = drawRotatedImage;
17
- const processImageBlock = (doc, ctx, block, y, env, ensureSpaceFor) => {
18
- var _a, _b, _c, _d, _e, _f;
19
- const imgSource = block.src;
20
- const imgWidth = (_a = block.width) !== null && _a !== void 0 ? _a : 80;
21
- const imgHeight = (_b = block.height) !== null && _b !== void 0 ? _b : 50;
22
- const localLeft = (_c = block.marginLeft) !== null && _c !== void 0 ? _c : 0;
23
- const localRight = (_d = block.marginRight) !== null && _d !== void 0 ? _d : 0;
24
- const baseLeft = env.marginLeft + localLeft;
25
- const availableWidth = Math.max(env.innerWidth - localLeft - localRight, 1);
26
- const mt = (_e = block.marginTop) !== null && _e !== void 0 ? _e : 0;
27
- const mb = (_f = block.marginBottom) !== null && _f !== void 0 ? _f : 0;
28
- const baseY = y !== null && y !== void 0 ? y : ctx.currentY;
29
- const startY = baseY + mt;
30
- const heightNeeded = mt + imgHeight + mb;
31
- if (y === null) {
32
- ensureSpaceFor(heightNeeded, env);
33
- }
34
- let x = baseLeft;
35
- if (block.align === "center") {
36
- x = baseLeft + (availableWidth - imgWidth) / 2;
37
- }
38
- else if (block.align === "right") {
39
- x = baseLeft + availableWidth - imgWidth;
40
- }
41
- try {
42
- doc.image(imgSource, x, startY, {
43
- width: imgWidth,
44
- height: imgHeight,
45
- });
46
- }
47
- catch (e) {
48
- // eslint-disable-next-line no-console
49
- console.warn("Failed to load image:", e);
50
- }
51
- const newY = startY + imgHeight + mb;
52
- if (y === null)
53
- ctx.currentY = newY;
54
- return newY;
55
- };
56
- exports.processImageBlock = processImageBlock;
57
- //# sourceMappingURL=image.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../src/renderer-engine/blocks/image.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- export * from "./barcode";
2
- export * from "./columns";
3
- export * from "./image";
4
- export * from "./key-value-grid";
5
- export * from "./line";
6
- export * from "./table";
7
- export * from "./text";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/blocks/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC"}
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./barcode"), exports);
18
- __exportStar(require("./columns"), exports);
19
- __exportStar(require("./image"), exports);
20
- __exportStar(require("./key-value-grid"), exports);
21
- __exportStar(require("./line"), exports);
22
- __exportStar(require("./table"), exports);
23
- __exportStar(require("./text"), exports);
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renderer-engine/blocks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB;AACxB,mDAAiC;AACjC,yCAAuB;AACvB,0CAAwB;AACxB,yCAAuB"}
@@ -1,3 +0,0 @@
1
- import { KeyValueGridBlock, PageContext, RenderEnv, StyleDef } from "../../types";
2
- export declare const processKeyValueGridBlock: (doc: PDFKit.PDFDocument, ctx: PageContext, styles: Record<string, StyleDef> | undefined, block: KeyValueGridBlock, y: number | null, env: RenderEnv, computeColumnPixelWidths: (widths: (number | "*")[], totalWidth: number) => number[], ensureSpaceFor: (heightNeeded: number, env: RenderEnv) => void) => number;
3
- //# sourceMappingURL=key-value-grid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"key-value-grid.d.ts","sourceRoot":"","sources":["../../../src/renderer-engine/blocks/key-value-grid.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,QAAQ,EAET,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,wBAAwB,GACnC,KAAK,MAAM,CAAC,WAAW,EACvB,KAAK,WAAW,EAChB,QAAQ,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,SAAS,EAC5C,OAAO,iBAAiB,EACxB,GAAG,MAAM,GAAG,IAAI,EAChB,KAAK,SAAS,EACd,0BAA0B,CACxB,MAAM,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,EACxB,UAAU,EAAE,MAAM,KACf,MAAM,EAAE,EACb,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,KAAK,IAAI,KAC7D,MA4SF,CAAC"}
@@ -1,245 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processKeyValueGridBlock = void 0;
4
- const utils_1 = require("../utils");
5
- const processKeyValueGridBlock = (doc, ctx, styles, block, y, env, computeColumnPixelWidths, ensureSpaceFor) => {
6
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
7
- const mt = (_a = block.marginTop) !== null && _a !== void 0 ? _a : 0;
8
- const mb = (_b = block.marginBottom) !== null && _b !== void 0 ? _b : 0;
9
- const rowGap = (_c = block.rowGap) !== null && _c !== void 0 ? _c : 4;
10
- const orientation = (_d = block.orientation) !== null && _d !== void 0 ? _d : "horizontal";
11
- const cols = (_e = block.columns) !== null && _e !== void 0 ? _e : [];
12
- const colCount = cols.length;
13
- if (!colCount) {
14
- const baseY = y !== null && y !== void 0 ? y : ctx.currentY;
15
- const endY = baseY + mt + mb;
16
- if (y === null)
17
- ctx.currentY = endY;
18
- return endY;
19
- }
20
- const blockLeft = (_f = block.marginLeft) !== null && _f !== void 0 ? _f : 0;
21
- const blockRight = (_g = block.marginRight) !== null && _g !== void 0 ? _g : 0;
22
- const baseLeft = env.marginLeft + blockLeft;
23
- // total area available for this grid (including gaps between columns)
24
- const totalWidth = Math.max(env.innerWidth - blockLeft - blockRight, 1);
25
- // gap between columns
26
- const columnGap = (_h = block.columnGap) !== null && _h !== void 0 ? _h : 30;
27
- const totalGapWidth = columnGap * (colCount - 1);
28
- // actual width available for the columns themselves
29
- const widthForCols = Math.max(totalWidth - totalGapWidth, 1);
30
- let colWidths;
31
- if (block.columnWidths && block.columnWidths.length === colCount) {
32
- const safeWidths = block.columnWidths.map((w) => w === undefined ? "*" : w);
33
- colWidths = computeColumnPixelWidths(safeWidths, widthForCols);
34
- }
35
- else {
36
- const equal = widthForCols / colCount;
37
- colWidths = Array(colCount).fill(equal);
38
- }
39
- // compute each column's X
40
- const xBases = [];
41
- {
42
- let x = baseLeft;
43
- for (let i = 0; i < colCount; i++) {
44
- xBases.push(x);
45
- x += colWidths[i] + columnGap;
46
- }
47
- }
48
- const maxRows = Math.max(...cols.map((c) => c.length));
49
- const separatorText = block.separator;
50
- const sepBoxWidth = separatorText ? 10 : 0;
51
- const baseKeyWidthRatio = 0.35;
52
- const resolveStyled = (base, styleNames) => (0, utils_1.resolveTextBlock)(styles, {
53
- ...base,
54
- style: styleNames,
55
- });
56
- const measureTextHeight = (tb, width) => {
57
- var _a, _b;
58
- const fontName = (0, utils_1.getFontNameForText)(tb);
59
- doc.font(fontName);
60
- doc.fontSize((_a = tb.fontSize) !== null && _a !== void 0 ? _a : 10);
61
- return doc.heightOfString((_b = tb.text) !== null && _b !== void 0 ? _b : "", { width });
62
- };
63
- // NEW: helpers to build base TextBlock with inline styles
64
- const buildKeyBlock = (item) => {
65
- var _a, _b, _c, _d;
66
- return ({
67
- type: "text",
68
- text: (_a = item.key) !== null && _a !== void 0 ? _a : "",
69
- align: (_b = block.keyAlign) !== null && _b !== void 0 ? _b : "left",
70
- ...((_c = block.keyTextStyle) !== null && _c !== void 0 ? _c : {}),
71
- ...((_d = item.keyTextStyle) !== null && _d !== void 0 ? _d : {}),
72
- });
73
- };
74
- const buildValueBlock = (item) => {
75
- var _a, _b, _c, _d;
76
- return ({
77
- type: "text",
78
- text: (_a = item.value) !== null && _a !== void 0 ? _a : "",
79
- align: (_b = block.valueAlign) !== null && _b !== void 0 ? _b : "left",
80
- ...((_c = block.valueTextStyle) !== null && _c !== void 0 ? _c : {}),
81
- ...((_d = item.valueTextStyle) !== null && _d !== void 0 ? _d : {}),
82
- });
83
- };
84
- // ---------- height estimation ----------
85
- let totalHeight = mt;
86
- if (orientation === "vertical") {
87
- const keyValueGap = (_j = block.verticalKeyValueGap) !== null && _j !== void 0 ? _j : 2;
88
- let maxColHeight = 0;
89
- for (let colIndex = 0; colIndex < colCount; colIndex++) {
90
- const col = cols[colIndex];
91
- const colWidth = colWidths[colIndex];
92
- let colHeight = 0;
93
- for (const item of col) {
94
- const keyStyleNames = (_l = (_k = item.keyStyle) !== null && _k !== void 0 ? _k : block.keyStyle) !== null && _l !== void 0 ? _l : undefined;
95
- const valueStyleNames = (_o = (_m = item.valueStyle) !== null && _m !== void 0 ? _m : block.valueStyle) !== null && _o !== void 0 ? _o : undefined;
96
- const keyBase = buildKeyBlock(item);
97
- const keyResolved = resolveStyled(keyBase, keyStyleNames);
98
- const keyHeight = measureTextHeight(keyResolved, colWidth);
99
- const valueBase = buildValueBlock(item);
100
- const valueResolved = resolveStyled(valueBase, valueStyleNames);
101
- const valueHeight = measureTextHeight(valueResolved, colWidth);
102
- const rowHeight = keyHeight + keyValueGap + valueHeight;
103
- colHeight += rowHeight + rowGap;
104
- }
105
- if (colHeight > maxColHeight)
106
- maxColHeight = colHeight;
107
- }
108
- totalHeight += maxColHeight;
109
- }
110
- else {
111
- for (let rowIndex = 0; rowIndex < maxRows; rowIndex++) {
112
- let rowHeight = 0;
113
- for (let colIndex = 0; colIndex < colCount; colIndex++) {
114
- const col = cols[colIndex];
115
- const item = col[rowIndex];
116
- if (!item)
117
- continue;
118
- const colWidth = colWidths[colIndex];
119
- const keyWidthPx = block.keyWidth === "*"
120
- ? Math.max(colWidth * baseKeyWidthRatio, 20)
121
- : (_p = block.keyWidth) !== null && _p !== void 0 ? _p : 80;
122
- const keyStyleNames = (_r = (_q = item.keyStyle) !== null && _q !== void 0 ? _q : block.keyStyle) !== null && _r !== void 0 ? _r : undefined;
123
- const valueStyleNames = (_t = (_s = item.valueStyle) !== null && _s !== void 0 ? _s : block.valueStyle) !== null && _t !== void 0 ? _t : undefined;
124
- const keyBase = buildKeyBlock(item);
125
- const keyResolved = resolveStyled(keyBase, keyStyleNames);
126
- const keyHeight = measureTextHeight(keyResolved, keyWidthPx);
127
- const valueBase = buildValueBlock(item);
128
- const valueResolved = resolveStyled(valueBase, valueStyleNames);
129
- const valueXInsideCol = keyWidthPx + (separatorText ? sepBoxWidth + 4 : 4);
130
- const valueWidth = Math.max(colWidth - valueXInsideCol, 1);
131
- const valueHeight = measureTextHeight(valueResolved, valueWidth);
132
- const cellHeight = Math.max(keyHeight, valueHeight);
133
- if (cellHeight > rowHeight)
134
- rowHeight = cellHeight;
135
- }
136
- if (rowHeight > 0) {
137
- totalHeight += rowHeight + rowGap;
138
- }
139
- }
140
- }
141
- totalHeight += mb;
142
- if (y === null) {
143
- ensureSpaceFor(totalHeight, env);
144
- }
145
- const baseY = y !== null && y !== void 0 ? y : ctx.currentY;
146
- let rowY = baseY + mt;
147
- // ---------- actual drawing ----------
148
- if (orientation === "vertical") {
149
- const keyValueGap = (_u = block.verticalKeyValueGap) !== null && _u !== void 0 ? _u : 2;
150
- let maxColBottom = rowY;
151
- for (let colIndex = 0; colIndex < colCount; colIndex++) {
152
- const col = cols[colIndex];
153
- const colWidth = colWidths[colIndex];
154
- const colX = xBases[colIndex];
155
- let colY = rowY;
156
- for (const item of col) {
157
- const keyStyleNames = (_w = (_v = item.keyStyle) !== null && _v !== void 0 ? _v : block.keyStyle) !== null && _w !== void 0 ? _w : undefined;
158
- const valueStyleNames = (_y = (_x = item.valueStyle) !== null && _x !== void 0 ? _x : block.valueStyle) !== null && _y !== void 0 ? _y : undefined;
159
- const keyBlock = buildKeyBlock(item);
160
- const keyResolved = resolveStyled(keyBlock, keyStyleNames);
161
- const keyHeight = measureTextHeight(keyResolved, colWidth);
162
- (0, utils_1.drawStyledText)(doc, keyResolved, colX, colY, colWidth);
163
- colY += keyHeight + keyValueGap;
164
- const valueBlock = buildValueBlock(item);
165
- const valueResolved = resolveStyled(valueBlock, valueStyleNames);
166
- const valueHeight = measureTextHeight(valueResolved, colWidth);
167
- (0, utils_1.drawStyledText)(doc, valueResolved, colX, colY, colWidth);
168
- colY += valueHeight + rowGap;
169
- }
170
- if (colY > maxColBottom)
171
- maxColBottom = colY;
172
- }
173
- rowY = maxColBottom;
174
- }
175
- else {
176
- for (let rowIndex = 0; rowIndex < maxRows; rowIndex++) {
177
- let rowHeight = 0;
178
- // measure this row
179
- for (let colIndex = 0; colIndex < colCount; colIndex++) {
180
- const col = cols[colIndex];
181
- const item = col[rowIndex];
182
- if (!item)
183
- continue;
184
- const colWidth = colWidths[colIndex];
185
- const keyWidthPx = block.keyWidth === "*"
186
- ? Math.max(colWidth * baseKeyWidthRatio, 20)
187
- : (_z = block.keyWidth) !== null && _z !== void 0 ? _z : 80;
188
- const keyStyleNames = (_1 = (_0 = item.keyStyle) !== null && _0 !== void 0 ? _0 : block.keyStyle) !== null && _1 !== void 0 ? _1 : undefined;
189
- const valueStyleNames = (_3 = (_2 = item.valueStyle) !== null && _2 !== void 0 ? _2 : block.valueStyle) !== null && _3 !== void 0 ? _3 : undefined;
190
- const keyBase = buildKeyBlock(item);
191
- const keyResolved = resolveStyled(keyBase, keyStyleNames);
192
- const keyHeight = measureTextHeight(keyResolved, keyWidthPx);
193
- const valueBase = buildValueBlock(item);
194
- const valueResolved = resolveStyled(valueBase, valueStyleNames);
195
- const valueXInsideCol = keyWidthPx + (separatorText ? sepBoxWidth + 4 : 4);
196
- const valueWidth = Math.max(colWidth - valueXInsideCol, 1);
197
- const valueHeight = measureTextHeight(valueResolved, valueWidth);
198
- const cellHeight = Math.max(keyHeight, valueHeight);
199
- if (cellHeight > rowHeight)
200
- rowHeight = cellHeight;
201
- }
202
- if (rowHeight === 0)
203
- continue;
204
- // draw this row
205
- for (let colIndex = 0; colIndex < colCount; colIndex++) {
206
- const col = cols[colIndex];
207
- const item = col[rowIndex];
208
- if (!item)
209
- continue;
210
- const colX = xBases[colIndex];
211
- const colWidth = colWidths[colIndex];
212
- const keyWidthPx = block.keyWidth === "*"
213
- ? Math.max(colWidth * baseKeyWidthRatio, 20)
214
- : (_4 = block.keyWidth) !== null && _4 !== void 0 ? _4 : 80;
215
- const keyStyleNames = (_6 = (_5 = item.keyStyle) !== null && _5 !== void 0 ? _5 : block.keyStyle) !== null && _6 !== void 0 ? _6 : undefined;
216
- const valueStyleNames = (_8 = (_7 = item.valueStyle) !== null && _7 !== void 0 ? _7 : block.valueStyle) !== null && _8 !== void 0 ? _8 : undefined;
217
- const keyBlock = buildKeyBlock(item);
218
- const keyResolved = resolveStyled(keyBlock, keyStyleNames);
219
- (0, utils_1.drawStyledText)(doc, keyResolved, colX, rowY, keyWidthPx);
220
- if (separatorText) {
221
- const sepBlock = {
222
- type: "text",
223
- text: separatorText,
224
- align: "left",
225
- };
226
- const sepResolved = resolveStyled(sepBlock, keyStyleNames);
227
- const sepX = colX + keyWidthPx + 2;
228
- (0, utils_1.drawStyledText)(doc, sepResolved, sepX, rowY, sepBoxWidth);
229
- }
230
- const valueX = colX + keyWidthPx + (separatorText ? sepBoxWidth + 4 : 4);
231
- const valueWidth = Math.max(colWidth - (valueX - colX), 1);
232
- const valueBlock = buildValueBlock(item);
233
- const valueResolved = resolveStyled(valueBlock, valueStyleNames);
234
- (0, utils_1.drawStyledText)(doc, valueResolved, valueX, rowY, valueWidth);
235
- }
236
- rowY += rowHeight + rowGap;
237
- }
238
- }
239
- const endY = rowY + mb;
240
- if (y === null)
241
- ctx.currentY = endY;
242
- return endY;
243
- };
244
- exports.processKeyValueGridBlock = processKeyValueGridBlock;
245
- //# sourceMappingURL=key-value-grid.js.map