@idraw/util 0.4.3 → 1.0.0-alpha.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.
- package/dist/esm/converter/data-svg.d.ts +2 -0
- package/dist/esm/converter/data-svg.js +19 -0
- package/dist/esm/converter/material-svg.d.ts +2 -0
- package/dist/esm/converter/material-svg.js +63 -0
- package/dist/esm/converter/svg-material.d.ts +2 -0
- package/dist/esm/converter/svg-material.js +188 -0
- package/dist/esm/index.d.ts +32 -21
- package/dist/esm/index.js +32 -21
- package/dist/esm/static.d.ts +1 -0
- package/dist/esm/static.js +1 -0
- package/dist/esm/tool/file.js +2 -2
- package/dist/esm/tool/html.js +27 -27
- package/dist/esm/tool/id.d.ts +1 -0
- package/dist/esm/tool/id.js +4 -0
- package/dist/esm/tool/image.js +6 -6
- package/dist/esm/tool/path-to-box.d.ts +3 -0
- package/dist/esm/tool/path-to-box.js +353 -0
- package/dist/esm/tool/path-to-command.d.ts +4 -0
- package/dist/esm/tool/path-to-command.js +392 -0
- package/dist/esm/tool/path.d.ts +18 -0
- package/dist/esm/tool/path.js +421 -0
- package/dist/esm/tool/svg-path.d.ts +3 -0
- package/dist/esm/{view → tool}/svg-path.js +4 -16
- package/dist/esm/tool/time.d.ts +2 -2
- package/dist/esm/tool/time.js +4 -4
- package/dist/esm/tool/uuid.d.ts +1 -1
- package/dist/esm/tool/uuid.js +6 -6
- package/dist/esm/view/box.d.ts +0 -2
- package/dist/esm/view/box.js +1 -173
- package/dist/esm/view/canvas.js +3 -3
- package/dist/esm/view/check.d.ts +8 -7
- package/dist/esm/view/check.js +34 -34
- package/dist/esm/view/config.d.ts +0 -9
- package/dist/esm/view/config.js +1 -71
- package/dist/esm/view/context2d.d.ts +10 -3
- package/dist/esm/view/context2d.js +39 -18
- package/dist/esm/view/controller.d.ts +5 -5
- package/dist/esm/view/controller.js +105 -102
- package/dist/esm/view/data.d.ts +2 -2
- package/dist/esm/view/data.js +65 -65
- package/dist/esm/view/dom.d.ts +23 -0
- package/dist/esm/view/dom.js +190 -0
- package/dist/esm/view/flat.d.ts +2 -2
- package/dist/esm/view/flat.js +53 -53
- package/dist/esm/view/group.d.ts +3 -3
- package/dist/esm/view/group.js +25 -28
- package/dist/esm/view/handle-material.d.ts +24 -0
- package/dist/esm/view/{handle-element.js → handle-material.js} +98 -75
- package/dist/esm/view/is.d.ts +10 -12
- package/dist/esm/view/is.js +15 -19
- package/dist/esm/view/load.d.ts +2 -2
- package/dist/esm/view/load.js +7 -7
- package/dist/esm/view/material.d.ts +40 -0
- package/dist/esm/view/material.js +476 -0
- package/dist/esm/view/middleware.d.ts +1 -0
- package/dist/esm/view/middleware.js +14 -2
- package/dist/esm/view/modify-record.d.ts +4 -4
- package/dist/esm/view/modify-record.js +2 -2
- package/dist/esm/view/parser.d.ts +2 -2
- package/dist/esm/view/parser.js +3 -3
- package/dist/esm/view/path.d.ts +2 -0
- package/dist/esm/view/path.js +30 -0
- package/dist/esm/view/point-move-material.d.ts +5 -0
- package/dist/esm/view/{point-move-element.js → point-move-material.js} +6 -6
- package/dist/esm/view/point.d.ts +3 -8
- package/dist/esm/view/point.js +1 -21
- package/dist/esm/view/position.d.ts +9 -9
- package/dist/esm/view/position.js +1 -1
- package/dist/esm/view/rect.d.ts +2 -2
- package/dist/esm/view/rect.js +4 -4
- package/dist/esm/view/resize-material.d.ts +4 -0
- package/dist/esm/view/resize-material.js +266 -0
- package/dist/esm/view/rotate.d.ts +11 -11
- package/dist/esm/view/rotate.js +24 -24
- package/dist/esm/view/static.d.ts +13 -0
- package/dist/esm/view/static.js +89 -0
- package/dist/esm/view/styles.d.ts +11 -0
- package/dist/esm/view/styles.js +78 -0
- package/dist/esm/view/vertex.d.ts +8 -8
- package/dist/esm/view/vertex.js +28 -28
- package/dist/esm/view/view-box.d.ts +2 -6
- package/dist/esm/view/view-box.js +8 -64
- package/dist/esm/view/view-calc.d.ts +23 -20
- package/dist/esm/view/view-calc.js +104 -93
- package/dist/esm/view/view-content.d.ts +2 -2
- package/dist/esm/view/view-content.js +34 -34
- package/dist/index.global.js +3144 -1548
- package/dist/index.global.min.js +1 -1
- package/package.json +1 -1
- package/dist/esm/view/element.d.ts +0 -35
- package/dist/esm/view/element.js +0 -471
- package/dist/esm/view/handle-element.d.ts +0 -24
- package/dist/esm/view/point-move-element.d.ts +0 -5
- package/dist/esm/view/resize-element.d.ts +0 -4
- package/dist/esm/view/resize-element.js +0 -255
- package/dist/esm/view/svg-path.d.ts +0 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Data, ViewSizeInfo, ViewScaleInfo,
|
|
1
|
+
import type { Data, ViewSizeInfo, ViewScaleInfo, Point } from '@idraw/types';
|
|
2
2
|
interface ViewCenterContentResult {
|
|
3
3
|
offsetX: number;
|
|
4
4
|
offsetY: number;
|
|
@@ -10,5 +10,5 @@ export declare function calcViewCenterContent(data: Data, opts: {
|
|
|
10
10
|
export declare function calcViewCenter(opts?: {
|
|
11
11
|
viewScaleInfo: ViewScaleInfo;
|
|
12
12
|
viewSizeInfo: ViewSizeInfo;
|
|
13
|
-
}):
|
|
13
|
+
}): Point;
|
|
14
14
|
export {};
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { rotateMaterialVertexes } from './rotate';
|
|
2
2
|
import { formatNumber } from '../tool/number';
|
|
3
3
|
import { is } from './is';
|
|
4
4
|
export function calcViewCenterContent(data, opts) {
|
|
5
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k
|
|
5
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
6
6
|
let offsetX = 0;
|
|
7
7
|
let offsetY = 0;
|
|
8
8
|
let scale = 1;
|
|
9
|
-
let contentX = ((_b = (_a = data === null || data === void 0 ? void 0 : data.
|
|
10
|
-
let contentY = ((_d = (_c = data === null || data === void 0 ? void 0 : data.
|
|
11
|
-
let contentW = ((_f = (_e = data === null || data === void 0 ? void 0 : data.
|
|
12
|
-
let contentH = ((_h = (_g = data === null || data === void 0 ? void 0 : data.
|
|
9
|
+
let contentX = ((_b = (_a = data === null || data === void 0 ? void 0 : data.materials) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.x) || 0;
|
|
10
|
+
let contentY = ((_d = (_c = data === null || data === void 0 ? void 0 : data.materials) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.y) || 0;
|
|
11
|
+
let contentW = ((_f = (_e = data === null || data === void 0 ? void 0 : data.materials) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.width) || 0;
|
|
12
|
+
let contentH = ((_h = (_g = data === null || data === void 0 ? void 0 : data.materials) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.height) || 0;
|
|
13
13
|
const { width, height } = opts.viewSizeInfo;
|
|
14
|
-
if (is.layout(data.layout) && ((
|
|
14
|
+
if (is.layout(data.layout) && ((_j = data.layout) === null || _j === void 0 ? void 0 : _j.overflow) === 'hidden') {
|
|
15
15
|
contentX = data.layout.x;
|
|
16
16
|
contentY = data.layout.y;
|
|
17
|
-
contentW = data.layout.
|
|
18
|
-
contentH = data.layout.
|
|
17
|
+
contentW = data.layout.width || 0;
|
|
18
|
+
contentH = data.layout.height || 0;
|
|
19
19
|
}
|
|
20
20
|
else {
|
|
21
|
-
data.
|
|
22
|
-
const
|
|
23
|
-
x:
|
|
24
|
-
y:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
angle:
|
|
21
|
+
data.materials.forEach((mtrl) => {
|
|
22
|
+
const mtrlSize = {
|
|
23
|
+
x: mtrl.x,
|
|
24
|
+
y: mtrl.y,
|
|
25
|
+
width: mtrl.width,
|
|
26
|
+
height: mtrl.height,
|
|
27
|
+
angle: mtrl.angle,
|
|
28
28
|
};
|
|
29
|
-
if (
|
|
30
|
-
const ves =
|
|
29
|
+
if (mtrlSize.angle && (mtrlSize.angle > 0 || mtrlSize.angle < 0)) {
|
|
30
|
+
const ves = rotateMaterialVertexes(mtrlSize);
|
|
31
31
|
if (ves.length === 4) {
|
|
32
32
|
const xList = [ves[0].x, ves[1].x, ves[2].x, ves[3].x];
|
|
33
33
|
const yList = [ves[0].y, ves[1].y, ves[2].y, ves[3].y];
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
34
|
+
mtrlSize.x = Math.min(...xList);
|
|
35
|
+
mtrlSize.y = Math.min(...yList);
|
|
36
|
+
mtrlSize.width = Math.abs(Math.max(...xList) - Math.min(...xList));
|
|
37
|
+
mtrlSize.height = Math.abs(Math.max(...yList) - Math.min(...yList));
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
const areaStartX = Math.min(
|
|
41
|
-
const areaStartY = Math.min(
|
|
42
|
-
const areaEndX = Math.max(
|
|
43
|
-
const areaEndY = Math.max(
|
|
40
|
+
const areaStartX = Math.min(mtrlSize.x, contentX);
|
|
41
|
+
const areaStartY = Math.min(mtrlSize.y, contentY);
|
|
42
|
+
const areaEndX = Math.max(mtrlSize.x + mtrlSize.width, contentX + contentW);
|
|
43
|
+
const areaEndY = Math.max(mtrlSize.y + mtrlSize.height, contentY + contentH);
|
|
44
44
|
contentX = areaStartX;
|
|
45
45
|
contentY = areaStartY;
|
|
46
46
|
contentW = Math.abs(areaEndX - areaStartX);
|
|
@@ -48,18 +48,18 @@ export function calcViewCenterContent(data, opts) {
|
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
if ((data === null || data === void 0 ? void 0 : data.layout) && is.layout(data.layout)) {
|
|
51
|
-
const { x, y,
|
|
52
|
-
if (((
|
|
51
|
+
const { x, y, width, height } = data.layout;
|
|
52
|
+
if (((_k = data.layout) === null || _k === void 0 ? void 0 : _k.overflow) === 'hidden') {
|
|
53
53
|
contentX = Math.min(contentX, x);
|
|
54
54
|
contentY = Math.min(contentY, y);
|
|
55
|
-
contentW = Math.min(contentW,
|
|
56
|
-
contentH = Math.min(contentH,
|
|
55
|
+
contentW = Math.min(contentW, width);
|
|
56
|
+
contentH = Math.min(contentH, height);
|
|
57
57
|
}
|
|
58
58
|
else {
|
|
59
59
|
contentX = Math.min(contentX, x);
|
|
60
60
|
contentY = Math.min(contentY, y);
|
|
61
|
-
contentW = Math.max(contentW,
|
|
62
|
-
contentH = Math.max(contentH,
|
|
61
|
+
contentW = Math.max(contentW, width);
|
|
62
|
+
contentH = Math.max(contentH, height);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
if (contentW > 0 && contentH > 0) {
|
|
@@ -72,7 +72,7 @@ export function calcViewCenterContent(data, opts) {
|
|
|
72
72
|
const result = {
|
|
73
73
|
offsetX: formatNumber(offsetX, { decimalPlaces: 0 }),
|
|
74
74
|
offsetY: formatNumber(offsetY, { decimalPlaces: 0 }),
|
|
75
|
-
scale
|
|
75
|
+
scale,
|
|
76
76
|
};
|
|
77
77
|
return result;
|
|
78
78
|
}
|
|
@@ -88,7 +88,7 @@ export function calcViewCenter(opts) {
|
|
|
88
88
|
}
|
|
89
89
|
const p = {
|
|
90
90
|
x,
|
|
91
|
-
y
|
|
91
|
+
y,
|
|
92
92
|
};
|
|
93
93
|
return p;
|
|
94
94
|
}
|