pretext-pdf 1.1.0 → 1.6.0

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 (342) hide show
  1. package/CHANGELOG.md +687 -0
  2. package/README.md +83 -8
  3. package/dist/allowed-props.d.ts +76 -0
  4. package/dist/allowed-props.d.ts.map +1 -1
  5. package/dist/allowed-props.js.map +1 -1
  6. package/dist/assets/generators/barcode.d.ts +9 -0
  7. package/dist/assets/generators/barcode.d.ts.map +1 -0
  8. package/dist/assets/generators/barcode.js +24 -0
  9. package/dist/assets/generators/barcode.js.map +1 -0
  10. package/dist/assets/generators/chart.d.ts +13 -0
  11. package/dist/assets/generators/chart.d.ts.map +1 -0
  12. package/dist/assets/generators/chart.js +32 -0
  13. package/dist/assets/generators/chart.js.map +1 -0
  14. package/dist/assets/generators/qr.d.ts +9 -0
  15. package/dist/assets/generators/qr.d.ts.map +1 -0
  16. package/dist/assets/generators/qr.js +25 -0
  17. package/dist/assets/generators/qr.js.map +1 -0
  18. package/dist/assets/index.d.ts +19 -0
  19. package/dist/assets/index.d.ts.map +1 -0
  20. package/dist/assets/index.js +19 -0
  21. package/dist/assets/index.js.map +1 -0
  22. package/dist/assets/loaders/images.d.ts +20 -0
  23. package/dist/assets/loaders/images.d.ts.map +1 -0
  24. package/dist/assets/loaders/images.js +69 -0
  25. package/dist/assets/loaders/images.js.map +1 -0
  26. package/dist/assets/loaders/orchestrator.d.ts +24 -0
  27. package/dist/assets/loaders/orchestrator.d.ts.map +1 -0
  28. package/dist/assets/loaders/orchestrator.js +109 -0
  29. package/dist/assets/loaders/orchestrator.js.map +1 -0
  30. package/dist/assets/loaders/vectors.d.ts +25 -0
  31. package/dist/assets/loaders/vectors.d.ts.map +1 -0
  32. package/dist/assets/loaders/vectors.js +118 -0
  33. package/dist/assets/loaders/vectors.js.map +1 -0
  34. package/dist/assets/loaders/watermark.d.ts +12 -0
  35. package/dist/assets/loaders/watermark.d.ts.map +1 -0
  36. package/dist/assets/loaders/watermark.js +40 -0
  37. package/dist/assets/loaders/watermark.js.map +1 -0
  38. package/dist/assets/security/fetch.d.ts +14 -0
  39. package/dist/assets/security/fetch.d.ts.map +1 -0
  40. package/dist/assets/security/fetch.js +112 -0
  41. package/dist/assets/security/fetch.js.map +1 -0
  42. package/dist/assets/security/ipv4-normalize.d.ts +28 -0
  43. package/dist/assets/security/ipv4-normalize.d.ts.map +1 -0
  44. package/dist/assets/security/ipv4-normalize.js +116 -0
  45. package/dist/assets/security/ipv4-normalize.js.map +1 -0
  46. package/dist/assets/security/path-allowlist.d.ts +12 -0
  47. package/dist/assets/security/path-allowlist.d.ts.map +1 -0
  48. package/dist/assets/security/path-allowlist.js +26 -0
  49. package/dist/assets/security/path-allowlist.js.map +1 -0
  50. package/dist/assets/security/url-validation.d.ts +22 -0
  51. package/dist/assets/security/url-validation.d.ts.map +1 -0
  52. package/dist/assets/security/url-validation.js +164 -0
  53. package/dist/assets/security/url-validation.js.map +1 -0
  54. package/dist/assets/svg/dimensions.d.ts +19 -0
  55. package/dist/assets/svg/dimensions.d.ts.map +1 -0
  56. package/dist/assets/svg/dimensions.js +43 -0
  57. package/dist/assets/svg/dimensions.js.map +1 -0
  58. package/dist/assets/svg/rasterize.d.ts +6 -0
  59. package/dist/assets/svg/rasterize.d.ts.map +1 -0
  60. package/dist/assets/svg/rasterize.js +38 -0
  61. package/dist/assets/svg/rasterize.js.map +1 -0
  62. package/dist/assets/svg/resolve-content.d.ts +16 -0
  63. package/dist/assets/svg/resolve-content.d.ts.map +1 -0
  64. package/dist/assets/svg/resolve-content.js +38 -0
  65. package/dist/assets/svg/resolve-content.js.map +1 -0
  66. package/dist/assets/svg/sanitize.d.ts +22 -0
  67. package/dist/assets/svg/sanitize.d.ts.map +1 -0
  68. package/dist/assets/svg/sanitize.js +46 -0
  69. package/dist/assets/svg/sanitize.js.map +1 -0
  70. package/dist/assets/util/redact-path.d.ts +14 -0
  71. package/dist/assets/util/redact-path.d.ts.map +1 -0
  72. package/dist/assets/util/redact-path.js +16 -0
  73. package/dist/assets/util/redact-path.js.map +1 -0
  74. package/dist/assets.d.ts +10 -27
  75. package/dist/assets.d.ts.map +1 -1
  76. package/dist/assets.js +10 -549
  77. package/dist/assets.js.map +1 -1
  78. package/dist/builder.d.ts.map +1 -1
  79. package/dist/builder.js +2 -1
  80. package/dist/builder.js.map +1 -1
  81. package/dist/cli.js +11 -1
  82. package/dist/cli.js.map +1 -1
  83. package/dist/compat.d.ts +63 -1
  84. package/dist/compat.d.ts.map +1 -1
  85. package/dist/compat.js +42 -5
  86. package/dist/compat.js.map +1 -1
  87. package/dist/errors.d.ts +2 -2
  88. package/dist/errors.d.ts.map +1 -1
  89. package/dist/errors.js +2 -2
  90. package/dist/errors.js.map +1 -1
  91. package/dist/fonts.d.ts.map +1 -1
  92. package/dist/fonts.js +8 -10
  93. package/dist/fonts.js.map +1 -1
  94. package/dist/index.d.ts +1 -1
  95. package/dist/index.d.ts.map +1 -1
  96. package/dist/index.js +7 -5
  97. package/dist/index.js.map +1 -1
  98. package/dist/layout-state.d.ts +1 -1
  99. package/dist/layout-state.d.ts.map +1 -1
  100. package/dist/layout-state.js +5 -0
  101. package/dist/layout-state.js.map +1 -1
  102. package/dist/measure-blocks/float-group.d.ts +9 -0
  103. package/dist/measure-blocks/float-group.d.ts.map +1 -0
  104. package/dist/measure-blocks/float-group.js +103 -0
  105. package/dist/measure-blocks/float-group.js.map +1 -0
  106. package/dist/measure-blocks/helpers.d.ts +44 -0
  107. package/dist/measure-blocks/helpers.d.ts.map +1 -0
  108. package/dist/measure-blocks/helpers.js +43 -0
  109. package/dist/measure-blocks/helpers.js.map +1 -0
  110. package/dist/measure-blocks/highlight.d.ts +26 -0
  111. package/dist/measure-blocks/highlight.d.ts.map +1 -0
  112. package/dist/measure-blocks/highlight.js +169 -0
  113. package/dist/measure-blocks/highlight.js.map +1 -0
  114. package/dist/measure-blocks/image.d.ts +9 -0
  115. package/dist/measure-blocks/image.d.ts.map +1 -0
  116. package/dist/measure-blocks/image.js +136 -0
  117. package/dist/measure-blocks/image.js.map +1 -0
  118. package/dist/measure-blocks/index.d.ts +24 -0
  119. package/dist/measure-blocks/index.d.ts.map +1 -0
  120. package/dist/measure-blocks/index.js +179 -0
  121. package/dist/measure-blocks/index.js.map +1 -0
  122. package/dist/measure-blocks/list.d.ts +8 -0
  123. package/dist/measure-blocks/list.d.ts.map +1 -0
  124. package/dist/measure-blocks/list.js +108 -0
  125. package/dist/measure-blocks/list.js.map +1 -0
  126. package/dist/measure-blocks/simple-blocks.d.ts +18 -0
  127. package/dist/measure-blocks/simple-blocks.d.ts.map +1 -0
  128. package/dist/measure-blocks/simple-blocks.js +121 -0
  129. package/dist/measure-blocks/simple-blocks.js.map +1 -0
  130. package/dist/measure-blocks/table/columns.d.ts +17 -0
  131. package/dist/measure-blocks/table/columns.d.ts.map +1 -0
  132. package/dist/measure-blocks/table/columns.js +83 -0
  133. package/dist/measure-blocks/table/columns.js.map +1 -0
  134. package/dist/measure-blocks/table/measure.d.ts +8 -0
  135. package/dist/measure-blocks/table/measure.d.ts.map +1 -0
  136. package/dist/measure-blocks/table/measure.js +231 -0
  137. package/dist/measure-blocks/table/measure.js.map +1 -0
  138. package/dist/measure-blocks/table/spans.d.ts +25 -0
  139. package/dist/measure-blocks/table/spans.d.ts.map +1 -0
  140. package/dist/measure-blocks/table/spans.js +55 -0
  141. package/dist/measure-blocks/table/spans.js.map +1 -0
  142. package/dist/measure-blocks/text-blocks.d.ts +17 -0
  143. package/dist/measure-blocks/text-blocks.d.ts.map +1 -0
  144. package/dist/measure-blocks/text-blocks.js +242 -0
  145. package/dist/measure-blocks/text-blocks.js.map +1 -0
  146. package/dist/measure-text.d.ts +21 -3
  147. package/dist/measure-text.d.ts.map +1 -1
  148. package/dist/measure-text.js +87 -36
  149. package/dist/measure-text.js.map +1 -1
  150. package/dist/measure.d.ts +1 -1
  151. package/dist/measure.d.ts.map +1 -1
  152. package/dist/measure.js +8 -6
  153. package/dist/measure.js.map +1 -1
  154. package/dist/node-polyfill.d.ts.map +1 -1
  155. package/dist/node-polyfill.js +9 -0
  156. package/dist/node-polyfill.js.map +1 -1
  157. package/dist/pipeline-footnotes.d.ts +1 -1
  158. package/dist/pipeline-footnotes.d.ts.map +1 -1
  159. package/dist/pipeline-toc.d.ts +1 -1
  160. package/dist/pipeline-toc.d.ts.map +1 -1
  161. package/dist/pipeline.d.ts +3 -3
  162. package/dist/pipeline.d.ts.map +1 -1
  163. package/dist/pipeline.js +4 -5
  164. package/dist/pipeline.js.map +1 -1
  165. package/dist/plugin-types.d.ts +1 -1
  166. package/dist/plugin-types.d.ts.map +1 -1
  167. package/dist/post-process.d.ts +2 -2
  168. package/dist/post-process.d.ts.map +1 -1
  169. package/dist/post-process.js +32 -9
  170. package/dist/post-process.js.map +1 -1
  171. package/dist/render-blocks/blockquote.d.ts +7 -0
  172. package/dist/render-blocks/blockquote.d.ts.map +1 -0
  173. package/dist/render-blocks/blockquote.js +87 -0
  174. package/dist/render-blocks/blockquote.js.map +1 -0
  175. package/dist/render-blocks/callout.d.ts +7 -0
  176. package/dist/render-blocks/callout.d.ts.map +1 -0
  177. package/dist/render-blocks/callout.js +84 -0
  178. package/dist/render-blocks/callout.js.map +1 -0
  179. package/dist/render-blocks/code.d.ts +7 -0
  180. package/dist/render-blocks/code.d.ts.map +1 -0
  181. package/dist/render-blocks/code.js +84 -0
  182. package/dist/render-blocks/code.js.map +1 -0
  183. package/dist/render-blocks/footnote.d.ts +11 -0
  184. package/dist/render-blocks/footnote.d.ts.map +1 -0
  185. package/dist/render-blocks/footnote.js +45 -0
  186. package/dist/render-blocks/footnote.js.map +1 -0
  187. package/dist/render-blocks/header-footer.d.ts +11 -0
  188. package/dist/render-blocks/header-footer.d.ts.map +1 -0
  189. package/dist/render-blocks/header-footer.js +56 -0
  190. package/dist/render-blocks/header-footer.js.map +1 -0
  191. package/dist/render-blocks/hr.d.ts +7 -0
  192. package/dist/render-blocks/hr.d.ts.map +1 -0
  193. package/dist/render-blocks/hr.js +24 -0
  194. package/dist/render-blocks/hr.js.map +1 -0
  195. package/dist/render-blocks/image.d.ts +9 -0
  196. package/dist/render-blocks/image.d.ts.map +1 -0
  197. package/dist/render-blocks/image.js +135 -0
  198. package/dist/render-blocks/image.js.map +1 -0
  199. package/dist/render-blocks/index.d.ts +17 -0
  200. package/dist/render-blocks/index.d.ts.map +1 -0
  201. package/dist/render-blocks/index.js +17 -0
  202. package/dist/render-blocks/index.js.map +1 -0
  203. package/dist/render-blocks/list-item.d.ts +7 -0
  204. package/dist/render-blocks/list-item.d.ts.map +1 -0
  205. package/dist/render-blocks/list-item.js +80 -0
  206. package/dist/render-blocks/list-item.js.map +1 -0
  207. package/dist/render-blocks/rich.d.ts +7 -0
  208. package/dist/render-blocks/rich.d.ts.map +1 -0
  209. package/dist/render-blocks/rich.js +160 -0
  210. package/dist/render-blocks/rich.js.map +1 -0
  211. package/dist/render-blocks/table.d.ts +7 -0
  212. package/dist/render-blocks/table.d.ts.map +1 -0
  213. package/dist/render-blocks/table.js +139 -0
  214. package/dist/render-blocks/table.js.map +1 -0
  215. package/dist/render-blocks/text.d.ts +7 -0
  216. package/dist/render-blocks/text.d.ts.map +1 -0
  217. package/dist/render-blocks/text.js +183 -0
  218. package/dist/render-blocks/text.js.map +1 -0
  219. package/dist/render-blocks/watermark.d.ts +8 -0
  220. package/dist/render-blocks/watermark.d.ts.map +1 -0
  221. package/dist/render-blocks/watermark.js +52 -0
  222. package/dist/render-blocks/watermark.js.map +1 -0
  223. package/dist/render-extras.d.ts.map +1 -1
  224. package/dist/render-extras.js +1 -2
  225. package/dist/render-extras.js.map +1 -1
  226. package/dist/render-utils.d.ts.map +1 -1
  227. package/dist/render-utils.js +10 -6
  228. package/dist/render-utils.js.map +1 -1
  229. package/dist/render.d.ts.map +1 -1
  230. package/dist/render.js +9 -3
  231. package/dist/render.js.map +1 -1
  232. package/dist/rich-text.d.ts +2 -1
  233. package/dist/rich-text.d.ts.map +1 -1
  234. package/dist/rich-text.js +0 -1
  235. package/dist/rich-text.js.map +1 -1
  236. package/dist/types-internal.d.ts +19 -3
  237. package/dist/types-internal.d.ts.map +1 -1
  238. package/dist/types-public/document.d.ts +261 -0
  239. package/dist/types-public/document.d.ts.map +1 -0
  240. package/dist/types-public/document.js +2 -0
  241. package/dist/types-public/document.js.map +1 -0
  242. package/dist/types-public/elements-block.d.ts +246 -0
  243. package/dist/types-public/elements-block.d.ts.map +1 -0
  244. package/dist/types-public/elements-block.js +8 -0
  245. package/dist/types-public/elements-block.js.map +1 -0
  246. package/dist/types-public/elements-media.d.ts +199 -0
  247. package/dist/types-public/elements-media.d.ts.map +1 -0
  248. package/dist/types-public/elements-media.js +2 -0
  249. package/dist/types-public/elements-media.js.map +1 -0
  250. package/dist/types-public/elements-text.d.ts +327 -0
  251. package/dist/types-public/elements-text.d.ts.map +1 -0
  252. package/dist/types-public/elements-text.js +2 -0
  253. package/dist/types-public/elements-text.js.map +1 -0
  254. package/dist/types-public/index.d.ts +14 -0
  255. package/dist/types-public/index.d.ts.map +1 -0
  256. package/dist/types-public/index.js +2 -0
  257. package/dist/types-public/index.js.map +1 -0
  258. package/dist/types-public/render-options.d.ts +38 -0
  259. package/dist/types-public/render-options.d.ts.map +1 -0
  260. package/dist/types-public/render-options.js +2 -0
  261. package/dist/types-public/render-options.js.map +1 -0
  262. package/dist/types-public/union.d.ts +13 -0
  263. package/dist/types-public/union.d.ts.map +1 -0
  264. package/dist/types-public/union.js +2 -0
  265. package/dist/types-public/union.js.map +1 -0
  266. package/dist/types-public/validation.d.ts +64 -0
  267. package/dist/types-public/validation.d.ts.map +1 -0
  268. package/dist/types-public/validation.js +2 -0
  269. package/dist/types-public/validation.js.map +1 -0
  270. package/dist/types-public.d.ts +5 -1081
  271. package/dist/types-public.d.ts.map +1 -1
  272. package/dist/types.d.ts +1 -1
  273. package/dist/types.d.ts.map +1 -1
  274. package/dist/validate/document.d.ts +28 -0
  275. package/dist/validate/document.d.ts.map +1 -0
  276. package/dist/validate/document.js +295 -0
  277. package/dist/validate/document.js.map +1 -0
  278. package/dist/validate/elements/forms-floats.d.ts +19 -0
  279. package/dist/validate/elements/forms-floats.d.ts.map +1 -0
  280. package/dist/validate/elements/forms-floats.js +96 -0
  281. package/dist/validate/elements/forms-floats.js.map +1 -0
  282. package/dist/validate/elements/list.d.ts +10 -0
  283. package/dist/validate/elements/list.d.ts.map +1 -0
  284. package/dist/validate/elements/list.js +66 -0
  285. package/dist/validate/elements/list.js.map +1 -0
  286. package/dist/validate/elements/media.d.ts +23 -0
  287. package/dist/validate/elements/media.d.ts.map +1 -0
  288. package/dist/validate/elements/media.js +179 -0
  289. package/dist/validate/elements/media.js.map +1 -0
  290. package/dist/validate/elements/structural-simple.d.ts +21 -0
  291. package/dist/validate/elements/structural-simple.d.ts.map +1 -0
  292. package/dist/validate/elements/structural-simple.js +63 -0
  293. package/dist/validate/elements/structural-simple.js.map +1 -0
  294. package/dist/validate/elements/structural.d.ts +12 -0
  295. package/dist/validate/elements/structural.d.ts.map +1 -0
  296. package/dist/validate/elements/structural.js +12 -0
  297. package/dist/validate/elements/structural.js.map +1 -0
  298. package/dist/validate/elements/table.d.ts +10 -0
  299. package/dist/validate/elements/table.d.ts.map +1 -0
  300. package/dist/validate/elements/table.js +165 -0
  301. package/dist/validate/elements/table.js.map +1 -0
  302. package/dist/validate/elements/text.d.ts +26 -0
  303. package/dist/validate/elements/text.d.ts.map +1 -0
  304. package/dist/validate/elements/text.js +331 -0
  305. package/dist/validate/elements/text.js.map +1 -0
  306. package/dist/validate/errors.d.ts +9 -0
  307. package/dist/validate/errors.d.ts.map +1 -0
  308. package/dist/validate/errors.js +43 -0
  309. package/dist/validate/errors.js.map +1 -0
  310. package/dist/validate/fonts.d.ts +11 -0
  311. package/dist/validate/fonts.d.ts.map +1 -0
  312. package/dist/validate/fonts.js +118 -0
  313. package/dist/validate/fonts.js.map +1 -0
  314. package/dist/validate/helpers.d.ts +76 -0
  315. package/dist/validate/helpers.d.ts.map +1 -0
  316. package/dist/validate/helpers.js +169 -0
  317. package/dist/validate/helpers.js.map +1 -0
  318. package/dist/validate/index.d.ts +37 -0
  319. package/dist/validate/index.d.ts.map +1 -0
  320. package/dist/validate/index.js +279 -0
  321. package/dist/validate/index.js.map +1 -0
  322. package/dist/validate.d.ts +6 -18
  323. package/dist/validate.d.ts.map +1 -1
  324. package/dist/validate.js +6 -1582
  325. package/dist/validate.js.map +1 -1
  326. package/dist/vendor/pretext/VERSION.d.ts +3 -0
  327. package/dist/vendor/pretext/VERSION.d.ts.map +1 -0
  328. package/dist/vendor/pretext/VERSION.js +12 -0
  329. package/dist/vendor/pretext/VERSION.js.map +1 -0
  330. package/dist/version-check.d.ts +47 -0
  331. package/dist/version-check.d.ts.map +1 -0
  332. package/dist/version-check.js +75 -0
  333. package/dist/version-check.js.map +1 -0
  334. package/package.json +27 -8
  335. package/dist/measure-blocks.d.ts +0 -26
  336. package/dist/measure-blocks.d.ts.map +0 -1
  337. package/dist/measure-blocks.js +0 -1317
  338. package/dist/measure-blocks.js.map +0 -1
  339. package/dist/render-blocks.d.ts +0 -28
  340. package/dist/render-blocks.d.ts.map +0 -1
  341. package/dist/render-blocks.js +0 -1059
  342. package/dist/render-blocks.js.map +0 -1
