@pdfme/schemas 5.3.5 → 5.3.7-dev.1

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 (110) hide show
  1. package/dist/node/__tests__/barcode.test.js +332 -0
  2. package/dist/node/__tests__/barcode.test.js.map +1 -0
  3. package/dist/node/__tests__/multiVariableText.test.js +96 -0
  4. package/dist/node/__tests__/multiVariableText.test.js.map +1 -0
  5. package/dist/node/__tests__/text.test.js +409 -0
  6. package/dist/node/__tests__/text.test.js.map +1 -0
  7. package/dist/node/__tests__/utils.test.js +132 -0
  8. package/dist/node/__tests__/utils.test.js.map +1 -0
  9. package/dist/node/src/barcodes/constants.js +20 -0
  10. package/dist/node/src/barcodes/constants.js.map +1 -0
  11. package/dist/node/src/barcodes/helper.js +145 -0
  12. package/dist/node/src/barcodes/helper.js.map +1 -0
  13. package/dist/node/src/barcodes/index.js +18 -0
  14. package/dist/node/src/barcodes/index.js.map +1 -0
  15. package/dist/node/src/barcodes/pdfRender.js +25 -0
  16. package/dist/node/src/barcodes/pdfRender.js.map +1 -0
  17. package/dist/node/src/barcodes/propPanel.js +228 -0
  18. package/dist/node/src/barcodes/propPanel.js.map +1 -0
  19. package/dist/node/src/barcodes/types.js +3 -0
  20. package/dist/node/src/barcodes/types.js.map +1 -0
  21. package/dist/node/src/barcodes/uiRender.js +89 -0
  22. package/dist/node/src/barcodes/uiRender.js.map +1 -0
  23. package/dist/node/src/checkbox/index.js +61 -0
  24. package/dist/node/src/checkbox/index.js.map +1 -0
  25. package/dist/node/src/constants.js +6 -0
  26. package/dist/node/src/constants.js.map +1 -0
  27. package/dist/node/src/date/date.js +9 -0
  28. package/dist/node/src/date/date.js.map +1 -0
  29. package/dist/node/src/date/dateTime.js +9 -0
  30. package/dist/node/src/date/dateTime.js.map +1 -0
  31. package/dist/node/src/date/helper.js +420 -0
  32. package/dist/node/src/date/helper.js.map +1 -0
  33. package/dist/node/src/date/time.js +9 -0
  34. package/dist/node/src/date/time.js.map +1 -0
  35. package/dist/node/src/date/types.js +3 -0
  36. package/dist/node/src/date/types.js.map +1 -0
  37. package/dist/node/src/graphics/cacheKey.js +6 -0
  38. package/dist/node/src/graphics/cacheKey.js.map +1 -0
  39. package/dist/node/src/graphics/image.js +167 -0
  40. package/dist/node/src/graphics/image.js.map +1 -0
  41. package/dist/node/src/graphics/imagehelper.js +124 -0
  42. package/dist/node/src/graphics/imagehelper.js.map +1 -0
  43. package/dist/node/src/graphics/svg.js +85 -0
  44. package/dist/node/src/graphics/svg.js.map +1 -0
  45. package/dist/node/src/index.js +38 -0
  46. package/dist/node/src/index.js.map +1 -0
  47. package/dist/node/src/multiVariableText/helper.js +46 -0
  48. package/dist/node/src/multiVariableText/helper.js.map +1 -0
  49. package/dist/node/src/multiVariableText/index.js +16 -0
  50. package/dist/node/src/multiVariableText/index.js.map +1 -0
  51. package/dist/node/src/multiVariableText/pdfRender.js +20 -0
  52. package/dist/node/src/multiVariableText/pdfRender.js.map +1 -0
  53. package/dist/node/src/multiVariableText/propPanel.js +130 -0
  54. package/dist/node/src/multiVariableText/propPanel.js.map +1 -0
  55. package/dist/node/src/multiVariableText/types.js +3 -0
  56. package/dist/node/src/multiVariableText/types.js.map +1 -0
  57. package/dist/node/src/multiVariableText/uiRender.js +138 -0
  58. package/dist/node/src/multiVariableText/uiRender.js.map +1 -0
  59. package/dist/node/src/radioGroup/index.js +93 -0
  60. package/dist/node/src/radioGroup/index.js.map +1 -0
  61. package/dist/node/src/select/index.js +164 -0
  62. package/dist/node/src/select/index.js.map +1 -0
  63. package/dist/node/src/shapes/line.js +60 -0
  64. package/dist/node/src/shapes/line.js.map +1 -0
  65. package/dist/node/src/shapes/rectAndEllipse.js +122 -0
  66. package/dist/node/src/shapes/rectAndEllipse.js.map +1 -0
  67. package/dist/node/src/tables/cell.js +126 -0
  68. package/dist/node/src/tables/cell.js.map +1 -0
  69. package/dist/node/src/tables/classes.js +467 -0
  70. package/dist/node/src/tables/classes.js.map +1 -0
  71. package/dist/node/src/tables/dynamicTemplate.js +17 -0
  72. package/dist/node/src/tables/dynamicTemplate.js.map +1 -0
  73. package/dist/node/src/tables/helper.js +189 -0
  74. package/dist/node/src/tables/helper.js.map +1 -0
  75. package/dist/node/src/tables/index.js +15 -0
  76. package/dist/node/src/tables/index.js.map +1 -0
  77. package/dist/node/src/tables/pdfRender.js +95 -0
  78. package/dist/node/src/tables/pdfRender.js.map +1 -0
  79. package/dist/node/src/tables/propPanel.js +101 -0
  80. package/dist/node/src/tables/propPanel.js.map +1 -0
  81. package/dist/node/src/tables/tableHelper.js +196 -0
  82. package/dist/node/src/tables/tableHelper.js.map +1 -0
  83. package/dist/node/src/tables/types.js +3 -0
  84. package/dist/node/src/tables/types.js.map +1 -0
  85. package/dist/node/src/tables/uiRender.js +367 -0
  86. package/dist/node/src/tables/uiRender.js.map +1 -0
  87. package/dist/node/src/text/constants.js +97 -0
  88. package/dist/node/src/text/constants.js.map +1 -0
  89. package/dist/node/src/text/extraFormatter.js +48 -0
  90. package/dist/node/src/text/extraFormatter.js.map +1 -0
  91. package/dist/node/src/text/helper.js +472 -0
  92. package/dist/node/src/text/helper.js.map +1 -0
  93. package/dist/node/src/text/icons/index.js +16 -0
  94. package/dist/node/src/text/icons/index.js.map +1 -0
  95. package/dist/node/src/text/index.js +15 -0
  96. package/dist/node/src/text/index.js.map +1 -0
  97. package/dist/node/src/text/pdfRender.js +156 -0
  98. package/dist/node/src/text/pdfRender.js.map +1 -0
  99. package/dist/node/src/text/propPanel.js +161 -0
  100. package/dist/node/src/text/propPanel.js.map +1 -0
  101. package/dist/node/src/text/types.js +3 -0
  102. package/dist/node/src/text/types.js.map +1 -0
  103. package/dist/node/src/text/uiRender.js +223 -0
  104. package/dist/node/src/text/uiRender.js.map +1 -0
  105. package/dist/node/src/utils.js +190 -0
  106. package/dist/node/src/utils.js.map +1 -0
  107. package/package.json +11 -4
  108. package/tsconfig.cjs.json +1 -1
  109. package/tsconfig.esm.json +1 -1
  110. package/tsconfig.node.json +10 -0
