@pdfme/schemas 5.5.10-dev.11 → 5.5.10-dev.127

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 (399) hide show
  1. package/package.json +44 -60
  2. package/src/barcodes/helper.ts +2 -2
  3. package/src/barcodes/types.ts +2 -2
  4. package/src/builtins.ts +8 -0
  5. package/src/date/helper.ts +118 -70
  6. package/src/graphics/image.ts +3 -3
  7. package/src/graphics/signature.ts +136 -0
  8. package/src/index.ts +4 -4
  9. package/src/multiVariableText/propPanel.ts +17 -8
  10. package/src/multiVariableText/types.ts +2 -2
  11. package/src/multiVariableText/uiRender.ts +18 -31
  12. package/src/multiVariableText/variables.ts +63 -0
  13. package/src/shapes/rectAndEllipse.ts +2 -2
  14. package/src/tables/tableHelper.ts +3 -2
  15. package/src/tables/types.ts +2 -2
  16. package/src/tables/uiRender.ts +1 -1
  17. package/src/tables.ts +1 -0
  18. package/src/text/helper.ts +22 -5
  19. package/src/text/pdfRender.ts +2 -5
  20. package/src/text/types.ts +2 -2
  21. package/src/utils.ts +87 -14
  22. package/tsconfig.build.json +14 -0
  23. package/tsconfig.json +14 -4
  24. package/vite.config.mts +51 -0
  25. package/dist/cjs/__tests__/barcode.test.js +0 -354
  26. package/dist/cjs/__tests__/barcode.test.js.map +0 -1
  27. package/dist/cjs/__tests__/multiVariableText.test.js +0 -102
  28. package/dist/cjs/__tests__/multiVariableText.test.js.map +0 -1
  29. package/dist/cjs/__tests__/text.test.js +0 -419
  30. package/dist/cjs/__tests__/text.test.js.map +0 -1
  31. package/dist/cjs/__tests__/utils.test.js +0 -193
  32. package/dist/cjs/__tests__/utils.test.js.map +0 -1
  33. package/dist/cjs/src/barcodes/constants.js +0 -21
  34. package/dist/cjs/src/barcodes/constants.js.map +0 -1
  35. package/dist/cjs/src/barcodes/helper.js +0 -161
  36. package/dist/cjs/src/barcodes/helper.js.map +0 -1
  37. package/dist/cjs/src/barcodes/index.js +0 -18
  38. package/dist/cjs/src/barcodes/index.js.map +0 -1
  39. package/dist/cjs/src/barcodes/pdfRender.js +0 -29
  40. package/dist/cjs/src/barcodes/pdfRender.js.map +0 -1
  41. package/dist/cjs/src/barcodes/propPanel.js +0 -241
  42. package/dist/cjs/src/barcodes/propPanel.js.map +0 -1
  43. package/dist/cjs/src/barcodes/types.js +0 -3
  44. package/dist/cjs/src/barcodes/types.js.map +0 -1
  45. package/dist/cjs/src/barcodes/uiRender.js +0 -91
  46. package/dist/cjs/src/barcodes/uiRender.js.map +0 -1
  47. package/dist/cjs/src/checkbox/index.js +0 -62
  48. package/dist/cjs/src/checkbox/index.js.map +0 -1
  49. package/dist/cjs/src/constants.js +0 -6
  50. package/dist/cjs/src/constants.js.map +0 -1
  51. package/dist/cjs/src/date/date.js +0 -9
  52. package/dist/cjs/src/date/date.js.map +0 -1
  53. package/dist/cjs/src/date/dateTime.js +0 -9
  54. package/dist/cjs/src/date/dateTime.js.map +0 -1
  55. package/dist/cjs/src/date/helper.js +0 -462
  56. package/dist/cjs/src/date/helper.js.map +0 -1
  57. package/dist/cjs/src/date/time.js +0 -9
  58. package/dist/cjs/src/date/time.js.map +0 -1
  59. package/dist/cjs/src/date/types.js +0 -3
  60. package/dist/cjs/src/date/types.js.map +0 -1
  61. package/dist/cjs/src/graphics/image.js +0 -172
  62. package/dist/cjs/src/graphics/image.js.map +0 -1
  63. package/dist/cjs/src/graphics/imagehelper.js +0 -124
  64. package/dist/cjs/src/graphics/imagehelper.js.map +0 -1
  65. package/dist/cjs/src/graphics/svg.js +0 -112
  66. package/dist/cjs/src/graphics/svg.js.map +0 -1
  67. package/dist/cjs/src/index.js +0 -41
  68. package/dist/cjs/src/index.js.map +0 -1
  69. package/dist/cjs/src/multiVariableText/helper.js +0 -55
  70. package/dist/cjs/src/multiVariableText/helper.js.map +0 -1
  71. package/dist/cjs/src/multiVariableText/index.js +0 -16
  72. package/dist/cjs/src/multiVariableText/index.js.map +0 -1
  73. package/dist/cjs/src/multiVariableText/pdfRender.js +0 -20
  74. package/dist/cjs/src/multiVariableText/pdfRender.js.map +0 -1
  75. package/dist/cjs/src/multiVariableText/propPanel.js +0 -148
  76. package/dist/cjs/src/multiVariableText/propPanel.js.map +0 -1
  77. package/dist/cjs/src/multiVariableText/types.js +0 -3
  78. package/dist/cjs/src/multiVariableText/types.js.map +0 -1
  79. package/dist/cjs/src/multiVariableText/uiRender.js +0 -146
  80. package/dist/cjs/src/multiVariableText/uiRender.js.map +0 -1
  81. package/dist/cjs/src/radioGroup/index.js +0 -93
  82. package/dist/cjs/src/radioGroup/index.js.map +0 -1
  83. package/dist/cjs/src/sanitize.js +0 -57
  84. package/dist/cjs/src/sanitize.js.map +0 -1
  85. package/dist/cjs/src/select/index.js +0 -175
  86. package/dist/cjs/src/select/index.js.map +0 -1
  87. package/dist/cjs/src/shapes/line.js +0 -76
  88. package/dist/cjs/src/shapes/line.js.map +0 -1
  89. package/dist/cjs/src/shapes/rectAndEllipse.js +0 -140
  90. package/dist/cjs/src/shapes/rectAndEllipse.js.map +0 -1
  91. package/dist/cjs/src/tables/cell.js +0 -126
  92. package/dist/cjs/src/tables/cell.js.map +0 -1
  93. package/dist/cjs/src/tables/classes.js +0 -467
  94. package/dist/cjs/src/tables/classes.js.map +0 -1
  95. package/dist/cjs/src/tables/dynamicTemplate.js +0 -66
  96. package/dist/cjs/src/tables/dynamicTemplate.js.map +0 -1
  97. package/dist/cjs/src/tables/helper.js +0 -189
  98. package/dist/cjs/src/tables/helper.js.map +0 -1
  99. package/dist/cjs/src/tables/index.js +0 -15
  100. package/dist/cjs/src/tables/index.js.map +0 -1
  101. package/dist/cjs/src/tables/pdfRender.js +0 -109
  102. package/dist/cjs/src/tables/pdfRender.js.map +0 -1
  103. package/dist/cjs/src/tables/propPanel.js +0 -108
  104. package/dist/cjs/src/tables/propPanel.js.map +0 -1
  105. package/dist/cjs/src/tables/tableHelper.js +0 -200
  106. package/dist/cjs/src/tables/tableHelper.js.map +0 -1
  107. package/dist/cjs/src/tables/types.js +0 -3
  108. package/dist/cjs/src/tables/types.js.map +0 -1
  109. package/dist/cjs/src/tables/uiRender.js +0 -368
  110. package/dist/cjs/src/tables/uiRender.js.map +0 -1
  111. package/dist/cjs/src/text/constants.js +0 -97
  112. package/dist/cjs/src/text/constants.js.map +0 -1
  113. package/dist/cjs/src/text/extraFormatter.js +0 -49
  114. package/dist/cjs/src/text/extraFormatter.js.map +0 -1
  115. package/dist/cjs/src/text/helper.js +0 -504
  116. package/dist/cjs/src/text/helper.js.map +0 -1
  117. package/dist/cjs/src/text/icons/index.js +0 -16
  118. package/dist/cjs/src/text/icons/index.js.map +0 -1
  119. package/dist/cjs/src/text/index.js +0 -15
  120. package/dist/cjs/src/text/index.js.map +0 -1
  121. package/dist/cjs/src/text/pdfRender.js +0 -170
  122. package/dist/cjs/src/text/pdfRender.js.map +0 -1
  123. package/dist/cjs/src/text/propPanel.js +0 -161
  124. package/dist/cjs/src/text/propPanel.js.map +0 -1
  125. package/dist/cjs/src/text/types.js +0 -3
  126. package/dist/cjs/src/text/types.js.map +0 -1
  127. package/dist/cjs/src/text/uiRender.js +0 -231
  128. package/dist/cjs/src/text/uiRender.js.map +0 -1
  129. package/dist/cjs/src/utils.js +0 -230
  130. package/dist/cjs/src/utils.js.map +0 -1
  131. package/dist/esm/__tests__/barcode.test.js +0 -349
  132. package/dist/esm/__tests__/barcode.test.js.map +0 -1
  133. package/dist/esm/__tests__/multiVariableText.test.js +0 -100
  134. package/dist/esm/__tests__/multiVariableText.test.js.map +0 -1
  135. package/dist/esm/__tests__/text.test.js +0 -384
  136. package/dist/esm/__tests__/text.test.js.map +0 -1
  137. package/dist/esm/__tests__/utils.test.js +0 -191
  138. package/dist/esm/__tests__/utils.test.js.map +0 -1
  139. package/dist/esm/src/barcodes/constants.js +0 -18
  140. package/dist/esm/src/barcodes/constants.js.map +0 -1
  141. package/dist/esm/src/barcodes/helper.js +0 -151
  142. package/dist/esm/src/barcodes/helper.js.map +0 -1
  143. package/dist/esm/src/barcodes/index.js +0 -16
  144. package/dist/esm/src/barcodes/index.js.map +0 -1
  145. package/dist/esm/src/barcodes/pdfRender.js +0 -25
  146. package/dist/esm/src/barcodes/pdfRender.js.map +0 -1
  147. package/dist/esm/src/barcodes/propPanel.js +0 -237
  148. package/dist/esm/src/barcodes/propPanel.js.map +0 -1
  149. package/dist/esm/src/barcodes/types.js +0 -2
  150. package/dist/esm/src/barcodes/types.js.map +0 -1
  151. package/dist/esm/src/barcodes/uiRender.js +0 -87
  152. package/dist/esm/src/barcodes/uiRender.js.map +0 -1
  153. package/dist/esm/src/checkbox/index.js +0 -57
  154. package/dist/esm/src/checkbox/index.js.map +0 -1
  155. package/dist/esm/src/constants.js +0 -3
  156. package/dist/esm/src/constants.js.map +0 -1
  157. package/dist/esm/src/date/date.js +0 -7
  158. package/dist/esm/src/date/date.js.map +0 -1
  159. package/dist/esm/src/date/dateTime.js +0 -7
  160. package/dist/esm/src/date/dateTime.js.map +0 -1
  161. package/dist/esm/src/date/helper.js +0 -422
  162. package/dist/esm/src/date/helper.js.map +0 -1
  163. package/dist/esm/src/date/time.js +0 -7
  164. package/dist/esm/src/date/time.js.map +0 -1
  165. package/dist/esm/src/date/types.js +0 -2
  166. package/dist/esm/src/date/types.js.map +0 -1
  167. package/dist/esm/src/graphics/image.js +0 -170
  168. package/dist/esm/src/graphics/image.js.map +0 -1
  169. package/dist/esm/src/graphics/imagehelper.js +0 -120
  170. package/dist/esm/src/graphics/imagehelper.js.map +0 -1
  171. package/dist/esm/src/graphics/svg.js +0 -110
  172. package/dist/esm/src/graphics/svg.js.map +0 -1
  173. package/dist/esm/src/index.js +0 -21
  174. package/dist/esm/src/index.js.map +0 -1
  175. package/dist/esm/src/multiVariableText/helper.js +0 -50
  176. package/dist/esm/src/multiVariableText/helper.js.map +0 -1
  177. package/dist/esm/src/multiVariableText/index.js +0 -14
  178. package/dist/esm/src/multiVariableText/index.js.map +0 -1
  179. package/dist/esm/src/multiVariableText/pdfRender.js +0 -16
  180. package/dist/esm/src/multiVariableText/pdfRender.js.map +0 -1
  181. package/dist/esm/src/multiVariableText/propPanel.js +0 -145
  182. package/dist/esm/src/multiVariableText/propPanel.js.map +0 -1
  183. package/dist/esm/src/multiVariableText/types.js +0 -2
  184. package/dist/esm/src/multiVariableText/types.js.map +0 -1
  185. package/dist/esm/src/multiVariableText/uiRender.js +0 -142
  186. package/dist/esm/src/multiVariableText/uiRender.js.map +0 -1
  187. package/dist/esm/src/radioGroup/index.js +0 -88
  188. package/dist/esm/src/radioGroup/index.js.map +0 -1
  189. package/dist/esm/src/sanitize.js +0 -50
  190. package/dist/esm/src/sanitize.js.map +0 -1
  191. package/dist/esm/src/select/index.js +0 -170
  192. package/dist/esm/src/select/index.js.map +0 -1
  193. package/dist/esm/src/shapes/line.js +0 -74
  194. package/dist/esm/src/shapes/line.js.map +0 -1
  195. package/dist/esm/src/shapes/rectAndEllipse.js +0 -137
  196. package/dist/esm/src/shapes/rectAndEllipse.js.map +0 -1
  197. package/dist/esm/src/tables/cell.js +0 -121
  198. package/dist/esm/src/tables/cell.js.map +0 -1
  199. package/dist/esm/src/tables/classes.js +0 -460
  200. package/dist/esm/src/tables/classes.js.map +0 -1
  201. package/dist/esm/src/tables/dynamicTemplate.js +0 -62
  202. package/dist/esm/src/tables/dynamicTemplate.js.map +0 -1
  203. package/dist/esm/src/tables/helper.js +0 -181
  204. package/dist/esm/src/tables/helper.js.map +0 -1
  205. package/dist/esm/src/tables/index.js +0 -13
  206. package/dist/esm/src/tables/index.js.map +0 -1
  207. package/dist/esm/src/tables/pdfRender.js +0 -102
  208. package/dist/esm/src/tables/pdfRender.js.map +0 -1
  209. package/dist/esm/src/tables/propPanel.js +0 -105
  210. package/dist/esm/src/tables/propPanel.js.map +0 -1
  211. package/dist/esm/src/tables/tableHelper.js +0 -197
  212. package/dist/esm/src/tables/tableHelper.js.map +0 -1
  213. package/dist/esm/src/tables/types.js +0 -2
  214. package/dist/esm/src/tables/types.js.map +0 -1
  215. package/dist/esm/src/tables/uiRender.js +0 -361
  216. package/dist/esm/src/tables/uiRender.js.map +0 -1
  217. package/dist/esm/src/text/constants.js +0 -94
  218. package/dist/esm/src/text/constants.js.map +0 -1
  219. package/dist/esm/src/text/extraFormatter.js +0 -45
  220. package/dist/esm/src/text/extraFormatter.js.map +0 -1
  221. package/dist/esm/src/text/helper.js +0 -457
  222. package/dist/esm/src/text/helper.js.map +0 -1
  223. package/dist/esm/src/text/icons/index.js +0 -13
  224. package/dist/esm/src/text/icons/index.js.map +0 -1
  225. package/dist/esm/src/text/index.js +0 -13
  226. package/dist/esm/src/text/index.js.map +0 -1
  227. package/dist/esm/src/text/pdfRender.js +0 -166
  228. package/dist/esm/src/text/pdfRender.js.map +0 -1
  229. package/dist/esm/src/text/propPanel.js +0 -158
  230. package/dist/esm/src/text/propPanel.js.map +0 -1
  231. package/dist/esm/src/text/types.js +0 -2
  232. package/dist/esm/src/text/types.js.map +0 -1
  233. package/dist/esm/src/text/uiRender.js +0 -224
  234. package/dist/esm/src/text/uiRender.js.map +0 -1
  235. package/dist/esm/src/utils.js +0 -218
  236. package/dist/esm/src/utils.js.map +0 -1
  237. package/dist/node/__tests__/barcode.test.js +0 -354
  238. package/dist/node/__tests__/barcode.test.js.map +0 -1
  239. package/dist/node/__tests__/multiVariableText.test.js +0 -102
  240. package/dist/node/__tests__/multiVariableText.test.js.map +0 -1
  241. package/dist/node/__tests__/text.test.js +0 -419
  242. package/dist/node/__tests__/text.test.js.map +0 -1
  243. package/dist/node/__tests__/utils.test.js +0 -193
  244. package/dist/node/__tests__/utils.test.js.map +0 -1
  245. package/dist/node/src/barcodes/constants.js +0 -21
  246. package/dist/node/src/barcodes/constants.js.map +0 -1
  247. package/dist/node/src/barcodes/helper.js +0 -161
  248. package/dist/node/src/barcodes/helper.js.map +0 -1
  249. package/dist/node/src/barcodes/index.js +0 -18
  250. package/dist/node/src/barcodes/index.js.map +0 -1
  251. package/dist/node/src/barcodes/pdfRender.js +0 -29
  252. package/dist/node/src/barcodes/pdfRender.js.map +0 -1
  253. package/dist/node/src/barcodes/propPanel.js +0 -241
  254. package/dist/node/src/barcodes/propPanel.js.map +0 -1
  255. package/dist/node/src/barcodes/types.js +0 -3
  256. package/dist/node/src/barcodes/types.js.map +0 -1
  257. package/dist/node/src/barcodes/uiRender.js +0 -91
  258. package/dist/node/src/barcodes/uiRender.js.map +0 -1
  259. package/dist/node/src/checkbox/index.js +0 -62
  260. package/dist/node/src/checkbox/index.js.map +0 -1
  261. package/dist/node/src/constants.js +0 -6
  262. package/dist/node/src/constants.js.map +0 -1
  263. package/dist/node/src/date/date.js +0 -9
  264. package/dist/node/src/date/date.js.map +0 -1
  265. package/dist/node/src/date/dateTime.js +0 -9
  266. package/dist/node/src/date/dateTime.js.map +0 -1
  267. package/dist/node/src/date/helper.js +0 -462
  268. package/dist/node/src/date/helper.js.map +0 -1
  269. package/dist/node/src/date/time.js +0 -9
  270. package/dist/node/src/date/time.js.map +0 -1
  271. package/dist/node/src/date/types.js +0 -3
  272. package/dist/node/src/date/types.js.map +0 -1
  273. package/dist/node/src/graphics/image.js +0 -172
  274. package/dist/node/src/graphics/image.js.map +0 -1
  275. package/dist/node/src/graphics/imagehelper.js +0 -124
  276. package/dist/node/src/graphics/imagehelper.js.map +0 -1
  277. package/dist/node/src/graphics/svg.js +0 -112
  278. package/dist/node/src/graphics/svg.js.map +0 -1
  279. package/dist/node/src/index.js +0 -41
  280. package/dist/node/src/index.js.map +0 -1
  281. package/dist/node/src/multiVariableText/helper.js +0 -55
  282. package/dist/node/src/multiVariableText/helper.js.map +0 -1
  283. package/dist/node/src/multiVariableText/index.js +0 -16
  284. package/dist/node/src/multiVariableText/index.js.map +0 -1
  285. package/dist/node/src/multiVariableText/pdfRender.js +0 -20
  286. package/dist/node/src/multiVariableText/pdfRender.js.map +0 -1
  287. package/dist/node/src/multiVariableText/propPanel.js +0 -148
  288. package/dist/node/src/multiVariableText/propPanel.js.map +0 -1
  289. package/dist/node/src/multiVariableText/types.js +0 -3
  290. package/dist/node/src/multiVariableText/types.js.map +0 -1
  291. package/dist/node/src/multiVariableText/uiRender.js +0 -146
  292. package/dist/node/src/multiVariableText/uiRender.js.map +0 -1
  293. package/dist/node/src/radioGroup/index.js +0 -93
  294. package/dist/node/src/radioGroup/index.js.map +0 -1
  295. package/dist/node/src/sanitize.js +0 -57
  296. package/dist/node/src/sanitize.js.map +0 -1
  297. package/dist/node/src/select/index.js +0 -175
  298. package/dist/node/src/select/index.js.map +0 -1
  299. package/dist/node/src/shapes/line.js +0 -76
  300. package/dist/node/src/shapes/line.js.map +0 -1
  301. package/dist/node/src/shapes/rectAndEllipse.js +0 -140
  302. package/dist/node/src/shapes/rectAndEllipse.js.map +0 -1
  303. package/dist/node/src/tables/cell.js +0 -126
  304. package/dist/node/src/tables/cell.js.map +0 -1
  305. package/dist/node/src/tables/classes.js +0 -467
  306. package/dist/node/src/tables/classes.js.map +0 -1
  307. package/dist/node/src/tables/dynamicTemplate.js +0 -66
  308. package/dist/node/src/tables/dynamicTemplate.js.map +0 -1
  309. package/dist/node/src/tables/helper.js +0 -189
  310. package/dist/node/src/tables/helper.js.map +0 -1
  311. package/dist/node/src/tables/index.js +0 -15
  312. package/dist/node/src/tables/index.js.map +0 -1
  313. package/dist/node/src/tables/pdfRender.js +0 -109
  314. package/dist/node/src/tables/pdfRender.js.map +0 -1
  315. package/dist/node/src/tables/propPanel.js +0 -108
  316. package/dist/node/src/tables/propPanel.js.map +0 -1
  317. package/dist/node/src/tables/tableHelper.js +0 -200
  318. package/dist/node/src/tables/tableHelper.js.map +0 -1
  319. package/dist/node/src/tables/types.js +0 -3
  320. package/dist/node/src/tables/types.js.map +0 -1
  321. package/dist/node/src/tables/uiRender.js +0 -368
  322. package/dist/node/src/tables/uiRender.js.map +0 -1
  323. package/dist/node/src/text/constants.js +0 -97
  324. package/dist/node/src/text/constants.js.map +0 -1
  325. package/dist/node/src/text/extraFormatter.js +0 -49
  326. package/dist/node/src/text/extraFormatter.js.map +0 -1
  327. package/dist/node/src/text/helper.js +0 -504
  328. package/dist/node/src/text/helper.js.map +0 -1
  329. package/dist/node/src/text/icons/index.js +0 -16
  330. package/dist/node/src/text/icons/index.js.map +0 -1
  331. package/dist/node/src/text/index.js +0 -15
  332. package/dist/node/src/text/index.js.map +0 -1
  333. package/dist/node/src/text/pdfRender.js +0 -170
  334. package/dist/node/src/text/pdfRender.js.map +0 -1
  335. package/dist/node/src/text/propPanel.js +0 -161
  336. package/dist/node/src/text/propPanel.js.map +0 -1
  337. package/dist/node/src/text/types.js +0 -3
  338. package/dist/node/src/text/types.js.map +0 -1
  339. package/dist/node/src/text/uiRender.js +0 -231
  340. package/dist/node/src/text/uiRender.js.map +0 -1
  341. package/dist/node/src/utils.js +0 -230
  342. package/dist/node/src/utils.js.map +0 -1
  343. package/dist/types/__tests__/barcode.test.d.ts +0 -1
  344. package/dist/types/__tests__/multiVariableText.test.d.ts +0 -1
  345. package/dist/types/__tests__/text.test.d.ts +0 -1
  346. package/dist/types/__tests__/utils.test.d.ts +0 -1
  347. package/dist/types/src/barcodes/constants.d.ts +0 -4
  348. package/dist/types/src/barcodes/helper.d.ts +0 -21
  349. package/dist/types/src/barcodes/index.d.ts +0 -4
  350. package/dist/types/src/barcodes/pdfRender.d.ts +0 -3
  351. package/dist/types/src/barcodes/propPanel.d.ts +0 -3
  352. package/dist/types/src/barcodes/types.d.ts +0 -10
  353. package/dist/types/src/barcodes/uiRender.d.ts +0 -3
  354. package/dist/types/src/checkbox/index.d.ts +0 -6
  355. package/dist/types/src/constants.d.ts +0 -2
  356. package/dist/types/src/date/date.d.ts +0 -2
  357. package/dist/types/src/date/dateTime.d.ts +0 -2
  358. package/dist/types/src/date/helper.d.ts +0 -8
  359. package/dist/types/src/date/time.d.ts +0 -2
  360. package/dist/types/src/date/types.d.ts +0 -17
  361. package/dist/types/src/graphics/image.d.ts +0 -5
  362. package/dist/types/src/graphics/imagehelper.d.ts +0 -4
  363. package/dist/types/src/graphics/svg.d.ts +0 -4
  364. package/dist/types/src/index.d.ts +0 -19
  365. package/dist/types/src/multiVariableText/helper.d.ts +0 -3
  366. package/dist/types/src/multiVariableText/index.d.ts +0 -4
  367. package/dist/types/src/multiVariableText/pdfRender.d.ts +0 -3
  368. package/dist/types/src/multiVariableText/propPanel.d.ts +0 -3
  369. package/dist/types/src/multiVariableText/types.d.ts +0 -5
  370. package/dist/types/src/multiVariableText/uiRender.d.ts +0 -3
  371. package/dist/types/src/radioGroup/index.d.ts +0 -7
  372. package/dist/types/src/sanitize.d.ts +0 -1
  373. package/dist/types/src/select/index.d.ts +0 -7
  374. package/dist/types/src/shapes/line.d.ts +0 -6
  375. package/dist/types/src/shapes/rectAndEllipse.d.ts +0 -175
  376. package/dist/types/src/tables/cell.d.ts +0 -4
  377. package/dist/types/src/tables/classes.d.ts +0 -69
  378. package/dist/types/src/tables/dynamicTemplate.d.ts +0 -7
  379. package/dist/types/src/tables/helper.d.ts +0 -265
  380. package/dist/types/src/tables/index.d.ts +0 -4
  381. package/dist/types/src/tables/pdfRender.d.ts +0 -3
  382. package/dist/types/src/tables/propPanel.d.ts +0 -3
  383. package/dist/types/src/tables/tableHelper.d.ts +0 -10
  384. package/dist/types/src/tables/types.d.ts +0 -88
  385. package/dist/types/src/tables/uiRender.d.ts +0 -3
  386. package/dist/types/src/text/constants.d.ts +0 -23
  387. package/dist/types/src/text/extraFormatter.d.ts +0 -25
  388. package/dist/types/src/text/helper.d.ts +0 -39
  389. package/dist/types/src/text/icons/index.d.ts +0 -9
  390. package/dist/types/src/text/index.d.ts +0 -4
  391. package/dist/types/src/text/pdfRender.d.ts +0 -3
  392. package/dist/types/src/text/propPanel.d.ts +0 -3
  393. package/dist/types/src/text/types.d.ts +0 -28
  394. package/dist/types/src/text/uiRender.d.ts +0 -11
  395. package/dist/types/src/utils.d.ts +0 -40
  396. package/eslint.config.mjs +0 -22
  397. package/tsconfig.cjs.json +0 -10
  398. package/tsconfig.esm.json +0 -11
  399. package/tsconfig.node.json +0 -11
