@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.
Files changed (96) hide show
  1. package/dist/esm/converter/data-svg.d.ts +2 -0
  2. package/dist/esm/converter/data-svg.js +19 -0
  3. package/dist/esm/converter/material-svg.d.ts +2 -0
  4. package/dist/esm/converter/material-svg.js +63 -0
  5. package/dist/esm/converter/svg-material.d.ts +2 -0
  6. package/dist/esm/converter/svg-material.js +188 -0
  7. package/dist/esm/index.d.ts +32 -21
  8. package/dist/esm/index.js +32 -21
  9. package/dist/esm/static.d.ts +1 -0
  10. package/dist/esm/static.js +1 -0
  11. package/dist/esm/tool/file.js +2 -2
  12. package/dist/esm/tool/html.js +27 -27
  13. package/dist/esm/tool/id.d.ts +1 -0
  14. package/dist/esm/tool/id.js +4 -0
  15. package/dist/esm/tool/image.js +6 -6
  16. package/dist/esm/tool/path-to-box.d.ts +3 -0
  17. package/dist/esm/tool/path-to-box.js +353 -0
  18. package/dist/esm/tool/path-to-command.d.ts +4 -0
  19. package/dist/esm/tool/path-to-command.js +392 -0
  20. package/dist/esm/tool/path.d.ts +18 -0
  21. package/dist/esm/tool/path.js +421 -0
  22. package/dist/esm/tool/svg-path.d.ts +3 -0
  23. package/dist/esm/{view → tool}/svg-path.js +4 -16
  24. package/dist/esm/tool/time.d.ts +2 -2
  25. package/dist/esm/tool/time.js +4 -4
  26. package/dist/esm/tool/uuid.d.ts +1 -1
  27. package/dist/esm/tool/uuid.js +6 -6
  28. package/dist/esm/view/box.d.ts +0 -2
  29. package/dist/esm/view/box.js +1 -173
  30. package/dist/esm/view/canvas.js +3 -3
  31. package/dist/esm/view/check.d.ts +8 -7
  32. package/dist/esm/view/check.js +34 -34
  33. package/dist/esm/view/config.d.ts +0 -9
  34. package/dist/esm/view/config.js +1 -71
  35. package/dist/esm/view/context2d.d.ts +10 -3
  36. package/dist/esm/view/context2d.js +39 -18
  37. package/dist/esm/view/controller.d.ts +5 -5
  38. package/dist/esm/view/controller.js +105 -102
  39. package/dist/esm/view/data.d.ts +2 -2
  40. package/dist/esm/view/data.js +65 -65
  41. package/dist/esm/view/dom.d.ts +23 -0
  42. package/dist/esm/view/dom.js +190 -0
  43. package/dist/esm/view/flat.d.ts +2 -2
  44. package/dist/esm/view/flat.js +53 -53
  45. package/dist/esm/view/group.d.ts +3 -3
  46. package/dist/esm/view/group.js +25 -28
  47. package/dist/esm/view/handle-material.d.ts +24 -0
  48. package/dist/esm/view/{handle-element.js → handle-material.js} +98 -75
  49. package/dist/esm/view/is.d.ts +10 -12
  50. package/dist/esm/view/is.js +15 -19
  51. package/dist/esm/view/load.d.ts +2 -2
  52. package/dist/esm/view/load.js +7 -7
  53. package/dist/esm/view/material.d.ts +40 -0
  54. package/dist/esm/view/material.js +476 -0
  55. package/dist/esm/view/middleware.d.ts +1 -0
  56. package/dist/esm/view/middleware.js +14 -2
  57. package/dist/esm/view/modify-record.d.ts +4 -4
  58. package/dist/esm/view/modify-record.js +2 -2
  59. package/dist/esm/view/parser.d.ts +2 -2
  60. package/dist/esm/view/parser.js +3 -3
  61. package/dist/esm/view/path.d.ts +2 -0
  62. package/dist/esm/view/path.js +30 -0
  63. package/dist/esm/view/point-move-material.d.ts +5 -0
  64. package/dist/esm/view/{point-move-element.js → point-move-material.js} +6 -6
  65. package/dist/esm/view/point.d.ts +3 -8
  66. package/dist/esm/view/point.js +1 -21
  67. package/dist/esm/view/position.d.ts +9 -9
  68. package/dist/esm/view/position.js +1 -1
  69. package/dist/esm/view/rect.d.ts +2 -2
  70. package/dist/esm/view/rect.js +4 -4
  71. package/dist/esm/view/resize-material.d.ts +4 -0
  72. package/dist/esm/view/resize-material.js +266 -0
  73. package/dist/esm/view/rotate.d.ts +11 -11
  74. package/dist/esm/view/rotate.js +24 -24
  75. package/dist/esm/view/static.d.ts +13 -0
  76. package/dist/esm/view/static.js +89 -0
  77. package/dist/esm/view/styles.d.ts +11 -0
  78. package/dist/esm/view/styles.js +78 -0
  79. package/dist/esm/view/vertex.d.ts +8 -8
  80. package/dist/esm/view/vertex.js +28 -28
  81. package/dist/esm/view/view-box.d.ts +2 -6
  82. package/dist/esm/view/view-box.js +8 -64
  83. package/dist/esm/view/view-calc.d.ts +23 -20
  84. package/dist/esm/view/view-calc.js +104 -93
  85. package/dist/esm/view/view-content.d.ts +2 -2
  86. package/dist/esm/view/view-content.js +34 -34
  87. package/dist/index.global.js +3144 -1548
  88. package/dist/index.global.min.js +1 -1
  89. package/package.json +1 -1
  90. package/dist/esm/view/element.d.ts +0 -35
  91. package/dist/esm/view/element.js +0 -471
  92. package/dist/esm/view/handle-element.d.ts +0 -24
  93. package/dist/esm/view/point-move-element.d.ts +0 -5
  94. package/dist/esm/view/resize-element.d.ts +0 -4
  95. package/dist/esm/view/resize-element.js +0 -255
  96. package/dist/esm/view/svg-path.d.ts +0 -10
