@leafer-in/interface 1.0.0-rc.9 → 1.0.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/package.json +3 -3
- package/src/editor/IEditBox.ts +3 -25
- package/src/editor/IEditSelect.ts +3 -1
- package/src/editor/IEditor.ts +52 -18
- package/src/flow/index.ts +36 -0
- package/src/index.ts +10 -3
- package/src/scroll/IScrollBar.ts +15 -0
- package/types/index.d.ts +84 -42
- package/src/editor/IEditPoint.ts +0 -9
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@leafer-in/interface",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "@leafer-in/interface",
|
|
5
5
|
"author": "Chao (Leafer) Wan",
|
|
6
6
|
"license": "MIT",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"leaferjs"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@leafer-ui/interface": "1.0.
|
|
29
|
-
"@leafer/interface": "1.0.
|
|
28
|
+
"@leafer-ui/interface": "1.0.1",
|
|
29
|
+
"@leafer/interface": "1.0.1"
|
|
30
30
|
}
|
|
31
31
|
}
|
package/src/editor/IEditBox.ts
CHANGED
|
@@ -1,29 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { IEditor } from '
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
export interface IEditBox extends IGroup {
|
|
1
|
+
import { IEditBoxBase } from '@leafer-ui/interface'
|
|
2
|
+
import { IEditor } from './IEditor'
|
|
3
|
+
export interface IEditBox extends IEditBoxBase {
|
|
6
4
|
|
|
7
5
|
editor: IEditor
|
|
8
|
-
dragging?: boolean
|
|
9
|
-
|
|
10
|
-
circle: IEditPoint
|
|
11
|
-
rect: IRect
|
|
12
|
-
|
|
13
|
-
buttons: IGroup
|
|
14
|
-
|
|
15
|
-
resizePoints: IEditPoint[]
|
|
16
|
-
rotatePoints: IEditPoint[]
|
|
17
|
-
resizeLines: IEditPoint[]
|
|
18
|
-
|
|
19
|
-
readonly flipped: boolean
|
|
20
|
-
readonly flippedX: boolean
|
|
21
|
-
readonly flippedY: boolean
|
|
22
|
-
readonly flippedOne: boolean
|
|
23
|
-
|
|
24
|
-
enterPoint: IEditPoint
|
|
25
|
-
|
|
26
|
-
update(bounds: IBoundsData): void
|
|
27
|
-
onArrow(e: IKeyEvent): void
|
|
28
6
|
|
|
29
7
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IGroup, IBounds } from '@leafer-ui/interface'
|
|
1
|
+
import { IGroup, IUI, IBounds, IPointerEvent } from '@leafer-ui/interface'
|
|
2
2
|
|
|
3
3
|
import { IStroker } from './IStroker'
|
|
4
4
|
import { ISelectArea } from './ISelectArea'
|
|
@@ -16,5 +16,7 @@ export interface IEditSelect extends IGroup {
|
|
|
16
16
|
selectArea: ISelectArea
|
|
17
17
|
bounds: IBounds
|
|
18
18
|
|
|
19
|
+
findUI(e: IPointerEvent): IUI
|
|
20
|
+
findDeepOne(e: IPointerEvent): IUI
|
|
19
21
|
update(): void
|
|
20
22
|
}
|
package/src/editor/IEditor.ts
CHANGED
|
@@ -1,42 +1,62 @@
|
|
|
1
|
-
import { IUI, IPointData, IAround, IDragEvent, IEvent, IEventListenerId,
|
|
1
|
+
import { IUI, IPointData, IAround, IDragEvent, IEvent, IEventListenerId, IMatrixData, IEditorBase, IGroup, IObject, ILayoutBoundsData } from '@leafer-ui/interface'
|
|
2
|
+
|
|
2
3
|
import { IEditBox } from './IEditBox'
|
|
3
4
|
import { IEditSelect } from './IEditSelect'
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
export interface IEditor extends IEditorBase {
|
|
7
|
-
leafList: ILeafList
|
|
8
|
-
|
|
9
8
|
simulateTarget: IUI
|
|
10
9
|
|
|
11
10
|
selector: IEditSelect
|
|
12
11
|
editBox: IEditBox
|
|
13
|
-
editTool
|
|
12
|
+
editTool?: IEditTool
|
|
13
|
+
innerEditor?: IInnerEditor
|
|
14
14
|
|
|
15
|
+
dragStartPoint: IPointData
|
|
16
|
+
dragStartBounds: ILayoutBoundsData
|
|
15
17
|
targetEventIds: IEventListenerId[]
|
|
16
18
|
|
|
19
|
+
checkOpenedGroups(): void
|
|
20
|
+
|
|
17
21
|
listenTargetEvents(): void
|
|
18
22
|
removeTargetEvents(): void
|
|
19
23
|
}
|
|
20
24
|
|
|
21
|
-
export interface IEditTool {
|
|
22
|
-
|
|
25
|
+
export interface IEditTool extends IInnerEditor {
|
|
26
|
+
// 操作
|
|
23
27
|
onMove(e: IEditorMoveEvent): void
|
|
24
28
|
onScale(e: IEditorScaleEvent): void
|
|
25
29
|
onScaleWithDrag?(e: IEditorScaleEvent): void
|
|
26
30
|
onRotate(e: IEditorRotateEvent): void
|
|
27
31
|
onSkew(e: IEditorSkewEvent): void
|
|
28
|
-
update(editor: IEditor): void
|
|
29
32
|
}
|
|
30
33
|
|
|
31
|
-
export
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
export interface IInnerEditor {
|
|
35
|
+
tag: string
|
|
36
|
+
editTarget: IUI
|
|
37
|
+
config: IObject
|
|
38
|
+
|
|
39
|
+
editor: IEditor
|
|
40
|
+
editBox: IEditBox
|
|
41
|
+
view: IGroup
|
|
42
|
+
|
|
43
|
+
eventIds: IEventListenerId[]
|
|
44
|
+
|
|
45
|
+
onCreate(): void
|
|
46
|
+
create(): void
|
|
47
|
+
|
|
48
|
+
// 状态
|
|
49
|
+
onLoad(): void
|
|
50
|
+
load(): void
|
|
51
|
+
|
|
52
|
+
onLoad(): void
|
|
53
|
+
unload(): void
|
|
54
|
+
|
|
55
|
+
onUpdate(): void
|
|
56
|
+
update(): void
|
|
57
|
+
|
|
58
|
+
onDestroy(): void
|
|
59
|
+
destroy(): void
|
|
40
60
|
}
|
|
41
61
|
|
|
42
62
|
export interface IEditorEvent extends IEvent {
|
|
@@ -45,10 +65,23 @@ export interface IEditorEvent extends IEvent {
|
|
|
45
65
|
|
|
46
66
|
readonly value?: IUI | IUI[]
|
|
47
67
|
readonly oldValue?: IUI | IUI[]
|
|
68
|
+
readonly list?: IUI[]
|
|
69
|
+
readonly oldList?: IUI[]
|
|
48
70
|
|
|
49
71
|
readonly worldOrigin?: IPointData
|
|
50
72
|
readonly origin?: IPointData
|
|
51
73
|
}
|
|
74
|
+
|
|
75
|
+
export interface IInnerEditorEvent extends IEditorEvent {
|
|
76
|
+
editTarget: IUI
|
|
77
|
+
innerEditor: IInnerEditor
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export interface IEditorGroupEvent extends IEditorEvent {
|
|
81
|
+
editTarget: IGroup
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
|
|
52
85
|
export interface IEditorMoveEvent extends IEditorEvent {
|
|
53
86
|
readonly moveX: number
|
|
54
87
|
readonly moveY: number
|
|
@@ -60,8 +93,8 @@ export interface IEditorScaleEvent extends IEditorEvent {
|
|
|
60
93
|
readonly scaleY?: number
|
|
61
94
|
transform?: IMatrixData
|
|
62
95
|
|
|
63
|
-
readonly direction?:
|
|
64
|
-
readonly lockRatio?: boolean
|
|
96
|
+
readonly direction?: number
|
|
97
|
+
readonly lockRatio?: boolean | 'corner'
|
|
65
98
|
readonly around?: IAround
|
|
66
99
|
|
|
67
100
|
drag?: IDragEvent
|
|
@@ -69,6 +102,7 @@ export interface IEditorScaleEvent extends IEditorEvent {
|
|
|
69
102
|
|
|
70
103
|
export interface IEditorRotateEvent extends IEditorEvent {
|
|
71
104
|
// rotateOf(origin, rotation)
|
|
105
|
+
transform?: IMatrixData
|
|
72
106
|
readonly rotation?: number
|
|
73
107
|
}
|
|
74
108
|
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IBoundsData, IGap, IFlowAlign, IAxisAlign, IFlowWrap } from '@leafer-ui/interface'
|
|
2
|
+
|
|
3
|
+
export interface IFlowWrapDrawData extends IGapBoundsData {
|
|
4
|
+
list: IFlowDrawData[]
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface IFlowDrawData extends IGapBoundsData {
|
|
8
|
+
start: number
|
|
9
|
+
grow: number
|
|
10
|
+
hasRangeSize?: boolean
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export interface IGapBoundsData extends IBoundsData {
|
|
14
|
+
count: number
|
|
15
|
+
gap: number
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface IFlowAlignToAxisAlignMap {
|
|
19
|
+
[name: string]: IAxisAlign
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface IFlowParseData {
|
|
23
|
+
complex: boolean
|
|
24
|
+
wrap: IFlowWrap
|
|
25
|
+
|
|
26
|
+
xGap: IGap
|
|
27
|
+
yGap: IGap
|
|
28
|
+
isAutoXGap: boolean
|
|
29
|
+
isAutoYGap: boolean
|
|
30
|
+
isFitXGap: boolean
|
|
31
|
+
isFitYGap: boolean
|
|
32
|
+
|
|
33
|
+
contentAlign: IFlowAlign
|
|
34
|
+
rowXAlign: IAxisAlign
|
|
35
|
+
rowYAlign: IAxisAlign
|
|
36
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
export * from '@leafer-ui/interface'
|
|
2
2
|
|
|
3
3
|
// editor
|
|
4
|
-
export { IEditor, IEditTool,
|
|
4
|
+
export { IEditor, IEditTool, IInnerEditor, IEditorEvent, IInnerEditorEvent, IEditorGroupEvent, IEditorMoveEvent, IEditorScaleEvent, IEditorRotateEvent, IEditorSkewEvent } from './editor/IEditor'
|
|
5
5
|
export { IStroker } from './editor/IStroker'
|
|
6
6
|
export { IEditBox } from './editor/IEditBox'
|
|
7
7
|
export { ISelectArea } from './editor/ISelectArea'
|
|
8
8
|
export { IEditSelect } from './editor/IEditSelect'
|
|
9
|
-
export { IEditPoint, IEditPointType } from './editor/IEditPoint'
|
|
10
9
|
|
|
11
10
|
// html
|
|
12
11
|
|
|
13
|
-
export { IHTMLTextData, IHTMLTextInputData } from './html/IHTMLTextData'
|
|
12
|
+
export { IHTMLTextData, IHTMLTextInputData } from './html/IHTMLTextData'
|
|
13
|
+
|
|
14
|
+
// scroll
|
|
15
|
+
|
|
16
|
+
export { IScrollBar, IScrollBarConfig, IScrollBarTheme } from './scroll/IScrollBar'
|
|
17
|
+
|
|
18
|
+
// flow
|
|
19
|
+
|
|
20
|
+
export { IFlowWrapDrawData, IFlowDrawData, IGapBoundsData, IFlowAlignToAxisAlignMap, IFlowParseData } from './flow'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { IBoxInputData, IFourNumber, IGroup } from '@leafer-ui/interface'
|
|
2
|
+
|
|
3
|
+
export interface IScrollBarConfig {
|
|
4
|
+
theme?: IScrollBarTheme
|
|
5
|
+
padding?: IFourNumber
|
|
6
|
+
minSize?: number
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export type IScrollBarTheme = 'light' | 'dark' | IBoxInputData
|
|
10
|
+
|
|
11
|
+
export interface IScrollBar extends IGroup {
|
|
12
|
+
config: IScrollBarConfig
|
|
13
|
+
changeTheme(theme: IScrollBarTheme): void
|
|
14
|
+
update(check: boolean): void
|
|
15
|
+
}
|
package/types/index.d.ts
CHANGED
|
@@ -1,29 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IEditBoxBase, IUI, IRectInputData, IGroup, IBoundsData, IBounds, IPointerEvent, IEditorBase, IPointData, ILayoutBoundsData, IEventListenerId, IObject, IEvent, IMatrixData, IAround, IDragEvent, IImageData, IImageInputData, IFourNumber, IBoxInputData, IAxisAlign, IFlowWrap, IGap, IFlowAlign } from '@leafer-ui/interface';
|
|
2
2
|
export * from '@leafer-ui/interface';
|
|
3
|
-
import { IEditor as IEditor$1 } from '@leafer-in/interface';
|
|
4
3
|
|
|
5
|
-
interface
|
|
6
|
-
|
|
7
|
-
pointType: IEditPointType;
|
|
8
|
-
}
|
|
9
|
-
type IEditPointType = 'rotate' | 'resize';
|
|
10
|
-
|
|
11
|
-
interface IEditBox extends IGroup {
|
|
12
|
-
editor: IEditor$1;
|
|
13
|
-
dragging?: boolean;
|
|
14
|
-
circle: IEditPoint;
|
|
15
|
-
rect: IRect;
|
|
16
|
-
buttons: IGroup;
|
|
17
|
-
resizePoints: IEditPoint[];
|
|
18
|
-
rotatePoints: IEditPoint[];
|
|
19
|
-
resizeLines: IEditPoint[];
|
|
20
|
-
readonly flipped: boolean;
|
|
21
|
-
readonly flippedX: boolean;
|
|
22
|
-
readonly flippedY: boolean;
|
|
23
|
-
readonly flippedOne: boolean;
|
|
24
|
-
enterPoint: IEditPoint;
|
|
25
|
-
update(bounds: IBoundsData): void;
|
|
26
|
-
onArrow(e: IKeyEvent): void;
|
|
4
|
+
interface IEditBox extends IEditBoxBase {
|
|
5
|
+
editor: IEditor;
|
|
27
6
|
}
|
|
28
7
|
|
|
29
8
|
interface IStroker extends IUI {
|
|
@@ -44,46 +23,67 @@ interface IEditSelect extends IGroup {
|
|
|
44
23
|
targetStroker: IStroker;
|
|
45
24
|
selectArea: ISelectArea;
|
|
46
25
|
bounds: IBounds;
|
|
26
|
+
findUI(e: IPointerEvent): IUI;
|
|
27
|
+
findDeepOne(e: IPointerEvent): IUI;
|
|
47
28
|
update(): void;
|
|
48
29
|
}
|
|
49
30
|
|
|
50
31
|
interface IEditor extends IEditorBase {
|
|
51
|
-
leafList: ILeafList;
|
|
52
32
|
simulateTarget: IUI;
|
|
53
33
|
selector: IEditSelect;
|
|
54
34
|
editBox: IEditBox;
|
|
55
|
-
editTool
|
|
35
|
+
editTool?: IEditTool;
|
|
36
|
+
innerEditor?: IInnerEditor;
|
|
37
|
+
dragStartPoint: IPointData;
|
|
38
|
+
dragStartBounds: ILayoutBoundsData;
|
|
56
39
|
targetEventIds: IEventListenerId[];
|
|
40
|
+
checkOpenedGroups(): void;
|
|
57
41
|
listenTargetEvents(): void;
|
|
58
42
|
removeTargetEvents(): void;
|
|
59
43
|
}
|
|
60
|
-
interface IEditTool {
|
|
61
|
-
tag: string;
|
|
44
|
+
interface IEditTool extends IInnerEditor {
|
|
62
45
|
onMove(e: IEditorMoveEvent): void;
|
|
63
46
|
onScale(e: IEditorScaleEvent): void;
|
|
64
47
|
onScaleWithDrag?(e: IEditorScaleEvent): void;
|
|
65
48
|
onRotate(e: IEditorRotateEvent): void;
|
|
66
49
|
onSkew(e: IEditorSkewEvent): void;
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
50
|
+
}
|
|
51
|
+
interface IInnerEditor {
|
|
52
|
+
tag: string;
|
|
53
|
+
editTarget: IUI;
|
|
54
|
+
config: IObject;
|
|
55
|
+
editor: IEditor;
|
|
56
|
+
editBox: IEditBox;
|
|
57
|
+
view: IGroup;
|
|
58
|
+
eventIds: IEventListenerId[];
|
|
59
|
+
onCreate(): void;
|
|
60
|
+
create(): void;
|
|
61
|
+
onLoad(): void;
|
|
62
|
+
load(): void;
|
|
63
|
+
onLoad(): void;
|
|
64
|
+
unload(): void;
|
|
65
|
+
onUpdate(): void;
|
|
66
|
+
update(): void;
|
|
67
|
+
onDestroy(): void;
|
|
68
|
+
destroy(): void;
|
|
78
69
|
}
|
|
79
70
|
interface IEditorEvent extends IEvent {
|
|
80
71
|
readonly target?: IUI;
|
|
81
72
|
readonly editor?: IEditor;
|
|
82
73
|
readonly value?: IUI | IUI[];
|
|
83
74
|
readonly oldValue?: IUI | IUI[];
|
|
75
|
+
readonly list?: IUI[];
|
|
76
|
+
readonly oldList?: IUI[];
|
|
84
77
|
readonly worldOrigin?: IPointData;
|
|
85
78
|
readonly origin?: IPointData;
|
|
86
79
|
}
|
|
80
|
+
interface IInnerEditorEvent extends IEditorEvent {
|
|
81
|
+
editTarget: IUI;
|
|
82
|
+
innerEditor: IInnerEditor;
|
|
83
|
+
}
|
|
84
|
+
interface IEditorGroupEvent extends IEditorEvent {
|
|
85
|
+
editTarget: IGroup;
|
|
86
|
+
}
|
|
87
87
|
interface IEditorMoveEvent extends IEditorEvent {
|
|
88
88
|
readonly moveX: number;
|
|
89
89
|
readonly moveY: number;
|
|
@@ -92,12 +92,13 @@ interface IEditorScaleEvent extends IEditorEvent {
|
|
|
92
92
|
readonly scaleX?: number;
|
|
93
93
|
readonly scaleY?: number;
|
|
94
94
|
transform?: IMatrixData;
|
|
95
|
-
readonly direction?:
|
|
96
|
-
readonly lockRatio?: boolean;
|
|
95
|
+
readonly direction?: number;
|
|
96
|
+
readonly lockRatio?: boolean | 'corner';
|
|
97
97
|
readonly around?: IAround;
|
|
98
98
|
drag?: IDragEvent;
|
|
99
99
|
}
|
|
100
100
|
interface IEditorRotateEvent extends IEditorEvent {
|
|
101
|
+
transform?: IMatrixData;
|
|
101
102
|
readonly rotation?: number;
|
|
102
103
|
}
|
|
103
104
|
interface IEditorSkewEvent extends IEditorEvent {
|
|
@@ -115,4 +116,45 @@ interface IHTMLTextData extends IHTMLTextAttrData, IImageData {
|
|
|
115
116
|
interface IHTMLTextInputData extends IHTMLTextAttrData, IImageInputData {
|
|
116
117
|
}
|
|
117
118
|
|
|
118
|
-
|
|
119
|
+
interface IScrollBarConfig {
|
|
120
|
+
theme?: IScrollBarTheme;
|
|
121
|
+
padding?: IFourNumber;
|
|
122
|
+
minSize?: number;
|
|
123
|
+
}
|
|
124
|
+
type IScrollBarTheme = 'light' | 'dark' | IBoxInputData;
|
|
125
|
+
interface IScrollBar extends IGroup {
|
|
126
|
+
config: IScrollBarConfig;
|
|
127
|
+
changeTheme(theme: IScrollBarTheme): void;
|
|
128
|
+
update(check: boolean): void;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
interface IFlowWrapDrawData extends IGapBoundsData {
|
|
132
|
+
list: IFlowDrawData[];
|
|
133
|
+
}
|
|
134
|
+
interface IFlowDrawData extends IGapBoundsData {
|
|
135
|
+
start: number;
|
|
136
|
+
grow: number;
|
|
137
|
+
hasRangeSize?: boolean;
|
|
138
|
+
}
|
|
139
|
+
interface IGapBoundsData extends IBoundsData {
|
|
140
|
+
count: number;
|
|
141
|
+
gap: number;
|
|
142
|
+
}
|
|
143
|
+
interface IFlowAlignToAxisAlignMap {
|
|
144
|
+
[name: string]: IAxisAlign;
|
|
145
|
+
}
|
|
146
|
+
interface IFlowParseData {
|
|
147
|
+
complex: boolean;
|
|
148
|
+
wrap: IFlowWrap;
|
|
149
|
+
xGap: IGap;
|
|
150
|
+
yGap: IGap;
|
|
151
|
+
isAutoXGap: boolean;
|
|
152
|
+
isAutoYGap: boolean;
|
|
153
|
+
isFitXGap: boolean;
|
|
154
|
+
isFitYGap: boolean;
|
|
155
|
+
contentAlign: IFlowAlign;
|
|
156
|
+
rowXAlign: IAxisAlign;
|
|
157
|
+
rowYAlign: IAxisAlign;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
export type { IEditBox, IEditSelect, IEditTool, IEditor, IEditorEvent, IEditorGroupEvent, IEditorMoveEvent, IEditorRotateEvent, IEditorScaleEvent, IEditorSkewEvent, IFlowAlignToAxisAlignMap, IFlowDrawData, IFlowParseData, IFlowWrapDrawData, IGapBoundsData, IHTMLTextData, IHTMLTextInputData, IInnerEditor, IInnerEditorEvent, IScrollBar, IScrollBarConfig, IScrollBarTheme, ISelectArea, IStroker };
|
package/src/editor/IEditPoint.ts
DELETED