@pdfme/schemas 0.0.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 (419) hide show
  1. package/README.md +8 -0
  2. package/dist/cjs/__tests__/barcode.test.js +354 -0
  3. package/dist/cjs/__tests__/barcode.test.js.map +1 -0
  4. package/dist/cjs/__tests__/multiVariableText.test.js +102 -0
  5. package/dist/cjs/__tests__/multiVariableText.test.js.map +1 -0
  6. package/dist/cjs/__tests__/text.test.js +419 -0
  7. package/dist/cjs/__tests__/text.test.js.map +1 -0
  8. package/dist/cjs/__tests__/utils.test.js +193 -0
  9. package/dist/cjs/__tests__/utils.test.js.map +1 -0
  10. package/dist/cjs/src/barcodes/constants.js +21 -0
  11. package/dist/cjs/src/barcodes/constants.js.map +1 -0
  12. package/dist/cjs/src/barcodes/helper.js +161 -0
  13. package/dist/cjs/src/barcodes/helper.js.map +1 -0
  14. package/dist/cjs/src/barcodes/index.js +18 -0
  15. package/dist/cjs/src/barcodes/index.js.map +1 -0
  16. package/dist/cjs/src/barcodes/pdfRender.js +29 -0
  17. package/dist/cjs/src/barcodes/pdfRender.js.map +1 -0
  18. package/dist/cjs/src/barcodes/propPanel.js +241 -0
  19. package/dist/cjs/src/barcodes/propPanel.js.map +1 -0
  20. package/dist/cjs/src/barcodes/types.js +3 -0
  21. package/dist/cjs/src/barcodes/types.js.map +1 -0
  22. package/dist/cjs/src/barcodes/uiRender.js +91 -0
  23. package/dist/cjs/src/barcodes/uiRender.js.map +1 -0
  24. package/dist/cjs/src/checkbox/index.js +62 -0
  25. package/dist/cjs/src/checkbox/index.js.map +1 -0
  26. package/dist/cjs/src/constants.js +6 -0
  27. package/dist/cjs/src/constants.js.map +1 -0
  28. package/dist/cjs/src/date/date.js +9 -0
  29. package/dist/cjs/src/date/date.js.map +1 -0
  30. package/dist/cjs/src/date/dateTime.js +9 -0
  31. package/dist/cjs/src/date/dateTime.js.map +1 -0
  32. package/dist/cjs/src/date/helper.js +462 -0
  33. package/dist/cjs/src/date/helper.js.map +1 -0
  34. package/dist/cjs/src/date/time.js +9 -0
  35. package/dist/cjs/src/date/time.js.map +1 -0
  36. package/dist/cjs/src/date/types.js +3 -0
  37. package/dist/cjs/src/date/types.js.map +1 -0
  38. package/dist/cjs/src/graphics/image.js +172 -0
  39. package/dist/cjs/src/graphics/image.js.map +1 -0
  40. package/dist/cjs/src/graphics/imagehelper.js +124 -0
  41. package/dist/cjs/src/graphics/imagehelper.js.map +1 -0
  42. package/dist/cjs/src/graphics/svg.js +109 -0
  43. package/dist/cjs/src/graphics/svg.js.map +1 -0
  44. package/dist/cjs/src/index.js +41 -0
  45. package/dist/cjs/src/index.js.map +1 -0
  46. package/dist/cjs/src/multiVariableText/helper.js +55 -0
  47. package/dist/cjs/src/multiVariableText/helper.js.map +1 -0
  48. package/dist/cjs/src/multiVariableText/index.js +16 -0
  49. package/dist/cjs/src/multiVariableText/index.js.map +1 -0
  50. package/dist/cjs/src/multiVariableText/pdfRender.js +20 -0
  51. package/dist/cjs/src/multiVariableText/pdfRender.js.map +1 -0
  52. package/dist/cjs/src/multiVariableText/propPanel.js +148 -0
  53. package/dist/cjs/src/multiVariableText/propPanel.js.map +1 -0
  54. package/dist/cjs/src/multiVariableText/types.js +3 -0
  55. package/dist/cjs/src/multiVariableText/types.js.map +1 -0
  56. package/dist/cjs/src/multiVariableText/uiRender.js +146 -0
  57. package/dist/cjs/src/multiVariableText/uiRender.js.map +1 -0
  58. package/dist/cjs/src/radioGroup/index.js +93 -0
  59. package/dist/cjs/src/radioGroup/index.js.map +1 -0
  60. package/dist/cjs/src/select/index.js +170 -0
  61. package/dist/cjs/src/select/index.js.map +1 -0
  62. package/dist/cjs/src/shapes/line.js +76 -0
  63. package/dist/cjs/src/shapes/line.js.map +1 -0
  64. package/dist/cjs/src/shapes/rectAndEllipse.js +140 -0
  65. package/dist/cjs/src/shapes/rectAndEllipse.js.map +1 -0
  66. package/dist/cjs/src/tables/cell.js +126 -0
  67. package/dist/cjs/src/tables/cell.js.map +1 -0
  68. package/dist/cjs/src/tables/classes.js +467 -0
  69. package/dist/cjs/src/tables/classes.js.map +1 -0
  70. package/dist/cjs/src/tables/dynamicTemplate.js +66 -0
  71. package/dist/cjs/src/tables/dynamicTemplate.js.map +1 -0
  72. package/dist/cjs/src/tables/helper.js +189 -0
  73. package/dist/cjs/src/tables/helper.js.map +1 -0
  74. package/dist/cjs/src/tables/index.js +15 -0
  75. package/dist/cjs/src/tables/index.js.map +1 -0
  76. package/dist/cjs/src/tables/pdfRender.js +109 -0
  77. package/dist/cjs/src/tables/pdfRender.js.map +1 -0
  78. package/dist/cjs/src/tables/propPanel.js +108 -0
  79. package/dist/cjs/src/tables/propPanel.js.map +1 -0
  80. package/dist/cjs/src/tables/tableHelper.js +200 -0
  81. package/dist/cjs/src/tables/tableHelper.js.map +1 -0
  82. package/dist/cjs/src/tables/types.js +3 -0
  83. package/dist/cjs/src/tables/types.js.map +1 -0
  84. package/dist/cjs/src/tables/uiRender.js +368 -0
  85. package/dist/cjs/src/tables/uiRender.js.map +1 -0
  86. package/dist/cjs/src/text/constants.js +97 -0
  87. package/dist/cjs/src/text/constants.js.map +1 -0
  88. package/dist/cjs/src/text/extraFormatter.js +49 -0
  89. package/dist/cjs/src/text/extraFormatter.js.map +1 -0
  90. package/dist/cjs/src/text/helper.js +498 -0
  91. package/dist/cjs/src/text/helper.js.map +1 -0
  92. package/dist/cjs/src/text/icons/index.js +16 -0
  93. package/dist/cjs/src/text/icons/index.js.map +1 -0
  94. package/dist/cjs/src/text/index.js +15 -0
  95. package/dist/cjs/src/text/index.js.map +1 -0
  96. package/dist/cjs/src/text/pdfRender.js +167 -0
  97. package/dist/cjs/src/text/pdfRender.js.map +1 -0
  98. package/dist/cjs/src/text/propPanel.js +161 -0
  99. package/dist/cjs/src/text/propPanel.js.map +1 -0
  100. package/dist/cjs/src/text/types.js +3 -0
  101. package/dist/cjs/src/text/types.js.map +1 -0
  102. package/dist/cjs/src/text/uiRender.js +224 -0
  103. package/dist/cjs/src/text/uiRender.js.map +1 -0
  104. package/dist/cjs/src/utils.js +230 -0
  105. package/dist/cjs/src/utils.js.map +1 -0
  106. package/dist/esm/__tests__/barcode.test.js +349 -0
  107. package/dist/esm/__tests__/barcode.test.js.map +1 -0
  108. package/dist/esm/__tests__/multiVariableText.test.js +100 -0
  109. package/dist/esm/__tests__/multiVariableText.test.js.map +1 -0
  110. package/dist/esm/__tests__/text.test.js +384 -0
  111. package/dist/esm/__tests__/text.test.js.map +1 -0
  112. package/dist/esm/__tests__/utils.test.js +191 -0
  113. package/dist/esm/__tests__/utils.test.js.map +1 -0
  114. package/dist/esm/src/barcodes/constants.js +18 -0
  115. package/dist/esm/src/barcodes/constants.js.map +1 -0
  116. package/dist/esm/src/barcodes/helper.js +151 -0
  117. package/dist/esm/src/barcodes/helper.js.map +1 -0
  118. package/dist/esm/src/barcodes/index.js +16 -0
  119. package/dist/esm/src/barcodes/index.js.map +1 -0
  120. package/dist/esm/src/barcodes/pdfRender.js +25 -0
  121. package/dist/esm/src/barcodes/pdfRender.js.map +1 -0
  122. package/dist/esm/src/barcodes/propPanel.js +237 -0
  123. package/dist/esm/src/barcodes/propPanel.js.map +1 -0
  124. package/dist/esm/src/barcodes/types.js +2 -0
  125. package/dist/esm/src/barcodes/types.js.map +1 -0
  126. package/dist/esm/src/barcodes/uiRender.js +87 -0
  127. package/dist/esm/src/barcodes/uiRender.js.map +1 -0
  128. package/dist/esm/src/checkbox/index.js +57 -0
  129. package/dist/esm/src/checkbox/index.js.map +1 -0
  130. package/dist/esm/src/constants.js +3 -0
  131. package/dist/esm/src/constants.js.map +1 -0
  132. package/dist/esm/src/date/date.js +7 -0
  133. package/dist/esm/src/date/date.js.map +1 -0
  134. package/dist/esm/src/date/dateTime.js +7 -0
  135. package/dist/esm/src/date/dateTime.js.map +1 -0
  136. package/dist/esm/src/date/helper.js +422 -0
  137. package/dist/esm/src/date/helper.js.map +1 -0
  138. package/dist/esm/src/date/time.js +7 -0
  139. package/dist/esm/src/date/time.js.map +1 -0
  140. package/dist/esm/src/date/types.js +2 -0
  141. package/dist/esm/src/date/types.js.map +1 -0
  142. package/dist/esm/src/graphics/image.js +170 -0
  143. package/dist/esm/src/graphics/image.js.map +1 -0
  144. package/dist/esm/src/graphics/imagehelper.js +120 -0
  145. package/dist/esm/src/graphics/imagehelper.js.map +1 -0
  146. package/dist/esm/src/graphics/svg.js +107 -0
  147. package/dist/esm/src/graphics/svg.js.map +1 -0
  148. package/dist/esm/src/index.js +21 -0
  149. package/dist/esm/src/index.js.map +1 -0
  150. package/dist/esm/src/multiVariableText/helper.js +50 -0
  151. package/dist/esm/src/multiVariableText/helper.js.map +1 -0
  152. package/dist/esm/src/multiVariableText/index.js +14 -0
  153. package/dist/esm/src/multiVariableText/index.js.map +1 -0
  154. package/dist/esm/src/multiVariableText/pdfRender.js +16 -0
  155. package/dist/esm/src/multiVariableText/pdfRender.js.map +1 -0
  156. package/dist/esm/src/multiVariableText/propPanel.js +145 -0
  157. package/dist/esm/src/multiVariableText/propPanel.js.map +1 -0
  158. package/dist/esm/src/multiVariableText/types.js +2 -0
  159. package/dist/esm/src/multiVariableText/types.js.map +1 -0
  160. package/dist/esm/src/multiVariableText/uiRender.js +142 -0
  161. package/dist/esm/src/multiVariableText/uiRender.js.map +1 -0
  162. package/dist/esm/src/radioGroup/index.js +88 -0
  163. package/dist/esm/src/radioGroup/index.js.map +1 -0
  164. package/dist/esm/src/select/index.js +165 -0
  165. package/dist/esm/src/select/index.js.map +1 -0
  166. package/dist/esm/src/shapes/line.js +74 -0
  167. package/dist/esm/src/shapes/line.js.map +1 -0
  168. package/dist/esm/src/shapes/rectAndEllipse.js +137 -0
  169. package/dist/esm/src/shapes/rectAndEllipse.js.map +1 -0
  170. package/dist/esm/src/tables/cell.js +121 -0
  171. package/dist/esm/src/tables/cell.js.map +1 -0
  172. package/dist/esm/src/tables/classes.js +460 -0
  173. package/dist/esm/src/tables/classes.js.map +1 -0
  174. package/dist/esm/src/tables/dynamicTemplate.js +62 -0
  175. package/dist/esm/src/tables/dynamicTemplate.js.map +1 -0
  176. package/dist/esm/src/tables/helper.js +181 -0
  177. package/dist/esm/src/tables/helper.js.map +1 -0
  178. package/dist/esm/src/tables/index.js +13 -0
  179. package/dist/esm/src/tables/index.js.map +1 -0
  180. package/dist/esm/src/tables/pdfRender.js +102 -0
  181. package/dist/esm/src/tables/pdfRender.js.map +1 -0
  182. package/dist/esm/src/tables/propPanel.js +105 -0
  183. package/dist/esm/src/tables/propPanel.js.map +1 -0
  184. package/dist/esm/src/tables/tableHelper.js +197 -0
  185. package/dist/esm/src/tables/tableHelper.js.map +1 -0
  186. package/dist/esm/src/tables/types.js +2 -0
  187. package/dist/esm/src/tables/types.js.map +1 -0
  188. package/dist/esm/src/tables/uiRender.js +361 -0
  189. package/dist/esm/src/tables/uiRender.js.map +1 -0
  190. package/dist/esm/src/text/constants.js +94 -0
  191. package/dist/esm/src/text/constants.js.map +1 -0
  192. package/dist/esm/src/text/extraFormatter.js +45 -0
  193. package/dist/esm/src/text/extraFormatter.js.map +1 -0
  194. package/dist/esm/src/text/helper.js +451 -0
  195. package/dist/esm/src/text/helper.js.map +1 -0
  196. package/dist/esm/src/text/icons/index.js +13 -0
  197. package/dist/esm/src/text/icons/index.js.map +1 -0
  198. package/dist/esm/src/text/index.js +13 -0
  199. package/dist/esm/src/text/index.js.map +1 -0
  200. package/dist/esm/src/text/pdfRender.js +163 -0
  201. package/dist/esm/src/text/pdfRender.js.map +1 -0
  202. package/dist/esm/src/text/propPanel.js +158 -0
  203. package/dist/esm/src/text/propPanel.js.map +1 -0
  204. package/dist/esm/src/text/types.js +2 -0
  205. package/dist/esm/src/text/types.js.map +1 -0
  206. package/dist/esm/src/text/uiRender.js +217 -0
  207. package/dist/esm/src/text/uiRender.js.map +1 -0
  208. package/dist/esm/src/utils.js +218 -0
  209. package/dist/esm/src/utils.js.map +1 -0
  210. package/dist/node/__tests__/barcode.test.js +354 -0
  211. package/dist/node/__tests__/barcode.test.js.map +1 -0
  212. package/dist/node/__tests__/multiVariableText.test.js +102 -0
  213. package/dist/node/__tests__/multiVariableText.test.js.map +1 -0
  214. package/dist/node/__tests__/text.test.js +419 -0
  215. package/dist/node/__tests__/text.test.js.map +1 -0
  216. package/dist/node/__tests__/utils.test.js +193 -0
  217. package/dist/node/__tests__/utils.test.js.map +1 -0
  218. package/dist/node/src/barcodes/constants.js +21 -0
  219. package/dist/node/src/barcodes/constants.js.map +1 -0
  220. package/dist/node/src/barcodes/helper.js +161 -0
  221. package/dist/node/src/barcodes/helper.js.map +1 -0
  222. package/dist/node/src/barcodes/index.js +18 -0
  223. package/dist/node/src/barcodes/index.js.map +1 -0
  224. package/dist/node/src/barcodes/pdfRender.js +29 -0
  225. package/dist/node/src/barcodes/pdfRender.js.map +1 -0
  226. package/dist/node/src/barcodes/propPanel.js +241 -0
  227. package/dist/node/src/barcodes/propPanel.js.map +1 -0
  228. package/dist/node/src/barcodes/types.js +3 -0
  229. package/dist/node/src/barcodes/types.js.map +1 -0
  230. package/dist/node/src/barcodes/uiRender.js +91 -0
  231. package/dist/node/src/barcodes/uiRender.js.map +1 -0
  232. package/dist/node/src/checkbox/index.js +62 -0
  233. package/dist/node/src/checkbox/index.js.map +1 -0
  234. package/dist/node/src/constants.js +6 -0
  235. package/dist/node/src/constants.js.map +1 -0
  236. package/dist/node/src/date/date.js +9 -0
  237. package/dist/node/src/date/date.js.map +1 -0
  238. package/dist/node/src/date/dateTime.js +9 -0
  239. package/dist/node/src/date/dateTime.js.map +1 -0
  240. package/dist/node/src/date/helper.js +462 -0
  241. package/dist/node/src/date/helper.js.map +1 -0
  242. package/dist/node/src/date/time.js +9 -0
  243. package/dist/node/src/date/time.js.map +1 -0
  244. package/dist/node/src/date/types.js +3 -0
  245. package/dist/node/src/date/types.js.map +1 -0
  246. package/dist/node/src/graphics/image.js +172 -0
  247. package/dist/node/src/graphics/image.js.map +1 -0
  248. package/dist/node/src/graphics/imagehelper.js +124 -0
  249. package/dist/node/src/graphics/imagehelper.js.map +1 -0
  250. package/dist/node/src/graphics/svg.js +109 -0
  251. package/dist/node/src/graphics/svg.js.map +1 -0
  252. package/dist/node/src/index.js +41 -0
  253. package/dist/node/src/index.js.map +1 -0
  254. package/dist/node/src/multiVariableText/helper.js +55 -0
  255. package/dist/node/src/multiVariableText/helper.js.map +1 -0
  256. package/dist/node/src/multiVariableText/index.js +16 -0
  257. package/dist/node/src/multiVariableText/index.js.map +1 -0
  258. package/dist/node/src/multiVariableText/pdfRender.js +20 -0
  259. package/dist/node/src/multiVariableText/pdfRender.js.map +1 -0
  260. package/dist/node/src/multiVariableText/propPanel.js +148 -0
  261. package/dist/node/src/multiVariableText/propPanel.js.map +1 -0
  262. package/dist/node/src/multiVariableText/types.js +3 -0
  263. package/dist/node/src/multiVariableText/types.js.map +1 -0
  264. package/dist/node/src/multiVariableText/uiRender.js +146 -0
  265. package/dist/node/src/multiVariableText/uiRender.js.map +1 -0
  266. package/dist/node/src/radioGroup/index.js +93 -0
  267. package/dist/node/src/radioGroup/index.js.map +1 -0
  268. package/dist/node/src/select/index.js +170 -0
  269. package/dist/node/src/select/index.js.map +1 -0
  270. package/dist/node/src/shapes/line.js +76 -0
  271. package/dist/node/src/shapes/line.js.map +1 -0
  272. package/dist/node/src/shapes/rectAndEllipse.js +140 -0
  273. package/dist/node/src/shapes/rectAndEllipse.js.map +1 -0
  274. package/dist/node/src/tables/cell.js +126 -0
  275. package/dist/node/src/tables/cell.js.map +1 -0
  276. package/dist/node/src/tables/classes.js +467 -0
  277. package/dist/node/src/tables/classes.js.map +1 -0
  278. package/dist/node/src/tables/dynamicTemplate.js +66 -0
  279. package/dist/node/src/tables/dynamicTemplate.js.map +1 -0
  280. package/dist/node/src/tables/helper.js +189 -0
  281. package/dist/node/src/tables/helper.js.map +1 -0
  282. package/dist/node/src/tables/index.js +15 -0
  283. package/dist/node/src/tables/index.js.map +1 -0
  284. package/dist/node/src/tables/pdfRender.js +109 -0
  285. package/dist/node/src/tables/pdfRender.js.map +1 -0
  286. package/dist/node/src/tables/propPanel.js +108 -0
  287. package/dist/node/src/tables/propPanel.js.map +1 -0
  288. package/dist/node/src/tables/tableHelper.js +200 -0
  289. package/dist/node/src/tables/tableHelper.js.map +1 -0
  290. package/dist/node/src/tables/types.js +3 -0
  291. package/dist/node/src/tables/types.js.map +1 -0
  292. package/dist/node/src/tables/uiRender.js +368 -0
  293. package/dist/node/src/tables/uiRender.js.map +1 -0
  294. package/dist/node/src/text/constants.js +97 -0
  295. package/dist/node/src/text/constants.js.map +1 -0
  296. package/dist/node/src/text/extraFormatter.js +49 -0
  297. package/dist/node/src/text/extraFormatter.js.map +1 -0
  298. package/dist/node/src/text/helper.js +498 -0
  299. package/dist/node/src/text/helper.js.map +1 -0
  300. package/dist/node/src/text/icons/index.js +16 -0
  301. package/dist/node/src/text/icons/index.js.map +1 -0
  302. package/dist/node/src/text/index.js +15 -0
  303. package/dist/node/src/text/index.js.map +1 -0
  304. package/dist/node/src/text/pdfRender.js +167 -0
  305. package/dist/node/src/text/pdfRender.js.map +1 -0
  306. package/dist/node/src/text/propPanel.js +161 -0
  307. package/dist/node/src/text/propPanel.js.map +1 -0
  308. package/dist/node/src/text/types.js +3 -0
  309. package/dist/node/src/text/types.js.map +1 -0
  310. package/dist/node/src/text/uiRender.js +224 -0
  311. package/dist/node/src/text/uiRender.js.map +1 -0
  312. package/dist/node/src/utils.js +230 -0
  313. package/dist/node/src/utils.js.map +1 -0
  314. package/dist/types/__tests__/barcode.test.d.ts +1 -0
  315. package/dist/types/__tests__/multiVariableText.test.d.ts +1 -0
  316. package/dist/types/__tests__/text.test.d.ts +1 -0
  317. package/dist/types/__tests__/utils.test.d.ts +1 -0
  318. package/dist/types/src/barcodes/constants.d.ts +4 -0
  319. package/dist/types/src/barcodes/helper.d.ts +21 -0
  320. package/dist/types/src/barcodes/index.d.ts +4 -0
  321. package/dist/types/src/barcodes/pdfRender.d.ts +3 -0
  322. package/dist/types/src/barcodes/propPanel.d.ts +3 -0
  323. package/dist/types/src/barcodes/types.d.ts +10 -0
  324. package/dist/types/src/barcodes/uiRender.d.ts +3 -0
  325. package/dist/types/src/checkbox/index.d.ts +6 -0
  326. package/dist/types/src/constants.d.ts +2 -0
  327. package/dist/types/src/date/date.d.ts +2 -0
  328. package/dist/types/src/date/dateTime.d.ts +2 -0
  329. package/dist/types/src/date/helper.d.ts +8 -0
  330. package/dist/types/src/date/time.d.ts +2 -0
  331. package/dist/types/src/date/types.d.ts +17 -0
  332. package/dist/types/src/graphics/image.d.ts +5 -0
  333. package/dist/types/src/graphics/imagehelper.d.ts +4 -0
  334. package/dist/types/src/graphics/svg.d.ts +4 -0
  335. package/dist/types/src/index.d.ts +19 -0
  336. package/dist/types/src/multiVariableText/helper.d.ts +3 -0
  337. package/dist/types/src/multiVariableText/index.d.ts +4 -0
  338. package/dist/types/src/multiVariableText/pdfRender.d.ts +3 -0
  339. package/dist/types/src/multiVariableText/propPanel.d.ts +3 -0
  340. package/dist/types/src/multiVariableText/types.d.ts +5 -0
  341. package/dist/types/src/multiVariableText/uiRender.d.ts +3 -0
  342. package/dist/types/src/radioGroup/index.d.ts +7 -0
  343. package/dist/types/src/select/index.d.ts +7 -0
  344. package/dist/types/src/shapes/line.d.ts +6 -0
  345. package/dist/types/src/shapes/rectAndEllipse.d.ts +175 -0
  346. package/dist/types/src/tables/cell.d.ts +4 -0
  347. package/dist/types/src/tables/classes.d.ts +69 -0
  348. package/dist/types/src/tables/dynamicTemplate.d.ts +7 -0
  349. package/dist/types/src/tables/helper.d.ts +265 -0
  350. package/dist/types/src/tables/index.d.ts +4 -0
  351. package/dist/types/src/tables/pdfRender.d.ts +3 -0
  352. package/dist/types/src/tables/propPanel.d.ts +3 -0
  353. package/dist/types/src/tables/tableHelper.d.ts +10 -0
  354. package/dist/types/src/tables/types.d.ts +88 -0
  355. package/dist/types/src/tables/uiRender.d.ts +3 -0
  356. package/dist/types/src/text/constants.d.ts +23 -0
  357. package/dist/types/src/text/extraFormatter.d.ts +25 -0
  358. package/dist/types/src/text/helper.d.ts +39 -0
  359. package/dist/types/src/text/icons/index.d.ts +9 -0
  360. package/dist/types/src/text/index.d.ts +4 -0
  361. package/dist/types/src/text/pdfRender.d.ts +3 -0
  362. package/dist/types/src/text/propPanel.d.ts +3 -0
  363. package/dist/types/src/text/types.d.ts +28 -0
  364. package/dist/types/src/text/uiRender.d.ts +11 -0
  365. package/dist/types/src/utils.d.ts +40 -0
  366. package/eslint.config.mjs +22 -0
  367. package/package.json +97 -0
  368. package/src/barcodes/constants.ts +20 -0
  369. package/src/barcodes/helper.ts +187 -0
  370. package/src/barcodes/index.ts +23 -0
  371. package/src/barcodes/pdfRender.ts +37 -0
  372. package/src/barcodes/propPanel.ts +249 -0
  373. package/src/barcodes/types.ts +12 -0
  374. package/src/barcodes/uiRender.ts +94 -0
  375. package/src/checkbox/index.ts +70 -0
  376. package/src/constants.ts +2 -0
  377. package/src/date/date.ts +9 -0
  378. package/src/date/dateTime.ts +9 -0
  379. package/src/date/helper.ts +496 -0
  380. package/src/date/time.ts +9 -0
  381. package/src/date/types.ts +19 -0
  382. package/src/graphics/image.ts +201 -0
  383. package/src/graphics/imagehelper.ts +156 -0
  384. package/src/graphics/svg.ts +118 -0
  385. package/src/index.ts +39 -0
  386. package/src/multiVariableText/helper.ts +65 -0
  387. package/src/multiVariableText/index.ts +16 -0
  388. package/src/multiVariableText/pdfRender.ts +21 -0
  389. package/src/multiVariableText/propPanel.ts +160 -0
  390. package/src/multiVariableText/types.ts +6 -0
  391. package/src/multiVariableText/uiRender.ts +170 -0
  392. package/src/radioGroup/index.ts +115 -0
  393. package/src/select/index.ts +204 -0
  394. package/src/shapes/line.ts +94 -0
  395. package/src/shapes/rectAndEllipse.ts +152 -0
  396. package/src/tables/cell.ts +152 -0
  397. package/src/tables/classes.ts +402 -0
  398. package/src/tables/dynamicTemplate.ts +88 -0
  399. package/src/tables/helper.ts +216 -0
  400. package/src/tables/index.ts +15 -0
  401. package/src/tables/pdfRender.ts +144 -0
  402. package/src/tables/propPanel.ts +111 -0
  403. package/src/tables/tableHelper.ts +288 -0
  404. package/src/tables/types.ts +87 -0
  405. package/src/tables/uiRender.ts +436 -0
  406. package/src/text/constants.ts +104 -0
  407. package/src/text/extraFormatter.ts +83 -0
  408. package/src/text/helper.ts +550 -0
  409. package/src/text/icons/index.ts +30 -0
  410. package/src/text/index.ts +16 -0
  411. package/src/text/pdfRender.ts +239 -0
  412. package/src/text/propPanel.ts +184 -0
  413. package/src/text/types.ts +30 -0
  414. package/src/text/uiRender.ts +288 -0
  415. package/src/utils.ts +281 -0
  416. package/tsconfig.cjs.json +10 -0
  417. package/tsconfig.esm.json +11 -0
  418. package/tsconfig.json +6 -0
  419. package/tsconfig.node.json +11 -0
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBodyWithRange = exports.getBody = exports.getColumnStylesPropPanelSchema = exports.getCellPropPanelSchema = exports.getDefaultCellStyles = void 0;
4
+ const constants_js_1 = require("../text/constants.js");
5
+ const constants_js_2 = require("../constants.js");
6
+ const getDefaultCellStyles = () => ({
7
+ fontName: undefined,
8
+ alignment: constants_js_1.DEFAULT_ALIGNMENT,
9
+ verticalAlignment: constants_js_1.VERTICAL_ALIGN_MIDDLE,
10
+ fontSize: constants_js_1.DEFAULT_FONT_SIZE,
11
+ lineHeight: constants_js_1.DEFAULT_LINE_HEIGHT,
12
+ characterSpacing: constants_js_1.DEFAULT_CHARACTER_SPACING,
13
+ fontColor: constants_js_1.DEFAULT_FONT_COLOR,
14
+ backgroundColor: '',
15
+ borderColor: '#888888',
16
+ borderWidth: { top: 0.1, bottom: 0.1, left: 0.1, right: 0.1 },
17
+ padding: { top: 5, bottom: 5, left: 5, right: 5 },
18
+ });
19
+ exports.getDefaultCellStyles = getDefaultCellStyles;
20
+ const getBoxDimensionProp = (step = 1) => {
21
+ const getCommonProp = () => ({
22
+ type: 'number',
23
+ widget: 'inputNumber',
24
+ props: { min: 0, step },
25
+ span: 6,
26
+ });
27
+ return {
28
+ top: { title: 'Top', ...getCommonProp() },
29
+ right: { title: 'Right', ...getCommonProp() },
30
+ bottom: { title: 'Bottom', ...getCommonProp() },
31
+ left: { title: 'Left', ...getCommonProp() },
32
+ };
33
+ };
34
+ const getCellPropPanelSchema = (arg) => {
35
+ const { i18n, fallbackFontName, fontNames, isBody } = arg;
36
+ return {
37
+ fontName: {
38
+ title: i18n('schemas.text.fontName'),
39
+ type: 'string',
40
+ widget: 'select',
41
+ default: fallbackFontName,
42
+ placeholder: fallbackFontName,
43
+ props: { options: fontNames.map((name) => ({ label: name, value: name })) },
44
+ span: 12,
45
+ },
46
+ fontSize: {
47
+ title: i18n('schemas.text.size'),
48
+ type: 'number',
49
+ widget: 'inputNumber',
50
+ props: { min: 0 },
51
+ span: 6,
52
+ },
53
+ characterSpacing: {
54
+ title: i18n('schemas.text.spacing'),
55
+ type: 'number',
56
+ widget: 'inputNumber',
57
+ props: { min: 0 },
58
+ span: 6,
59
+ },
60
+ alignment: {
61
+ title: i18n('schemas.text.textAlign'),
62
+ type: 'string',
63
+ widget: 'select',
64
+ props: {
65
+ options: [
66
+ { label: i18n('schemas.left'), value: constants_js_1.ALIGN_LEFT },
67
+ { label: i18n('schemas.center'), value: constants_js_1.ALIGN_CENTER },
68
+ { label: i18n('schemas.right'), value: constants_js_1.ALIGN_RIGHT },
69
+ ],
70
+ },
71
+ span: 8,
72
+ },
73
+ verticalAlignment: {
74
+ title: i18n('schemas.text.verticalAlign'),
75
+ type: 'string',
76
+ widget: 'select',
77
+ props: {
78
+ options: [
79
+ { label: i18n('schemas.top'), value: constants_js_1.VERTICAL_ALIGN_TOP },
80
+ { label: i18n('schemas.middle'), value: constants_js_1.VERTICAL_ALIGN_MIDDLE },
81
+ { label: i18n('schemas.bottom'), value: constants_js_1.VERTICAL_ALIGN_BOTTOM },
82
+ ],
83
+ },
84
+ span: 8,
85
+ },
86
+ lineHeight: {
87
+ title: i18n('schemas.text.lineHeight'),
88
+ type: 'number',
89
+ widget: 'inputNumber',
90
+ props: { step: 0.1, min: 0 },
91
+ span: 8,
92
+ },
93
+ fontColor: {
94
+ title: i18n('schemas.textColor'),
95
+ type: 'string',
96
+ widget: 'color',
97
+ props: {
98
+ disabledAlpha: true,
99
+ },
100
+ rules: [{ pattern: constants_js_2.HEX_COLOR_PATTERN, message: i18n('validation.hexColor') }],
101
+ },
102
+ borderColor: {
103
+ title: i18n('schemas.borderColor'),
104
+ type: 'string',
105
+ widget: 'color',
106
+ props: {
107
+ disabledAlpha: true,
108
+ },
109
+ rules: [{ pattern: constants_js_2.HEX_COLOR_PATTERN, message: i18n('validation.hexColor') }],
110
+ },
111
+ backgroundColor: {
112
+ title: i18n('schemas.backgroundColor'),
113
+ type: 'string',
114
+ widget: 'color',
115
+ props: {
116
+ disabledAlpha: true,
117
+ },
118
+ rules: [{ pattern: constants_js_2.HEX_COLOR_PATTERN, message: i18n('validation.hexColor') }],
119
+ },
120
+ ...(isBody
121
+ ? {
122
+ alternateBackgroundColor: {
123
+ title: i18n('schemas.table.alternateBackgroundColor'),
124
+ type: 'string',
125
+ widget: 'color',
126
+ props: {
127
+ disabledAlpha: true,
128
+ },
129
+ rules: [{ pattern: constants_js_2.HEX_COLOR_PATTERN, message: i18n('validation.hexColor') }],
130
+ },
131
+ }
132
+ : {}),
133
+ '-': { type: 'void', widget: 'Divider' },
134
+ borderWidth: {
135
+ title: i18n('schemas.borderWidth'),
136
+ type: 'object',
137
+ widget: 'lineTitle',
138
+ span: 24,
139
+ properties: getBoxDimensionProp(0.1),
140
+ },
141
+ '--': { type: 'void', widget: 'Divider' },
142
+ padding: {
143
+ title: i18n('schemas.padding'),
144
+ type: 'object',
145
+ widget: 'lineTitle',
146
+ span: 24,
147
+ properties: getBoxDimensionProp(),
148
+ },
149
+ };
150
+ };
151
+ exports.getCellPropPanelSchema = getCellPropPanelSchema;
152
+ const getColumnStylesPropPanelSchema = ({ head, i18n, }) => ({
153
+ alignment: {
154
+ type: 'object',
155
+ widget: 'lineTitle',
156
+ title: i18n('schemas.text.textAlign'),
157
+ column: 3,
158
+ properties: head.reduce((acc, cur, i) => Object.assign(acc, {
159
+ [i]: {
160
+ title: cur || 'Column ' + String(i + 1),
161
+ type: 'string',
162
+ widget: 'select',
163
+ props: {
164
+ options: [
165
+ { label: i18n('schemas.left'), value: constants_js_1.ALIGN_LEFT },
166
+ { label: i18n('schemas.center'), value: constants_js_1.ALIGN_CENTER },
167
+ { label: i18n('schemas.right'), value: constants_js_1.ALIGN_RIGHT },
168
+ ],
169
+ },
170
+ },
171
+ }), {}),
172
+ },
173
+ });
174
+ exports.getColumnStylesPropPanelSchema = getColumnStylesPropPanelSchema;
175
+ const getBody = (value) => {
176
+ if (typeof value === 'string') {
177
+ return JSON.parse(value || '[]');
178
+ }
179
+ return value || [];
180
+ };
181
+ exports.getBody = getBody;
182
+ const getBodyWithRange = (value, range) => {
183
+ const body = (0, exports.getBody)(value);
184
+ if (!range)
185
+ return body;
186
+ return body.slice(range.start, range.end);
187
+ };
188
+ exports.getBodyWithRange = getBodyWithRange;
189
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/tables/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const pdfRender_js_1 = require("./pdfRender.js");
4
+ const uiRender_js_1 = require("./uiRender.js");
5
+ const propPanel_js_1 = require("./propPanel.js");
6
+ const lucide_1 = require("lucide");
7
+ const utils_js_1 = require("../utils.js");
8
+ const tableSchema = {
9
+ pdf: pdfRender_js_1.pdfRender,
10
+ ui: uiRender_js_1.uiRender,
11
+ propPanel: propPanel_js_1.propPanel,
12
+ icon: (0, utils_js_1.createSvgStr)(lucide_1.Table),
13
+ };
14
+ exports.default = tableSchema;
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tables/index.ts"],"names":[],"mappings":";;AAEA,iDAA2C;AAC3C,+CAAyC;AACzC,iDAA2C;AAC3C,mCAA+B;AAC/B,0CAA2C;AAE3C,MAAM,WAAW,GAAwB;IACvC,GAAG,EAAE,wBAAS;IACd,EAAE,EAAE,sBAAQ;IACZ,SAAS,EAAT,wBAAS;IACT,IAAI,EAAE,IAAA,uBAAY,EAAC,cAAK,CAAC;CAC1B,CAAC;AACF,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.pdfRender = void 0;
7
+ const rectAndEllipse_js_1 = require("../shapes/rectAndEllipse.js");
8
+ const cell_js_1 = __importDefault(require("./cell.js"));
9
+ const helper_js_1 = require("./helper.js");
10
+ const tableHelper_js_1 = require("./tableHelper.js");
11
+ const rectanglePdfRender = rectAndEllipse_js_1.rectangle.pdf;
12
+ const cellPdfRender = cell_js_1.default.pdf;
13
+ async function drawCell(arg, cell) {
14
+ await cellPdfRender({
15
+ ...arg,
16
+ value: cell.raw,
17
+ schema: {
18
+ name: '',
19
+ type: 'cell',
20
+ position: { x: cell.x, y: cell.y },
21
+ width: cell.width,
22
+ height: cell.height,
23
+ fontName: cell.styles.fontName,
24
+ alignment: cell.styles.alignment,
25
+ verticalAlignment: cell.styles.verticalAlignment,
26
+ fontSize: cell.styles.fontSize,
27
+ lineHeight: cell.styles.lineHeight,
28
+ characterSpacing: cell.styles.characterSpacing,
29
+ backgroundColor: cell.styles.backgroundColor,
30
+ fontColor: cell.styles.textColor,
31
+ borderColor: cell.styles.lineColor,
32
+ borderWidth: cell.styles.lineWidth,
33
+ padding: cell.styles.cellPadding,
34
+ },
35
+ });
36
+ }
37
+ async function drawRow(arg, table, row, cursor, columns) {
38
+ cursor.x = table.settings.margin.left;
39
+ for (const column of columns) {
40
+ const cell = row.cells[column.index];
41
+ if (!cell) {
42
+ cursor.x += column.width;
43
+ continue;
44
+ }
45
+ cell.x = cursor.x;
46
+ cell.y = cursor.y;
47
+ await drawCell(arg, cell);
48
+ cursor.x += column.width;
49
+ }
50
+ cursor.y += row.height;
51
+ }
52
+ async function drawTableBorder(arg, table, startPos, cursor) {
53
+ const lineWidth = table.settings.tableLineWidth;
54
+ const lineColor = table.settings.tableLineColor;
55
+ if (!lineWidth || !lineColor)
56
+ return;
57
+ await rectanglePdfRender({
58
+ ...arg,
59
+ schema: {
60
+ name: '',
61
+ type: 'rectangle',
62
+ borderWidth: lineWidth,
63
+ borderColor: lineColor,
64
+ color: '',
65
+ position: { x: startPos.x, y: startPos.y },
66
+ width: table.getWidth(),
67
+ height: cursor.y - startPos.y,
68
+ readOnly: true,
69
+ },
70
+ });
71
+ }
72
+ async function drawTable(arg, table) {
73
+ const settings = table.settings;
74
+ const startY = settings.startY;
75
+ const margin = settings.margin;
76
+ const cursor = { x: margin.left, y: startY };
77
+ const startPos = Object.assign({}, cursor);
78
+ if (settings.showHead) {
79
+ for (const row of table.head) {
80
+ await drawRow(arg, table, row, cursor, table.columns);
81
+ }
82
+ }
83
+ for (const row of table.body) {
84
+ await drawRow(arg, table, row, cursor, table.columns);
85
+ }
86
+ await drawTableBorder(arg, table, startPos, cursor);
87
+ }
88
+ const pdfRender = async (arg) => {
89
+ const { value, schema, basePdf, options, _cache } = arg;
90
+ const body = (0, helper_js_1.getBodyWithRange)(typeof value !== 'string' ? JSON.stringify(value || '[]') : value, schema.__bodyRange);
91
+ // Create a properly typed CreateTableArgs object
92
+ const createTableArgs = {
93
+ schema,
94
+ basePdf,
95
+ options,
96
+ _cache,
97
+ };
98
+ // Ensure body is properly typed before passing to createSingleTable
99
+ // Ensure body is properly typed as string[][] before passing to createSingleTable
100
+ const typedBody = Array.isArray(body)
101
+ ? body.map((row) => (Array.isArray(row) ? row.map((cell) => String(cell)) : []))
102
+ : [];
103
+ const table = await (0, tableHelper_js_1.createSingleTable)(typedBody, createTableArgs);
104
+ // Use the original arg directly since drawTable expects PDFRenderProps<TableSchema>
105
+ // which is the same type as our arg parameter
106
+ await drawTable(arg, table);
107
+ };
108
+ exports.pdfRender = pdfRender;
109
+ //# sourceMappingURL=pdfRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdfRender.js","sourceRoot":"","sources":["../../../../src/tables/pdfRender.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.propPanel = void 0;
4
+ const common_1 = require("@pdfme/common");
5
+ const helper_js_1 = require("./helper.js");
6
+ const constants_js_1 = require("../constants.js");
7
+ exports.propPanel = {
8
+ schema: ({ activeSchema, options, i18n }) => {
9
+ // @ts-expect-error Type casting is necessary here as the activeSchema type is generic
10
+ const tableSchema = activeSchema;
11
+ const head = tableSchema.head || [];
12
+ const showHead = tableSchema.showHead || false;
13
+ const font = options.font || { [common_1.DEFAULT_FONT_NAME]: { data: '', fallback: true } };
14
+ const fontNames = Object.keys(font);
15
+ const fallbackFontName = (0, common_1.getFallbackFontName)(font);
16
+ return {
17
+ showHead: {
18
+ title: i18n('schemas.table.showHead'),
19
+ type: 'boolean',
20
+ widget: 'checkbox',
21
+ span: 12,
22
+ },
23
+ repeatHead: {
24
+ title: i18n('schemas.table.repeatHead'),
25
+ type: 'boolean',
26
+ widget: 'checkbox',
27
+ span: 12,
28
+ },
29
+ '-------': { type: 'void', widget: 'Divider' },
30
+ tableStyles: {
31
+ title: i18n('schemas.table.tableStyle'),
32
+ type: 'object',
33
+ widget: 'Card',
34
+ span: 24,
35
+ properties: {
36
+ borderWidth: {
37
+ title: i18n('schemas.borderWidth'),
38
+ type: 'number',
39
+ widget: 'inputNumber',
40
+ props: { min: 0, step: 0.1 },
41
+ step: 1,
42
+ },
43
+ borderColor: {
44
+ title: i18n('schemas.borderColor'),
45
+ type: 'string',
46
+ widget: 'color',
47
+ props: {
48
+ disabledAlpha: true,
49
+ },
50
+ rules: [{ pattern: constants_js_1.HEX_COLOR_PATTERN, message: i18n('validation.hexColor') }],
51
+ },
52
+ },
53
+ },
54
+ headStyles: {
55
+ hidden: !showHead,
56
+ title: i18n('schemas.table.headStyle'),
57
+ type: 'object',
58
+ widget: 'Card',
59
+ span: 24,
60
+ properties: (0, helper_js_1.getCellPropPanelSchema)({ i18n, fallbackFontName, fontNames }),
61
+ },
62
+ bodyStyles: {
63
+ title: i18n('schemas.table.bodyStyle'),
64
+ type: 'object',
65
+ widget: 'Card',
66
+ span: 24,
67
+ properties: (0, helper_js_1.getCellPropPanelSchema)({ i18n, fallbackFontName, fontNames, isBody: true }),
68
+ },
69
+ columnStyles: {
70
+ title: i18n('schemas.table.columnStyle'),
71
+ type: 'object',
72
+ widget: 'Card',
73
+ span: 24,
74
+ properties: (0, helper_js_1.getColumnStylesPropPanelSchema)({ head, i18n }),
75
+ },
76
+ };
77
+ },
78
+ defaultSchema: {
79
+ name: '',
80
+ type: 'table',
81
+ position: { x: 0, y: 0 },
82
+ width: 150,
83
+ height: 20,
84
+ content: JSON.stringify([
85
+ ['Alice', 'New York', 'Alice is a freelance web designer and developer'],
86
+ ['Bob', 'Paris', 'Bob is a freelance illustrator and graphic designer'],
87
+ ]),
88
+ showHead: true,
89
+ repeatHead: false,
90
+ head: ['Name', 'City', 'Description'],
91
+ headWidthPercentages: [30, 30, 40],
92
+ tableStyles: {
93
+ borderColor: '#000000',
94
+ borderWidth: 0.3,
95
+ },
96
+ headStyles: Object.assign((0, helper_js_1.getDefaultCellStyles)(), {
97
+ fontColor: '#ffffff',
98
+ backgroundColor: '#2980ba',
99
+ borderColor: '',
100
+ borderWidth: { top: 0, right: 0, bottom: 0, left: 0 },
101
+ }),
102
+ bodyStyles: Object.assign((0, helper_js_1.getDefaultCellStyles)(), {
103
+ alternateBackgroundColor: '#f5f5f5',
104
+ }),
105
+ columnStyles: {},
106
+ },
107
+ };
108
+ //# sourceMappingURL=propPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/tables/propPanel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createSingleTable = createSingleTable;
4
+ const common_1 = require("@pdfme/common");
5
+ const classes_js_1 = require("./classes.js");
6
+ function parseSection(sectionName, sectionRows, columns, styleProps, fallbackFontName) {
7
+ const rowSpansLeftForColumn = {};
8
+ const result = sectionRows.map((rawRow, rowIndex) => {
9
+ let skippedRowForRowSpans = 0;
10
+ const cells = {};
11
+ let colSpansAdded = 0;
12
+ let columnSpansLeft = 0;
13
+ for (const column of columns) {
14
+ if (rowSpansLeftForColumn[column.index] == null ||
15
+ rowSpansLeftForColumn[column.index].left === 0) {
16
+ if (columnSpansLeft === 0) {
17
+ let rawCell;
18
+ if (Array.isArray(rawRow)) {
19
+ rawCell = rawRow[column.index - colSpansAdded - skippedRowForRowSpans];
20
+ }
21
+ else {
22
+ rawCell = rawRow[column.index];
23
+ }
24
+ const styles = cellStyles(sectionName, column, rowIndex, styleProps, fallbackFontName);
25
+ const cell = new classes_js_1.Cell(rawCell, styles, sectionName);
26
+ cells[column.index] = cell;
27
+ columnSpansLeft = 0;
28
+ rowSpansLeftForColumn[column.index] = {
29
+ left: 0,
30
+ times: columnSpansLeft,
31
+ };
32
+ }
33
+ else {
34
+ columnSpansLeft--;
35
+ colSpansAdded++;
36
+ }
37
+ }
38
+ else {
39
+ rowSpansLeftForColumn[column.index].left--;
40
+ columnSpansLeft = rowSpansLeftForColumn[column.index].times;
41
+ skippedRowForRowSpans++;
42
+ }
43
+ }
44
+ return new classes_js_1.Row(rawRow, rowIndex, sectionName, cells);
45
+ });
46
+ return result;
47
+ }
48
+ function parseContent4Table(input, fallbackFontName) {
49
+ const content = input.content;
50
+ const columns = content.columns.map((index) => new classes_js_1.Column(index));
51
+ const styles = input.styles;
52
+ return {
53
+ columns,
54
+ head: parseSection('head', content.head, columns, styles, fallbackFontName),
55
+ body: parseSection('body', content.body, columns, styles, fallbackFontName),
56
+ };
57
+ }
58
+ function cellStyles(sectionName, column, rowIndex, styles, fallbackFontName) {
59
+ let sectionStyles;
60
+ if (sectionName === 'head') {
61
+ sectionStyles = styles.headStyles;
62
+ }
63
+ else if (sectionName === 'body') {
64
+ sectionStyles = styles.bodyStyles;
65
+ }
66
+ const otherStyles = Object.assign({}, styles.styles, sectionStyles);
67
+ const colStyles = styles.columnStyles[column.index] || styles.columnStyles[column.index] || {};
68
+ const rowStyles = sectionName === 'body' && rowIndex % 2 === 0
69
+ ? Object.assign({}, styles.alternateRowStyles)
70
+ : {};
71
+ const defaultStyle = {
72
+ fontName: fallbackFontName,
73
+ backgroundColor: '',
74
+ textColor: '#000000',
75
+ lineHeight: 1,
76
+ characterSpacing: 0,
77
+ alignment: 'left',
78
+ verticalAlignment: 'middle',
79
+ fontSize: 10,
80
+ cellPadding: 5,
81
+ lineColor: '#000000',
82
+ lineWidth: 0,
83
+ minCellHeight: 0,
84
+ minCellWidth: 0,
85
+ };
86
+ return Object.assign(defaultStyle, otherStyles, rowStyles, colStyles);
87
+ }
88
+ function mapCellStyle(style) {
89
+ return {
90
+ fontName: style.fontName,
91
+ alignment: style.alignment,
92
+ verticalAlignment: style.verticalAlignment,
93
+ fontSize: style.fontSize,
94
+ lineHeight: style.lineHeight,
95
+ characterSpacing: style.characterSpacing,
96
+ backgroundColor: style.backgroundColor,
97
+ // ---
98
+ textColor: style.fontColor,
99
+ lineColor: style.borderColor,
100
+ lineWidth: style.borderWidth,
101
+ cellPadding: style.padding,
102
+ };
103
+ }
104
+ function getTableOptions(schema, body) {
105
+ const columnStylesWidth = schema.headWidthPercentages.reduce((acc, cur, i) => ({ ...acc, [i]: { cellWidth: schema.width * (cur / 100) } }), {});
106
+ const columnStylesAlignment = Object.entries(schema.columnStyles.alignment || {}).reduce((acc, [key, value]) => ({ ...acc, [key]: { alignment: value } }), {});
107
+ const allKeys = new Set([
108
+ ...Object.keys(columnStylesWidth).map(Number),
109
+ ...Object.keys(columnStylesAlignment).map(Number),
110
+ ]);
111
+ const columnStyles = Array.from(allKeys).reduce((acc, key) => {
112
+ const widthStyle = columnStylesWidth[key] || {};
113
+ const alignmentStyle = columnStylesAlignment[key] || {};
114
+ return { ...acc, [key]: { ...widthStyle, ...alignmentStyle } };
115
+ }, {});
116
+ return {
117
+ head: [schema.head],
118
+ body,
119
+ showHead: schema.showHead,
120
+ startY: schema.position.y,
121
+ tableWidth: schema.width,
122
+ tableLineColor: schema.tableStyles.borderColor,
123
+ tableLineWidth: schema.tableStyles.borderWidth,
124
+ headStyles: mapCellStyle(schema.headStyles),
125
+ bodyStyles: mapCellStyle(schema.bodyStyles),
126
+ alternateRowStyles: { backgroundColor: schema.bodyStyles.alternateBackgroundColor },
127
+ columnStyles,
128
+ margin: { top: 0, right: 0, left: schema.position.x, bottom: 0 },
129
+ };
130
+ }
131
+ function parseStyles(cInput) {
132
+ const styleOptions = {
133
+ styles: {},
134
+ headStyles: {},
135
+ bodyStyles: {},
136
+ alternateRowStyles: {},
137
+ columnStyles: {},
138
+ };
139
+ for (const prop of Object.keys(styleOptions)) {
140
+ if (prop === 'columnStyles') {
141
+ const current = cInput[prop];
142
+ styleOptions.columnStyles = Object.assign({}, current);
143
+ }
144
+ else {
145
+ const allOptions = [cInput];
146
+ const styles = allOptions.map((opts) => opts[prop] || {});
147
+ styleOptions[prop] = Object.assign({}, styles[0], styles[1], styles[2]);
148
+ }
149
+ }
150
+ return styleOptions;
151
+ }
152
+ function parseContent4Input(options) {
153
+ const head = options.head || [];
154
+ const body = options.body || [];
155
+ const columns = (head[0] || body[0] || []).map((_, index) => index);
156
+ return { columns, head, body };
157
+ }
158
+ function parseInput(schema, body) {
159
+ const options = getTableOptions(schema, body);
160
+ const styles = parseStyles(options);
161
+ const settings = {
162
+ startY: options.startY,
163
+ margin: options.margin,
164
+ tableWidth: options.tableWidth,
165
+ showHead: options.showHead,
166
+ tableLineWidth: options.tableLineWidth ?? 0,
167
+ tableLineColor: options.tableLineColor ?? '',
168
+ };
169
+ const content = parseContent4Input(options);
170
+ return { content, styles, settings };
171
+ }
172
+ function createSingleTable(body, args) {
173
+ const { options, _cache, basePdf } = args;
174
+ if (!(0, common_1.isBlankPdf)(basePdf)) {
175
+ console.warn('[@pdfme/schema/table]' +
176
+ 'When specifying a custom PDF for basePdf, ' +
177
+ 'you cannot use features such as page breaks or re-layout of other elements.' +
178
+ 'To utilize these features, please define basePdf as follows:\n' +
179
+ '{ width: number; height: number; padding: [number, number, number, number]; }');
180
+ }
181
+ const schema = (0, common_1.cloneDeep)(args.schema);
182
+ const { start } = schema.__bodyRange || { start: 0 };
183
+ if (start % 2 === 1) {
184
+ const alternateBackgroundColor = schema.bodyStyles.alternateBackgroundColor;
185
+ schema.bodyStyles.alternateBackgroundColor = schema.bodyStyles.backgroundColor;
186
+ schema.bodyStyles.backgroundColor = alternateBackgroundColor;
187
+ }
188
+ schema.showHead = schema.showHead === false ? false : (!schema.__isSplit || schema.repeatHead === true);
189
+ const input = parseInput(schema, body);
190
+ const font = options.font || (0, common_1.getDefaultFont)();
191
+ const fallbackFontName = (0, common_1.getFallbackFontName)(font);
192
+ const content = parseContent4Table(input, fallbackFontName);
193
+ return classes_js_1.Table.create({
194
+ input,
195
+ content,
196
+ font,
197
+ _cache: _cache,
198
+ });
199
+ }
200
+ //# sourceMappingURL=tableHelper.js.map