@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,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helper_js_1 = require("./helper.js");
4
+ const utils_js_1 = require("../utils.js");
5
+ const lucide_1 = require("lucide");
6
+ const type = 'time';
7
+ const icon = (0, utils_js_1.createSvgStr)(lucide_1.Clock);
8
+ exports.default = (0, helper_js_1.getPlugin)({ type, icon });
9
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../../src/date/time.ts"],"names":[],"mappings":";;AAAA,2CAAwC;AACxC,0CAA2C;AAC3C,mCAA+B;AAE/B,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,IAAI,GAAG,IAAA,uBAAY,EAAC,cAAK,CAAC,CAAC;AAEjC,kBAAe,IAAA,qBAAS,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/date/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,172 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const common_1 = require("@pdfme/common");
4
+ const lucide_1 = require("lucide");
5
+ const utils_js_1 = require("../utils.js");
6
+ const constants_js_1 = require("../constants.js");
7
+ const imagehelper_js_1 = require("./imagehelper.js");
8
+ const getCacheKey = (schema, input) => `${schema.type}${input}`;
9
+ const fullSize = { width: '100%', height: '100%' };
10
+ const defaultValue = 'data:image/png;base64,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';
11
+ const imageSchema = {
12
+ pdf: async (arg) => {
13
+ const { value, schema, pdfDoc, page, _cache } = arg;
14
+ if (!value)
15
+ return;
16
+ const inputImageCacheKey = getCacheKey(schema, value);
17
+ let image = _cache.get(inputImageCacheKey);
18
+ if (!image) {
19
+ const isPng = value.startsWith('data:image/png;');
20
+ image = await (isPng ? pdfDoc.embedPng(value) : pdfDoc.embedJpg(value));
21
+ _cache.set(inputImageCacheKey, image);
22
+ }
23
+ const _schema = { ...schema, position: { ...schema.position } };
24
+ const dimension = (0, imagehelper_js_1.getImageDimension)(value);
25
+ const imageWidth = (0, common_1.px2mm)(dimension.width);
26
+ const imageHeight = (0, common_1.px2mm)(dimension.height);
27
+ const boxWidth = _schema.width;
28
+ const boxHeight = _schema.height;
29
+ const imageRatio = imageWidth / imageHeight;
30
+ const boxRatio = boxWidth / boxHeight;
31
+ if (imageRatio > boxRatio) {
32
+ _schema.width = boxWidth;
33
+ _schema.height = boxWidth / imageRatio;
34
+ _schema.position.y += (boxHeight - _schema.height) / 2;
35
+ }
36
+ else {
37
+ _schema.width = boxHeight * imageRatio;
38
+ _schema.height = boxHeight;
39
+ _schema.position.x += (boxWidth - _schema.width) / 2;
40
+ }
41
+ const pageHeight = page.getHeight();
42
+ const lProps = (0, utils_js_1.convertForPdfLayoutProps)({ schema: _schema, pageHeight });
43
+ const { width, height, rotate, position, opacity } = lProps;
44
+ const { x, y } = position;
45
+ const drawOptions = { x, y, rotate, width, height, opacity };
46
+ page.drawImage(image, drawOptions);
47
+ },
48
+ ui: (arg) => {
49
+ const { value, rootElement, mode, onChange, stopEditing, tabIndex, placeholder, theme, schema, } = arg;
50
+ const editable = (0, utils_js_1.isEditable)(mode, schema);
51
+ const isDefault = value === defaultValue;
52
+ const container = document.createElement('div');
53
+ const backgroundStyle = placeholder ? `url(${placeholder})` : 'none';
54
+ const containerStyle = {
55
+ ...fullSize,
56
+ backgroundImage: value ? 'none' : backgroundStyle,
57
+ backgroundSize: `contain`,
58
+ backgroundRepeat: 'no-repeat',
59
+ backgroundPosition: 'center',
60
+ };
61
+ Object.assign(container.style, containerStyle);
62
+ container.addEventListener('click', (e) => {
63
+ if (editable) {
64
+ e.stopPropagation();
65
+ }
66
+ });
67
+ rootElement.appendChild(container);
68
+ // image tag
69
+ if (value) {
70
+ const img = document.createElement('img');
71
+ const imgStyle = {
72
+ height: '100%',
73
+ width: '100%',
74
+ borderRadius: 0,
75
+ objectFit: 'contain',
76
+ };
77
+ Object.assign(img.style, imgStyle);
78
+ img.src = value;
79
+ container.appendChild(img);
80
+ }
81
+ // remove button
82
+ if (value && !isDefault && editable) {
83
+ const button = document.createElement('button');
84
+ button.textContent = 'x';
85
+ const buttonStyle = {
86
+ position: 'absolute',
87
+ top: 0,
88
+ left: 0,
89
+ zIndex: 1,
90
+ display: 'flex',
91
+ justifyContent: 'center',
92
+ alignItems: 'center',
93
+ color: '#333',
94
+ background: '#f2f2f2',
95
+ borderRadius: '2px',
96
+ border: '1px solid #767676',
97
+ cursor: 'pointer',
98
+ height: '24px',
99
+ width: '24px',
100
+ };
101
+ Object.assign(button.style, buttonStyle);
102
+ button.addEventListener('click', () => {
103
+ if (onChange)
104
+ onChange({ key: 'content', value: '' });
105
+ });
106
+ container.appendChild(button);
107
+ }
108
+ // file input
109
+ if ((!value || isDefault) && editable) {
110
+ const label = document.createElement('label');
111
+ const labelStyle = {
112
+ ...fullSize,
113
+ display: editable ? 'flex' : 'none',
114
+ position: 'absolute',
115
+ top: 0,
116
+ backgroundColor: editable || value ? (0, utils_js_1.addAlphaToHex)(theme.colorPrimaryBg, 30) : 'none',
117
+ cursor: 'pointer',
118
+ };
119
+ Object.assign(label.style, labelStyle);
120
+ container.appendChild(label);
121
+ const input = document.createElement('input');
122
+ const inputStyle = {
123
+ ...fullSize,
124
+ position: 'absolute',
125
+ top: '50%',
126
+ left: '50%',
127
+ width: '180px',
128
+ height: '30px',
129
+ marginLeft: '-90px',
130
+ marginTop: '-15px',
131
+ };
132
+ Object.assign(input.style, inputStyle);
133
+ input.tabIndex = tabIndex || 0;
134
+ input.type = 'file';
135
+ input.accept = 'image/jpeg, image/png';
136
+ input.addEventListener('change', (event) => {
137
+ const changeEvent = event;
138
+ (0, utils_js_1.readFile)(changeEvent.target.files)
139
+ .then((result) => {
140
+ if (onChange)
141
+ onChange({ key: 'content', value: result });
142
+ })
143
+ .catch((error) => {
144
+ console.error('Error reading file:', error);
145
+ });
146
+ });
147
+ input.addEventListener('blur', () => {
148
+ if (stopEditing)
149
+ stopEditing();
150
+ });
151
+ label.appendChild(input);
152
+ }
153
+ },
154
+ propPanel: {
155
+ schema: {},
156
+ defaultSchema: {
157
+ name: '',
158
+ type: 'image',
159
+ content: defaultValue,
160
+ position: { x: 0, y: 0 },
161
+ width: 40,
162
+ height: 40,
163
+ // If the value of "rotate" is set to undefined or not set at all, rotation will be disabled in the UI.
164
+ // Check this document: https://pdfme.com//docs/custom-schemas#learning-how-to-create-from-pdfmeschemas-code
165
+ rotate: 0,
166
+ opacity: constants_js_1.DEFAULT_OPACITY,
167
+ },
168
+ },
169
+ icon: (0, utils_js_1.createSvgStr)(lucide_1.Image),
170
+ };
171
+ exports.default = imageSchema;
172
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../../../src/graphics/image.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getImageDimension = void 0;
4
+ // ref: https://github.com/image-size/image-size ----------------------------
5
+ // The following code is adapted from the image-size code. Unnecessary formats and dependencies on Node have been removed.
6
+ const buffer_1 = require("buffer");
7
+ const decoder = new TextDecoder();
8
+ const toUTF8String = (input, start = 0, end = input.length) => decoder.decode(input.slice(start, end));
9
+ const toHexString = (input, start = 0, end = input.length) => input.slice(start, end).reduce((memo, i) => memo + ('0' + i.toString(16)).slice(-2), '');
10
+ const readUInt16BE = (input, offset = 0) => input[offset] * 2 ** 8 + input[offset + 1];
11
+ const readUInt32BE = (input, offset = 0) => input[offset] * 2 ** 24 +
12
+ input[offset + 1] * 2 ** 16 +
13
+ input[offset + 2] * 2 ** 8 +
14
+ input[offset + 3];
15
+ const extractSize = (input, index) => {
16
+ return {
17
+ height: readUInt16BE(input, index),
18
+ width: readUInt16BE(input, index + 2),
19
+ };
20
+ };
21
+ const validateInput = (input, index) => {
22
+ // index should be within buffer limits
23
+ if (index > input.length) {
24
+ throw new TypeError('Corrupt JPG, exceeded buffer limits');
25
+ }
26
+ // Every JPEG block must begin with a 0xFF
27
+ if (input[index] !== 0xff) {
28
+ throw new TypeError('Invalid JPG, marker table corrupted');
29
+ }
30
+ };
31
+ const JPG = {
32
+ validate: (input) => toHexString(input, 0, 2) === 'ffd8',
33
+ calculate(input) {
34
+ // Skip 4 chars, they are for signature
35
+ input = input.slice(4);
36
+ let next;
37
+ while (input.length) {
38
+ // read length of the next block
39
+ const i = readUInt16BE(input, 0);
40
+ // ensure correct format
41
+ validateInput(input, i);
42
+ // 0xFFC0 is baseline standard(SOF)
43
+ // 0xFFC1 is baseline optimized(SOF)
44
+ // 0xFFC2 is progressive(SOF2)
45
+ next = input[i + 1];
46
+ if (next === 0xc0 || next === 0xc1 || next === 0xc2) {
47
+ const size = extractSize(input, i + 5);
48
+ return size;
49
+ }
50
+ // move to the next block
51
+ input = input.slice(i + 2);
52
+ }
53
+ throw new TypeError('Invalid JPG, no size found');
54
+ },
55
+ };
56
+ const pngSignature = 'PNG\r\n\x1a\n';
57
+ const pngImageHeaderChunkName = 'IHDR';
58
+ // Used to detect "fried" png's: http://www.jongware.com/pngdefry.html
59
+ const pngFriedChunkName = 'CgBI';
60
+ const PNG = {
61
+ validate(input) {
62
+ if (pngSignature === toUTF8String(input, 1, 8)) {
63
+ let chunkName = toUTF8String(input, 12, 16);
64
+ if (chunkName === pngFriedChunkName) {
65
+ chunkName = toUTF8String(input, 28, 32);
66
+ }
67
+ if (chunkName !== pngImageHeaderChunkName) {
68
+ throw new TypeError('Invalid PNG');
69
+ }
70
+ return true;
71
+ }
72
+ return false;
73
+ },
74
+ calculate(input) {
75
+ if (toUTF8String(input, 12, 16) === pngFriedChunkName) {
76
+ return {
77
+ height: readUInt32BE(input, 36),
78
+ width: readUInt32BE(input, 32),
79
+ };
80
+ }
81
+ return {
82
+ height: readUInt32BE(input, 20),
83
+ width: readUInt32BE(input, 16),
84
+ };
85
+ },
86
+ };
87
+ const typeHandlers = {
88
+ jpg: JPG,
89
+ png: PNG,
90
+ };
91
+ function detector(input) {
92
+ const firstBytes = {
93
+ 0x89: 'png',
94
+ 0xff: 'jpg',
95
+ };
96
+ const byte = input[0];
97
+ if (byte in firstBytes) {
98
+ const type = firstBytes[byte];
99
+ if (type && typeHandlers[type].validate(input)) {
100
+ return type;
101
+ }
102
+ }
103
+ const keys = Object.keys(typeHandlers);
104
+ return keys.find((key) => typeHandlers[key].validate(input));
105
+ }
106
+ const getImageDimension = (value) => {
107
+ const dataUriPrefix = ';base64,';
108
+ const idx = value.indexOf(dataUriPrefix);
109
+ const imgBase64 = value.substring(idx + dataUriPrefix.length, value.length);
110
+ return imageSize(buffer_1.Buffer.from(imgBase64, 'base64'));
111
+ };
112
+ exports.getImageDimension = getImageDimension;
113
+ const imageSize = (imgBuffer) => {
114
+ const type = detector(imgBuffer);
115
+ if (typeof type !== 'undefined' && type in typeHandlers) {
116
+ const size = typeHandlers[type].calculate(imgBuffer);
117
+ if (size !== undefined) {
118
+ return size;
119
+ }
120
+ }
121
+ throw new TypeError('[@pdfme/schemas/images] Unsupported file type: ' + (type === undefined ? 'undefined' : type));
122
+ };
123
+ // ----------------------------
124
+ //# sourceMappingURL=imagehelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imagehelper.js","sourceRoot":"","sources":["../../../../src/graphics/imagehelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_js_1 = require("../utils.js");
4
+ const lucide_1 = require("lucide");
5
+ const isValidSVG = (svgString) => {
6
+ try {
7
+ // Basic validation checks that work in both Node.js and browser
8
+ if (!svgString || typeof svgString !== 'string') {
9
+ return false;
10
+ }
11
+ // Check for basic SVG structure
12
+ if (!svgString.includes('<svg') || !svgString.includes('</svg>')) {
13
+ return false;
14
+ }
15
+ // Additional browser-specific validation if DOMParser is available
16
+ if (typeof DOMParser !== 'undefined') {
17
+ const parser = new DOMParser();
18
+ const doc = parser.parseFromString(svgString, 'image/svg+xml');
19
+ const parserError = doc.querySelector('parsererror');
20
+ if (parserError !== null) {
21
+ return false;
22
+ }
23
+ }
24
+ return true;
25
+ }
26
+ catch {
27
+ return false;
28
+ }
29
+ };
30
+ const defaultValue = `<svg viewBox="0 0 488 600" version="1.1" xmlns="http://www.w3.org/2000/svg">
31
+ <g transform="matrix(1,0,0,1,-56,0)" fill="#000000" stroke="none">
32
+ <path d="M228.667,0L56,172.667L56.267,345.334L56.667,518L59.733,527.334C65.867,545.467 72.933,557.067 86,570.134C96.133,580.4 100,583.2 110.667,588.4C134.533,600.134 120,599.334 300,599.334C480,599.334 465.467,600.134 489.334,588.4C500,583.2 503.867,580.4 514,570.134C527.334,556.8 534.534,544.8 540.267,526.667L543.334,516.667L543.334,83.333L540.267,73.333C534.534,55.2 527.334,43.2 514,29.867C503.867,19.6 500,16.8 489.334,11.6C465.734,0 475.467,0.8 344.667,0.267L228.667,0ZM466.4,41.6C483.334,48.933 496.267,61.867 502.934,78.4L506,86L506,514L502.934,521.734C496,538.934 480.267,553.867 463.334,559.334C455.6,561.867 450.8,562 300,562C149.2,562 144.4,561.867 136.667,559.334C119.733,553.867 104,538.934 97.067,521.734L94,514L93.6,351.067L93.333,188.133L149.067,187.733L204.667,187.333L213.6,182.933C224.8,177.467 235.867,165.867 240.267,155.067C243.333,147.467 243.333,146.4 243.733,92.267L244.133,37.2L458,38L466.4,41.6ZM195.067,304C175.6,306.8 164,320.667 165.6,339.467C166,343.6 167.6,348.667 169.733,352.4C174.4,360.267 185.2,365.734 201.867,368.534C208.4,369.734 215.067,371.467 216.8,372.667C224,377.334 221.467,389.067 212.533,392C205.6,394.4 193.733,392.934 185.6,388.8C173.333,382.534 164,385.334 164,395.2C164,400.934 170.133,406.667 180.267,410.134C190.933,413.867 217.067,413.734 225.467,409.867C238.933,403.6 246.667,390 244.8,375.6C242.667,359.734 232.8,351.334 212.267,347.867C193.6,344.8 189.333,342.4 189.333,334.533C189.333,324.267 201.867,320.933 218.267,326.667C228.667,330.267 232.533,330.133 235.867,325.867C242.133,318 237.6,310.667 224.267,306.8C213.333,303.6 204.267,302.8 195.067,304ZM386,304.133C377.6,305.333 374,306.8 367.334,311.6C355.734,320.133 351.2,336.4 352.4,365.334C353.2,385.334 356,394.4 364.134,402.534C372.267,410.667 381.734,413.734 396.667,413.067C406.8,412.667 409.734,412 415.734,408.667C429.2,401.334 434.534,390.934 435.6,370.667C436.4,353.734 436,353.067 420.934,352.267C401.867,351.334 396,353.467 396,361.867C396,367.867 399.467,370.667 407.067,370.667C413.2,370.667 413.334,370.667 413.334,374.934C413.334,394 386.267,400.534 378.534,383.467C374.934,375.334 374.934,341.867 378.534,333.733C382,326.4 387.467,323.467 396.8,324.267C403.067,324.8 404.667,325.6 410.534,331.067C414.267,334.533 418.4,337.333 419.867,337.333C427.334,337.333 433.334,330.267 431.334,323.733C427.2,310.133 406.4,301.2 386,304.133ZM258.4,308C255.067,311.467 254.533,312.8 255.2,316.4C257.067,326.667 285.333,405.867 288.133,408.8C289.733,410.534 293.067,412.267 295.333,412.8C303.867,414.4 310.667,407.867 314.4,394.667C315.067,392.134 321.2,374.134 327.867,354.8C334.8,334.533 340,317.467 340,314.533C340,303.733 325.067,299.867 319.867,309.467C318.533,312.133 309.467,340.933 302.667,364C301.067,369.467 299.333,374.4 298.8,375.067C298.267,375.6 292.933,360.8 286.933,342C275.333,306 274.133,304 266.267,304C263.867,304 261.067,305.467 258.4,308Z" style="fill-rule:nonzero;"/>
33
+ </g>
34
+ </svg>`;
35
+ const svgSchema = {
36
+ ui: (arg) => {
37
+ const { rootElement, value, mode, onChange, theme, schema } = arg;
38
+ const container = document.createElement((0, utils_js_1.isEditable)(mode, schema) ? 'textarea' : 'div');
39
+ container.style.width = '100%';
40
+ container.style.height = '100%';
41
+ container.style.boxSizing = 'border-box';
42
+ if ((0, utils_js_1.isEditable)(mode, schema)) {
43
+ const textarea = container;
44
+ textarea.value = value;
45
+ textarea.style.position = 'absolute';
46
+ textarea.style.backgroundColor = (0, utils_js_1.addAlphaToHex)(theme.colorPrimaryBg, 30);
47
+ if (isValidSVG(value)) {
48
+ const svgElement = new DOMParser().parseFromString(value, 'text/xml').childNodes[0];
49
+ if (svgElement instanceof SVGElement) {
50
+ svgElement.setAttribute('width', '100%');
51
+ svgElement.setAttribute('height', '100%');
52
+ svgElement.style.position = 'absolute';
53
+ }
54
+ rootElement.appendChild(svgElement);
55
+ }
56
+ else if (value) {
57
+ const errorElm = (0, utils_js_1.createErrorElm)();
58
+ errorElm.style.position = 'absolute';
59
+ rootElement.appendChild(errorElm);
60
+ }
61
+ textarea.addEventListener('change', (e) => {
62
+ const newValue = e.target.value;
63
+ if (onChange)
64
+ onChange({ key: 'content', value: newValue });
65
+ });
66
+ rootElement.appendChild(container);
67
+ textarea.setSelectionRange(value.length, value.length);
68
+ textarea.focus();
69
+ }
70
+ else {
71
+ if (!value)
72
+ return;
73
+ if (!isValidSVG(value)) {
74
+ rootElement.appendChild((0, utils_js_1.createErrorElm)());
75
+ return;
76
+ }
77
+ container.innerHTML = value;
78
+ const svgElement = container.childNodes[0];
79
+ if (svgElement instanceof SVGElement) {
80
+ svgElement.setAttribute('width', '100%');
81
+ svgElement.setAttribute('height', '100%');
82
+ rootElement.appendChild(container);
83
+ }
84
+ }
85
+ },
86
+ pdf: async (arg) => {
87
+ const { page, schema, value } = arg;
88
+ if (!value || !isValidSVG(value))
89
+ return;
90
+ const pageHeight = page.getHeight();
91
+ const { width, height, position } = (0, utils_js_1.convertForPdfLayoutProps)({ schema, pageHeight });
92
+ const { x, y } = position;
93
+ await page.drawSvg(value, { x, y: y + height, width, height });
94
+ },
95
+ propPanel: {
96
+ schema: {},
97
+ defaultSchema: {
98
+ name: '',
99
+ type: 'svg',
100
+ content: defaultValue,
101
+ position: { x: 0, y: 0 },
102
+ width: 40,
103
+ height: 50,
104
+ },
105
+ },
106
+ icon: (0, utils_js_1.createSvgStr)(lucide_1.Route),
107
+ };
108
+ exports.default = svgSchema;
109
+ //# sourceMappingURL=svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg.js","sourceRoot":"","sources":["../../../../src/graphics/svg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
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.getDynamicHeightsForTable = exports.checkbox = exports.radioGroup = exports.select = exports.time = exports.date = exports.dateTime = exports.ellipse = exports.rectangle = exports.line = exports.barcodes = exports.table = exports.svg = exports.image = exports.multiVariableText = exports.text = exports.builtInPlugins = void 0;
7
+ const index_js_1 = __importDefault(require("./multiVariableText/index.js"));
8
+ exports.multiVariableText = index_js_1.default;
9
+ const index_js_2 = __importDefault(require("./text/index.js"));
10
+ exports.text = index_js_2.default;
11
+ const image_js_1 = __importDefault(require("./graphics/image.js"));
12
+ exports.image = image_js_1.default;
13
+ const svg_js_1 = __importDefault(require("./graphics/svg.js"));
14
+ exports.svg = svg_js_1.default;
15
+ const index_js_3 = __importDefault(require("./barcodes/index.js"));
16
+ exports.barcodes = index_js_3.default;
17
+ const line_js_1 = __importDefault(require("./shapes/line.js"));
18
+ exports.line = line_js_1.default;
19
+ const index_js_4 = __importDefault(require("./tables/index.js"));
20
+ exports.table = index_js_4.default;
21
+ const rectAndEllipse_js_1 = require("./shapes/rectAndEllipse.js");
22
+ Object.defineProperty(exports, "rectangle", { enumerable: true, get: function () { return rectAndEllipse_js_1.rectangle; } });
23
+ Object.defineProperty(exports, "ellipse", { enumerable: true, get: function () { return rectAndEllipse_js_1.ellipse; } });
24
+ const dateTime_js_1 = __importDefault(require("./date/dateTime.js"));
25
+ exports.dateTime = dateTime_js_1.default;
26
+ const date_js_1 = __importDefault(require("./date/date.js"));
27
+ exports.date = date_js_1.default;
28
+ const time_js_1 = __importDefault(require("./date/time.js"));
29
+ exports.time = time_js_1.default;
30
+ const index_js_5 = __importDefault(require("./select/index.js"));
31
+ exports.select = index_js_5.default;
32
+ const index_js_6 = __importDefault(require("./radioGroup/index.js"));
33
+ exports.radioGroup = index_js_6.default;
34
+ const index_js_7 = __importDefault(require("./checkbox/index.js"));
35
+ exports.checkbox = index_js_7.default;
36
+ const builtInPlugins = { Text: index_js_2.default };
37
+ exports.builtInPlugins = builtInPlugins;
38
+ // Export utility functions
39
+ var dynamicTemplate_js_1 = require("./tables/dynamicTemplate.js");
40
+ Object.defineProperty(exports, "getDynamicHeightsForTable", { enumerable: true, get: function () { return dynamicTemplate_js_1.getDynamicHeightsForTable; } });
41
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,4EAA6D;AAqB3D,4BArBK,kBAAiB,CAqBL;AApBnB,+DAAmC;AAmBjC,eAnBK,kBAAI,CAmBL;AAlBN,mEAAwC;AAoBtC,gBApBK,kBAAK,CAoBL;AAnBP,+DAAoC;AAoBlC,cApBK,gBAAG,CAoBL;AAnBL,mEAA2C;AAqBzC,mBArBK,kBAAQ,CAqBL;AApBV,+DAAoC;AAqBlC,eArBK,iBAAI,CAqBL;AApBN,iEAAsC;AAkBpC,gBAlBK,kBAAK,CAkBL;AAjBP,kEAAgE;AAoB9D,0FApBO,6BAAS,OAoBP;AACT,wFArBkB,2BAAO,OAqBlB;AApBT,qEAA0C;AAqBxC,mBArBK,qBAAQ,CAqBL;AApBV,6DAAkC;AAqBhC,eArBK,iBAAI,CAqBL;AApBN,6DAAkC;AAqBhC,eArBK,iBAAI,CAqBL;AApBN,iEAAuC;AAqBrC,iBArBK,kBAAM,CAqBL;AApBR,qEAA+C;AAqB7C,qBArBK,kBAAU,CAqBL;AApBZ,mEAA2C;AAqBzC,mBArBK,kBAAQ,CAqBL;AAnBV,MAAM,cAAc,GAAG,EAAE,IAAI,EAAE,kBAAI,EAAE,CAAC;AAGpC,wCAAc;AAmBhB,2BAA2B;AAC3B,kEAAwE;AAA/D,+HAAA,yBAAyB,OAAA"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateVariables = exports.substituteVariables = void 0;
4
+ const substituteVariables = (text, variablesIn) => {
5
+ if (!text) {
6
+ return '';
7
+ }
8
+ let substitutedText = text;
9
+ if (variablesIn) {
10
+ let variables;
11
+ try {
12
+ variables =
13
+ typeof variablesIn === 'string'
14
+ ? JSON.parse(variablesIn || '{}')
15
+ : variablesIn;
16
+ }
17
+ catch {
18
+ throw new SyntaxError(`[@pdfme/schemas] MVT: invalid JSON string '${variablesIn}'`);
19
+ }
20
+ Object.keys(variables).forEach((variableName) => {
21
+ // handle special characters in variable name
22
+ const variableForRegex = variableName.replace(/[/\-\\^$*+?.()|[\]{}]/g, '\\$&');
23
+ const regex = new RegExp('\\{' + variableForRegex + '\\}', 'g');
24
+ substitutedText = substitutedText.replace(regex, variables[variableName]);
25
+ });
26
+ }
27
+ // Remove any variables that were not substituted from inputs
28
+ substitutedText = substitutedText.replace(/{[^{}]+}/g, '');
29
+ return substitutedText;
30
+ };
31
+ exports.substituteVariables = substituteVariables;
32
+ const validateVariables = (value, schema) => {
33
+ if (schema.variables.length === 0) {
34
+ return true;
35
+ }
36
+ let values;
37
+ try {
38
+ values = value ? JSON.parse(value) : {};
39
+ }
40
+ catch {
41
+ throw new SyntaxError(`[@pdfme/generator] invalid JSON string '${value}' for variables in field ${schema.name}`);
42
+ }
43
+ for (const variable of schema.variables) {
44
+ if (!values[variable]) {
45
+ if (schema.required) {
46
+ throw new Error(`[@pdfme/generator] variable ${variable} is missing for field ${schema.name}`);
47
+ }
48
+ // If not required, then simply don't render this field if an input is missing
49
+ return false;
50
+ }
51
+ }
52
+ return true;
53
+ };
54
+ exports.validateVariables = validateVariables;
55
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/multiVariableText/helper.ts"],"names":[],"mappings":";;;AAEO,MAAM,mBAAmB,GAAG,CACjC,IAAY,EACZ,WAA4C,EACpC,EAAE;IACV,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,eAAe,GAAG,IAAI,CAAC;IAE3B,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,SAAiC,CAAC;QACtC,IAAI,CAAC;YACH,SAAS;gBACP,OAAO,WAAW,KAAK,QAAQ;oBAC7B,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAA4B;oBAC7D,CAAC,CAAC,WAAW,CAAC;QACpB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,WAAW,CAAC,8CAA8C,WAAqB,GAAG,CAAC,CAAC;QAChG,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;YAC9C,6CAA6C;YAC7C,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;YAChF,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,gBAAgB,GAAG,KAAK,EAAE,GAAG,CAAC,CAAC;YAChE,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6DAA6D;IAC7D,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE3D,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAjCW,QAAA,mBAAmB,uBAiC9B;AAEK,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,MAA+B,EAAW,EAAE;IAC3F,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,KAAK,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAA4B,CAAC,CAAC,CAAC,EAAE,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,WAAW,CACnB,2CAA2C,KAAK,4BAA4B,MAAM,CAAC,IAAI,EAAE,CAC1F,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CACb,+BAA+B,QAAQ,yBAAyB,MAAM,CAAC,IAAI,EAAE,CAC9E,CAAC;YACJ,CAAC;YACD,8EAA8E;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AA3BW,QAAA,iBAAiB,qBA2B5B"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const pdfRender_js_1 = require("./pdfRender.js");
4
+ const propPanel_js_1 = require("./propPanel.js");
5
+ const uiRender_js_1 = require("./uiRender.js");
6
+ const lucide_1 = require("lucide");
7
+ const utils_js_1 = require("../utils.js");
8
+ const schema = {
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.Type),
13
+ uninterruptedEditMode: true,
14
+ };
15
+ exports.default = schema;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/multiVariableText/index.ts"],"names":[],"mappings":";;AACA,iDAA2C;AAC3C,iDAA2C;AAC3C,+CAAyC;AAEzC,mCAA8B;AAC9B,0CAA2C;AAE3C,MAAM,MAAM,GAAoC;IAC9C,GAAG,EAAE,wBAAS;IACd,EAAE,EAAE,sBAAQ;IACZ,SAAS,EAAT,wBAAS;IACT,IAAI,EAAE,IAAA,uBAAY,EAAC,aAAI,CAAC;IACxB,qBAAqB,EAAE,IAAI;CAC5B,CAAC;AACF,kBAAe,MAAM,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pdfRender = void 0;
4
+ const pdfRender_js_1 = require("../text/pdfRender.js");
5
+ const helper_js_1 = require("./helper.js");
6
+ const pdfRender = async (arg) => {
7
+ const { value, schema, ...rest } = arg;
8
+ if (!(0, helper_js_1.validateVariables)(value, schema)) {
9
+ // Don't render if a required variable is missing
10
+ return;
11
+ }
12
+ const renderArgs = {
13
+ value: (0, helper_js_1.substituteVariables)(schema.text || '', value),
14
+ schema,
15
+ ...rest,
16
+ };
17
+ await (0, pdfRender_js_1.pdfRender)(renderArgs);
18
+ };
19
+ exports.pdfRender = pdfRender;
20
+ //# sourceMappingURL=pdfRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdfRender.js","sourceRoot":"","sources":["../../../../src/multiVariableText/pdfRender.ts"],"names":[],"mappings":";;;AAEA,uDAAoE;AACpE,2CAAqE;AAE9D,MAAM,SAAS,GAAG,KAAK,EAAE,GAA4C,EAAE,EAAE;IAC9E,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,GAAG,CAAC;IAEvC,IAAI,CAAC,IAAA,6BAAiB,EAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACtC,iDAAiD;QACjD,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE,IAAA,+BAAmB,EAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,KAAK,CAAC;QACpD,MAAM;QACN,GAAG,IAAI;KACR,CAAC;IAEF,MAAM,IAAA,wBAAe,EAAC,UAAU,CAAC,CAAC;AACpC,CAAC,CAAC;AAfW,QAAA,SAAS,aAepB"}