@pdfme/schemas 5.5.8 → 5.5.9-dev.19
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/src/graphics/svg.js +6 -3
- package/dist/cjs/src/graphics/svg.js.map +1 -1
- package/dist/cjs/src/multiVariableText/propPanel.js +6 -6
- package/dist/cjs/src/multiVariableText/propPanel.js.map +1 -1
- package/dist/cjs/src/sanitize.js +57 -0
- package/dist/cjs/src/sanitize.js.map +1 -0
- package/dist/cjs/src/select/index.js +8 -3
- package/dist/cjs/src/select/index.js.map +1 -1
- package/dist/cjs/src/text/helper.js +9 -3
- package/dist/cjs/src/text/helper.js.map +1 -1
- package/dist/cjs/src/text/pdfRender.js +3 -0
- package/dist/cjs/src/text/pdfRender.js.map +1 -1
- package/dist/cjs/src/text/uiRender.js +8 -1
- package/dist/cjs/src/text/uiRender.js.map +1 -1
- package/dist/esm/src/graphics/svg.js +6 -3
- package/dist/esm/src/graphics/svg.js.map +1 -1
- package/dist/esm/src/multiVariableText/propPanel.js +6 -6
- package/dist/esm/src/multiVariableText/propPanel.js.map +1 -1
- package/dist/esm/src/sanitize.js +50 -0
- package/dist/esm/src/sanitize.js.map +1 -0
- package/dist/esm/src/select/index.js +8 -3
- package/dist/esm/src/select/index.js.map +1 -1
- package/dist/esm/src/text/helper.js +10 -4
- package/dist/esm/src/text/helper.js.map +1 -1
- package/dist/esm/src/text/pdfRender.js +4 -1
- package/dist/esm/src/text/pdfRender.js.map +1 -1
- package/dist/esm/src/text/uiRender.js +8 -1
- package/dist/esm/src/text/uiRender.js.map +1 -1
- package/dist/node/src/graphics/svg.js +6 -3
- package/dist/node/src/graphics/svg.js.map +1 -1
- package/dist/node/src/multiVariableText/propPanel.js +6 -6
- package/dist/node/src/multiVariableText/propPanel.js.map +1 -1
- package/dist/node/src/sanitize.js +57 -0
- package/dist/node/src/sanitize.js.map +1 -0
- package/dist/node/src/select/index.js +8 -3
- package/dist/node/src/select/index.js.map +1 -1
- package/dist/node/src/text/helper.js +9 -3
- package/dist/node/src/text/helper.js.map +1 -1
- package/dist/node/src/text/pdfRender.js +3 -0
- package/dist/node/src/text/pdfRender.js.map +1 -1
- package/dist/node/src/text/uiRender.js +8 -1
- package/dist/node/src/text/uiRender.js.map +1 -1
- package/dist/types/src/sanitize.d.ts +1 -0
- package/package.json +6 -4
- package/src/graphics/svg.ts +6 -3
- package/src/multiVariableText/propPanel.ts +6 -6
- package/src/sanitize.ts +50 -0
- package/src/select/index.ts +7 -6
- package/src/text/helper.ts +9 -3
- package/src/text/pdfRender.ts +4 -0
- package/src/text/uiRender.ts +10 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pdfRender.js","sourceRoot":"","sources":["../../../../src/text/pdfRender.ts"],"names":[],"mappings":";;;AAGA,
|
|
1
|
+
{"version":3,"file":"pdfRender.js","sourceRoot":"","sources":["../../../../src/text/pdfRender.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,7 +52,14 @@ const uiRender = async (arg) => {
|
|
|
52
52
|
// Read-only mode
|
|
53
53
|
textBlock.innerHTML = processedText
|
|
54
54
|
.split('')
|
|
55
|
-
.map((l, i) =>
|
|
55
|
+
.map((l, i) => {
|
|
56
|
+
const escaped = l
|
|
57
|
+
.replace(/&/g, '&')
|
|
58
|
+
.replace(/</g, '<')
|
|
59
|
+
.replace(/>/g, '>')
|
|
60
|
+
.replace(/"/g, '"');
|
|
61
|
+
return `<span style="letter-spacing:${String(value).length === i + 1 ? 0 : 'inherit'};">${escaped}</span>`;
|
|
62
|
+
})
|
|
56
63
|
.join('');
|
|
57
64
|
return;
|
|
58
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/text/uiRender.ts"],"names":[],"mappings":";;;AAEA,0CAA8D;AAE9D,iDAWwB;AACxB,2CAKqB;AACrB,0CAAyC;AAEzC,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,WAAwB,EAAU,EAAE;IACjF,MAAM,gBAAgB,GAAgC,EAAE,CAAC;IAEzD,MAAM,eAAe,GAAG,CAAC,IAAY,EAAW,EAAE;QAChD,IAAI,IAAI,IAAI,gBAAgB,EAAE,CAAC;YAC7B,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;QACD,MAAM,WAAW,GAAG,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/E,gBAAgB,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC;QACrC,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAE5C,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QACf,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,OAAO;aACX,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACZ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5C,CAAC,CAAC;aACD,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,CAAC,CAAC;SACD,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC,CAAC;AAEK,MAAM,QAAQ,GAAG,KAAK,EAAE,GAA8B,EAAE,EAAE;IAC/D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,GAC1F,GAAG,CAAC;IACN,MAAM,cAAc,GAAG,IAAA,qBAAU,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,WAAW,IAAI,CAAC,KAAK,CAAC;IACzE,MAAM,OAAO,GAAG,CAAC,OAAuB,EAAE,EAAE;QAC1C,IAAI,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC;QAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,wEAAwE;YACxE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,OAAO,EAAE,IAAI,IAAI,IAAA,uBAAc,GAAE,CAAC;IAC/C,MAAM,WAAW,GAAG,MAAM,IAAA,0BAAc,EACtC,MAAM,CAAC,QAAQ,EACf,IAAI,EACJ,MAA6C,CAC9C,CAAC;IACF,MAAM,SAAS,GAAG,IAAA,gCAAwB,EACxC,GAAG,EACH,WAAW,EACX,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CACrC,CAAC;IAEF,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAElE,IAAI,CAAC,IAAA,qBAAU,EAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;QAC9B,iBAAiB;QACjB,SAAS,CAAC,SAAS,GAAG,aAAa;aAChC,KAAK,CAAC,EAAE,CAAC;aACT,GAAG,
|
|
1
|
+
{"version":3,"file":"uiRender.js","sourceRoot":"","sources":["../../../../src/text/uiRender.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const sanitizeSVG: (svgString: string) => string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pdfme/schemas",
|
|
3
|
-
"version": "5.5.
|
|
3
|
+
"version": "5.5.9-dev.19",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"author": "hand-dot",
|
|
6
6
|
"license": "MIT",
|
|
@@ -57,15 +57,17 @@
|
|
|
57
57
|
"dependencies": {
|
|
58
58
|
"@pdfme/pdf-lib": "*",
|
|
59
59
|
"air-datepicker": "^3.6.0",
|
|
60
|
-
"bwip-js": "^4.
|
|
60
|
+
"bwip-js": "^4.8.0",
|
|
61
61
|
"date-fns": "^4.1.0",
|
|
62
62
|
"fontkit": "^2.0.2",
|
|
63
|
-
"
|
|
63
|
+
"dompurify": "^3.3.3",
|
|
64
|
+
"lucide": "^0.577.0"
|
|
64
65
|
},
|
|
65
66
|
"devDependencies": {
|
|
66
67
|
"@pdfme/common": "*",
|
|
68
|
+
"@types/dompurify": "^3.2.0",
|
|
67
69
|
"@types/bwip-js": "^3.2.1",
|
|
68
|
-
"@types/fontkit": "^2.0.
|
|
70
|
+
"@types/fontkit": "^2.0.9",
|
|
69
71
|
"@types/pngjs": "^6.0.2",
|
|
70
72
|
"jsqr": "^1.4.0",
|
|
71
73
|
"pngjs": "^7.0.0"
|
package/src/graphics/svg.ts
CHANGED
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
createErrorElm,
|
|
7
7
|
createSvgStr,
|
|
8
8
|
} from '../utils.js';
|
|
9
|
+
import { sanitizeSVG } from '../sanitize.js';
|
|
9
10
|
import { Route } from 'lucide';
|
|
10
11
|
|
|
11
12
|
const isValidSVG = (svgString: string): boolean => {
|
|
@@ -58,13 +59,15 @@ const svgSchema: Plugin<SVGSchema> = {
|
|
|
58
59
|
textarea.style.backgroundColor = addAlphaToHex(theme.colorPrimaryBg, 30);
|
|
59
60
|
|
|
60
61
|
if (isValidSVG(value)) {
|
|
61
|
-
const
|
|
62
|
+
const sanitizedValue = sanitizeSVG(value);
|
|
63
|
+
const svgElement = new DOMParser().parseFromString(sanitizedValue, 'image/svg+xml')
|
|
64
|
+
.childNodes[0];
|
|
62
65
|
if (svgElement instanceof SVGElement) {
|
|
63
66
|
svgElement.setAttribute('width', '100%');
|
|
64
67
|
svgElement.setAttribute('height', '100%');
|
|
65
68
|
svgElement.style.position = 'absolute';
|
|
69
|
+
rootElement.appendChild(svgElement);
|
|
66
70
|
}
|
|
67
|
-
rootElement.appendChild(svgElement);
|
|
68
71
|
} else if (value) {
|
|
69
72
|
const errorElm = createErrorElm();
|
|
70
73
|
errorElm.style.position = 'absolute';
|
|
@@ -84,7 +87,7 @@ const svgSchema: Plugin<SVGSchema> = {
|
|
|
84
87
|
rootElement.appendChild(createErrorElm());
|
|
85
88
|
return;
|
|
86
89
|
}
|
|
87
|
-
container.innerHTML = value;
|
|
90
|
+
container.innerHTML = sanitizeSVG(value);
|
|
88
91
|
const svgElement = container.childNodes[0];
|
|
89
92
|
if (svgElement instanceof SVGElement) {
|
|
90
93
|
svgElement.setAttribute('width', '100%');
|
|
@@ -61,14 +61,14 @@ const mapDynamicVariables = (props: PropPanelWidgetProps) => {
|
|
|
61
61
|
/^(rgb|hsl)a?\(\s*([+-]?\d+%?\s*,\s*){2,3}[+-]?\d+%?\s*\)$/i.test(colorValue);
|
|
62
62
|
const safeColorValue = isValidColor ? colorValue : '#168fe3';
|
|
63
63
|
|
|
64
|
-
// Use safe string concatenation for innerHTML
|
|
65
64
|
const typingInstructions = i18n('schemas.mvt.typingInstructions');
|
|
66
65
|
const sampleField = i18n('schemas.mvt.sampleField');
|
|
67
|
-
para.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
para.appendChild(document.createTextNode(typingInstructions + ' '));
|
|
67
|
+
const codeEl = document.createElement('code');
|
|
68
|
+
codeEl.style.color = safeColorValue;
|
|
69
|
+
codeEl.style.fontWeight = 'bold';
|
|
70
|
+
codeEl.textContent = `{${sampleField}}`;
|
|
71
|
+
para.appendChild(codeEl);
|
|
72
72
|
rootElement.appendChild(para);
|
|
73
73
|
}
|
|
74
74
|
};
|
package/src/sanitize.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import DOMPurify from 'dompurify';
|
|
2
|
+
|
|
3
|
+
export const sanitizeSVG = (svgString: string): string => {
|
|
4
|
+
return DOMPurify.sanitize(svgString, {
|
|
5
|
+
USE_PROFILES: { svg: true, svgFilters: true },
|
|
6
|
+
FORBID_TAGS: [
|
|
7
|
+
'script',
|
|
8
|
+
'foreignObject',
|
|
9
|
+
'use',
|
|
10
|
+
'embed',
|
|
11
|
+
'iframe',
|
|
12
|
+
'object',
|
|
13
|
+
'link',
|
|
14
|
+
'style',
|
|
15
|
+
'animate',
|
|
16
|
+
'animateMotion',
|
|
17
|
+
'animateTransform',
|
|
18
|
+
'set',
|
|
19
|
+
],
|
|
20
|
+
FORBID_ATTR: [
|
|
21
|
+
'onload',
|
|
22
|
+
'onerror',
|
|
23
|
+
'onclick',
|
|
24
|
+
'onmouseover',
|
|
25
|
+
'onmouseout',
|
|
26
|
+
'onmousedown',
|
|
27
|
+
'onmouseup',
|
|
28
|
+
'onfocus',
|
|
29
|
+
'onblur',
|
|
30
|
+
'onchange',
|
|
31
|
+
'onsubmit',
|
|
32
|
+
'onreset',
|
|
33
|
+
'onselect',
|
|
34
|
+
'onabort',
|
|
35
|
+
'oninput',
|
|
36
|
+
'onkeydown',
|
|
37
|
+
'onkeypress',
|
|
38
|
+
'onkeyup',
|
|
39
|
+
'onbegin',
|
|
40
|
+
'onend',
|
|
41
|
+
'onrepeat',
|
|
42
|
+
'href',
|
|
43
|
+
'xlink:href',
|
|
44
|
+
'src',
|
|
45
|
+
'action',
|
|
46
|
+
'formaction',
|
|
47
|
+
],
|
|
48
|
+
KEEP_CONTENT: false,
|
|
49
|
+
});
|
|
50
|
+
};
|
package/src/select/index.ts
CHANGED
|
@@ -156,12 +156,13 @@ const schema: Plugin<Select> = {
|
|
|
156
156
|
|
|
157
157
|
// Ensure schema.options is an array before mapping
|
|
158
158
|
const options = Array.isArray(schema.options) ? schema.options : [];
|
|
159
|
-
|
|
160
|
-
.
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
)
|
|
164
|
-
.
|
|
159
|
+
options.forEach((option) => {
|
|
160
|
+
const optionElement = document.createElement('option');
|
|
161
|
+
optionElement.value = option;
|
|
162
|
+
optionElement.textContent = option;
|
|
163
|
+
if (option === value) optionElement.selected = true;
|
|
164
|
+
selectElement.appendChild(optionElement);
|
|
165
|
+
});
|
|
165
166
|
rootElement.appendChild(selectElement);
|
|
166
167
|
}
|
|
167
168
|
},
|
package/src/text/helper.ts
CHANGED
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
getFallbackFontName,
|
|
10
10
|
getDefaultFont,
|
|
11
11
|
DEFAULT_FONT_NAME,
|
|
12
|
+
isUrlSafeToFetch,
|
|
12
13
|
} from '@pdfme/common';
|
|
13
14
|
import { Buffer } from 'buffer';
|
|
14
15
|
import type { TextSchema, FontWidthCalcValues } from './types.js';
|
|
@@ -123,9 +124,14 @@ export const getFontKitFont = async (
|
|
|
123
124
|
const currentFont = font[fntNm] || getFallbackFont(font) || getDefaultFont()[DEFAULT_FONT_NAME];
|
|
124
125
|
let fontData = currentFont.data;
|
|
125
126
|
if (typeof fontData === 'string') {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
127
|
+
if (fontData.startsWith('http')) {
|
|
128
|
+
if (!isUrlSafeToFetch(fontData)) {
|
|
129
|
+
throw Error('[@pdfme/schemas] Invalid or unsafe URL for font data. Only http: and https: URLs pointing to public hosts are allowed.');
|
|
130
|
+
}
|
|
131
|
+
fontData = await fetch(fontData).then((res) => res.arrayBuffer());
|
|
132
|
+
} else {
|
|
133
|
+
fontData = b64toUint8Array(fontData);
|
|
134
|
+
}
|
|
129
135
|
}
|
|
130
136
|
|
|
131
137
|
// Convert fontData to Buffer if it's not already a Buffer
|
package/src/text/pdfRender.ts
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
getDefaultFont,
|
|
9
9
|
getFallbackFontName,
|
|
10
10
|
mm2pt,
|
|
11
|
+
isUrlSafeToFetch,
|
|
11
12
|
} from '@pdfme/common';
|
|
12
13
|
import {
|
|
13
14
|
VERTICAL_ALIGN_TOP,
|
|
@@ -44,6 +45,9 @@ const embedAndGetFontObj = async (arg: {
|
|
|
44
45
|
Object.values(font).map(async (v) => {
|
|
45
46
|
let fontData = v.data;
|
|
46
47
|
if (typeof fontData === 'string' && fontData.startsWith('http')) {
|
|
48
|
+
if (!isUrlSafeToFetch(fontData)) {
|
|
49
|
+
throw Error('[@pdfme/schemas] Invalid or unsafe URL for font data. Only http: and https: URLs pointing to public hosts are allowed.');
|
|
50
|
+
}
|
|
47
51
|
fontData = await fetch(fontData).then((res) => res.arrayBuffer());
|
|
48
52
|
}
|
|
49
53
|
return pdfDoc.embedFont(fontData, {
|
package/src/text/uiRender.ts
CHANGED
|
@@ -86,12 +86,16 @@ export const uiRender = async (arg: UIRenderProps<TextSchema>) => {
|
|
|
86
86
|
// Read-only mode
|
|
87
87
|
textBlock.innerHTML = processedText
|
|
88
88
|
.split('')
|
|
89
|
-
.map(
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
89
|
+
.map((l, i) => {
|
|
90
|
+
const escaped = l
|
|
91
|
+
.replace(/&/g, '&')
|
|
92
|
+
.replace(/</g, '<')
|
|
93
|
+
.replace(/>/g, '>')
|
|
94
|
+
.replace(/"/g, '"');
|
|
95
|
+
return `<span style="letter-spacing:${
|
|
96
|
+
String(value).length === i + 1 ? 0 : 'inherit'
|
|
97
|
+
};">${escaped}</span>`;
|
|
98
|
+
})
|
|
95
99
|
.join('');
|
|
96
100
|
return;
|
|
97
101
|
}
|