@pdfme/schemas 5.3.6 → 5.3.7-dev.3

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 (122) hide show
  1. package/dist/cjs/__tests__/multiVariableText.test.js +8 -2
  2. package/dist/cjs/__tests__/multiVariableText.test.js.map +1 -1
  3. package/dist/cjs/src/multiVariableText/helper.js +1 -1
  4. package/dist/cjs/src/multiVariableText/helper.js.map +1 -1
  5. package/dist/cjs/src/multiVariableText/uiRender.js +1 -1
  6. package/dist/cjs/src/multiVariableText/uiRender.js.map +1 -1
  7. package/dist/esm/__tests__/multiVariableText.test.js +8 -2
  8. package/dist/esm/__tests__/multiVariableText.test.js.map +1 -1
  9. package/dist/esm/src/multiVariableText/helper.js +1 -1
  10. package/dist/esm/src/multiVariableText/helper.js.map +1 -1
  11. package/dist/esm/src/multiVariableText/uiRender.js +1 -1
  12. package/dist/esm/src/multiVariableText/uiRender.js.map +1 -1
  13. package/dist/node/__tests__/barcode.test.js +332 -0
  14. package/dist/node/__tests__/barcode.test.js.map +1 -0
  15. package/dist/node/__tests__/multiVariableText.test.js +102 -0
  16. package/dist/node/__tests__/multiVariableText.test.js.map +1 -0
  17. package/dist/node/__tests__/text.test.js +409 -0
  18. package/dist/node/__tests__/text.test.js.map +1 -0
  19. package/dist/node/__tests__/utils.test.js +132 -0
  20. package/dist/node/__tests__/utils.test.js.map +1 -0
  21. package/dist/node/src/barcodes/constants.js +20 -0
  22. package/dist/node/src/barcodes/constants.js.map +1 -0
  23. package/dist/node/src/barcodes/helper.js +145 -0
  24. package/dist/node/src/barcodes/helper.js.map +1 -0
  25. package/dist/node/src/barcodes/index.js +18 -0
  26. package/dist/node/src/barcodes/index.js.map +1 -0
  27. package/dist/node/src/barcodes/pdfRender.js +25 -0
  28. package/dist/node/src/barcodes/pdfRender.js.map +1 -0
  29. package/dist/node/src/barcodes/propPanel.js +228 -0
  30. package/dist/node/src/barcodes/propPanel.js.map +1 -0
  31. package/dist/node/src/barcodes/types.js +3 -0
  32. package/dist/node/src/barcodes/types.js.map +1 -0
  33. package/dist/node/src/barcodes/uiRender.js +89 -0
  34. package/dist/node/src/barcodes/uiRender.js.map +1 -0
  35. package/dist/node/src/checkbox/index.js +61 -0
  36. package/dist/node/src/checkbox/index.js.map +1 -0
  37. package/dist/node/src/constants.js +6 -0
  38. package/dist/node/src/constants.js.map +1 -0
  39. package/dist/node/src/date/date.js +9 -0
  40. package/dist/node/src/date/date.js.map +1 -0
  41. package/dist/node/src/date/dateTime.js +9 -0
  42. package/dist/node/src/date/dateTime.js.map +1 -0
  43. package/dist/node/src/date/helper.js +420 -0
  44. package/dist/node/src/date/helper.js.map +1 -0
  45. package/dist/node/src/date/time.js +9 -0
  46. package/dist/node/src/date/time.js.map +1 -0
  47. package/dist/node/src/date/types.js +3 -0
  48. package/dist/node/src/date/types.js.map +1 -0
  49. package/dist/node/src/graphics/cacheKey.js +6 -0
  50. package/dist/node/src/graphics/cacheKey.js.map +1 -0
  51. package/dist/node/src/graphics/image.js +167 -0
  52. package/dist/node/src/graphics/image.js.map +1 -0
  53. package/dist/node/src/graphics/imagehelper.js +124 -0
  54. package/dist/node/src/graphics/imagehelper.js.map +1 -0
  55. package/dist/node/src/graphics/svg.js +85 -0
  56. package/dist/node/src/graphics/svg.js.map +1 -0
  57. package/dist/node/src/index.js +38 -0
  58. package/dist/node/src/index.js.map +1 -0
  59. package/dist/node/src/multiVariableText/helper.js +46 -0
  60. package/dist/node/src/multiVariableText/helper.js.map +1 -0
  61. package/dist/node/src/multiVariableText/index.js +16 -0
  62. package/dist/node/src/multiVariableText/index.js.map +1 -0
  63. package/dist/node/src/multiVariableText/pdfRender.js +20 -0
  64. package/dist/node/src/multiVariableText/pdfRender.js.map +1 -0
  65. package/dist/node/src/multiVariableText/propPanel.js +130 -0
  66. package/dist/node/src/multiVariableText/propPanel.js.map +1 -0
  67. package/dist/node/src/multiVariableText/types.js +3 -0
  68. package/dist/node/src/multiVariableText/types.js.map +1 -0
  69. package/dist/node/src/multiVariableText/uiRender.js +138 -0
  70. package/dist/node/src/multiVariableText/uiRender.js.map +1 -0
  71. package/dist/node/src/radioGroup/index.js +93 -0
  72. package/dist/node/src/radioGroup/index.js.map +1 -0
  73. package/dist/node/src/select/index.js +164 -0
  74. package/dist/node/src/select/index.js.map +1 -0
  75. package/dist/node/src/shapes/line.js +60 -0
  76. package/dist/node/src/shapes/line.js.map +1 -0
  77. package/dist/node/src/shapes/rectAndEllipse.js +122 -0
  78. package/dist/node/src/shapes/rectAndEllipse.js.map +1 -0
  79. package/dist/node/src/tables/cell.js +126 -0
  80. package/dist/node/src/tables/cell.js.map +1 -0
  81. package/dist/node/src/tables/classes.js +467 -0
  82. package/dist/node/src/tables/classes.js.map +1 -0
  83. package/dist/node/src/tables/dynamicTemplate.js +17 -0
  84. package/dist/node/src/tables/dynamicTemplate.js.map +1 -0
  85. package/dist/node/src/tables/helper.js +189 -0
  86. package/dist/node/src/tables/helper.js.map +1 -0
  87. package/dist/node/src/tables/index.js +15 -0
  88. package/dist/node/src/tables/index.js.map +1 -0
  89. package/dist/node/src/tables/pdfRender.js +95 -0
  90. package/dist/node/src/tables/pdfRender.js.map +1 -0
  91. package/dist/node/src/tables/propPanel.js +101 -0
  92. package/dist/node/src/tables/propPanel.js.map +1 -0
  93. package/dist/node/src/tables/tableHelper.js +196 -0
  94. package/dist/node/src/tables/tableHelper.js.map +1 -0
  95. package/dist/node/src/tables/types.js +3 -0
  96. package/dist/node/src/tables/types.js.map +1 -0
  97. package/dist/node/src/tables/uiRender.js +367 -0
  98. package/dist/node/src/tables/uiRender.js.map +1 -0
  99. package/dist/node/src/text/constants.js +97 -0
  100. package/dist/node/src/text/constants.js.map +1 -0
  101. package/dist/node/src/text/extraFormatter.js +48 -0
  102. package/dist/node/src/text/extraFormatter.js.map +1 -0
  103. package/dist/node/src/text/helper.js +472 -0
  104. package/dist/node/src/text/helper.js.map +1 -0
  105. package/dist/node/src/text/icons/index.js +16 -0
  106. package/dist/node/src/text/icons/index.js.map +1 -0
  107. package/dist/node/src/text/index.js +15 -0
  108. package/dist/node/src/text/index.js.map +1 -0
  109. package/dist/node/src/text/pdfRender.js +156 -0
  110. package/dist/node/src/text/pdfRender.js.map +1 -0
  111. package/dist/node/src/text/propPanel.js +161 -0
  112. package/dist/node/src/text/propPanel.js.map +1 -0
  113. package/dist/node/src/text/types.js +3 -0
  114. package/dist/node/src/text/types.js.map +1 -0
  115. package/dist/node/src/text/uiRender.js +223 -0
  116. package/dist/node/src/text/uiRender.js.map +1 -0
  117. package/dist/node/src/utils.js +190 -0
  118. package/dist/node/src/utils.js.map +1 -0
  119. package/package.json +11 -4
  120. package/src/multiVariableText/helper.ts +1 -1
  121. package/src/multiVariableText/uiRender.ts +1 -1
  122. package/tsconfig.node.json +10 -0
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ellipse = exports.rectangle = void 0;
4
+ const common_1 = require("@pdfme/common");
5
+ const constants_js_1 = require("../constants.js");
6
+ const utils_js_1 = require("../utils.js");
7
+ const pdf_lib_1 = require("@pdfme/pdf-lib");
8
+ const lucide_1 = require("lucide");
9
+ const shape = {
10
+ ui: (arg) => {
11
+ const { schema, rootElement } = arg;
12
+ const div = document.createElement('div');
13
+ div.style.width = '100%';
14
+ div.style.height = '100%';
15
+ div.style.boxSizing = 'border-box';
16
+ if (schema.type === 'ellipse') {
17
+ div.style.borderRadius = '50%';
18
+ }
19
+ div.style.borderWidth = `${schema.borderWidth ?? 0}mm`;
20
+ div.style.borderStyle = schema.borderWidth && schema.borderColor ? 'solid' : 'none';
21
+ div.style.borderColor = schema.borderColor ?? 'transparent';
22
+ div.style.backgroundColor = schema.color ?? 'transparent';
23
+ rootElement.appendChild(div);
24
+ },
25
+ pdf: (arg) => {
26
+ const { schema, page, options } = arg;
27
+ if (!schema.color && !schema.borderColor)
28
+ return;
29
+ const { colorType } = options;
30
+ const pageHeight = page.getHeight();
31
+ const cArg = { schema, pageHeight };
32
+ const { position, width, height, rotate, opacity } = (0, utils_js_1.convertForPdfLayoutProps)(cArg);
33
+ const { position: { x: x4Ellipse, y: y4Ellipse }, } = (0, utils_js_1.convertForPdfLayoutProps)({ ...cArg, applyRotateTranslate: false });
34
+ const borderWidth = schema.borderWidth ? (0, common_1.mm2pt)(schema.borderWidth) : 0;
35
+ const drawOptions = {
36
+ rotate,
37
+ borderWidth,
38
+ borderColor: (0, utils_js_1.hex2PrintingColor)(schema.borderColor, colorType),
39
+ color: (0, utils_js_1.hex2PrintingColor)(schema.color, colorType),
40
+ opacity,
41
+ borderOpacity: opacity,
42
+ };
43
+ if (schema.type === 'ellipse') {
44
+ page.drawEllipse({
45
+ x: x4Ellipse + width / 2,
46
+ y: y4Ellipse + height / 2,
47
+ xScale: width / 2 - borderWidth / 2,
48
+ yScale: height / 2 - borderWidth / 2,
49
+ ...drawOptions,
50
+ });
51
+ }
52
+ else if (schema.type === 'rectangle') {
53
+ page.drawRectangle({
54
+ x: position.x + borderWidth * ((1 - Math.sin((0, pdf_lib_1.toRadians)(rotate))) / 2) + Math.tan((0, pdf_lib_1.toRadians)(rotate)) * (Math.PI ** 2),
55
+ y: position.y + borderWidth * ((1 + Math.sin((0, pdf_lib_1.toRadians)(rotate))) / 2) + Math.tan((0, pdf_lib_1.toRadians)(rotate)) * (Math.PI ** 2),
56
+ width: width - borderWidth,
57
+ height: height - borderWidth,
58
+ ...drawOptions,
59
+ });
60
+ }
61
+ },
62
+ propPanel: {
63
+ schema: ({ i18n }) => ({
64
+ borderWidth: {
65
+ title: i18n('schemas.borderWidth'),
66
+ type: 'number',
67
+ widget: 'inputNumber',
68
+ props: { min: 0 },
69
+ step: 1,
70
+ },
71
+ borderColor: {
72
+ title: i18n('schemas.borderColor'),
73
+ type: 'string',
74
+ widget: 'color',
75
+ props: {
76
+ disabledAlpha: true
77
+ },
78
+ rules: [{ pattern: constants_js_1.HEX_COLOR_PATTERN, message: i18n('validation.hexColor') }],
79
+ },
80
+ color: {
81
+ title: i18n('schemas.color'),
82
+ type: 'string',
83
+ widget: 'color',
84
+ props: {
85
+ disabledAlpha: true
86
+ },
87
+ rules: [{ pattern: constants_js_1.HEX_COLOR_PATTERN, message: i18n('validation.hexColor') }],
88
+ },
89
+ }),
90
+ defaultSchema: {
91
+ name: '',
92
+ type: 'rectangle',
93
+ position: { x: 0, y: 0 },
94
+ width: 62.5,
95
+ height: 37.5,
96
+ rotate: 0,
97
+ opacity: 1,
98
+ borderWidth: 1,
99
+ borderColor: '#000000',
100
+ color: '',
101
+ readOnly: true,
102
+ },
103
+ },
104
+ };
105
+ const getPropPanelSchema = (type) => ({
106
+ ...shape.propPanel,
107
+ defaultSchema: {
108
+ ...shape.propPanel.defaultSchema,
109
+ type,
110
+ },
111
+ });
112
+ exports.rectangle = {
113
+ ...shape,
114
+ propPanel: getPropPanelSchema('rectangle'),
115
+ icon: (0, utils_js_1.createSvgStr)(lucide_1.Square),
116
+ };
117
+ exports.ellipse = {
118
+ ...shape,
119
+ propPanel: getPropPanelSchema('ellipse'),
120
+ icon: (0, utils_js_1.createSvgStr)(lucide_1.Circle),
121
+ };
122
+ //# sourceMappingURL=rectAndEllipse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rectAndEllipse.js","sourceRoot":"","sources":["../../../../src/shapes/rectAndEllipse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,126 @@
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 common_1 = require("@pdfme/common");
7
+ const uiRender_js_1 = require("../text/uiRender.js");
8
+ const pdfRender_js_1 = require("../text/pdfRender.js");
9
+ const line_js_1 = __importDefault(require("../shapes/line.js"));
10
+ const rectAndEllipse_js_1 = require("../shapes/rectAndEllipse.js");
11
+ const helper_js_1 = require("./helper.js");
12
+ const linePdfRender = line_js_1.default.pdf;
13
+ const rectanglePdfRender = rectAndEllipse_js_1.rectangle.pdf;
14
+ const renderLine = async (arg, schema, position, width, height) => linePdfRender({
15
+ ...arg,
16
+ schema: { ...schema, type: 'line', position, width, height, color: schema.borderColor },
17
+ });
18
+ const createTextDiv = (schema) => {
19
+ const { borderWidth: bw, width, height, padding: pd } = schema;
20
+ const textDiv = document.createElement('div');
21
+ textDiv.style.position = 'absolute';
22
+ textDiv.style.zIndex = '1';
23
+ textDiv.style.width = `${width - bw.left - bw.right - pd.left - pd.right}mm`;
24
+ textDiv.style.height = `${height - bw.top - bw.bottom - pd.top - pd.bottom}mm`;
25
+ textDiv.style.top = `${bw.top + pd.top}mm`;
26
+ textDiv.style.left = `${bw.left + pd.left}mm`;
27
+ return textDiv;
28
+ };
29
+ const createLineDiv = (width, height, top, right, bottom, left, borderColor) => {
30
+ const div = document.createElement('div');
31
+ div.style.width = width;
32
+ div.style.height = height;
33
+ div.style.position = 'absolute';
34
+ if (top !== null)
35
+ div.style.top = top;
36
+ if (right !== null)
37
+ div.style.right = right;
38
+ if (bottom !== null)
39
+ div.style.bottom = bottom;
40
+ if (left !== null)
41
+ div.style.left = left;
42
+ div.style.backgroundColor = borderColor;
43
+ return div;
44
+ };
45
+ const cellSchema = {
46
+ pdf: async (arg) => {
47
+ const { schema } = arg;
48
+ const { position, width, height, borderWidth, padding } = schema;
49
+ await Promise.all([
50
+ // BACKGROUND
51
+ rectanglePdfRender({
52
+ ...arg,
53
+ schema: {
54
+ ...schema,
55
+ type: 'rectangle',
56
+ width: schema.width,
57
+ height: schema.height,
58
+ borderWidth: 0,
59
+ borderColor: '',
60
+ color: schema.backgroundColor,
61
+ },
62
+ }),
63
+ // TOP
64
+ renderLine(arg, schema, { x: position.x, y: position.y }, width, borderWidth.top),
65
+ // RIGHT
66
+ renderLine(arg, schema, { x: position.x + width - borderWidth.right, y: position.y }, borderWidth.right, height),
67
+ // BOTTOM
68
+ renderLine(arg, schema, { x: position.x, y: position.y + height - borderWidth.bottom }, width, borderWidth.bottom),
69
+ // LEFT
70
+ renderLine(arg, schema, { x: position.x, y: position.y }, borderWidth.left, height),
71
+ ]);
72
+ // TEXT
73
+ await (0, pdfRender_js_1.pdfRender)({
74
+ ...arg,
75
+ schema: {
76
+ ...schema,
77
+ type: 'text',
78
+ backgroundColor: '',
79
+ position: {
80
+ x: position.x + borderWidth.left + padding.left,
81
+ y: position.y + borderWidth.top + padding.top,
82
+ },
83
+ width: width - borderWidth.left - borderWidth.right - padding.left - padding.right,
84
+ height: height - borderWidth.top - borderWidth.bottom - padding.top - padding.bottom,
85
+ },
86
+ });
87
+ },
88
+ ui: async (arg) => {
89
+ const { schema, rootElement } = arg;
90
+ const { borderWidth, width, height, borderColor, backgroundColor } = schema;
91
+ rootElement.style.backgroundColor = backgroundColor;
92
+ const textDiv = createTextDiv(schema);
93
+ await (0, uiRender_js_1.uiRender)({
94
+ ...arg,
95
+ schema: { ...schema, backgroundColor: '' },
96
+ rootElement: textDiv,
97
+ });
98
+ rootElement.appendChild(textDiv);
99
+ const lines = [
100
+ createLineDiv(`${width}mm`, `${borderWidth.top}mm`, '0mm', null, null, '0mm', borderColor),
101
+ createLineDiv(`${width}mm`, `${borderWidth.bottom}mm`, null, null, '0mm', '0mm', borderColor),
102
+ createLineDiv(`${borderWidth.left}mm`, `${height}mm`, '0mm', null, null, '0mm', borderColor),
103
+ createLineDiv(`${borderWidth.right}mm`, `${height}mm`, '0mm', '0mm', null, null, borderColor),
104
+ ];
105
+ lines.forEach((line) => rootElement.appendChild(line));
106
+ },
107
+ propPanel: {
108
+ schema: ({ options, i18n }) => {
109
+ const font = options.font || { [common_1.DEFAULT_FONT_NAME]: { data: '', fallback: true } };
110
+ const fontNames = Object.keys(font);
111
+ const fallbackFontName = (0, common_1.getFallbackFontName)(font);
112
+ return (0, helper_js_1.getCellPropPanelSchema)({ i18n, fontNames, fallbackFontName });
113
+ },
114
+ defaultSchema: {
115
+ name: '',
116
+ type: 'cell',
117
+ content: 'Type Something...',
118
+ position: { x: 0, y: 0 },
119
+ width: 50,
120
+ height: 15,
121
+ ...(0, helper_js_1.getDefaultCellStyles)(),
122
+ },
123
+ },
124
+ };
125
+ exports.default = cellSchema;
126
+ //# sourceMappingURL=cell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell.js","sourceRoot":"","sources":["../../../../src/tables/cell.ts"],"names":[],"mappings":"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"}