@@ -0,0 +1,246 @@
1
+ /**
2
+ * pretext-pdf — Structural / block-layout element types.
3
+ *
4
+ * Table (+ColumnDef, TableRow, TableCell), List (+ListItem), HR, PageBreak,
5
+ * Spacer, Toc, FootnoteDef, Comment, FormField.
6
+ */
7
+ /** @public */
8
+ export interface SpacerElement {
9
+ type: 'spacer';
10
+ /** Height in pt */
11
+ height: number;
12
+ }
13
+ /** @public */
14
+ export interface TableElement {
15
+ type: 'table';
16
+ columns: ColumnDef[];
17
+ rows: TableRow[];
18
+ /** Default text direction for all cells. Cells can override individually. Default: 'auto' */
19
+ dir?: 'ltr' | 'rtl' | 'auto';
20
+ /** Number of rows treated as headers (repeated on continuation pages). Default: auto-detect rows with isHeader: true */
21
+ headerRows?: number;
22
+ /** Border color (hex). Default: '#cccccc' */
23
+ borderColor?: string;
24
+ /** Border thickness in pt. Default: 0.5 */
25
+ borderWidth?: number;
26
+ /** Background color for header rows (hex). Default: '#f5f5f5' */
27
+ headerBgColor?: string;
28
+ /** Cell font size in pt. Default: document.defaultFontSize */
29
+ fontSize?: number;
30
+ /** Horizontal cell padding in pt. Default: 8 */
31
+ cellPaddingH?: number;
32
+ /** Vertical cell padding in pt. Default: 6 */
33
+ cellPaddingV?: number;
34
+ /** Space below table in pt. Default: 0 */
35
+ spaceAfter?: number;
36
+ /** Space above table in pt. Default: 0 */
37
+ spaceBefore?: number;
38
+ }
39
+ /** @public */
40
+ export interface ColumnDef {
41
+ /** Fixed pt (e.g. 80), proportional fraction (e.g. '2*' or '*'), or 'auto' (shrink-to-content). */
42
+ width: number | string;
43
+ /** Column default text alignment. Default: 'left' */
44
+ align?: 'left' | 'center' | 'right';
45
+ }
46
+ /** @public */
47
+ export interface TableRow {
48
+ cells: TableCell[];
49
+ /** Mark row as a header (styled + repeated on continuation pages). Default: false */
50
+ isHeader?: boolean;
51
+ }
52
+ /** @public */
53
+ export interface TableCell {
54
+ text: string;
55
+ /** Text direction: 'ltr', 'rtl', or 'auto'. Default: 'auto' */
56
+ dir?: 'ltr' | 'rtl' | 'auto';
57
+ /** Overrides column alignment for this cell */
58
+ align?: 'left' | 'center' | 'right';
59
+ fontWeight?: 400 | 700;
60
+ /** Font family override for this cell. Default: document.defaultFont */
61
+ fontFamily?: string;
62
+ /** Font size override for this cell in pt. Default: table.fontSize ?? document.defaultFontSize */
63
+ fontSize?: number;
64
+ /** Text color (hex). Default: '#000000' */
65
+ color?: string;
66
+ /** Cell background color (hex). Optional — overrides row/table default. */
67
+ bgColor?: string;
68
+ /** Number of columns this cell spans. Default: 1 */
69
+ colspan?: number;
70
+ /** Number of rows this cell spans. Default: 1 */
71
+ rowspan?: number;
72
+ /**
73
+ * Render digits (0–9) at a fixed slot width (widest digit in font).
74
+ * Ensures numeric columns align regardless of digit width variation (1 vs 0 etc.).
75
+ */
76
+ tabularNumbers?: boolean;
77
+ }
78
+ /** @public */
79
+ export interface ListElement {
80
+ type: 'list';
81
+ /** 'ordered' = "1. 2. 3.", 'unordered' = bullet point */
82
+ style: 'ordered' | 'unordered';
83
+ items: ListItem[];
84
+ /** Custom marker for unordered lists. Default: '•' */
85
+ marker?: string;
86
+ /** Left indent in pt. Default: 20 */
87
+ indent?: number;
88
+ /** Width reserved for marker column in pt. Default: 20 */
89
+ markerWidth?: number;
90
+ /** Font size in pt. Default: document.defaultFontSize */
91
+ fontSize?: number;
92
+ /** Line height in pt. Default: fontSize * 1.5 */
93
+ lineHeight?: number;
94
+ /** Space between list items in pt. Default: 4 */
95
+ itemSpaceAfter?: number;
96
+ /** Space below the entire list in pt. Default: 0 */
97
+ spaceAfter?: number;
98
+ /** Space above the entire list in pt. Default: 0 */
99
+ spaceBefore?: number;
100
+ /** Text color for all list items (hex). Default: '#000000' */
101
+ color?: string;
102
+ /**
103
+ * For ordered lists with nested items: how nested item counters behave.
104
+ * 'continue' — nested items continue the parent counter (1, 2, 3, 4...).
105
+ * 'restart' — nested items restart at 1, parent counter is unaffected.
106
+ * Default: 'continue'
107
+ */
108
+ nestedNumberingStyle?: 'continue' | 'restart';
109
+ }
110
+ /** @public */
111
+ export interface ListItem {
112
+ text: string;
113
+ /** Text direction: 'ltr', 'rtl', or 'auto'. Default: 'auto' */
114
+ dir?: 'ltr' | 'rtl' | 'auto';
115
+ /** Font weight for this item. Default: 400 */
116
+ fontWeight?: 400 | 700;
117
+ /** Nested items — up to 2 levels deep. */
118
+ items?: ListItem[];
119
+ }
120
+ /** @public */
121
+ export interface HorizontalRuleElement {
122
+ type: 'hr';
123
+ /** Line thickness in pt. Default: 0.5 */
124
+ thickness?: number;
125
+ /** Line color (hex). Default: '#cccccc' */
126
+ color?: string;
127
+ /** Space above line in pt. Default: 12. Alias: spaceBefore */
128
+ spaceAbove?: number;
129
+ /** Space below line in pt. Default: 12. Alias: spaceAfter */
130
+ spaceBelow?: number;
131
+ /** Alias for spaceAbove — consistent with paragraph/heading naming */
132
+ spaceBefore?: number;
133
+ /** Alias for spaceAfter — consistent with paragraph/heading naming */
134
+ spaceAfter?: number;
135
+ }
136
+ /**
137
+ * Forces a page break at this position. No-op if already at the top of a page.
138
+ * @public
139
+ */
140
+ export interface PageBreakElement {
141
+ type: 'page-break';
142
+ }
143
+ /** @public */
144
+ export interface TocElement {
145
+ type: 'toc';
146
+ /** TOC title. Default: 'Table of Contents' */
147
+ title?: string;
148
+ /** Whether to show the title. Default: true */
149
+ showTitle?: boolean;
150
+ /** Minimum heading level to include. Default: 1 */
151
+ minLevel?: 1 | 2 | 3 | 4;
152
+ /** Maximum heading level to include. Default: 3 */
153
+ maxLevel?: 1 | 2 | 3 | 4;
154
+ /** Font size for TOC entries. Default: doc.defaultFontSize */
155
+ fontSize?: number;
156
+ /** Font size for TOC title. Default: fontSize + 4 */
157
+ titleFontSize?: number;
158
+ /** Indentation per level in pt. Default: 16 */
159
+ levelIndent?: number;
160
+ /** Leader character between entry text and page number. Default: '.' */
161
+ leader?: string;
162
+ /** Space after each entry line in pt. Default: 4 */
163
+ entrySpacing?: number;
164
+ /** Font family for TOC. Default: doc.defaultFont */
165
+ fontFamily?: string;
166
+ /** Space before the entire TOC section. Default: 0 */
167
+ spaceBefore?: number;
168
+ /** Space after the entire TOC section. Default: 0 */
169
+ spaceAfter?: number;
170
+ }
171
+ /**
172
+ * Defines a footnote. Placed anywhere in doc.content — order doesn't matter.
173
+ * Rendered at the bottom of the page that contains the matching footnoteRef span.
174
+ * @public
175
+ */
176
+ export interface FootnoteDefElement {
177
+ type: 'footnote-def';
178
+ /** Unique identifier matched by InlineSpan.footnoteRef */
179
+ id: string;
180
+ /** The footnote text rendered at the bottom of the page */
181
+ text: string;
182
+ /** Font size in pt. Default: doc.defaultFontSize - 2 */
183
+ fontSize?: number;
184
+ /** Font family. Default: doc.defaultFont */
185
+ fontFamily?: string;
186
+ /** Space after the footnote def in pt. Default: 4 */
187
+ spaceAfter?: number;
188
+ }
189
+ /** @public */
190
+ export interface CommentElement {
191
+ type: 'comment';
192
+ /** Popup text content. Required. */
193
+ contents: string;
194
+ /** Author name. Optional. */
195
+ author?: string;
196
+ /** Color as 6-digit hex. Default: '#FFFF00' */
197
+ color?: string;
198
+ /** Whether popup is open by default. Default: false */
199
+ open?: boolean;
200
+ /** Extra space below in pt. Default: 0 */
201
+ spaceAfter?: number;
202
+ }
203
+ /** @public */
204
+ export interface FormFieldElement {
205
+ type: 'form-field';
206
+ /** AcroForm field type. */
207
+ fieldType: 'text' | 'checkbox' | 'radio' | 'dropdown' | 'button';
208
+ /** Unique field name within the document. Required. */
209
+ name: string;
210
+ /** Label text rendered above the interactive field. Optional. */
211
+ label?: string;
212
+ /** Placeholder text for text fields. */
213
+ placeholder?: string;
214
+ /** Pre-filled default value for text fields. */
215
+ defaultValue?: string;
216
+ /** Makes text field multi-line. Default: false */
217
+ multiline?: boolean;
218
+ /** Maximum character length for text fields. */
219
+ maxLength?: number;
220
+ /** Initial checked state for checkboxes. Default: false */
221
+ checked?: boolean;
222
+ /** Option list for radio groups and dropdowns. */
223
+ options?: Array<{
224
+ value: string;
225
+ label: string;
226
+ }>;
227
+ /** Pre-selected value for radio groups and dropdowns. */
228
+ defaultSelected?: string;
229
+ /** Field width in pt. Default: full content width */
230
+ width?: number;
231
+ /** Field height in pt. Default: auto per fieldType (text=24, multiline=60, radio=20×options, others=24) */
232
+ height?: number;
233
+ /** Font size for field text in pt. Default: doc.defaultFontSize */
234
+ fontSize?: number;
235
+ /** Field border color as 6-digit hex. Default: '#999999' */
236
+ borderColor?: string;
237
+ /** Field background color as 6-digit hex. Default: '#FFFFFF' */
238
+ backgroundColor?: string;
239
+ /** Extra space below this field in pt. Default: 8 */
240
+ spaceAfter?: number;
241
+ /** Extra space above this field in pt. Default: 0 */
242
+ spaceBefore?: number;
243
+ /** If true, never break this element across pages. Default: true */
244
+ keepTogether?: boolean;
245
+ }
246
+ //# sourceMappingURL=elements-block.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elements-block.d.ts","sourceRoot":"","sources":["../../src/types-public/elements-block.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * pretext-pdf — Structural / block-layout element types.
3
+ *
4
+ * Table (+ColumnDef, TableRow, TableCell), List (+ListItem), HR, PageBreak,
5
+ * Spacer, Toc, FootnoteDef, Comment, FormField.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=elements-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elements-block.js","sourceRoot":"","sources":["../../src/types-public/elements-block.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,199 @@
1
+ /**
2
+ * pretext-pdf — Media and graphical element types.
3
+ *
4
+ * Image variants, FloatGroup, SVG, QrCode, Barcode, Chart, AssemblyPart.
5
+ */
6
+ import type { PdfDocument } from './document.js';
7
+ import type { ParagraphElement, HeadingElement, RichParagraphElement, InlineSpan } from './elements-text.js';
8
+ interface ImageBase {
9
+ type: 'image';
10
+ /** Absolute file path (Node.js) or raw bytes (browser/Node) */
11
+ src: string | Uint8Array;
12
+ /** Image format. Default: 'auto' (detected from magic bytes, then file extension). */
13
+ format?: 'png' | 'jpg' | 'auto';
14
+ /** Render width in pt. Omit to auto-size to contentWidth. */
15
+ width?: number;
16
+ /** Render height in pt. Omit to preserve aspect ratio. */
17
+ height?: number;
18
+ /** Horizontal alignment within content area. Default: 'left' */
19
+ align?: 'left' | 'center' | 'right';
20
+ /** Space below image in pt. Default: 0 */
21
+ spaceAfter?: number;
22
+ /** Space above image in pt. Default: 0 */
23
+ spaceBefore?: number;
24
+ }
25
+ type ImageNoFloat = ImageBase & {
26
+ float?: undefined;
27
+ floatWidth?: undefined;
28
+ floatGap?: undefined;
29
+ floatText?: undefined;
30
+ floatSpans?: undefined;
31
+ floatFontSize?: undefined;
32
+ floatFontFamily?: undefined;
33
+ floatColor?: undefined;
34
+ };
35
+ type ImageWithFloatText = ImageBase & {
36
+ /**
37
+ * If set, renders image + floatText as a two-column composite block.
38
+ * 'left' = image left, text right. 'right' = image right, text left.
39
+ * NOTE: Constrained float only — floatText is a single paragraph alongside the image.
40
+ */
41
+ float: 'left' | 'right';
42
+ /** Image column width in pt. Default: 35% of content width. */
43
+ floatWidth?: number;
44
+ /** Gap between image and text columns in pt. Default: 12 */
45
+ floatGap?: number;
46
+ /** Font size for floatText in pt. Default: doc.defaultFontSize */
47
+ floatFontSize?: number;
48
+ /** Font family for floatText. Default: doc.defaultFont */
49
+ floatFontFamily?: string;
50
+ /** Text color for floatText as 6-digit hex. Default: '#000000' */
51
+ floatColor?: string;
52
+ /** Text rendered alongside the image. Mutually exclusive with floatSpans. */
53
+ floatText: string;
54
+ floatSpans?: undefined;
55
+ };
56
+ type ImageWithFloatSpans = ImageBase & {
57
+ /**
58
+ * If set, renders image + floatSpans as a two-column composite block.
59
+ * 'left' = image left, text right. 'right' = image right, text left.
60
+ * NOTE: Constrained float only — floatSpans is rendered alongside the image.
61
+ */
62
+ float: 'left' | 'right';
63
+ /** Image column width in pt. Default: 35% of content width. */
64
+ floatWidth?: number;
65
+ /** Gap between image and text columns in pt. Default: 12 */
66
+ floatGap?: number;
67
+ /** Font size for floatText in pt. Default: doc.defaultFontSize */
68
+ floatFontSize?: number;
69
+ /** Font family for floatText. Default: doc.defaultFont */
70
+ floatFontFamily?: string;
71
+ /** Text color for floatText as 6-digit hex. Default: '#000000' */
72
+ floatColor?: string;
73
+ /** Rich-text spans rendered alongside the image. Alternative to floatText for mixed-style float text. */
74
+ floatSpans: InlineSpan[];
75
+ floatText?: undefined;
76
+ };
77
+ /** @public */
78
+ export type ImageElement = ImageNoFloat | ImageWithFloatText | ImageWithFloatSpans;
79
+ /** @public */
80
+ export interface FloatGroupElement {
81
+ type: 'float-group';
82
+ /** The image to float left or right. */
83
+ image: {
84
+ src: string | Uint8Array;
85
+ format?: 'png' | 'jpg' | 'auto';
86
+ height?: number;
87
+ };
88
+ /** Image position. 'left' = image left, text right. 'right' = image right, text left. */
89
+ float: 'left' | 'right';
90
+ /** Image column width in pt. Default: 35% of content width. */
91
+ floatWidth?: number;
92
+ /** Gap between image and text columns in pt. Default: 12 */
93
+ floatGap?: number;
94
+ /** Content elements rendered in the text column, top-to-bottom. */
95
+ content: Array<ParagraphElement | HeadingElement | RichParagraphElement>;
96
+ /** Space above the entire float group in pt. Default: 0 */
97
+ spaceBefore?: number;
98
+ /** Space below the entire float group in pt. Default: 12 */
99
+ spaceAfter?: number;
100
+ }
101
+ interface SvgBase {
102
+ type: 'svg';
103
+ /** Rendered width in pt. Default: available content width */
104
+ width?: number;
105
+ /** Rendered height in pt. Auto-computed from SVG viewBox if not set */
106
+ height?: number;
107
+ /** Alignment within content area. Default: 'left' */
108
+ align?: 'left' | 'center' | 'right';
109
+ /** Space above element in pt. Default: 8 */
110
+ spaceBefore?: number;
111
+ /** Space below element in pt. Default: 8 */
112
+ spaceAfter?: number;
113
+ }
114
+ /** @public */
115
+ export type SvgElement = (SvgBase & {
116
+ svg: string;
117
+ src?: never;
118
+ }) | (SvgBase & {
119
+ src: string;
120
+ svg?: never;
121
+ });
122
+ /** @public */
123
+ export interface QrCodeElement {
124
+ type: 'qr-code';
125
+ /** The data to encode (URL, text, UPI string, etc.). Required. Max 2953 chars at error-correction L. */
126
+ data: string;
127
+ /** Rendered size in pt (width = height). Default: 80 */
128
+ size?: number;
129
+ /** QR error correction level. Default: 'M' */
130
+ errorCorrectionLevel?: 'L' | 'M' | 'Q' | 'H';
131
+ /** Module color as 6-digit hex. Default: '#000000' */
132
+ foreground?: string;
133
+ /** Background color as 6-digit hex. Default: '#ffffff' */
134
+ background?: string;
135
+ /** Quiet-zone modules around the symbol. Default: 4 */
136
+ margin?: number;
137
+ /** Alignment within content area. Default: 'left' */
138
+ align?: 'left' | 'center' | 'right';
139
+ /** Space above element in pt. Default: 8 */
140
+ spaceBefore?: number;
141
+ /** Space below element in pt. Default: 8 */
142
+ spaceAfter?: number;
143
+ }
144
+ /** @public */
145
+ export interface BarcodeElement {
146
+ type: 'barcode';
147
+ /**
148
+ * Barcode symbology. Common values: 'ean13', 'ean8', 'upca', 'code128',
149
+ * 'code39', 'qrcode', 'pdf417', 'datamatrix', 'itf14', 'azteccode'.
150
+ * Full list: https://bwip-js.metafloor.com/
151
+ */
152
+ symbology: string;
153
+ /** Data to encode. Format requirements vary by symbology. */
154
+ data: string;
155
+ /** Rendered width in pt. Default: 200 */
156
+ width?: number;
157
+ /** Rendered height in pt. Default: 60 */
158
+ height?: number;
159
+ /** Render human-readable text below the barcode. Default: true */
160
+ includeText?: boolean;
161
+ /** Alignment within content area. Default: 'left' */
162
+ align?: 'left' | 'center' | 'right';
163
+ /** Space above element in pt. Default: 8 */
164
+ spaceBefore?: number;
165
+ /** Space below element in pt. Default: 8 */
166
+ spaceAfter?: number;
167
+ }
168
+ /** @public */
169
+ export interface ChartElement {
170
+ type: 'chart';
171
+ /**
172
+ * A vega-lite JSON specification object.
173
+ * Requires `vega` and `vega-lite` to be installed: `npm install vega vega-lite`
174
+ * @see https://vega.github.io/vega-lite/docs/spec.html
175
+ */
176
+ spec: Record<string, unknown>;
177
+ /** Rendered width in pt. Default: available content width */
178
+ width?: number;
179
+ /** Rendered height in pt. Default: 300 */
180
+ height?: number;
181
+ /** Optional figure caption rendered below the chart. */
182
+ caption?: string;
183
+ /** Alignment within content area. Default: 'left' */
184
+ align?: 'left' | 'center' | 'right';
185
+ /** Space above element in pt. Default: 8 */
186
+ spaceBefore?: number;
187
+ /** Space below element in pt. Default: 8 */
188
+ spaceAfter?: number;
189
+ }
190
+ /** @public */
191
+ export type AssemblyPart = {
192
+ doc: PdfDocument;
193
+ pdf?: never;
194
+ } | {
195
+ pdf: Uint8Array;
196
+ doc?: never;
197
+ };
198
+ export {};
199
+ //# sourceMappingURL=elements-media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elements-media.d.ts","sourceRoot":"","sources":["../../src/types-public/elements-media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=elements-media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elements-media.js","sourceRoot":"","sources":["../../src/types-public/elements-media.ts"],"names":[],"mappings":""}