@@ -1,218 +0,0 @@
1
- import { cmyk, degrees, degreesToRadians, rgb } from '@pdfme/pdf-lib';
2
- import { mm2pt, isHexValid } from '@pdfme/common';
3
- import { getDynamicHeightsForTable as _getDynamicHeightsForTable } from './tables/dynamicTemplate.js';
4
- export const convertForPdfLayoutProps = ({ schema, pageHeight, applyRotateTranslate = true, }) => {
5
- const { width: mmWidth, height: mmHeight, position, rotate, opacity } = schema;
6
- const { x: mmX, y: mmY } = position;
7
- const rotateDegrees = rotate ? -rotate : 0;
8
- const width = mm2pt(mmWidth);
9
- const height = mm2pt(mmHeight);
10
- let x = mm2pt(mmX);
11
- // PDF coordinate system is from bottom left, UI is top left, so we need to flip the y axis
12
- let y = pageHeight - mm2pt(mmY) - height;
13
- if (rotateDegrees && applyRotateTranslate) {
14
- // If rotating we must pivot around the same point as the UI performs its rotation.
15
- // The UI performs rotation around the objects center point (the pivot point below),
16
- // pdflib rotates around the bottom left corner of the object.
17
- // We must therefore adjust the X and Y by rotating the bottom left corner by this pivot point.
18
- const pivotPoint = { x: x + width / 2, y: pageHeight - mm2pt(mmY) - height / 2 };
19
- const rotatedPoint = rotatePoint({ x, y }, pivotPoint, rotateDegrees);
20
- x = rotatedPoint.x;
21
- y = rotatedPoint.y;
22
- }
23
- return {
24
- position: { x, y },
25
- height: height,
26
- width: width,
27
- rotate: degrees(rotateDegrees),
28
- opacity,
29
- };
30
- };
31
- export const rotatePoint = (point, pivot, angleDegrees) => {
32
- const angleRadians = degreesToRadians(angleDegrees);
33
- const x = Math.cos(angleRadians) * (point.x - pivot.x) -
34
- Math.sin(angleRadians) * (point.y - pivot.y) +
35
- pivot.x;
36
- const y = Math.sin(angleRadians) * (point.x - pivot.x) +
37
- Math.cos(angleRadians) * (point.y - pivot.y) +
38
- pivot.y;
39
- return { x, y };
40
- };
41
- export const getDynamicHeightsForTable = _getDynamicHeightsForTable;
42
- // ----------------------------------------
43
- export const addAlphaToHex = (hex, alphaPercentage) => {
44
- if (!/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/i.test(hex)) {
45
- throw new Error('Invalid HEX color code');
46
- }
47
- const alphaValue = Math.round((alphaPercentage / 100) * 255);
48
- let alphaHex = alphaValue.toString(16);
49
- if (alphaHex.length === 1)
50
- alphaHex = '0' + alphaHex;
51
- return hex + alphaHex;
52
- };
53
- export const isEditable = (mode, schema) => mode === 'designer' || (mode === 'form' && schema.readOnly !== true);
54
- const hex2rgb = (hex) => {
55
- if (hex.slice(0, 1) === '#')
56
- hex = hex.slice(1);
57
- if (hex.length === 3)
58
- hex =
59
- hex.slice(0, 1) +
60
- hex.slice(0, 1) +
61
- hex.slice(1, 2) +
62
- hex.slice(1, 2) +
63
- hex.slice(2, 3) +
64
- hex.slice(2, 3);
65
- return [hex.slice(0, 2), hex.slice(2, 4), hex.slice(4, 6)].map((str) => parseInt(str, 16));
66
- };
67
- export const hex2RgbColor = (hexString) => {
68
- if (hexString) {
69
- const isValid = isHexValid(hexString);
70
- if (!isValid) {
71
- throw new Error(`Invalid hex color value ${hexString}`);
72
- }
73
- const [r, g, b] = hex2rgb(hexString);
74
- return rgb(r / 255, g / 255, b / 255);
75
- }
76
- return undefined;
77
- };
78
- const hex2CmykColor = (hexString) => {
79
- if (hexString) {
80
- const isValid = isHexValid(hexString);
81
- if (!isValid) {
82
- throw new Error(`Invalid hex color value ${hexString}`);
83
- }
84
- // Remove the # if it's present
85
- hexString = hexString.replace('#', '');
86
- // Extract the hexadecimal color code and the opacity
87
- const hexColor = hexString.substring(0, 6);
88
- const opacityColor = hexString.substring(6, 8);
89
- const opacity = opacityColor ? parseInt(opacityColor, 16) / 255 : 1;
90
- // Convert the hex values to decimal
91
- let r = parseInt(hexColor.substring(0, 2), 16) / 255;
92
- let g = parseInt(hexColor.substring(2, 4), 16) / 255;
93
- let b = parseInt(hexColor.substring(4, 6), 16) / 255;
94
- // Apply the opacity
95
- r = r * opacity + (1 - opacity);
96
- g = g * opacity + (1 - opacity);
97
- b = b * opacity + (1 - opacity);
98
- // Calculate the CMYK values
99
- const k = 1 - Math.max(r, g, b);
100
- const c = r === 0 ? 0 : (1 - r - k) / (1 - k);
101
- const m = g === 0 ? 0 : (1 - g - k) / (1 - k);
102
- const y = b === 0 ? 0 : (1 - b - k) / (1 - k);
103
- return cmyk(c, m, y, k);
104
- }
105
- return undefined;
106
- };
107
- export const hex2PrintingColor = (color, colorType) => {
108
- // if color is already CMYK, RGB or Grayscale, does not required to convert
109
- if (typeof color === 'object')
110
- return color;
111
- return colorType?.toLowerCase() == 'cmyk' ? hex2CmykColor(color) : hex2RgbColor(color);
112
- };
113
- export const readFile = (input) => new Promise((resolve, reject) => {
114
- const fileReader = new FileReader();
115
- fileReader.onload = (e) => {
116
- if (e.target?.result) {
117
- resolve(e.target.result);
118
- }
119
- };
120
- fileReader.onerror = () => {
121
- reject(new Error('[@pdfme/schemas] File reading failed'));
122
- };
123
- let file = null;
124
- if (input instanceof FileList && input.length > 0) {
125
- file = input[0];
126
- }
127
- else if (input instanceof File) {
128
- file = input;
129
- }
130
- if (file) {
131
- fileReader.readAsDataURL(file);
132
- }
133
- else {
134
- reject(new Error('[@pdfme/schemas] No files provided'));
135
- }
136
- });
137
- export const createErrorElm = () => {
138
- const container = document.createElement('div');
139
- const containerStyle = {
140
- display: 'flex',
141
- alignItems: 'center',
142
- justifyContent: 'center',
143
- width: '100%',
144
- height: '100%',
145
- };
146
- Object.assign(container.style, containerStyle);
147
- const span = document.createElement('span');
148
- const spanStyle = {
149
- color: 'white',
150
- background: 'red',
151
- padding: '0.25rem',
152
- fontSize: '12pt',
153
- fontWeight: 'bold',
154
- borderRadius: '2px',
155
- fontFamily: "'Open Sans', sans-serif",
156
- };
157
- Object.assign(span.style, spanStyle);
158
- span.textContent = 'ERROR';
159
- container.appendChild(span);
160
- return container;
161
- };
162
- export const createSvgStr = (icon, attrs) => {
163
- // In lucide 0.475.0, the icon is an array of elements, not a single SVG element
164
- // We need to create an SVG wrapper and add the elements as children
165
- // Handle non-array input
166
- if (!Array.isArray(icon)) {
167
- return String(icon);
168
- }
169
- // Create default SVG attributes
170
- const svgAttrs = {
171
- xmlns: 'http://www.w3.org/2000/svg',
172
- width: '24',
173
- height: '24',
174
- viewBox: '0 0 24 24',
175
- fill: 'none',
176
- stroke: 'currentColor',
177
- 'stroke-width': '2',
178
- 'stroke-linecap': 'round',
179
- 'stroke-linejoin': 'round',
180
- ...(attrs || {}),
181
- };
182
- // Format SVG attributes string
183
- const svgAttrString = Object.entries(svgAttrs)
184
- .map(([key, value]) => `${key}="${value}"`)
185
- .join(' ');
186
- // Helper function to process a single element
187
- const processElement = (element) => {
188
- if (!Array.isArray(element)) {
189
- return String(element);
190
- }
191
- const [tag, attributes = {}, children = []] = element;
192
- const tagName = String(tag);
193
- // Format attributes string
194
- const attrString = Object.entries(attributes)
195
- .map(([key, value]) => `${key}="${value}"`)
196
- .join(' ');
197
- // Process children recursively
198
- let childrenString = '';
199
- if (Array.isArray(children) && children.length > 0) {
200
- childrenString = children.map((child) => processElement(child)).join('');
201
- }
202
- // Return properly formatted element string
203
- if (childrenString) {
204
- return `<${String(tagName)}${attrString ? ' ' + String(attrString) : ''}>${childrenString}</${String(tagName)}>`;
205
- }
206
- else {
207
- // Self-closing tag for empty children
208
- return `<${String(tagName)}${attrString ? ' ' + String(attrString) : ''}/>`;
209
- }
210
- };
211
- // Process all elements and join them
212
- const elementsString = Array.isArray(icon)
213
- ? icon.map((element) => processElement(element)).join('')
214
- : processElement(icon);
215
- // Return the complete SVG string
216
- return `<svg ${svgAttrString}>${elementsString}</svg>`;
217
- };
218
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,354 +0,0 @@
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
- const jsqr_1 = __importDefault(require("jsqr"));
7
- const pngjs_1 = require("pngjs");
8
- const helper_js_1 = require("../src/barcodes/helper.js");
9
- describe('validateBarcodeInput test', () => {
10
- test('qrcode', () => {
11
- // Less than 500 characters
12
- const type = 'qrcode';
13
- const valid = 'https://www.google.com/';
14
- const valid2 = '漢字を含む文字列';
15
- const invalid2 = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVQI12NgYAAAAAMAASDVlMcAAAAASUVORK5CYIIiVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQ';
16
- const blank = '';
17
- expect((0, helper_js_1.validateBarcodeInput)(type, valid)).toEqual(true);
18
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
19
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
20
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
21
- });
22
- test('japanpost', () => {
23
- // https://barcode-place.azurewebsites.net/Barcode/zip
24
- // Postal code is numbers (0-9) only, address display numbers can use alphanumeric characters (0-9, A-Z) and hyphens (-).
25
- const type = 'japanpost';
26
- const valid1 = '10000131-3-2-503';
27
- const valid2 = '10000131-3-2-B503';
28
- const invalid1 = 'invalid';
29
- const invalid2 = '10000131=3=2-503';
30
- const invalid3 = '10000131=3=2-503';
31
- const invalid4 = '10000131-3-2-b503';
32
- const blank = '';
33
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
34
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
35
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
36
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
37
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid3)).toEqual(false);
38
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid4)).toEqual(false);
39
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
40
- });
41
- test('ean13', () => {
42
- // https://barcode-place.azurewebsites.net/Barcode/jan
43
- // Valid characters are numbers (0-9) only. Standard type is 12 digits without check digit or 13 digits with check digit.
44
- const type = 'ean13';
45
- const valid1 = '111111111111';
46
- const valid2 = '1111111111116';
47
- const valid3 = '2822224229221';
48
- const valid4 = '3433333133331';
49
- const valid5 = '8434244447413';
50
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
51
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
52
- expect((0, helper_js_1.validateBarcodeInput)(type, valid3)).toEqual(true);
53
- expect((0, helper_js_1.validateBarcodeInput)(type, valid4)).toEqual(true);
54
- expect((0, helper_js_1.validateBarcodeInput)(type, valid5)).toEqual(true);
55
- const invalid1 = '111';
56
- const invalid2 = '111111111111111111111111';
57
- const invalid3 = 'invalid';
58
- const invalid4 = '11111a111111';
59
- const invalid5 = '1111111111111';
60
- const blank = '';
61
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
62
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
63
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid3)).toEqual(false);
64
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid4)).toEqual(false);
65
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid5)).toEqual(false);
66
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
67
- });
68
- test('ean8', () => {
69
- // https://barcode-place.azurewebsites.net/Barcode/jan
70
- // Valid characters are numbers (0-9) only. Short type is 7 digits without check digit or 8 digits with check digit.
71
- const type = 'ean8';
72
- const valid1 = '1111111';
73
- const valid2 = '11111115';
74
- const valid3 = '22222220';
75
- const valid4 = '33333335';
76
- const valid5 = '44444440';
77
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
78
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
79
- expect((0, helper_js_1.validateBarcodeInput)(type, valid3)).toEqual(true);
80
- expect((0, helper_js_1.validateBarcodeInput)(type, valid4)).toEqual(true);
81
- expect((0, helper_js_1.validateBarcodeInput)(type, valid5)).toEqual(true);
82
- const invalid1 = '111';
83
- const invalid2 = '11111111111111111111';
84
- const invalid3 = 'invalid';
85
- const invalid4 = '111a111';
86
- const invalid5 = '44444441';
87
- const blank = '';
88
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
89
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
90
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid3)).toEqual(false);
91
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid4)).toEqual(false);
92
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid5)).toEqual(false);
93
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
94
- });
95
- test('code39', () => {
96
- // https://barcode-place.azurewebsites.net/Barcode/code39
97
- // CODE39 supports numbers (0-9), uppercase alphabets (A-Z), symbols (-.$/+%), and spaces.
98
- const type = 'code39';
99
- const valid1 = '12345';
100
- const valid2 = 'ABCDE';
101
- const valid3 = '1A2B3C4D5G';
102
- const valid4 = '1-A $2/B+3%C4D5G';
103
- const invalid1 = '123a45';
104
- const invalid2 = '1-A$2/B+3%C4=D5G';
105
- const blank = '';
106
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
107
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
108
- expect((0, helper_js_1.validateBarcodeInput)(type, valid3)).toEqual(true);
109
- expect((0, helper_js_1.validateBarcodeInput)(type, valid4)).toEqual(true);
110
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
111
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
112
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
113
- });
114
- test('code128', () => {
115
- // https://www.keyence.co.jp/ss/products/autoid/codereader/basic_code128.jsp
116
- // Characters that can be typed from a computer keyboard (except kanji, hiragana, and katakana) are possible.
117
- const type = 'code128';
118
- const valid1 = '12345';
119
- const valid2 = '1-A$2/B+3%C4=D5G';
120
- const valid3 = '1-A$2/B+3%C4=D5Ga~';
121
- const invalid1 = '1-A$2/B+3%C4=D5Gひらがな';
122
- const invalid2 = '1-A$2/B+3%C4=D5G〜';
123
- const invalid3 = '1ーA$2・B+3%C4=D5G〜';
124
- const blank = '';
125
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
126
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
127
- expect((0, helper_js_1.validateBarcodeInput)(type, valid3)).toEqual(true);
128
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
129
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
130
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid3)).toEqual(false);
131
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
132
- });
133
- test('nw7', () => {
134
- // https://barcode-place.azurewebsites.net/Barcode/nw7
135
- // https://en.wikipedia.org/wiki/Codabar
136
- // NW-7 supports numbers (0-9) and symbols (-.$:/+).
137
- // For start code/stop code, use any of the alphabets (A-D) at the beginning and end of the code.
138
- const type = 'nw7';
139
- const valid1 = 'A12345D';
140
- const valid2 = 'A$2/+345D';
141
- const valid3 = 'a4321D';
142
- const invalid1 = 'A12345G';
143
- const invalid2 = 'A12a45D';
144
- const blank = '';
145
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
146
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
147
- expect((0, helper_js_1.validateBarcodeInput)(type, valid3)).toEqual(true);
148
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
149
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
150
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
151
- });
152
- test('itf14', () => {
153
- // https://barcode-place.azurewebsites.net/Barcode/itf
154
- // Valid characters are numbers (0-9) only. 13 digits without check digit or 14 digits with check digit.
155
- const type = 'itf14';
156
- const valid1 = '1111111111111';
157
- const valid2 = '11111111111113';
158
- const valid3 = '22222222222226';
159
- const valid4 = '33333333333339';
160
- const valid5 = '44444444444442';
161
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
162
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
163
- expect((0, helper_js_1.validateBarcodeInput)(type, valid3)).toEqual(true);
164
- expect((0, helper_js_1.validateBarcodeInput)(type, valid4)).toEqual(true);
165
- expect((0, helper_js_1.validateBarcodeInput)(type, valid5)).toEqual(true);
166
- const invalid1 = '111';
167
- const invalid2 = '11111111111111111111111111111';
168
- const invalid3 = '11111111111112';
169
- const blank = '';
170
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
171
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
172
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid3)).toEqual(false);
173
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
174
- });
175
- test('upca', () => {
176
- // https://barcode-place.azurewebsites.net/Barcode/upc
177
- // Valid characters are numbers (0-9) only. 11 digits without check digit or 12 digits with check digit.
178
- const type = 'upca';
179
- const valid1 = '12345678901';
180
- const valid2 = '123456789012';
181
- const valid3 = '123456789036';
182
- const valid4 = '126456789013';
183
- const valid5 = '123456759015';
184
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
185
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
186
- expect((0, helper_js_1.validateBarcodeInput)(type, valid3)).toEqual(true);
187
- expect((0, helper_js_1.validateBarcodeInput)(type, valid4)).toEqual(true);
188
- expect((0, helper_js_1.validateBarcodeInput)(type, valid5)).toEqual(true);
189
- const invalid1 = '1234567890';
190
- const invalid2 = '1234567890123';
191
- const invalid3 = '123456789011';
192
- const invalid4 = '126456789014';
193
- const blank = '';
194
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
195
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
196
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid3)).toEqual(false);
197
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid4)).toEqual(false);
198
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
199
- });
200
- test('upce', () => {
201
- // https://barcode-place.azurewebsites.net/Barcode/upc
202
- // Valid characters are numbers (0-9) only. The first digit (number system character) can only be 0.
203
- // 7 digits without check digit or 8 digits with check digit.
204
- const type = 'upce';
205
- const valid1 = '0111111';
206
- const valid2 = '01111118';
207
- const valid3 = '01111125';
208
- const valid4 = '01114126';
209
- const valid5 = '01101126';
210
- const blank = '';
211
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
212
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
213
- expect((0, helper_js_1.validateBarcodeInput)(type, valid3)).toEqual(true);
214
- expect((0, helper_js_1.validateBarcodeInput)(type, valid4)).toEqual(true);
215
- expect((0, helper_js_1.validateBarcodeInput)(type, valid5)).toEqual(true);
216
- const invalid1 = '1111111';
217
- const invalid2 = '011111111';
218
- const invalid3 = '01111128';
219
- const invalid4 = '01114125';
220
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
221
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid2)).toEqual(false);
222
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid3)).toEqual(false);
223
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid4)).toEqual(false);
224
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
225
- });
226
- test('gs1datamatrix', () => {
227
- // https://www.gs1.org/docs/barcodes/GS1_DataMatrix_Guideline.pdf
228
- // find the GTIN application identifier, regex for "(01)" and the digits after it until
229
- // another "(" or end of string
230
- const type = 'gs1datamatrix';
231
- let valid = '(01)12244668801011(17)250712(10)22322SSD3';
232
- let valid_12 = '(01)1224466880108(17)250712(10)22322SSD3';
233
- let invalid_bad_checkdigit = '(01)12244668801014(17)250712(10)22322SSD3';
234
- let invalid_input_length = '(01)12244668801011(17)250712(10)22322SSD3(10)22322SSD3';
235
- const blank = '';
236
- expect((0, helper_js_1.validateBarcodeInput)(type, valid)).toEqual(true);
237
- expect((0, helper_js_1.validateBarcodeInput)(type, valid_12)).toEqual(true);
238
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid_bad_checkdigit)).toEqual(false);
239
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
240
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid_input_length)).toEqual(false);
241
- });
242
- test('pdf417', () => {
243
- const type = 'pdf417';
244
- const valid1 = '12345ABCDE';
245
- const valid2 = 'Test PDF417 barcode generation';
246
- const valid3 = 'ひらがなカタカナ漢字も使えます';
247
- const valid4 = 'Special characters: !@#$%^&*()-_=+[]{}|;:,.<>?/';
248
- // PDF417 supports binary data and virtually any character
249
- // It can encode up to 1.1 kilobytes of binary data
250
- // Very long string that should still be valid
251
- const valid5 = 'a'.repeat(1000);
252
- // Empty string is not valid
253
- const blank = '';
254
- expect((0, helper_js_1.validateBarcodeInput)(type, valid1)).toEqual(true);
255
- expect((0, helper_js_1.validateBarcodeInput)(type, valid2)).toEqual(true);
256
- expect((0, helper_js_1.validateBarcodeInput)(type, valid3)).toEqual(true);
257
- expect((0, helper_js_1.validateBarcodeInput)(type, valid4)).toEqual(true);
258
- expect((0, helper_js_1.validateBarcodeInput)(type, valid5)).toEqual(true);
259
- expect((0, helper_js_1.validateBarcodeInput)(type, blank)).toEqual(false);
260
- // PDF417 has a capacity limit, extremely long strings should fail
261
- const invalid1 = 'a'.repeat(2000);
262
- expect((0, helper_js_1.validateBarcodeInput)(type, invalid1)).toEqual(false);
263
- });
264
- });
265
- /**
266
- * Test whether input data can be correctly read from the generated QR code (png) image
267
- */
268
- describe('createBarCode', () => {
269
- // テスト名, input, expected
270
- const tests = [
271
- ['URL', 'https://www.google.com/', 'https://www.google.com/'],
272
- ['ひらがな', 'てすとです', 'てすとです'],
273
- ['ひらがな2', 'あいうえおあいうえお2', 'あいうえおあいうえお2'],
274
- ['カタカナ', 'テストです', 'テストです'],
275
- ['漢字', 'お正月', 'お正月'],
276
- ['中国語', '新年快乐', '新年快乐'],
277
- ['タイ語', 'สวัสดีปีใหม่', 'สวัสดีปีใหม่'],
278
- ];
279
- describe('generate qrcode with default colours', () => {
280
- for (const t of tests) {
281
- // eslint-disable-next-line no-loop-func
282
- test(`${t[0]}: ${t[1]}`, async () => {
283
- const buffer = await (0, helper_js_1.createBarCode)({
284
- type: 'qrcode',
285
- input: t[1],
286
- width: 10, // mm
287
- height: 10, // mm
288
- backgroundColor: '00000000', // Background color must be specified for jsQR to analyze properly
289
- });
290
- const png = pngjs_1.PNG.sync.read(buffer);
291
- const pngData = new Uint8ClampedArray(png.data);
292
- const qr = (0, jsqr_1.default)(pngData, png.width, png.height);
293
- expect(qr).not.toBeNull();
294
- const dataBuffer = Buffer.from(qr.binaryData);
295
- expect(dataBuffer.toString('utf8')).toEqual(t[2]);
296
- });
297
- }
298
- });
299
- describe('generate qrcode with custom colours', () => {
300
- for (const t of tests) {
301
- // eslint-disable-next-line no-loop-func
302
- test(`${t[0]}: ${t[1]}`, async () => {
303
- const buffer = await (0, helper_js_1.createBarCode)({
304
- type: 'qrcode',
305
- input: t[1],
306
- width: 10, // mm
307
- height: 10, // mm
308
- backgroundColor: 'ffffff',
309
- barColor: 'f50505',
310
- });
311
- const png = pngjs_1.PNG.sync.read(buffer);
312
- const pngData = new Uint8ClampedArray(png.data);
313
- const qr = (0, jsqr_1.default)(pngData, png.width, png.height);
314
- expect(qr).not.toBeNull();
315
- const dataBuffer = Buffer.from(qr.binaryData);
316
- expect(dataBuffer.toString('utf8')).toEqual(t[2]);
317
- });
318
- }
319
- });
320
- });
321
- describe('barCodeType2Bcid test', () => {
322
- test('it maps the nw7 barcode type', () => {
323
- expect((0, helper_js_1.barCodeType2Bcid)('nw7')).toEqual('rationalizedCodabar');
324
- });
325
- test('it returns all other types as they are', () => {
326
- expect((0, helper_js_1.barCodeType2Bcid)('qrcode')).toEqual('qrcode');
327
- expect((0, helper_js_1.barCodeType2Bcid)('japanpost')).toEqual('japanpost');
328
- expect((0, helper_js_1.barCodeType2Bcid)('ean8')).toEqual('ean8');
329
- expect((0, helper_js_1.barCodeType2Bcid)('ean13')).toEqual('ean13');
330
- expect((0, helper_js_1.barCodeType2Bcid)('code39')).toEqual('code39');
331
- expect((0, helper_js_1.barCodeType2Bcid)('code128')).toEqual('code128');
332
- expect((0, helper_js_1.barCodeType2Bcid)('itf14')).toEqual('itf14');
333
- expect((0, helper_js_1.barCodeType2Bcid)('upca')).toEqual('upca');
334
- expect((0, helper_js_1.barCodeType2Bcid)('upce')).toEqual('upce');
335
- expect((0, helper_js_1.barCodeType2Bcid)('gs1datamatrix')).toEqual('gs1datamatrix');
336
- expect((0, helper_js_1.barCodeType2Bcid)('pdf417')).toEqual('pdf417');
337
- });
338
- });
339
- describe('mapHexColorForBwipJsLib text', () => {
340
- test('it strips a hex if there is one', () => {
341
- expect((0, helper_js_1.mapHexColorForBwipJsLib)('#ffffff')).toEqual('ffffff');
342
- expect((0, helper_js_1.mapHexColorForBwipJsLib)('#eee')).toEqual('eee');
343
- expect((0, helper_js_1.mapHexColorForBwipJsLib)('ffffff')).toEqual('ffffff');
344
- });
345
- test('it strips a hex from a fallback color if main color not defined', () => {
346
- expect((0, helper_js_1.mapHexColorForBwipJsLib)(undefined, '#ffffff')).toEqual('ffffff');
347
- expect((0, helper_js_1.mapHexColorForBwipJsLib)(undefined, '#eee')).toEqual('eee');
348
- expect((0, helper_js_1.mapHexColorForBwipJsLib)(undefined, 'ffffff')).toEqual('ffffff');
349
- });
350
- test('it defaults to black if neither color nor fallback passed', () => {
351
- expect((0, helper_js_1.mapHexColorForBwipJsLib)(undefined)).toEqual('000000');
352
- });
353
- });
354
- //# sourceMappingURL=barcode.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"barcode.test.js","sourceRoot":"","sources":["../../../__tests__/barcode.test.ts"],"names":[],"mappings":"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"}