@pdfme/schemas 5.4.7 → 5.4.8
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/shapes/line.js +20 -4
- package/dist/cjs/src/shapes/line.js.map +1 -1
- package/dist/esm/src/shapes/line.js +20 -4
- package/dist/esm/src/shapes/line.js.map +1 -1
- package/dist/node/src/shapes/line.js +20 -4
- package/dist/node/src/shapes/line.js.map +1 -1
- package/package.json +1 -1
- package/src/shapes/line.ts +24 -4
|
@@ -4,6 +4,7 @@ const utils_js_1 = require("../utils.js");
|
|
|
4
4
|
const constants_js_1 = require("../constants.js");
|
|
5
5
|
const lucide_1 = require("lucide");
|
|
6
6
|
const DEFAULT_LINE_COLOR = '#000000';
|
|
7
|
+
const HIT_POINT_HEIGHT = 16;
|
|
7
8
|
const lineSchema = {
|
|
8
9
|
pdf: (arg) => {
|
|
9
10
|
const { page, schema, options } = arg;
|
|
@@ -23,11 +24,26 @@ const lineSchema = {
|
|
|
23
24
|
},
|
|
24
25
|
ui: (arg) => {
|
|
25
26
|
const { schema, rootElement } = arg;
|
|
27
|
+
Object.assign(rootElement.style, { position: 'relative', overflow: 'visible' });
|
|
28
|
+
const baseStyles = {
|
|
29
|
+
position: 'absolute',
|
|
30
|
+
top: '50%',
|
|
31
|
+
left: '0',
|
|
32
|
+
transform: 'translateY(-50%)',
|
|
33
|
+
width: '100%',
|
|
34
|
+
};
|
|
35
|
+
const hitArea = document.createElement('div');
|
|
36
|
+
Object.assign(hitArea.style, baseStyles, {
|
|
37
|
+
height: `${HIT_POINT_HEIGHT}px`,
|
|
38
|
+
backgroundColor: 'transparent',
|
|
39
|
+
});
|
|
26
40
|
const div = document.createElement('div');
|
|
27
|
-
div.style
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
41
|
+
Object.assign(div.style, baseStyles, {
|
|
42
|
+
height: '100%',
|
|
43
|
+
backgroundColor: schema.color ?? 'transparent',
|
|
44
|
+
pointerEvents: 'none',
|
|
45
|
+
});
|
|
46
|
+
rootElement.append(hitArea, div);
|
|
31
47
|
},
|
|
32
48
|
propPanel: {
|
|
33
49
|
schema: ({ i18n }) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../src/shapes/line.ts"],"names":[],"mappings":";;AACA,0CAKqB;AACrB,kDAAoD;AACpD,mCAA+B;AAE/B,MAAM,kBAAkB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../src/shapes/line.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { rotatePoint, convertForPdfLayoutProps, hex2PrintingColor, createSvgStr,
|
|
|
2
2
|
import { HEX_COLOR_PATTERN } from '../constants.js';
|
|
3
3
|
import { Minus } from 'lucide';
|
|
4
4
|
const DEFAULT_LINE_COLOR = '#000000';
|
|
5
|
+
const HIT_POINT_HEIGHT = 16;
|
|
5
6
|
const lineSchema = {
|
|
6
7
|
pdf: (arg) => {
|
|
7
8
|
const { page, schema, options } = arg;
|
|
@@ -21,11 +22,26 @@ const lineSchema = {
|
|
|
21
22
|
},
|
|
22
23
|
ui: (arg) => {
|
|
23
24
|
const { schema, rootElement } = arg;
|
|
25
|
+
Object.assign(rootElement.style, { position: 'relative', overflow: 'visible' });
|
|
26
|
+
const baseStyles = {
|
|
27
|
+
position: 'absolute',
|
|
28
|
+
top: '50%',
|
|
29
|
+
left: '0',
|
|
30
|
+
transform: 'translateY(-50%)',
|
|
31
|
+
width: '100%',
|
|
32
|
+
};
|
|
33
|
+
const hitArea = document.createElement('div');
|
|
34
|
+
Object.assign(hitArea.style, baseStyles, {
|
|
35
|
+
height: `${HIT_POINT_HEIGHT}px`,
|
|
36
|
+
backgroundColor: 'transparent',
|
|
37
|
+
});
|
|
24
38
|
const div = document.createElement('div');
|
|
25
|
-
div.style
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
39
|
+
Object.assign(div.style, baseStyles, {
|
|
40
|
+
height: '100%',
|
|
41
|
+
backgroundColor: schema.color ?? 'transparent',
|
|
42
|
+
pointerEvents: 'none',
|
|
43
|
+
});
|
|
44
|
+
rootElement.append(hitArea, div);
|
|
29
45
|
},
|
|
30
46
|
propPanel: {
|
|
31
47
|
schema: ({ i18n }) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../src/shapes/line.ts"],"names":[],"mappings":"AACA,OAAO,EACL,WAAW,EACX,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,MAAM,kBAAkB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../src/shapes/line.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ const utils_js_1 = require("../utils.js");
|
|
|
4
4
|
const constants_js_1 = require("../constants.js");
|
|
5
5
|
const lucide_1 = require("lucide");
|
|
6
6
|
const DEFAULT_LINE_COLOR = '#000000';
|
|
7
|
+
const HIT_POINT_HEIGHT = 16;
|
|
7
8
|
const lineSchema = {
|
|
8
9
|
pdf: (arg) => {
|
|
9
10
|
const { page, schema, options } = arg;
|
|
@@ -23,11 +24,26 @@ const lineSchema = {
|
|
|
23
24
|
},
|
|
24
25
|
ui: (arg) => {
|
|
25
26
|
const { schema, rootElement } = arg;
|
|
27
|
+
Object.assign(rootElement.style, { position: 'relative', overflow: 'visible' });
|
|
28
|
+
const baseStyles = {
|
|
29
|
+
position: 'absolute',
|
|
30
|
+
top: '50%',
|
|
31
|
+
left: '0',
|
|
32
|
+
transform: 'translateY(-50%)',
|
|
33
|
+
width: '100%',
|
|
34
|
+
};
|
|
35
|
+
const hitArea = document.createElement('div');
|
|
36
|
+
Object.assign(hitArea.style, baseStyles, {
|
|
37
|
+
height: `${HIT_POINT_HEIGHT}px`,
|
|
38
|
+
backgroundColor: 'transparent',
|
|
39
|
+
});
|
|
26
40
|
const div = document.createElement('div');
|
|
27
|
-
div.style
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
41
|
+
Object.assign(div.style, baseStyles, {
|
|
42
|
+
height: '100%',
|
|
43
|
+
backgroundColor: schema.color ?? 'transparent',
|
|
44
|
+
pointerEvents: 'none',
|
|
45
|
+
});
|
|
46
|
+
rootElement.append(hitArea, div);
|
|
31
47
|
},
|
|
32
48
|
propPanel: {
|
|
33
49
|
schema: ({ i18n }) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../src/shapes/line.ts"],"names":[],"mappings":";;AACA,0CAKqB;AACrB,kDAAoD;AACpD,mCAA+B;AAE/B,MAAM,kBAAkB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../src/shapes/line.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/shapes/line.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { HEX_COLOR_PATTERN } from '../constants.js';
|
|
|
9
9
|
import { Minus } from 'lucide';
|
|
10
10
|
|
|
11
11
|
const DEFAULT_LINE_COLOR = '#000000';
|
|
12
|
+
const HIT_POINT_HEIGHT = 16;
|
|
12
13
|
|
|
13
14
|
interface LineSchema extends Schema {
|
|
14
15
|
color: string;
|
|
@@ -38,11 +39,30 @@ const lineSchema: Plugin<LineSchema> = {
|
|
|
38
39
|
},
|
|
39
40
|
ui: (arg) => {
|
|
40
41
|
const { schema, rootElement } = arg;
|
|
42
|
+
Object.assign(rootElement.style, { position: 'relative', overflow: 'visible' });
|
|
43
|
+
|
|
44
|
+
const baseStyles = {
|
|
45
|
+
position: 'absolute',
|
|
46
|
+
top: '50%',
|
|
47
|
+
left: '0',
|
|
48
|
+
transform: 'translateY(-50%)',
|
|
49
|
+
width: '100%',
|
|
50
|
+
} as const;
|
|
51
|
+
|
|
52
|
+
const hitArea = document.createElement('div');
|
|
53
|
+
Object.assign(hitArea.style, baseStyles, {
|
|
54
|
+
height: `${HIT_POINT_HEIGHT}px`,
|
|
55
|
+
backgroundColor: 'transparent',
|
|
56
|
+
});
|
|
57
|
+
|
|
41
58
|
const div = document.createElement('div');
|
|
42
|
-
div.style
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
59
|
+
Object.assign(div.style, baseStyles, {
|
|
60
|
+
height: '100%',
|
|
61
|
+
backgroundColor: schema.color ?? 'transparent',
|
|
62
|
+
pointerEvents: 'none',
|
|
63
|
+
});
|
|
64
|
+
|
|
65
|
+
rootElement.append(hitArea, div);
|
|
46
66
|
},
|
|
47
67
|
propPanel: {
|
|
48
68
|
schema: ({ i18n }) => ({
|