@idraw/core 0.3.1 → 0.4.0-alpha.2

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 (74) hide show
  1. package/dist/esm/index.d.ts +19 -55
  2. package/dist/esm/index.js +52 -188
  3. package/dist/esm/lib/cursor-image.d.ts +2 -0
  4. package/dist/esm/lib/cursor-image.js +2 -0
  5. package/dist/esm/lib/cursor.d.ts +16 -0
  6. package/dist/esm/lib/cursor.js +121 -0
  7. package/dist/esm/middleware/scaler/index.d.ts +2 -0
  8. package/dist/esm/middleware/scaler/index.js +22 -0
  9. package/dist/esm/middleware/scroller/config.d.ts +6 -0
  10. package/dist/esm/middleware/scroller/config.js +6 -0
  11. package/dist/esm/middleware/scroller/index.d.ts +2 -0
  12. package/dist/esm/middleware/scroller/index.js +97 -0
  13. package/dist/esm/middleware/scroller/util.d.ts +12 -0
  14. package/dist/esm/middleware/scroller/util.js +192 -0
  15. package/dist/esm/middleware/selector/config.d.ts +20 -0
  16. package/dist/esm/middleware/selector/config.js +20 -0
  17. package/dist/esm/middleware/selector/draw-wrapper.d.ts +22 -0
  18. package/dist/esm/middleware/selector/draw-wrapper.js +111 -0
  19. package/dist/esm/middleware/selector/index.d.ts +3 -0
  20. package/dist/esm/middleware/selector/index.js +454 -0
  21. package/dist/esm/middleware/selector/types.d.ts +40 -0
  22. package/dist/esm/middleware/selector/types.js +1 -0
  23. package/dist/esm/middleware/selector/util.d.ts +53 -0
  24. package/dist/esm/middleware/selector/util.js +789 -0
  25. package/dist/index.global.js +3825 -3991
  26. package/dist/index.global.min.js +1 -1
  27. package/package.json +7 -7
  28. package/LICENSE +0 -21
  29. package/dist/esm/constant/element.d.ts +0 -2
  30. package/dist/esm/constant/element.js +0 -10
  31. package/dist/esm/constant/static.d.ts +0 -11
  32. package/dist/esm/constant/static.js +0 -13
  33. package/dist/esm/lib/calculate.d.ts +0 -5
  34. package/dist/esm/lib/calculate.js +0 -64
  35. package/dist/esm/lib/check.d.ts +0 -28
  36. package/dist/esm/lib/check.js +0 -115
  37. package/dist/esm/lib/config.d.ts +0 -3
  38. package/dist/esm/lib/config.js +0 -20
  39. package/dist/esm/lib/core-event.d.ts +0 -49
  40. package/dist/esm/lib/core-event.js +0 -50
  41. package/dist/esm/lib/diff.d.ts +0 -6
  42. package/dist/esm/lib/diff.js +0 -82
  43. package/dist/esm/lib/draw/base.d.ts +0 -5
  44. package/dist/esm/lib/draw/base.js +0 -90
  45. package/dist/esm/lib/draw/wrapper.d.ts +0 -4
  46. package/dist/esm/lib/draw/wrapper.js +0 -168
  47. package/dist/esm/lib/element.d.ts +0 -15
  48. package/dist/esm/lib/element.js +0 -442
  49. package/dist/esm/lib/engine-temp.d.ts +0 -22
  50. package/dist/esm/lib/engine-temp.js +0 -29
  51. package/dist/esm/lib/engine.d.ts +0 -47
  52. package/dist/esm/lib/engine.js +0 -323
  53. package/dist/esm/lib/helper.d.ts +0 -30
  54. package/dist/esm/lib/helper.js +0 -363
  55. package/dist/esm/lib/index.d.ts +0 -13
  56. package/dist/esm/lib/index.js +0 -13
  57. package/dist/esm/lib/is.d.ts +0 -26
  58. package/dist/esm/lib/is.js +0 -100
  59. package/dist/esm/lib/mapper.d.ts +0 -26
  60. package/dist/esm/lib/mapper.js +0 -89
  61. package/dist/esm/lib/parse.d.ts +0 -2
  62. package/dist/esm/lib/parse.js +0 -32
  63. package/dist/esm/lib/temp.d.ts +0 -11
  64. package/dist/esm/lib/temp.js +0 -19
  65. package/dist/esm/lib/transform.d.ts +0 -4
  66. package/dist/esm/lib/transform.js +0 -20
  67. package/dist/esm/lib/value.d.ts +0 -2
  68. package/dist/esm/lib/value.js +0 -7
  69. package/dist/esm/mixins/element.d.ts +0 -18
  70. package/dist/esm/mixins/element.js +0 -168
  71. package/dist/esm/plugins/helper.d.ts +0 -12
  72. package/dist/esm/plugins/helper.js +0 -16
  73. package/dist/esm/util/filter.d.ts +0 -1
  74. package/dist/esm/util/filter.js +0 -3
