@pdfme/schemas 5.3.8-dev.4 → 5.3.8-dev.41
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.
- package/dist/cjs/__tests__/barcode.test.js +115 -113
- package/dist/cjs/__tests__/barcode.test.js.map +1 -1
- package/dist/cjs/__tests__/multiVariableText.test.js +15 -15
- package/dist/cjs/__tests__/multiVariableText.test.js.map +1 -1
- package/dist/cjs/__tests__/text.test.js +71 -71
- package/dist/cjs/__tests__/text.test.js.map +1 -1
- package/dist/cjs/__tests__/utils.test.js +76 -15
- package/dist/cjs/__tests__/utils.test.js.map +1 -1
- package/dist/cjs/src/checkbox/index.js +3 -3
- package/dist/cjs/src/checkbox/index.js.map +1 -1
- package/dist/cjs/src/date/date.js +2 -2
- package/dist/cjs/src/date/date.js.map +1 -1
- package/dist/cjs/src/date/dateTime.js +2 -2
- package/dist/cjs/src/date/dateTime.js.map +1 -1
- package/dist/cjs/src/date/helper.js +110 -78
- package/dist/cjs/src/date/helper.js.map +1 -1
- package/dist/cjs/src/date/time.js +2 -2
- package/dist/cjs/src/date/time.js.map +1 -1
- package/dist/cjs/src/graphics/svg.js +25 -2
- package/dist/cjs/src/graphics/svg.js.map +1 -1
- package/dist/cjs/src/index.js +30 -30
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/cjs/src/multiVariableText/helper.js +2 -2
- package/dist/cjs/src/multiVariableText/helper.js.map +1 -1
- package/dist/cjs/src/multiVariableText/pdfRender.js +5 -5
- package/dist/cjs/src/multiVariableText/pdfRender.js.map +1 -1
- package/dist/cjs/src/multiVariableText/propPanel.js +5 -5
- package/dist/cjs/src/multiVariableText/propPanel.js.map +1 -1
- package/dist/cjs/src/multiVariableText/uiRender.js +10 -10
- package/dist/cjs/src/multiVariableText/uiRender.js.map +1 -1
- package/dist/cjs/src/radioGroup/index.js +3 -3
- package/dist/cjs/src/radioGroup/index.js.map +1 -1
- package/dist/cjs/src/select/index.js +9 -9
- package/dist/cjs/src/select/index.js.map +1 -1
- package/dist/cjs/src/tables/classes.js +4 -4
- package/dist/cjs/src/tables/classes.js.map +1 -1
- package/dist/cjs/src/tables/dynamicTemplate.js +2 -2
- package/dist/cjs/src/tables/dynamicTemplate.js.map +1 -1
- package/dist/cjs/src/tables/helper.js +21 -21
- package/dist/cjs/src/tables/helper.js.map +1 -1
- package/dist/cjs/src/tables/pdfRender.js +8 -8
- package/dist/cjs/src/tables/pdfRender.js.map +1 -1
- package/dist/cjs/src/tables/tableHelper.js +5 -5
- package/dist/cjs/src/tables/tableHelper.js.map +1 -1
- package/dist/cjs/src/text/extraFormatter.js +14 -14
- package/dist/cjs/src/text/extraFormatter.js.map +1 -1
- package/dist/cjs/src/text/propPanel.js +2 -2
- package/dist/cjs/src/text/propPanel.js.map +1 -1
- package/dist/cjs/src/utils.js +53 -9
- package/dist/cjs/src/utils.js.map +1 -1
- package/dist/esm/__tests__/barcode.test.js +8 -6
- package/dist/esm/__tests__/barcode.test.js.map +1 -1
- package/dist/esm/__tests__/multiVariableText.test.js +1 -1
- package/dist/esm/__tests__/multiVariableText.test.js.map +1 -1
- package/dist/esm/__tests__/text.test.js +2 -2
- package/dist/esm/__tests__/text.test.js.map +1 -1
- package/dist/esm/__tests__/utils.test.js +65 -4
- package/dist/esm/__tests__/utils.test.js.map +1 -1
- package/dist/esm/src/checkbox/index.js +1 -1
- package/dist/esm/src/checkbox/index.js.map +1 -1
- package/dist/esm/src/date/date.js +1 -1
- package/dist/esm/src/date/date.js.map +1 -1
- package/dist/esm/src/date/dateTime.js +1 -1
- package/dist/esm/src/date/dateTime.js.map +1 -1
- package/dist/esm/src/date/helper.js +70 -38
- package/dist/esm/src/date/helper.js.map +1 -1
- package/dist/esm/src/date/time.js +1 -1
- package/dist/esm/src/date/time.js.map +1 -1
- package/dist/esm/src/graphics/svg.js +25 -2
- package/dist/esm/src/graphics/svg.js.map +1 -1
- package/dist/esm/src/index.js +14 -14
- package/dist/esm/src/index.js.map +1 -1
- package/dist/esm/src/multiVariableText/helper.js +2 -2
- package/dist/esm/src/multiVariableText/helper.js.map +1 -1
- package/dist/esm/src/multiVariableText/pdfRender.js +2 -2
- package/dist/esm/src/multiVariableText/pdfRender.js.map +1 -1
- package/dist/esm/src/multiVariableText/propPanel.js +1 -1
- package/dist/esm/src/multiVariableText/propPanel.js.map +1 -1
- package/dist/esm/src/multiVariableText/uiRender.js +4 -4
- package/dist/esm/src/multiVariableText/uiRender.js.map +1 -1
- package/dist/esm/src/radioGroup/index.js +1 -1
- package/dist/esm/src/radioGroup/index.js.map +1 -1
- package/dist/esm/src/select/index.js +2 -2
- package/dist/esm/src/select/index.js.map +1 -1
- package/dist/esm/src/tables/classes.js +1 -1
- package/dist/esm/src/tables/classes.js.map +1 -1
- package/dist/esm/src/tables/dynamicTemplate.js +1 -1
- package/dist/esm/src/tables/dynamicTemplate.js.map +1 -1
- package/dist/esm/src/tables/helper.js +1 -1
- package/dist/esm/src/tables/helper.js.map +1 -1
- package/dist/esm/src/tables/pdfRender.js +4 -4
- package/dist/esm/src/tables/pdfRender.js.map +1 -1
- package/dist/esm/src/tables/tableHelper.js +1 -1
- package/dist/esm/src/tables/tableHelper.js.map +1 -1
- package/dist/esm/src/text/extraFormatter.js +2 -2
- package/dist/esm/src/text/extraFormatter.js.map +1 -1
- package/dist/esm/src/text/propPanel.js +1 -1
- package/dist/esm/src/text/propPanel.js.map +1 -1
- package/dist/esm/src/utils.js +53 -9
- package/dist/esm/src/utils.js.map +1 -1
- package/dist/node/__tests__/barcode.test.js +115 -113
- package/dist/node/__tests__/barcode.test.js.map +1 -1
- package/dist/node/__tests__/multiVariableText.test.js +15 -15
- package/dist/node/__tests__/multiVariableText.test.js.map +1 -1
- package/dist/node/__tests__/text.test.js +71 -71
- package/dist/node/__tests__/text.test.js.map +1 -1
- package/dist/node/__tests__/utils.test.js +76 -15
- package/dist/node/__tests__/utils.test.js.map +1 -1
- package/dist/node/src/checkbox/index.js +3 -3
- package/dist/node/src/checkbox/index.js.map +1 -1
- package/dist/node/src/date/date.js +2 -2
- package/dist/node/src/date/date.js.map +1 -1
- package/dist/node/src/date/dateTime.js +2 -2
- package/dist/node/src/date/dateTime.js.map +1 -1
- package/dist/node/src/date/helper.js +110 -78
- package/dist/node/src/date/helper.js.map +1 -1
- package/dist/node/src/date/time.js +2 -2
- package/dist/node/src/date/time.js.map +1 -1
- package/dist/node/src/graphics/svg.js +25 -2
- package/dist/node/src/graphics/svg.js.map +1 -1
- package/dist/node/src/index.js +30 -30
- package/dist/node/src/index.js.map +1 -1
- package/dist/node/src/multiVariableText/helper.js +2 -2
- package/dist/node/src/multiVariableText/helper.js.map +1 -1
- package/dist/node/src/multiVariableText/pdfRender.js +5 -5
- package/dist/node/src/multiVariableText/pdfRender.js.map +1 -1
- package/dist/node/src/multiVariableText/propPanel.js +5 -5
- package/dist/node/src/multiVariableText/propPanel.js.map +1 -1
- package/dist/node/src/multiVariableText/uiRender.js +10 -10
- package/dist/node/src/multiVariableText/uiRender.js.map +1 -1
- package/dist/node/src/radioGroup/index.js +3 -3
- package/dist/node/src/radioGroup/index.js.map +1 -1
- package/dist/node/src/select/index.js +9 -9
- package/dist/node/src/select/index.js.map +1 -1
- package/dist/node/src/tables/classes.js +4 -4
- package/dist/node/src/tables/classes.js.map +1 -1
- package/dist/node/src/tables/dynamicTemplate.js +2 -2
- package/dist/node/src/tables/dynamicTemplate.js.map +1 -1
- package/dist/node/src/tables/helper.js +21 -21
- package/dist/node/src/tables/helper.js.map +1 -1
- package/dist/node/src/tables/pdfRender.js +8 -8
- package/dist/node/src/tables/pdfRender.js.map +1 -1
- package/dist/node/src/tables/tableHelper.js +5 -5
- package/dist/node/src/tables/tableHelper.js.map +1 -1
- package/dist/node/src/text/extraFormatter.js +14 -14
- package/dist/node/src/text/extraFormatter.js.map +1 -1
- package/dist/node/src/text/propPanel.js +2 -2
- package/dist/node/src/text/propPanel.js.map +1 -1
- package/dist/node/src/utils.js +53 -9
- package/dist/node/src/utils.js.map +1 -1
- package/dist/types/src/barcodes/helper.d.ts +1 -1
- package/dist/types/src/barcodes/index.d.ts +1 -1
- package/dist/types/src/barcodes/pdfRender.d.ts +1 -1
- package/dist/types/src/barcodes/propPanel.d.ts +1 -1
- package/dist/types/src/barcodes/uiRender.d.ts +1 -1
- package/dist/types/src/date/date.d.ts +1 -1
- package/dist/types/src/date/dateTime.d.ts +1 -1
- package/dist/types/src/date/helper.d.ts +1 -1
- package/dist/types/src/date/time.d.ts +1 -1
- package/dist/types/src/date/types.d.ts +6 -1
- package/dist/types/src/index.d.ts +15 -15
- package/dist/types/src/multiVariableText/helper.d.ts +1 -1
- package/dist/types/src/multiVariableText/index.d.ts +1 -1
- package/dist/types/src/multiVariableText/pdfRender.d.ts +1 -1
- package/dist/types/src/multiVariableText/propPanel.d.ts +1 -1
- package/dist/types/src/multiVariableText/types.d.ts +1 -1
- package/dist/types/src/multiVariableText/uiRender.d.ts +1 -1
- package/dist/types/src/select/index.d.ts +1 -1
- package/dist/types/src/tables/cell.d.ts +1 -1
- package/dist/types/src/tables/classes.d.ts +1 -1
- package/dist/types/src/tables/helper.d.ts +4 -4
- package/dist/types/src/tables/pdfRender.d.ts +1 -1
- package/dist/types/src/tables/propPanel.d.ts +1 -1
- package/dist/types/src/tables/tableHelper.d.ts +1 -1
- package/dist/types/src/tables/types.d.ts +1 -1
- package/dist/types/src/text/constants.d.ts +1 -1
- package/dist/types/src/text/helper.d.ts +1 -1
- package/dist/types/src/text/index.d.ts +1 -1
- package/dist/types/src/text/pdfRender.d.ts +1 -1
- package/dist/types/src/text/propPanel.d.ts +1 -1
- package/dist/types/src/text/uiRender.d.ts +1 -1
- package/package.json +2 -3
- package/src/barcodes/helper.ts +1 -1
- package/src/barcodes/index.ts +1 -1
- package/src/barcodes/pdfRender.ts +1 -1
- package/src/barcodes/propPanel.ts +1 -1
- package/src/barcodes/uiRender.ts +1 -1
- package/src/checkbox/index.ts +1 -1
- package/src/date/date.ts +1 -1
- package/src/date/dateTime.ts +1 -1
- package/src/date/helper.ts +84 -43
- package/src/date/time.ts +1 -1
- package/src/date/types.ts +7 -1
- package/src/graphics/svg.ts +27 -2
- package/src/index.ts +14 -14
- package/src/multiVariableText/helper.ts +15 -7
- package/src/multiVariableText/index.ts +1 -1
- package/src/multiVariableText/pdfRender.ts +3 -3
- package/src/multiVariableText/propPanel.ts +2 -2
- package/src/multiVariableText/types.ts +1 -1
- package/src/multiVariableText/uiRender.ts +5 -5
- package/src/radioGroup/index.ts +1 -1
- package/src/select/index.ts +3 -3
- package/src/tables/cell.ts +1 -1
- package/src/tables/classes.ts +2 -2
- package/src/tables/dynamicTemplate.ts +2 -2
- package/src/tables/helper.ts +1 -1
- package/src/tables/pdfRender.ts +6 -6
- package/src/tables/propPanel.ts +1 -1
- package/src/tables/tableHelper.ts +2 -2
- package/src/tables/types.ts +1 -1
- package/src/tables/uiRender.ts +1 -1
- package/src/text/constants.ts +1 -1
- package/src/text/extraFormatter.ts +2 -2
- package/src/text/helper.ts +1 -1
- package/src/text/index.ts +1 -1
- package/src/text/pdfRender.ts +1 -1
- package/src/text/propPanel.ts +2 -2
- package/src/text/uiRender.ts +1 -1
- package/src/utils.ts +64 -15
- package/tsconfig.esm.json +2 -1
@@ -1,7 +1,7 @@
|
|
1
1
|
export declare const getDefaultCellStyles: () => {
|
2
2
|
fontName: undefined;
|
3
|
-
alignment: import("../text/types").ALIGNMENT;
|
4
|
-
verticalAlignment: import("../text/types").VERTICAL_ALIGNMENT;
|
3
|
+
alignment: import("../text/types.js").ALIGNMENT;
|
4
|
+
verticalAlignment: import("../text/types.js").VERTICAL_ALIGNMENT;
|
5
5
|
fontSize: number;
|
6
6
|
lineHeight: number;
|
7
7
|
characterSpacing: number;
|
@@ -182,7 +182,7 @@ export declare const getCellPropPanelSchema: (arg: {
|
|
182
182
|
props: {
|
183
183
|
options: {
|
184
184
|
label: string;
|
185
|
-
value: import("../text/types").ALIGNMENT;
|
185
|
+
value: import("../text/types.js").ALIGNMENT;
|
186
186
|
}[];
|
187
187
|
};
|
188
188
|
span: number;
|
@@ -194,7 +194,7 @@ export declare const getCellPropPanelSchema: (arg: {
|
|
194
194
|
props: {
|
195
195
|
options: {
|
196
196
|
label: string;
|
197
|
-
value: import("../text/types").VERTICAL_ALIGNMENT;
|
197
|
+
value: import("../text/types.js").VERTICAL_ALIGNMENT;
|
198
198
|
}[];
|
199
199
|
};
|
200
200
|
span: number;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ALIGNMENT, VERTICAL_ALIGNMENT, DYNAMIC_FONT_SIZE_FIT } from './types';
|
1
|
+
import { ALIGNMENT, VERTICAL_ALIGNMENT, DYNAMIC_FONT_SIZE_FIT } from './types.js';
|
2
2
|
export declare const DEFAULT_FONT_SIZE = 13;
|
3
3
|
export declare const ALIGN_LEFT: ALIGNMENT;
|
4
4
|
export declare const ALIGN_CENTER: ALIGNMENT;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as fontkit from 'fontkit';
|
2
2
|
import type { Font as FontKitFont } from 'fontkit';
|
3
3
|
import { Font } from '@pdfme/common';
|
4
|
-
import type { TextSchema, FontWidthCalcValues } from './types';
|
4
|
+
import type { TextSchema, FontWidthCalcValues } from './types.js';
|
5
5
|
export declare const getBrowserVerticalFontAdjustments: (fontKitFont: FontKitFont, fontSize: number, lineHeight: number, verticalAlignment: string) => {
|
6
6
|
topAdj: number;
|
7
7
|
bottomAdj: number;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import type { Font as FontKitFont } from 'fontkit';
|
2
2
|
import { UIRenderProps } from '@pdfme/common';
|
3
|
-
import type { TextSchema } from './types';
|
3
|
+
import type { TextSchema } from './types.js';
|
4
4
|
export declare const uiRender: (arg: UIRenderProps<TextSchema>) => Promise<void>;
|
5
5
|
export declare const buildStyledTextContainer: (arg: UIRenderProps<TextSchema>, fontKitFont: FontKitFont, value: string) => HTMLDivElement;
|
6
6
|
/**
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@pdfme/schemas",
|
3
|
-
"version": "5.3.8-dev.
|
3
|
+
"version": "5.3.8-dev.41",
|
4
4
|
"sideEffects": false,
|
5
5
|
"author": "hand-dot",
|
6
6
|
"license": "MIT",
|
@@ -59,9 +59,8 @@
|
|
59
59
|
"air-datepicker": "^3.5.3",
|
60
60
|
"bwip-js": "^4.1.1",
|
61
61
|
"date-fns": "^4.1.0",
|
62
|
-
"fast-xml-parser": "^4.3.2",
|
63
62
|
"fontkit": "^2.0.2",
|
64
|
-
"lucide": "^0.
|
63
|
+
"lucide": "^0.476.0"
|
65
64
|
},
|
66
65
|
"devDependencies": {
|
67
66
|
"@pdfme/common": "file:../common",
|
package/src/barcodes/helper.ts
CHANGED
@@ -2,7 +2,7 @@ import { b64toUint8Array } from '@pdfme/common';
|
|
2
2
|
import bwipjs, { RenderOptions } from 'bwip-js';
|
3
3
|
import { Buffer } from 'buffer';
|
4
4
|
import { BARCODE_TYPES, DEFAULT_BARCODE_INCLUDETEXT } from './constants.js';
|
5
|
-
import { BarcodeTypes } from './types';
|
5
|
+
import { BarcodeTypes } from './types.js';
|
6
6
|
|
7
7
|
// GTIN-13, GTIN-8, GTIN-12, GTIN-14
|
8
8
|
const validateCheckDigit = (input: string, checkDigitPos: number) => {
|
package/src/barcodes/index.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { pdfRender } from './pdfRender.js';
|
2
2
|
import { getPropPanelByBarcodeType } from './propPanel.js';
|
3
3
|
import { uiRender } from './uiRender.js';
|
4
|
-
import type { BarcodeSchema, BarcodeTypes } from './types';
|
4
|
+
import type { BarcodeSchema, BarcodeTypes } from './types.js';
|
5
5
|
import { BARCODE_TYPES } from './constants.js';
|
6
6
|
import { createSvgStr } from '../utils.js';
|
7
7
|
import { Plugin } from '@pdfme/common';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { PDFRenderProps } from '@pdfme/common';
|
2
2
|
import { convertForPdfLayoutProps } from '../utils.js';
|
3
|
-
import type { BarcodeSchema } from './types';
|
3
|
+
import type { BarcodeSchema } from './types.js';
|
4
4
|
import { createBarCode, validateBarcodeInput } from './helper.js';
|
5
5
|
|
6
6
|
const getBarcodeCacheKey = (schema: BarcodeSchema, value: string) => {
|
package/src/barcodes/uiRender.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import type * as CSS from 'csstype';
|
2
2
|
import { UIRenderProps } from '@pdfme/common';
|
3
|
-
import type { BarcodeSchema } from './types';
|
3
|
+
import type { BarcodeSchema } from './types.js';
|
4
4
|
import { validateBarcodeInput, createBarCode } from './helper.js';
|
5
5
|
import { addAlphaToHex, isEditable, createErrorElm } from '../utils.js';
|
6
6
|
|
package/src/checkbox/index.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { Plugin } from '@pdfme/common';
|
2
2
|
import { Schema } from '@pdfme/common';
|
3
|
-
import svg from '../graphics/svg';
|
3
|
+
import svg from '../graphics/svg.js';
|
4
4
|
import { isEditable } from '../utils.js';
|
5
5
|
import { HEX_COLOR_PATTERN } from '../constants.js';
|
6
6
|
import { Square, SquareCheck } from 'lucide';
|
package/src/date/date.ts
CHANGED
package/src/date/dateTime.ts
CHANGED
package/src/date/helper.ts
CHANGED
@@ -2,47 +2,89 @@ import type * as CSS from 'csstype';
|
|
2
2
|
|
3
3
|
import AirDatepicker from 'air-datepicker';
|
4
4
|
import type { AirDatepickerLocale, AirDatepickerButton } from 'air-datepicker';
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
import
|
16
|
-
|
17
|
-
import
|
18
|
-
|
19
|
-
import
|
20
|
-
|
21
|
-
import
|
22
|
-
|
23
|
-
import
|
24
|
-
|
25
|
-
import
|
26
|
-
|
27
|
-
import
|
28
|
-
|
29
|
-
import
|
30
|
-
|
31
|
-
import
|
32
|
-
|
33
|
-
import
|
34
|
-
|
35
|
-
import
|
36
|
-
|
37
|
-
import
|
5
|
+
|
6
|
+
// Define custom interfaces for AirDatepicker types
|
7
|
+
interface AirDatepickerDate extends Date {}
|
8
|
+
interface AirDatepickerInstance {
|
9
|
+
selectedDates: Date[];
|
10
|
+
hide: () => void;
|
11
|
+
destroy: () => void;
|
12
|
+
show: () => void;
|
13
|
+
}
|
14
|
+
// @ts-ignore
|
15
|
+
import localeAr from 'air-datepicker/locale/ar.js';
|
16
|
+
// @ts-ignore
|
17
|
+
import localeBg from 'air-datepicker/locale/bg.js';
|
18
|
+
// @ts-ignore
|
19
|
+
import localeCa from 'air-datepicker/locale/ca.js';
|
20
|
+
// @ts-ignore
|
21
|
+
import localeCs from 'air-datepicker/locale/cs.js';
|
22
|
+
// @ts-ignore
|
23
|
+
import localeDa from 'air-datepicker/locale/da.js';
|
24
|
+
// @ts-ignore
|
25
|
+
import localeDe from 'air-datepicker/locale/de.js';
|
26
|
+
// @ts-ignore
|
27
|
+
import localeEl from 'air-datepicker/locale/el.js';
|
28
|
+
// @ts-ignore
|
29
|
+
import localeEn from 'air-datepicker/locale/en.js';
|
30
|
+
// @ts-ignore
|
31
|
+
import localeEs from 'air-datepicker/locale/es.js';
|
32
|
+
// @ts-ignore
|
33
|
+
import localeEu from 'air-datepicker/locale/eu.js';
|
34
|
+
// @ts-ignore
|
35
|
+
import localeFi from 'air-datepicker/locale/fi.js';
|
36
|
+
// @ts-ignore
|
37
|
+
import localeFr from 'air-datepicker/locale/fr.js';
|
38
|
+
// @ts-ignore
|
39
|
+
import localeHr from 'air-datepicker/locale/hr.js';
|
40
|
+
// @ts-ignore
|
41
|
+
import localeHu from 'air-datepicker/locale/hu.js';
|
42
|
+
// @ts-ignore
|
43
|
+
import localeId from 'air-datepicker/locale/id.js';
|
44
|
+
// @ts-ignore
|
45
|
+
import localeIt from 'air-datepicker/locale/it.js';
|
46
|
+
// @ts-ignore
|
47
|
+
import localeJa from 'air-datepicker/locale/ja.js';
|
48
|
+
// @ts-ignore
|
49
|
+
import localeKo from 'air-datepicker/locale/ko.js';
|
50
|
+
// @ts-ignore
|
51
|
+
import localeNb from 'air-datepicker/locale/nb.js';
|
52
|
+
// @ts-ignore
|
53
|
+
import localeNl from 'air-datepicker/locale/nl.js';
|
54
|
+
// @ts-ignore
|
55
|
+
import localeTh from 'air-datepicker/locale/th.js';
|
56
|
+
// @ts-ignore
|
57
|
+
import localePl from 'air-datepicker/locale/pl.js';
|
58
|
+
// @ts-ignore
|
59
|
+
import localePtBR from 'air-datepicker/locale/pt-BR.js';
|
60
|
+
// @ts-ignore
|
61
|
+
import localePt from 'air-datepicker/locale/pt.js';
|
62
|
+
// @ts-ignore
|
63
|
+
import localeRo from 'air-datepicker/locale/ro.js';
|
64
|
+
// @ts-ignore
|
65
|
+
import localeRu from 'air-datepicker/locale/ru.js';
|
66
|
+
// @ts-ignore
|
67
|
+
import localeSi from 'air-datepicker/locale/si.js';
|
68
|
+
// @ts-ignore
|
69
|
+
import localeSk from 'air-datepicker/locale/sk.js';
|
70
|
+
// @ts-ignore
|
71
|
+
import localeSl from 'air-datepicker/locale/sl.js';
|
72
|
+
// @ts-ignore
|
73
|
+
import localeSv from 'air-datepicker/locale/sv.js';
|
74
|
+
// @ts-ignore
|
75
|
+
import localeTr from 'air-datepicker/locale/tr.js';
|
76
|
+
// @ts-ignore
|
77
|
+
import localeUk from 'air-datepicker/locale/uk.js';
|
78
|
+
// @ts-ignore
|
79
|
+
import localeZh from 'air-datepicker/locale/zh.js';
|
38
80
|
|
39
81
|
import * as dateFns from 'date-fns/locale';
|
40
82
|
import { format } from 'date-fns';
|
41
83
|
|
42
84
|
import { Plugin, getFallbackFontName, DEFAULT_FONT_NAME, PropPanelSchema } from '@pdfme/common';
|
43
|
-
import text from '../text';
|
85
|
+
import text from '../text/index.js';
|
44
86
|
import { DEFAULT_OPACITY, HEX_COLOR_PATTERN } from '../constants.js';
|
45
|
-
import { mapVerticalAlignToFlex } from '../text/uiRender';
|
87
|
+
import { mapVerticalAlignToFlex } from '../text/uiRender.js';
|
46
88
|
import {
|
47
89
|
DEFAULT_FONT_SIZE,
|
48
90
|
DEFAULT_ALIGNMENT,
|
@@ -51,9 +93,9 @@ import {
|
|
51
93
|
DEFAULT_CHARACTER_SPACING,
|
52
94
|
DEFAULT_FONT_COLOR,
|
53
95
|
} from '../text/constants.js';
|
54
|
-
import { DateSchema } from './types';
|
55
|
-
import { getExtraFormatterSchema, Formatter } from '../text/extraFormatter';
|
56
|
-
import { isEditable } from '../utils';
|
96
|
+
import { DateSchema } from './types.js';
|
97
|
+
import { getExtraFormatterSchema, Formatter } from '../text/extraFormatter.js';
|
98
|
+
import { isEditable } from '../utils.js';
|
57
99
|
|
58
100
|
type PickerType = 'date' | 'time' | 'dateTime';
|
59
101
|
|
@@ -260,15 +302,15 @@ export const getPlugin = ({ type, icon }: { type: PickerType; icon: string }) =>
|
|
260
302
|
});
|
261
303
|
}
|
262
304
|
|
263
|
-
const airDatepicker = new AirDatepicker(input, {
|
305
|
+
const airDatepicker = new (AirDatepicker as any)(input, {
|
264
306
|
locale: locale.adLocale,
|
265
307
|
selectedDates: [strDateToDate(value, type)],
|
266
|
-
dateFormat: (date) => format(date, schema.format, { locale: locale.formatLocale }),
|
308
|
+
dateFormat: (date: AirDatepickerDate) => format(date, schema.format, { locale: locale.formatLocale }),
|
267
309
|
timepicker: type !== 'date',
|
268
310
|
onlyTimepicker: type === 'time',
|
269
311
|
isMobile: window.innerWidth < 768,
|
270
312
|
buttons: adButtons,
|
271
|
-
onSelect: ({ datepicker }) => {
|
313
|
+
onSelect: ({ datepicker }: { datepicker: AirDatepickerInstance }) => {
|
272
314
|
if (type === 'date') {
|
273
315
|
commitChange(datepicker.selectedDates.length ? datepicker.selectedDates[0] : null);
|
274
316
|
datepicker.hide();
|
@@ -429,7 +471,6 @@ export const getPlugin = ({ type, icon }: { type: PickerType; icon: string }) =>
|
|
429
471
|
format: defaultFormat,
|
430
472
|
type,
|
431
473
|
content: getFmtContent(new Date(), type),
|
432
|
-
position: { x: 0, y: 0 },
|
433
474
|
width: 50,
|
434
475
|
height: 10,
|
435
476
|
rotate: 0,
|
@@ -441,7 +482,7 @@ export const getPlugin = ({ type, icon }: { type: PickerType; icon: string }) =>
|
|
441
482
|
backgroundColor: '',
|
442
483
|
locale: undefined,
|
443
484
|
opacity: DEFAULT_OPACITY,
|
444
|
-
},
|
485
|
+
} as DateSchema,
|
445
486
|
},
|
446
487
|
icon,
|
447
488
|
};
|
package/src/date/time.ts
CHANGED
package/src/date/types.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { Schema } from '@pdfme/common';
|
2
|
-
import { ALIGNMENT } from '../text/types';
|
2
|
+
import { ALIGNMENT } from '../text/types.js';
|
3
3
|
|
4
4
|
export interface DateSchema extends Schema {
|
5
5
|
format: string;
|
@@ -10,4 +10,10 @@ export interface DateSchema extends Schema {
|
|
10
10
|
fontColor: string;
|
11
11
|
backgroundColor: string;
|
12
12
|
locale?: string;
|
13
|
+
// Explicitly include these properties from Schema for TypeScript
|
14
|
+
width: number;
|
15
|
+
height: number;
|
16
|
+
name: string;
|
17
|
+
type: string;
|
18
|
+
content?: string;
|
13
19
|
}
|
package/src/graphics/svg.ts
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
import { Plugin, Schema } from '@pdfme/common';
|
2
|
-
import { XMLValidator } from 'fast-xml-parser';
|
3
2
|
import {
|
4
3
|
convertForPdfLayoutProps,
|
5
4
|
isEditable,
|
@@ -9,7 +8,33 @@ import {
|
|
9
8
|
} from '../utils.js';
|
10
9
|
import { Route } from 'lucide';
|
11
10
|
|
12
|
-
const isValidSVG = (svgString: string) =>
|
11
|
+
const isValidSVG = (svgString: string): boolean => {
|
12
|
+
try {
|
13
|
+
// Basic validation checks that work in both Node.js and browser
|
14
|
+
if (!svgString || typeof svgString !== 'string') {
|
15
|
+
return false;
|
16
|
+
}
|
17
|
+
|
18
|
+
// Check for basic SVG structure
|
19
|
+
if (!svgString.includes('<svg') || !svgString.includes('</svg>')) {
|
20
|
+
return false;
|
21
|
+
}
|
22
|
+
|
23
|
+
// Additional browser-specific validation if DOMParser is available
|
24
|
+
if (typeof DOMParser !== 'undefined') {
|
25
|
+
const parser = new DOMParser();
|
26
|
+
const doc = parser.parseFromString(svgString, 'image/svg+xml');
|
27
|
+
const parserError = doc.querySelector('parsererror');
|
28
|
+
if (parserError !== null) {
|
29
|
+
return false;
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
return true;
|
34
|
+
} catch (error) {
|
35
|
+
return false;
|
36
|
+
}
|
37
|
+
};
|
13
38
|
|
14
39
|
const defaultValue = `<svg viewBox="0 0 488 600" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
15
40
|
<g transform="matrix(1,0,0,1,-56,0)" fill="#000000" stroke="none">
|
package/src/index.ts
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
import multiVariableText from './multiVariableText/index';
|
2
|
-
import text from './text/index';
|
3
|
-
import image from './graphics/image';
|
4
|
-
import svg from './graphics/svg';
|
5
|
-
import barcodes from './barcodes/index';
|
6
|
-
import line from './shapes/line';
|
7
|
-
import table from './tables/index';
|
8
|
-
import { rectangle, ellipse } from './shapes/rectAndEllipse';
|
9
|
-
import dateTime from './date/dateTime';
|
10
|
-
import date from './date/date';
|
11
|
-
import time from './date/time';
|
12
|
-
import select from './select/index';
|
13
|
-
import radioGroup from './radioGroup/index';
|
14
|
-
import checkbox from './checkbox/index';
|
1
|
+
import multiVariableText from './multiVariableText/index.js';
|
2
|
+
import text from './text/index.js';
|
3
|
+
import image from './graphics/image.js';
|
4
|
+
import svg from './graphics/svg.js';
|
5
|
+
import barcodes from './barcodes/index.js';
|
6
|
+
import line from './shapes/line.js';
|
7
|
+
import table from './tables/index.js';
|
8
|
+
import { rectangle, ellipse } from './shapes/rectAndEllipse.js';
|
9
|
+
import dateTime from './date/dateTime.js';
|
10
|
+
import date from './date/date.js';
|
11
|
+
import time from './date/time.js';
|
12
|
+
import select from './select/index.js';
|
13
|
+
import radioGroup from './radioGroup/index.js';
|
14
|
+
import checkbox from './checkbox/index.js';
|
15
15
|
|
16
16
|
const builtInPlugins = { Text: text };
|
17
17
|
|
@@ -1,14 +1,18 @@
|
|
1
|
-
import { MultiVariableTextSchema } from
|
1
|
+
import { MultiVariableTextSchema } from './types.js';
|
2
2
|
|
3
|
-
export const substituteVariables = (
|
3
|
+
export const substituteVariables = (
|
4
|
+
text: string,
|
5
|
+
variablesIn: string | Record<string, string>
|
6
|
+
): string => {
|
4
7
|
if (!text) {
|
5
|
-
return
|
8
|
+
return '';
|
6
9
|
}
|
7
10
|
|
8
11
|
let substitutedText = text;
|
9
12
|
|
10
13
|
if (variablesIn) {
|
11
|
-
const variables: Record<string, string> =
|
14
|
+
const variables: Record<string, string> =
|
15
|
+
typeof variablesIn === 'string' ? JSON.parse(variablesIn) || {} : variablesIn;
|
12
16
|
|
13
17
|
Object.keys(variables).forEach((variableName) => {
|
14
18
|
// handle special characters in variable name
|
@@ -33,13 +37,17 @@ export const validateVariables = (value: string, schema: MultiVariableTextSchema
|
|
33
37
|
try {
|
34
38
|
values = value ? JSON.parse(value) : {};
|
35
39
|
} catch (e) {
|
36
|
-
throw new SyntaxError(
|
40
|
+
throw new SyntaxError(
|
41
|
+
`[@pdfme/generator] invalid JSON string '${value}' for variables in field ${schema.name}`
|
42
|
+
);
|
37
43
|
}
|
38
44
|
|
39
45
|
for (const variable of schema.variables) {
|
40
46
|
if (!values[variable]) {
|
41
47
|
if (schema.required) {
|
42
|
-
throw new Error(
|
48
|
+
throw new Error(
|
49
|
+
`[@pdfme/generator] variable ${variable} is missing for field ${schema.name}`
|
50
|
+
);
|
43
51
|
}
|
44
52
|
// If not required, then simply don't render this field if an input is missing
|
45
53
|
return false;
|
@@ -47,4 +55,4 @@ export const validateVariables = (value: string, schema: MultiVariableTextSchema
|
|
47
55
|
}
|
48
56
|
|
49
57
|
return true;
|
50
|
-
}
|
58
|
+
};
|
@@ -2,7 +2,7 @@ import type { Plugin } from '@pdfme/common';
|
|
2
2
|
import { pdfRender } from './pdfRender.js';
|
3
3
|
import { propPanel } from './propPanel.js';
|
4
4
|
import { uiRender } from './uiRender.js';
|
5
|
-
import type { MultiVariableTextSchema } from './types';
|
5
|
+
import type { MultiVariableTextSchema } from './types.js';
|
6
6
|
import { Type } from 'lucide';
|
7
7
|
import { createSvgStr } from '../utils.js';
|
8
8
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { PDFRenderProps } from '@pdfme/common';
|
2
|
-
import { MultiVariableTextSchema } from './types';
|
3
|
-
import { pdfRender as parentPdfRender } from '../text/pdfRender';
|
4
|
-
import { substituteVariables, validateVariables } from './helper';
|
2
|
+
import { MultiVariableTextSchema } from './types.js';
|
3
|
+
import { pdfRender as parentPdfRender } from '../text/pdfRender.js';
|
4
|
+
import { substituteVariables, validateVariables } from './helper.js';
|
5
5
|
|
6
6
|
export const pdfRender = async (arg: PDFRenderProps<MultiVariableTextSchema>) => {
|
7
7
|
const { value, schema, ...rest } = arg;
|
@@ -1,6 +1,6 @@
|
|
1
|
-
import { propPanel as parentPropPanel } from '../text/propPanel';
|
1
|
+
import { propPanel as parentPropPanel } from '../text/propPanel.js';
|
2
2
|
import { PropPanel, PropPanelWidgetProps } from '@pdfme/common';
|
3
|
-
import { MultiVariableTextSchema } from './types';
|
3
|
+
import { MultiVariableTextSchema } from './types.js';
|
4
4
|
|
5
5
|
const mapDynamicVariables = (props: PropPanelWidgetProps) => {
|
6
6
|
const { rootElement, changeSchemas, activeSchema, i18n, options } = props;
|
@@ -1,13 +1,13 @@
|
|
1
1
|
import { getDefaultFont, UIRenderProps } from '@pdfme/common';
|
2
|
-
import { MultiVariableTextSchema } from './types';
|
2
|
+
import { MultiVariableTextSchema } from './types.js';
|
3
3
|
import {
|
4
4
|
uiRender as parentUiRender,
|
5
5
|
buildStyledTextContainer,
|
6
6
|
makeElementPlainTextContentEditable
|
7
|
-
} from '../text/uiRender';
|
8
|
-
import { isEditable } from '../utils';
|
9
|
-
import { getFontKitFont } from '../text/helper';
|
10
|
-
import { substituteVariables } from './helper';
|
7
|
+
} from '../text/uiRender.js';
|
8
|
+
import { isEditable } from '../utils.js';
|
9
|
+
import { getFontKitFont } from '../text/helper.js';
|
10
|
+
import { substituteVariables } from './helper.js';
|
11
11
|
|
12
12
|
export const uiRender = async (arg: UIRenderProps<MultiVariableTextSchema>) => {
|
13
13
|
const { value, schema, rootElement, mode, onChange, ...rest } = arg;
|
package/src/radioGroup/index.ts
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
import { Plugin } from '@pdfme/common';
|
2
2
|
import { Schema } from '@pdfme/common';
|
3
3
|
import { Circle, CircleDot } from 'lucide';
|
4
|
-
import svg from '../graphics/svg';
|
4
|
+
import svg from '../graphics/svg.js';
|
5
5
|
import { isEditable, createSvgStr } from '../utils.js';
|
6
6
|
import { HEX_COLOR_PATTERN } from '../constants.js';
|
7
7
|
|