@@ -0,0 +1,145 @@
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.createBarCode = exports.mapHexColorForBwipJsLib = exports.barCodeType2Bcid = exports.validateBarcodeInput = void 0;
7
+ const common_1 = require("@pdfme/common");
8
+ const bwip_js_1 = __importDefault(require("bwip-js"));
9
+ const constants_js_1 = require("./constants.js");
10
+ // GTIN-13, GTIN-8, GTIN-12, GTIN-14
11
+ const validateCheckDigit = (input, checkDigitPos) => {
12
+ let passCheckDigit = true;
13
+ if (input.length === checkDigitPos) {
14
+ const ds = input.slice(0, -1).replace(/[^0-9]/g, '');
15
+ let sum = 0;
16
+ let odd = 1;
17
+ for (let i = ds.length - 1; i > -1; i -= 1) {
18
+ sum += Number(ds[i]) * (odd ? 3 : 1);
19
+ odd ^= 1;
20
+ if (sum > 0xffffffffffff) {
21
+ // ~2^48 at max
22
+ sum %= 10;
23
+ }
24
+ }
25
+ passCheckDigit = String(10 - (sum % 10)).slice(-1) === input.slice(-1);
26
+ }
27
+ return passCheckDigit;
28
+ };
29
+ const validateBarcodeInput = (type, input) => {
30
+ if (!input)
31
+ return false;
32
+ if (!constants_js_1.BARCODE_TYPES.includes(type))
33
+ return false;
34
+ if (type === 'qrcode') {
35
+ // 500文字以下
36
+ return input.length < 500;
37
+ }
38
+ if (type === 'japanpost') {
39
+ // 郵便番号は数字(0-9)のみ。住所表示番号は英数字(0-9,A-Z)とハイフン(-)が使用可能です。
40
+ const regexp = /^(\d{7})(\d|[A-Z]|-)+$/;
41
+ return regexp.test(input);
42
+ }
43
+ if (type === 'ean13') {
44
+ // 有効文字は数値(0-9)のみ。チェックデジットを含まない12桁orチェックデジットを含む13桁。
45
+ const regexp = /^\d{12}$|^\d{13}$/;
46
+ return regexp.test(input) && validateCheckDigit(input, 13);
47
+ }
48
+ if (type === 'ean8') {
49
+ // 有効文字は数値(0-9)のみ。チェックデジットを含まない7桁orチェックデジットを含む8桁。
50
+ const regexp = /^\d{7}$|^\d{8}$/;
51
+ return regexp.test(input) && validateCheckDigit(input, 8);
52
+ }
53
+ if (type === 'code39') {
54
+ // 有効文字は数字(0-9)。アルファベット大文字(A-Z)、記号(-.$/+%)、半角スペース。
55
+ const regexp = /^(\d|[A-Z]|\-|\.|\$|\/|\+|\%|\s)+$/;
56
+ return regexp.test(input);
57
+ }
58
+ if (type === 'code128') {
59
+ // 有効文字は漢字、ひらがな、カタカナ以外。
60
+ // https://qiita.com/graminume/items/2ac8dd9c32277fa9da64
61
+ return !input.match(/([\u30a0-\u30ff\u3040-\u309f\u3005-\u3006\u30e0-\u9fcf]|[A-Za-z0-9!"#$%&'()*+,-./:;<=>?@[\]^_`{|}〜 ])+/);
62
+ }
63
+ if (type === 'nw7') {
64
+ // 有効文字はNW-7は数字(0-9)と記号(-.$:/+)。
65
+ // スタートコード/ストップコードとして、コードの始まりと終わりはアルファベット(A-D)のいずれかを使用してください。
66
+ const regexp = /^[A-Da-d]([0-9\-\.\$\:\/\+])+[A-Da-d]$/;
67
+ return regexp.test(input);
68
+ }
69
+ if (type === 'itf14') {
70
+ // 有効文字は数値(0-9)のみ。 チェックデジットを含まない13桁orチェックデジットを含む14桁。
71
+ const regexp = /^\d{13}$|^\d{14}$/;
72
+ return regexp.test(input) && validateCheckDigit(input, 14);
73
+ }
74
+ if (type === 'upca') {
75
+ // 有効文字は数値(0-9)のみ。 チェックデジットを含まない11桁orチェックデジットを含む12桁。
76
+ const regexp = /^\d{11}$|^\d{12}$/;
77
+ return regexp.test(input) && validateCheckDigit(input, 12);
78
+ }
79
+ if (type === 'upce') {
80
+ // 有効文字は数値(0-9)のみ。 1桁目に指定できる数字(ナンバーシステムキャラクタ)は0のみ。
81
+ // チェックデジットを含まない7桁orチェックデジットを含む8桁。
82
+ const regexp = /^0(\d{6}$|\d{7}$)/;
83
+ return regexp.test(input) && validateCheckDigit(input, 8);
84
+ }
85
+ if (type === 'gs1datamatrix') {
86
+ let ret = false;
87
+ // find the GTIN application identifier, regex for "(01)" and the digits after it until another "("
88
+ const regexp = /\((01)\)(\d*)(\(|$)/;
89
+ let res = input.match(regexp);
90
+ if (res != null &&
91
+ input.length <= 52 && // 52 is the max length of a GS1 DataMatrix barcode before bwip-js throws an error
92
+ res[1] === '01' &&
93
+ (res[2].length === 14 || res[2].length === 8 || res[2].length === 12 || res[2].length === 13)) {
94
+ let gtin = res[2];
95
+ ret = validateCheckDigit(gtin, gtin.length);
96
+ }
97
+ return ret;
98
+ }
99
+ return false;
100
+ };
101
+ exports.validateBarcodeInput = validateBarcodeInput;
102
+ /**
103
+ * The bwip.js lib has a different name for nw7 type barcodes
104
+ */
105
+ const barCodeType2Bcid = (type) => type === 'nw7' ? 'rationalizedCodabar' : type;
106
+ exports.barCodeType2Bcid = barCodeType2Bcid;
107
+ /**
108
+ * Strip hash from the beginning of HTML hex color codes for the bwip.js lib
109
+ */
110
+ const mapHexColorForBwipJsLib = (color, fallback) => color ? color.replace('#', '') : fallback ? fallback.replace('#', '') : '000000';
111
+ exports.mapHexColorForBwipJsLib = mapHexColorForBwipJsLib;
112
+ const createBarCode = async (arg) => {
113
+ const { type, input, width, height, backgroundColor, barColor, textColor, includetext = constants_js_1.DEFAULT_BARCODE_INCLUDETEXT, } = arg;
114
+ const bcid = (0, exports.barCodeType2Bcid)(type);
115
+ const scale = 5;
116
+ const bwipjsArg = {
117
+ bcid,
118
+ text: input,
119
+ width,
120
+ height,
121
+ scale,
122
+ includetext,
123
+ textxalign: 'center',
124
+ };
125
+ if (backgroundColor)
126
+ bwipjsArg.backgroundcolor = (0, exports.mapHexColorForBwipJsLib)(backgroundColor);
127
+ if (barColor)
128
+ bwipjsArg.barcolor = (0, exports.mapHexColorForBwipJsLib)(barColor);
129
+ if (textColor)
130
+ bwipjsArg.textcolor = (0, exports.mapHexColorForBwipJsLib)(textColor);
131
+ let res;
132
+ if (typeof window !== 'undefined') {
133
+ const canvas = document.createElement('canvas');
134
+ // @ts-ignore
135
+ bwip_js_1.default.toCanvas(canvas, bwipjsArg);
136
+ const dataUrl = canvas.toDataURL('image/png');
137
+ res = (0, common_1.b64toUint8Array)(dataUrl).buffer;
138
+ }
139
+ else {
140
+ res = await bwip_js_1.default.toBuffer(bwipjsArg);
141
+ }
142
+ return res;
143
+ };
144
+ exports.createBarCode = createBarCode;
145
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../../src/barcodes/helper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
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 constants_js_1 = require("./constants.js");
7
+ const utils_js_1 = require("../utils.js");
8
+ const lucide_1 = require("lucide");
9
+ const barcodes = constants_js_1.BARCODE_TYPES.reduce((acc, type) => Object.assign(acc, {
10
+ [type]: {
11
+ pdf: pdfRender_js_1.pdfRender,
12
+ ui: uiRender_js_1.uiRender,
13
+ propPanel: (0, propPanel_js_1.getPropPanelByBarcodeType)(type),
14
+ icon: (0, utils_js_1.createSvgStr)(type == 'qrcode' ? lucide_1.QrCode : lucide_1.Barcode),
15
+ },
16
+ }), {});
17
+ exports.default = barcodes;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/barcodes/index.ts"],"names":[],"mappings":";;AAAA,iDAA2C;AAC3C,iDAA2D;AAC3D,+CAAyC;AAEzC,iDAA+C;AAC/C,0CAA2C;AAE3C,mCAAyC;AAEzC,MAAM,QAAQ,GAAG,4BAAa,CAAC,MAAM,CACnC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CACZ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;IACjB,CAAC,IAAI,CAAC,EAAE;QACN,GAAG,EAAE,wBAAS;QACd,EAAE,EAAE,sBAAQ;QACZ,SAAS,EAAE,IAAA,wCAAyB,EAAC,IAAI,CAAC;QAC1C,IAAI,EAAE,IAAA,uBAAY,EAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,eAAM,CAAC,CAAC,CAAC,gBAAO,CAAC;KACxD;CACF,CAAC,EACJ,EAAiD,CAClD,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pdfRender = void 0;
4
+ const utils_js_1 = require("../utils.js");
5
+ const helper_js_1 = require("./helper.js");
6
+ const getBarcodeCacheKey = (schema, value) => {
7
+ return `${schema.type}${schema.backgroundColor}${schema.barColor}${schema.textColor}${value}${schema.includetext}`;
8
+ };
9
+ const pdfRender = async (arg) => {
10
+ const { value, schema, pdfDoc, page, _cache } = arg;
11
+ if (!(0, helper_js_1.validateBarcodeInput)(schema.type, value))
12
+ return;
13
+ const inputBarcodeCacheKey = getBarcodeCacheKey(schema, value);
14
+ let image = _cache.get(inputBarcodeCacheKey);
15
+ if (!image) {
16
+ const imageBuf = await (0, helper_js_1.createBarCode)(Object.assign(schema, { type: schema.type, input: value }));
17
+ image = await pdfDoc.embedPng(imageBuf);
18
+ _cache.set(inputBarcodeCacheKey, image);
19
+ }
20
+ const pageHeight = page.getHeight();
21
+ const { width, height, rotate, position: { x, y }, opacity, } = (0, utils_js_1.convertForPdfLayoutProps)({ schema, pageHeight });
22
+ page.drawImage(image, { x, y, rotate, width, height, opacity });
23
+ };
24
+ exports.pdfRender = pdfRender;
25
+ //# sourceMappingURL=pdfRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdfRender.js","sourceRoot":"","sources":["../../../../src/barcodes/pdfRender.ts"],"names":[],"mappings":";;;AACA,0CAAuD;AAEvD,2CAAkE;AAElE,MAAM,kBAAkB,GAAG,CAAC,MAAqB,EAAE,KAAa,EAAE,EAAE;IAClE,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AACrH,CAAC,CAAC;AAEK,MAAM,SAAS,GAAG,KAAK,EAAE,GAAkC,EAAE,EAAE;IACpE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;IACpD,IAAI,CAAC,IAAA,gCAAoB,EAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO;IAEtD,MAAM,oBAAoB,GAAG,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC/D,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC7C,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAa,EAClC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAC3D,CAAC;QACF,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;KACzC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;IACpC,MAAM,EACJ,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAClB,OAAO,GACR,GAAG,IAAA,mCAAwB,EAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IAErD,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;AAClE,CAAC,CAAC;AAxBW,QAAA,SAAS,aAwBpB"}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPropPanelByBarcodeType = void 0;
4
+ const constants_js_1 = require("./constants.js");
5
+ const constants_js_2 = require("../constants.js");
6
+ const defaultColors = {
7
+ backgroundColor: constants_js_1.DEFAULT_BARCODE_BG_COLOR,
8
+ barColor: constants_js_1.DEFAULT_BARCODE_COLOR,
9
+ };
10
+ const defaultTextColors = { textColor: constants_js_1.DEFAULT_BARCODE_COLOR };
11
+ const defaultIncludetext = { includetext: constants_js_1.DEFAULT_BARCODE_INCLUDETEXT };
12
+ const position = { x: 0, y: 0 };
13
+ const default40x20 = { width: 40, height: 20 };
14
+ const barcodeDefaults = [
15
+ {
16
+ defaultSchema: {
17
+ name: '',
18
+ type: 'qrcode',
19
+ content: 'https://pdfme.com/',
20
+ position,
21
+ ...defaultColors,
22
+ width: 30,
23
+ height: 30,
24
+ rotate: 0,
25
+ opacity: constants_js_2.DEFAULT_OPACITY,
26
+ },
27
+ },
28
+ {
29
+ defaultSchema: {
30
+ name: '',
31
+ type: 'japanpost',
32
+ content: '6540123789-A-K-Z',
33
+ position,
34
+ ...defaultColors,
35
+ ...defaultTextColors,
36
+ ...defaultIncludetext,
37
+ width: 80,
38
+ height: 7.2,
39
+ rotate: 0,
40
+ opacity: constants_js_2.DEFAULT_OPACITY,
41
+ },
42
+ },
43
+ {
44
+ defaultSchema: {
45
+ name: '',
46
+ type: 'ean13',
47
+ content: '2112345678900',
48
+ position,
49
+ ...defaultColors,
50
+ ...defaultTextColors,
51
+ ...defaultIncludetext,
52
+ ...default40x20,
53
+ height: 16,
54
+ rotate: 0,
55
+ opacity: constants_js_2.DEFAULT_OPACITY,
56
+ },
57
+ },
58
+ {
59
+ defaultSchema: {
60
+ name: '',
61
+ type: 'ean8',
62
+ content: '02345673',
63
+ position,
64
+ ...defaultColors,
65
+ ...defaultTextColors,
66
+ ...defaultIncludetext,
67
+ ...default40x20,
68
+ rotate: 0,
69
+ opacity: constants_js_2.DEFAULT_OPACITY,
70
+ },
71
+ },
72
+ {
73
+ defaultSchema: {
74
+ name: '',
75
+ type: 'code39',
76
+ content: 'THIS IS CODE 39',
77
+ position,
78
+ ...defaultColors,
79
+ ...defaultTextColors,
80
+ ...defaultIncludetext,
81
+ ...default40x20,
82
+ opacity: constants_js_2.DEFAULT_OPACITY,
83
+ },
84
+ },
85
+ {
86
+ defaultSchema: {
87
+ name: '',
88
+ type: 'code128',
89
+ content: 'This is Code 128!',
90
+ position,
91
+ ...defaultColors,
92
+ ...defaultTextColors,
93
+ ...defaultIncludetext,
94
+ ...default40x20,
95
+ rotate: 0,
96
+ opacity: constants_js_2.DEFAULT_OPACITY,
97
+ },
98
+ },
99
+ {
100
+ defaultSchema: {
101
+ name: '',
102
+ type: 'nw7',
103
+ content: 'A0123456789B',
104
+ position,
105
+ ...defaultColors,
106
+ ...defaultTextColors,
107
+ ...defaultIncludetext,
108
+ ...default40x20,
109
+ rotate: 0,
110
+ opacity: constants_js_2.DEFAULT_OPACITY,
111
+ },
112
+ },
113
+ {
114
+ defaultSchema: {
115
+ name: '',
116
+ type: 'itf14',
117
+ content: '04601234567893',
118
+ position,
119
+ ...defaultColors,
120
+ ...defaultTextColors,
121
+ ...defaultIncludetext,
122
+ ...default40x20,
123
+ height: 12,
124
+ rotate: 0,
125
+ opacity: constants_js_2.DEFAULT_OPACITY,
126
+ },
127
+ },
128
+ {
129
+ defaultSchema: {
130
+ name: '',
131
+ type: 'upca',
132
+ content: '416000336108',
133
+ position,
134
+ ...defaultColors,
135
+ ...defaultTextColors,
136
+ ...defaultIncludetext,
137
+ ...default40x20,
138
+ height: 16,
139
+ rotate: 0,
140
+ opacity: constants_js_2.DEFAULT_OPACITY,
141
+ },
142
+ },
143
+ {
144
+ defaultSchema: {
145
+ name: '',
146
+ type: 'upce',
147
+ content: '00123457',
148
+ position,
149
+ ...defaultColors,
150
+ ...defaultTextColors,
151
+ ...defaultIncludetext,
152
+ ...default40x20,
153
+ rotate: 0,
154
+ opacity: constants_js_2.DEFAULT_OPACITY,
155
+ },
156
+ },
157
+ {
158
+ defaultSchema: {
159
+ name: '',
160
+ type: 'gs1datamatrix',
161
+ content: '(01)03453120000011(17)191125(10)ABCD1234',
162
+ position,
163
+ ...defaultColors,
164
+ width: 30,
165
+ height: 30,
166
+ rotate: 0,
167
+ opacity: constants_js_2.DEFAULT_OPACITY,
168
+ },
169
+ },
170
+ ];
171
+ const getPropPanelByBarcodeType = (barcodeType) => {
172
+ const barcodeHasText = barcodeType !== 'qrcode' && barcodeType !== 'gs1datamatrix';
173
+ const defaults = barcodeDefaults.find(({ defaultSchema }) => defaultSchema.type === barcodeType);
174
+ if (!defaults)
175
+ throw new Error(`[@pdfme/schemas/barcodes] No default for barcode type ${barcodeType}`);
176
+ return {
177
+ schema: ({ i18n }) => ({
178
+ barColor: {
179
+ title: i18n('schemas.barcodes.barColor'),
180
+ type: 'string',
181
+ widget: 'color',
182
+ props: {
183
+ disabledAlpha: true
184
+ },
185
+ rules: [
186
+ {
187
+ pattern: constants_js_2.HEX_COLOR_PATTERN,
188
+ message: i18n('validation.hexColor'),
189
+ },
190
+ ],
191
+ },
192
+ backgroundColor: {
193
+ title: i18n('schemas.bgColor'),
194
+ type: 'string',
195
+ widget: 'color',
196
+ props: {
197
+ disabledAlpha: true
198
+ },
199
+ rules: [
200
+ {
201
+ pattern: constants_js_2.HEX_COLOR_PATTERN,
202
+ message: i18n('validation.hexColor'),
203
+ },
204
+ ],
205
+ },
206
+ ...(barcodeHasText
207
+ ? {
208
+ textColor: {
209
+ title: i18n('schemas.textColor'),
210
+ type: 'string',
211
+ widget: 'color',
212
+ props: {
213
+ disabledAlpha: true
214
+ },
215
+ },
216
+ includetext: {
217
+ title: i18n('schemas.barcodes.includetext'),
218
+ type: 'boolean',
219
+ widget: 'switch',
220
+ },
221
+ }
222
+ : {}),
223
+ }),
224
+ ...defaults,
225
+ };
226
+ };
227
+ exports.getPropPanelByBarcodeType = getPropPanelByBarcodeType;
228
+ //# sourceMappingURL=propPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"propPanel.js","sourceRoot":"","sources":["../../../../src/barcodes/propPanel.ts"],"names":[],"mappings":"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"}
@@ -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/barcodes/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uiRender = void 0;
4
+ const helper_js_1 = require("./helper.js");
5
+ const utils_js_1 = require("../utils.js");
6
+ const fullSize = { width: '100%', height: '100%' };
7
+ const blobToDataURL = (blob) => new Promise((resolve, reject) => {
8
+ const reader = new FileReader();
9
+ reader.onloadend = () => resolve(reader.result);
10
+ reader.onerror = reject;
11
+ reader.readAsDataURL(blob);
12
+ });
13
+ const createBarcodeImage = async (schema, value) => {
14
+ const imageBuf = await (0, helper_js_1.createBarCode)({
15
+ ...schema,
16
+ input: value,
17
+ });
18
+ const barcodeData = new Blob([new Uint8Array(imageBuf)], { type: 'image/png' });
19
+ const barcodeDataURL = await blobToDataURL(barcodeData);
20
+ return barcodeDataURL;
21
+ };
22
+ const createBarcodeImageElm = async (schema, value) => {
23
+ const barcodeDataURL = await createBarcodeImage(schema, value);
24
+ const img = document.createElement('img');
25
+ img.src = barcodeDataURL;
26
+ const imgStyle = { ...fullSize, borderRadius: 0 };
27
+ Object.assign(img.style, imgStyle);
28
+ return img;
29
+ };
30
+ const uiRender = async (arg) => {
31
+ const { value, rootElement, mode, onChange, stopEditing, tabIndex, placeholder, schema, theme } = arg;
32
+ const container = document.createElement('div');
33
+ const containerStyle = {
34
+ ...fullSize,
35
+ display: 'flex',
36
+ alignItems: 'center',
37
+ justifyContent: 'center',
38
+ fontFamily: "'Open Sans', sans-serif",
39
+ };
40
+ Object.assign(container.style, containerStyle);
41
+ rootElement.appendChild(container);
42
+ const editable = (0, utils_js_1.isEditable)(mode, schema);
43
+ if (editable) {
44
+ const input = document.createElement('input');
45
+ const inputStyle = {
46
+ width: '100%',
47
+ position: 'absolute',
48
+ textAlign: 'center',
49
+ fontSize: '12pt',
50
+ fontWeight: 'bold',
51
+ color: theme.colorWhite,
52
+ backgroundColor: editable || value ? (0, utils_js_1.addAlphaToHex)('#000000', 80) : 'none',
53
+ border: 'none',
54
+ display: 'flex',
55
+ alignItems: 'center',
56
+ justifyContent: 'center',
57
+ overflow: 'auto',
58
+ };
59
+ Object.assign(input.style, inputStyle);
60
+ input.value = value;
61
+ input.placeholder = placeholder || '';
62
+ input.tabIndex = tabIndex || 0;
63
+ input.addEventListener('change', (e) => {
64
+ onChange && onChange({ key: 'content', value: e.target.value });
65
+ });
66
+ input.addEventListener('blur', () => {
67
+ stopEditing && stopEditing();
68
+ });
69
+ container.appendChild(input);
70
+ input.setSelectionRange(value.length, value.length);
71
+ if (mode === 'designer') {
72
+ input.focus();
73
+ }
74
+ }
75
+ if (!value)
76
+ return;
77
+ try {
78
+ if (!(0, helper_js_1.validateBarcodeInput)(schema.type, value))
79
+ throw new Error('[@pdfme/schemas/barcodes] Invalid barcode input');
80
+ const imgElm = await createBarcodeImageElm(schema, value);
81
+ container.appendChild(imgElm);
82
+ }
83
+ catch (err) {
84
+ console.error(`[@pdfme/ui] ${err}`);
85
+ container.appendChild((0, utils_js_1.createErrorElm)());
86
+ }
87
+ };
88
+ exports.uiRender = uiRender;
89
+ //# sourceMappingURL=uiRender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/barcodes/uiRender.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
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 svg_1 = __importDefault(require("../graphics/svg"));
7
+ const utils_js_1 = require("../utils.js");
8
+ const constants_js_1 = require("../constants.js");
9
+ const lucide_1 = require("lucide");
10
+ const utils_js_2 = require("../utils.js");
11
+ const defaultStroke = 'currentColor';
12
+ const getCheckedIcon = (stroke = defaultStroke) => (0, utils_js_2.createSvgStr)(lucide_1.SquareCheck, { stroke });
13
+ const getUncheckedIcon = (stroke = defaultStroke) => (0, utils_js_2.createSvgStr)(lucide_1.Square, { stroke });
14
+ const getIcon = ({ value, color }) => value === 'true' ? getCheckedIcon(color) : getUncheckedIcon(color);
15
+ const schema = {
16
+ ui: (arg) => {
17
+ const { schema, value, onChange, rootElement, mode } = arg;
18
+ const container = document.createElement('div');
19
+ container.style.width = '100%';
20
+ container.style.height = '100%';
21
+ if ((0, utils_js_1.isEditable)(mode, schema)) {
22
+ container.addEventListener('click', () => {
23
+ onChange && onChange({ key: 'content', value: value === 'true' ? 'false' : 'true' });
24
+ });
25
+ }
26
+ void svg_1.default.ui({
27
+ ...arg,
28
+ rootElement: container,
29
+ mode: 'viewer',
30
+ value: getIcon({ value, color: schema.color }),
31
+ });
32
+ rootElement.appendChild(container);
33
+ },
34
+ pdf: (arg) => svg_1.default.pdf(Object.assign(arg, { value: getIcon({ value: arg.value, color: arg.schema.color }) })),
35
+ propPanel: {
36
+ schema: ({ i18n }) => ({
37
+ color: {
38
+ title: i18n('schemas.color'),
39
+ type: 'string',
40
+ widget: 'color',
41
+ props: {
42
+ disabledAlpha: true
43
+ },
44
+ required: true,
45
+ rules: [{ pattern: constants_js_1.HEX_COLOR_PATTERN, message: i18n('validation.hexColor') }],
46
+ },
47
+ }),
48
+ defaultSchema: {
49
+ name: '',
50
+ type: 'checkbox',
51
+ content: 'false',
52
+ position: { x: 0, y: 0 },
53
+ width: 8,
54
+ height: 8,
55
+ color: '#000000',
56
+ },
57
+ },
58
+ icon: getCheckedIcon(),
59
+ };
60
+ exports.default = schema;
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/checkbox/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HEX_COLOR_PATTERN = exports.DEFAULT_OPACITY = void 0;
4
+ exports.DEFAULT_OPACITY = 1;
5
+ exports.HEX_COLOR_PATTERN = '^#(?:[A-Fa-f0-9]{6})$';
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG,CAAC,CAAC;AACpB,QAAA,iBAAiB,GAAG,uBAAuB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helper_1 = require("./helper");
4
+ const utils_js_1 = require("../utils.js");
5
+ const lucide_1 = require("lucide");
6
+ const type = 'date';
7
+ const icon = (0, utils_js_1.createSvgStr)(lucide_1.Calendar);
8
+ exports.default = (0, helper_1.getPlugin)({ type, icon });
9
+ //# sourceMappingURL=date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.js","sourceRoot":"","sources":["../../../../src/date/date.ts"],"names":[],"mappings":";;AAAA,qCAAqC;AACrC,0CAA2C;AAC3C,mCAAkC;AAElC,MAAM,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,IAAI,GAAG,IAAA,uBAAY,EAAC,iBAAQ,CAAC,CAAC;AAEpC,kBAAe,IAAA,kBAAS,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const helper_1 = require("./helper");
4
+ const utils_js_1 = require("../utils.js");
5
+ const lucide_1 = require("lucide");
6
+ const type = 'dateTime';
7
+ const icon = (0, utils_js_1.createSvgStr)(lucide_1.CalendarClock);
8
+ exports.default = (0, helper_1.getPlugin)({ type, icon });
9
+ //# sourceMappingURL=dateTime.js.map