@@ -1,4 +1,4 @@
1
- import type { Data, ViewSizeInfo, ViewScaleInfo, PointSize } from '@idraw/types';
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
- }): PointSize;
13
+ }): Point;
14
14
  export {};
@@ -1,46 +1,46 @@
1
- import { rotateElementVertexes } from './rotate';
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, _l, _m;
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.elements) === 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.elements) === 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.elements) === null || _e === void 0 ? void 0 : _e[0]) === null || _f === void 0 ? void 0 : _f.w) || 0;
12
- let contentH = ((_h = (_g = data === null || data === void 0 ? void 0 : data.elements) === null || _g === void 0 ? void 0 : _g[0]) === null || _h === void 0 ? void 0 : _h.h) || 0;
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) && ((_k = (_j = data.layout) === null || _j === void 0 ? void 0 : _j.detail) === null || _k === void 0 ? void 0 : _k.overflow) === 'hidden') {
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.w || 0;
18
- contentH = data.layout.h || 0;
17
+ contentW = data.layout.width || 0;
18
+ contentH = data.layout.height || 0;
19
19
  }
20
20
  else {
21
- data.elements.forEach((elem) => {
22
- const elemSize = {
23
- x: elem.x,
24
- y: elem.y,
25
- w: elem.w,
26
- h: elem.h,
27
- angle: elem.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 (elemSize.angle && (elemSize.angle > 0 || elemSize.angle < 0)) {
30
- const ves = rotateElementVertexes(elemSize);
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
- elemSize.x = Math.min(...xList);
35
- elemSize.y = Math.min(...yList);
36
- elemSize.w = Math.abs(Math.max(...xList) - Math.min(...xList));
37
- elemSize.h = Math.abs(Math.max(...yList) - Math.min(...yList));
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(elemSize.x, contentX);
41
- const areaStartY = Math.min(elemSize.y, contentY);
42
- const areaEndX = Math.max(elemSize.x + elemSize.w, contentX + contentW);
43
- const areaEndY = Math.max(elemSize.y + elemSize.h, contentY + contentH);
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, w, h } = data.layout;
52
- if (((_m = (_l = data.layout) === null || _l === void 0 ? void 0 : _l.detail) === null || _m === void 0 ? void 0 : _m.overflow) === 'hidden') {
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, w);
56
- contentH = Math.min(contentH, h);
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, w);
62
- contentH = Math.max(contentH, h);
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
  }