@@ -1,19 +0,0 @@
1
- function createData() {
2
- return {
3
- hasInited: false,
4
- };
5
- }
6
- export class TempData {
7
- constructor() {
8
- this._temp = createData();
9
- }
10
- set(name, value) {
11
- this._temp[name] = value;
12
- }
13
- get(name) {
14
- return this._temp[name];
15
- }
16
- clear() {
17
- this._temp = createData();
18
- }
19
- }
@@ -1,4 +0,0 @@
1
- import { IDrawContext, Point, DataElement, DataElemDesc } from '@idraw/types';
2
- declare function rotateElement(ctx: IDrawContext, elem: DataElement<keyof DataElemDesc>, callback: (ctx: IDrawContext) => void): void;
3
- declare function rotateContext(ctx: IDrawContext, center: Point | undefined, radian: number, callback: (ctx: IDrawContext) => void): void;
4
- export { rotateContext, rotateElement };
@@ -1,20 +0,0 @@
1
- import { calcElementCenter, parseAngleToRadian } from './calculate';
2
- function rotateElement(ctx, elem, callback) {
3
- const center = calcElementCenter(elem);
4
- const radian = parseAngleToRadian(elem.angle || 0);
5
- return rotateContext(ctx, center, radian || 0, callback);
6
- }
7
- function rotateContext(ctx, center, radian, callback) {
8
- if (center && (radian > 0 || radian < 0)) {
9
- ctx.translate(center.x, center.y);
10
- ctx.rotate(radian);
11
- ctx.translate(-center.x, -center.y);
12
- }
13
- callback(ctx);
14
- if (center && (radian > 0 || radian < 0)) {
15
- ctx.translate(center.x, center.y);
16
- ctx.rotate(-radian);
17
- ctx.translate(-center.x, -center.y);
18
- }
19
- }
20
- export { rotateContext, rotateElement };
@@ -1,2 +0,0 @@
1
- export declare function limitNum(num: number): number;
2
- export declare function limitAngle(angle: number): number;
@@ -1,7 +0,0 @@
1
- export function limitNum(num) {
2
- const numStr = num.toFixed(2);
3
- return parseFloat(numStr);
4
- }
5
- export function limitAngle(angle) {
6
- return limitNum(angle % 360);
7
- }
@@ -1,18 +0,0 @@
1
- import { DataElement, DataElemDesc, DataElementBase } from '@idraw/types';
2
- import Core from '../index';
3
- export declare function getSelectedElements(core: Core): DataElement<keyof DataElemDesc>[];
4
- export declare function getElement(core: Core, uuid: string): DataElement<keyof DataElemDesc> | null;
5
- export declare function getElementByIndex(core: Core, index: number): DataElement<keyof DataElemDesc> | null;
6
- export declare function updateElement(core: Core, elem: DataElement<keyof DataElemDesc>): void;
7
- export declare function selectElementByIndex(core: Core, index: number): void;
8
- export declare function selectElement(core: Core, uuid: string): void;
9
- export declare function cancelElementByIndex(core: Core, index: number): void;
10
- export declare function cancelElement(core: Core, uuid: string): void;
11
- export declare function moveUpElement(core: Core, uuid: string): void;
12
- export declare function moveDownElement(core: Core, uuid: string): void;
13
- export declare function addElement(core: Core, elem: DataElementBase<keyof DataElemDesc>): string | null;
14
- export declare function deleteElement(core: Core, uuid: string): void;
15
- export declare function insertElementBefore(core: Core, elem: DataElementBase<keyof DataElemDesc>, beforeUUID: string): any;
16
- export declare function insertElementBeforeIndex(core: Core, elem: DataElementBase<keyof DataElemDesc>, index: number): any;
17
- export declare function insertElementAfter(core: Core, elem: DataElementBase<keyof DataElemDesc>, beforeUUID: string): any;
18
- export declare function insertElementAfterIndex(core: Core, elem: DataElementBase<keyof DataElemDesc>, index: number): any;
@@ -1,168 +0,0 @@
1
- import { deepClone, createUUID } from '@idraw/util';
2
- import { diffElementResourceChange } from '../lib/diff';
3
- import { Mode } from '../constant/static';
4
- export function getSelectedElements(core) {
5
- const elems = [];
6
- let list = [];
7
- const uuid = core.getEngine().temp.get('selectedUUID');
8
- if (typeof uuid === 'string' && uuid) {
9
- list.push(uuid);
10
- }
11
- else {
12
- list = core.getEngine().temp.get('selectedUUIDList');
13
- }
14
- list.forEach((uuid) => {
15
- const index = core.getEngine().helper.getElementIndexByUUID(uuid);
16
- if (index !== null && index >= 0) {
17
- const elem = core.$data.elements[index];
18
- if (elem)
19
- elems.push(elem);
20
- }
21
- });
22
- return deepClone(elems);
23
- }
24
- export function getElement(core, uuid) {
25
- let elem = null;
26
- const index = core.getEngine().helper.getElementIndexByUUID(uuid);
27
- if (index !== null && core.$data.elements[index]) {
28
- elem = deepClone(core.$data.elements[index]);
29
- }
30
- return elem;
31
- }
32
- export function getElementByIndex(core, index) {
33
- let elem = null;
34
- if (index >= 0 && core.$data.elements[index]) {
35
- elem = deepClone(core.$data.elements[index]);
36
- }
37
- return elem;
38
- }
39
- export function updateElement(core, elem) {
40
- var _a;
41
- const _elem = deepClone(elem);
42
- const data = core.getData();
43
- const resourceChangeUUIDs = [];
44
- for (let i = 0; i < data.elements.length; i++) {
45
- if (_elem.uuid === ((_a = data.elements[i]) === null || _a === void 0 ? void 0 : _a.uuid)) {
46
- const result = diffElementResourceChange(data.elements[i], _elem);
47
- if (typeof result === 'string') {
48
- resourceChangeUUIDs.push(result);
49
- }
50
- data.elements[i] = _elem;
51
- core.setData(data);
52
- break;
53
- }
54
- }
55
- core.$emitChangeData();
56
- core.$draw({ resourceChangeUUIDs });
57
- }
58
- export function selectElementByIndex(core, index) {
59
- if (core.$data.elements[index]) {
60
- const uuid = core.$data.elements[index].uuid;
61
- core.getEngine().temp.set('mode', Mode.NULL);
62
- if (typeof uuid === 'string') {
63
- core.getEngine().temp.set('selectedUUID', uuid);
64
- core.getEngine().temp.set('selectedUUIDList', []);
65
- }
66
- core.$draw();
67
- }
68
- }
69
- export function selectElement(core, uuid) {
70
- const index = core.getEngine().helper.getElementIndexByUUID(uuid);
71
- if (typeof index === 'number' && index >= 0) {
72
- core.selectElementByIndex(index);
73
- }
74
- }
75
- export function cancelElementByIndex(core, index) {
76
- if (core.$data.elements[index]) {
77
- const uuid = core.$data.elements[index].uuid;
78
- const selectedUUID = core.getEngine().temp.get('selectedUUID');
79
- if (typeof uuid === 'string' && uuid === selectedUUID) {
80
- core.getEngine().temp.set('mode', Mode.NULL);
81
- core.getEngine().temp.set('selectedUUID', null);
82
- core.getEngine().temp.set('selectedUUIDList', []);
83
- }
84
- core.$draw();
85
- }
86
- }
87
- export function cancelElement(core, uuid) {
88
- const index = core.getEngine().helper.getElementIndexByUUID(uuid);
89
- if (typeof index === 'number' && index >= 0) {
90
- core.cancelElementByIndex(index);
91
- }
92
- }
93
- export function moveUpElement(core, uuid) {
94
- const index = core.getEngine().helper.getElementIndexByUUID(uuid);
95
- if (typeof index === 'number' &&
96
- index >= 0 &&
97
- index < core.$data.elements.length - 1) {
98
- const temp = core.$data.elements[index];
99
- core.$data.elements[index] = core.$data.elements[index + 1];
100
- core.$data.elements[index + 1] = temp;
101
- }
102
- core.$emitChangeData();
103
- core.$draw();
104
- }
105
- export function moveDownElement(core, uuid) {
106
- const index = core.getEngine().helper.getElementIndexByUUID(uuid);
107
- if (typeof index === 'number' &&
108
- index > 0 &&
109
- index < core.$data.elements.length) {
110
- const temp = core.$data.elements[index];
111
- core.$data.elements[index] = core.$data.elements[index - 1];
112
- core.$data.elements[index - 1] = temp;
113
- }
114
- core.$emitChangeData();
115
- core.$draw();
116
- }
117
- export function addElement(core, elem) {
118
- const _elem = deepClone(elem);
119
- _elem.uuid = createUUID();
120
- core.$data.elements.push(_elem);
121
- core.$emitChangeData();
122
- core.$draw();
123
- return _elem.uuid;
124
- }
125
- export function deleteElement(core, uuid) {
126
- const index = core.$getElementHandler().getElementIndex(core.getData(), uuid);
127
- if (index >= 0) {
128
- core.$data.elements.splice(index, 1);
129
- core.$emitChangeData();
130
- core.$draw();
131
- }
132
- }
133
- export function insertElementBefore(core, elem, beforeUUID) {
134
- const index = core.getEngine().helper.getElementIndexByUUID(beforeUUID);
135
- if (index !== null) {
136
- return core.insertElementBeforeIndex(elem, index);
137
- }
138
- return null;
139
- }
140
- export function insertElementBeforeIndex(core, elem, index) {
141
- const _elem = deepClone(elem);
142
- _elem.uuid = createUUID();
143
- if (index >= 0) {
144
- core.$data.elements.splice(index, 0, _elem);
145
- core.$emitChangeData();
146
- core.$draw();
147
- return _elem.uuid;
148
- }
149
- return null;
150
- }
151
- export function insertElementAfter(core, elem, beforeUUID) {
152
- const index = core.getEngine().helper.getElementIndexByUUID(beforeUUID);
153
- if (index !== null) {
154
- return core.insertElementAfterIndex(elem, index);
155
- }
156
- return null;
157
- }
158
- export function insertElementAfterIndex(core, elem, index) {
159
- const _elem = deepClone(elem);
160
- _elem.uuid = createUUID();
161
- if (index >= 0) {
162
- core.$data.elements.splice(index + 1, 0, _elem);
163
- core.$emitChangeData();
164
- core.$draw();
165
- return _elem.uuid;
166
- }
167
- return null;
168
- }
@@ -1,12 +0,0 @@
1
- import { InterfaceHelperPlugin, HelperPluginEventDetail, HelperPluginEventResult } from '@idraw/types';
2
- export declare class HelperPlugin implements Required<InterfaceHelperPlugin> {
3
- readonly name: string;
4
- readonly uuid: string;
5
- constructor();
6
- onHover(detail: HelperPluginEventDetail): void | HelperPluginEventResult;
7
- onPoint(detail: HelperPluginEventDetail): void | HelperPluginEventResult;
8
- onClick(detail: HelperPluginEventDetail): void | HelperPluginEventResult;
9
- onMoveStart(detail: HelperPluginEventDetail): void | HelperPluginEventResult;
10
- onMove(detail: HelperPluginEventDetail): void | HelperPluginEventResult;
11
- onMoveEnd(detail: HelperPluginEventDetail): void | HelperPluginEventResult;
12
- }
@@ -1,16 +0,0 @@
1
- import { createUUID } from '@idraw/util';
2
- export class HelperPlugin {
3
- constructor() {
4
- this.name = 'helper-plugin';
5
- this.uuid = createUUID();
6
- }
7
- onHover(detail) {
8
- if (detail.controller === null) {
9
- }
10
- }
11
- onPoint(detail) { }
12
- onClick(detail) { }
13
- onMoveStart(detail) { }
14
- onMove(detail) { }
15
- onMoveEnd(detail) { }
16
- }
@@ -1 +0,0 @@
1
- export declare function filterScript(html: string): string;
@@ -1,3 +0,0 @@
1
- export function filterScript(html) {
2
- return html.replace(/<script[\s\S]*?<\/script>/ig, '');
3
- }