@pdfme/schemas 5.4.6-dev.4 → 5.4.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.
@@ -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.backgroundColor = schema.color ?? 'transparent';
28
- div.style.width = '100%';
29
- div.style.height = '100%';
30
- rootElement.appendChild(div);
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":"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"}
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.backgroundColor = schema.color ?? 'transparent';
26
- div.style.width = '100%';
27
- div.style.height = '100%';
28
- rootElement.appendChild(div);
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":"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"}
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.backgroundColor = schema.color ?? 'transparent';
28
- div.style.width = '100%';
29
- div.style.height = '100%';
30
- rootElement.appendChild(div);
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":"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"}
1
+ {"version":3,"file":"line.js","sourceRoot":"","sources":["../../../../src/shapes/line.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,7 @@ export declare const rectangle: {
46
46
  };
47
47
  icon: string;
48
48
  pdf: (arg: import("@pdfme/common").PDFRenderProps<ShapeSchema & {
49
+ [x: string]: unknown;
49
50
  name: string;
50
51
  type: string;
51
52
  position: {
@@ -64,10 +65,9 @@ export declare const rectangle: {
64
65
  end?: number | undefined;
65
66
  } | undefined;
66
67
  __isSplit?: boolean | undefined;
67
- } & {
68
- [k: string]: unknown;
69
68
  }>) => Promise<void> | void;
70
69
  ui: (arg: import("@pdfme/common").UIRenderProps<ShapeSchema & {
70
+ [x: string]: unknown;
71
71
  name: string;
72
72
  type: string;
73
73
  position: {
@@ -86,8 +86,6 @@ export declare const rectangle: {
86
86
  end?: number | undefined;
87
87
  } | undefined;
88
88
  __isSplit?: boolean | undefined;
89
- } & {
90
- [k: string]: unknown;
91
89
  }>) => Promise<void> | void;
92
90
  uninterruptedEditMode?: boolean;
93
91
  };
@@ -131,6 +129,7 @@ export declare const ellipse: {
131
129
  };
132
130
  icon: string;
133
131
  pdf: (arg: import("@pdfme/common").PDFRenderProps<ShapeSchema & {
132
+ [x: string]: unknown;
134
133
  name: string;
135
134
  type: string;
136
135
  position: {
@@ -149,10 +148,9 @@ export declare const ellipse: {
149
148
  end?: number | undefined;
150
149
  } | undefined;
151
150
  __isSplit?: boolean | undefined;
152
- } & {
153
- [k: string]: unknown;
154
151
  }>) => Promise<void> | void;
155
152
  ui: (arg: import("@pdfme/common").UIRenderProps<ShapeSchema & {
153
+ [x: string]: unknown;
156
154
  name: string;
157
155
  type: string;
158
156
  position: {
@@ -171,8 +169,6 @@ export declare const ellipse: {
171
169
  end?: number | undefined;
172
170
  } | undefined;
173
171
  __isSplit?: boolean | undefined;
174
- } & {
175
- [k: string]: unknown;
176
172
  }>) => Promise<void> | void;
177
173
  uninterruptedEditMode?: boolean;
178
174
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pdfme/schemas",
3
- "version": "5.4.6-dev.4",
3
+ "version": "5.4.7-dev.1",
4
4
  "sideEffects": false,
5
5
  "author": "hand-dot",
6
6
  "license": "MIT",
@@ -60,7 +60,7 @@
60
60
  "bwip-js": "^4.7.0",
61
61
  "date-fns": "^4.1.0",
62
62
  "fontkit": "^2.0.2",
63
- "lucide": "^0.542.0"
63
+ "lucide": "^0.552.0"
64
64
  },
65
65
  "devDependencies": {
66
66
  "@pdfme/common": "*",
@@ -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.backgroundColor = schema.color ?? 'transparent';
43
- div.style.width = '100%';
44
- div.style.height = '100%';
45
- rootElement.appendChild(div);
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 }) => ({