@8btc/whiteboard 0.0.17 → 0.0.19-beta.0
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/adapter/maze.d.ts +2 -0
- package/dist/adapter/maze.js +148 -0
- package/dist/const-Das6lRi-.js +17 -0
- package/dist/index.css +1 -1320
- package/dist/index.d.ts +74 -60
- package/dist/index.js +985 -1553
- package/dist/maze.d.ts +507 -0
- package/package.json +8 -4
- package/dist/index.umd.js +0 -3574
package/dist/index.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export declare class CanvasApi extends CanvasCore {
|
|
|
18
18
|
* 手动创建多个节点
|
|
19
19
|
* 如果你不知道自己在干什么,请使用更高层的封装方法,如 createImageNode
|
|
20
20
|
*/
|
|
21
|
-
createNodes(nodes: INode[]): void;
|
|
21
|
+
createNodes(nodes: INode[], addToHistory: boolean): void;
|
|
22
22
|
/**
|
|
23
23
|
* 根据 ID 获取节点
|
|
24
24
|
*/
|
|
@@ -100,11 +100,19 @@ export declare class CanvasApi extends CanvasCore {
|
|
|
100
100
|
scale?: boolean;
|
|
101
101
|
nodeIds?: string[];
|
|
102
102
|
}): void;
|
|
103
|
+
/**
|
|
104
|
+
* 导出当前状态
|
|
105
|
+
*/
|
|
106
|
+
save(): ICoreState;
|
|
107
|
+
/**
|
|
108
|
+
* 从状态中恢复画布
|
|
109
|
+
*/
|
|
110
|
+
restore(state: ICoreState): void;
|
|
103
111
|
}
|
|
104
112
|
|
|
105
113
|
declare class CanvasCore extends CanvasState_2 {
|
|
106
114
|
#private;
|
|
107
|
-
constructor(el: HTMLDivElement);
|
|
115
|
+
constructor(el: HTMLDivElement, state?: ICoreState);
|
|
108
116
|
/**
|
|
109
117
|
* 获取 CanvasStage 实例
|
|
110
118
|
*/
|
|
@@ -113,10 +121,6 @@ declare class CanvasCore extends CanvasState_2 {
|
|
|
113
121
|
* 获取 CanvasTransformer 实例
|
|
114
122
|
*/
|
|
115
123
|
getCanvasTransformer(): CanvasTransformer;
|
|
116
|
-
/**
|
|
117
|
-
* 发射事件(供内部类使用)
|
|
118
|
-
*/
|
|
119
|
-
emitEvent<StageEvent extends keyof StateEvents>(event: StageEvent, data: StateEvents[StageEvent]): void;
|
|
120
124
|
/**
|
|
121
125
|
* 获取 Konva.Stage 实例
|
|
122
126
|
*/
|
|
@@ -137,18 +141,22 @@ declare class CanvasCore extends CanvasState_2 {
|
|
|
137
141
|
* 设置当前工具类型(内部使用)
|
|
138
142
|
*/
|
|
139
143
|
setToolType(type: ToolType): void;
|
|
144
|
+
/**
|
|
145
|
+
* 根据 ID 获取 Canvas 节点实例
|
|
146
|
+
*/
|
|
147
|
+
getCanvasNodeById(id: string): ICanvasNode | null;
|
|
140
148
|
/**
|
|
141
149
|
* 设置是否可拖拽(内部使用)
|
|
142
150
|
*/
|
|
143
151
|
protected setDraggable(draggable: boolean): void;
|
|
144
|
-
/* Excluded from this release type:
|
|
145
|
-
/* Excluded from this release type:
|
|
152
|
+
/* Excluded from this release type: _setCursor */
|
|
153
|
+
/* Excluded from this release type: _resetCursor */
|
|
146
154
|
/**
|
|
147
155
|
* 获取当前 Stage 缩放比例
|
|
148
156
|
*/
|
|
149
157
|
getStageScale(): number;
|
|
150
|
-
/* Excluded from this release type:
|
|
151
|
-
protected createNodes(nodes: INode[]): void;
|
|
158
|
+
/* Excluded from this release type: _updateViewport */
|
|
159
|
+
protected createNodes(nodes: INode[], addToHistory: boolean): void;
|
|
152
160
|
/**
|
|
153
161
|
* 创建图片标注节点(内部使用)
|
|
154
162
|
*/
|
|
@@ -164,26 +172,28 @@ declare class CanvasCore extends CanvasState_2 {
|
|
|
164
172
|
width: number;
|
|
165
173
|
height: number;
|
|
166
174
|
}): void;
|
|
167
|
-
/* Excluded from this release type:
|
|
168
|
-
/* Excluded from this release type:
|
|
169
|
-
/* Excluded from this release type:
|
|
170
|
-
/* Excluded from this release type:
|
|
171
|
-
/* Excluded from this release type:
|
|
175
|
+
/* Excluded from this release type: _findImageAtPosition */
|
|
176
|
+
/* Excluded from this release type: _setDrawingPosition */
|
|
177
|
+
/* Excluded from this release type: _updateDrawingPosition */
|
|
178
|
+
/* Excluded from this release type: _createDraftNode */
|
|
179
|
+
/* Excluded from this release type: _updateDraftNode */
|
|
180
|
+
/* Excluded from this release type: _finalizeDraftNode */
|
|
181
|
+
/* Excluded from this release type: _createSelectRect */
|
|
182
|
+
_updateSelectRect(): void;
|
|
183
|
+
/* Excluded from this release type: _finalizeSelectRect */
|
|
184
|
+
/* Excluded from this release type: _selectNodes */
|
|
172
185
|
/* Excluded from this release type: deleteNodes */
|
|
173
186
|
/* Excluded from this release type: deleteSelectedNodes */
|
|
174
187
|
/**
|
|
175
188
|
* 销毁 canvas
|
|
176
189
|
*/
|
|
177
190
|
dispose(): void;
|
|
178
|
-
|
|
179
|
-
* 从元素同步节点数据(供节点类内部使用)
|
|
180
|
-
*/
|
|
181
|
-
_syncNodeFromElement(nodeId: string, updates: Partial<INode>): void;
|
|
191
|
+
/* Excluded from this release type: _rebuildStateAfterNodeChange */
|
|
182
192
|
/**
|
|
183
193
|
* 实现父类的状态同步方法
|
|
184
194
|
* 当 undo/redo 时被调用
|
|
185
195
|
*/
|
|
186
|
-
protected
|
|
196
|
+
protected _renderCanvas(state: ICoreState): void;
|
|
187
197
|
}
|
|
188
198
|
|
|
189
199
|
/**
|
|
@@ -227,11 +237,8 @@ declare class CanvasStage {
|
|
|
227
237
|
* CanvasState 类负责管理画布的状态
|
|
228
238
|
* 包括历史记录(past/present/future)和状态监听
|
|
229
239
|
*/
|
|
230
|
-
declare class CanvasState_2 {
|
|
231
|
-
private
|
|
232
|
-
private _present;
|
|
233
|
-
private _future;
|
|
234
|
-
private _emitter;
|
|
240
|
+
declare abstract class CanvasState_2 {
|
|
241
|
+
#private;
|
|
235
242
|
constructor(initialState: ICoreState);
|
|
236
243
|
/**
|
|
237
244
|
* 获取当前状态
|
|
@@ -257,10 +264,7 @@ declare class CanvasState_2 {
|
|
|
257
264
|
* 取消订阅状态事件
|
|
258
265
|
*/
|
|
259
266
|
off<K extends keyof StateEvents>(event: K, handler: (data: StateEvents[K]) => void): void;
|
|
260
|
-
|
|
261
|
-
* 发送事件
|
|
262
|
-
*/
|
|
263
|
-
protected emit<K extends keyof StateEvents>(event: K, data: StateEvents[K]): void;
|
|
267
|
+
/* Excluded from this release type: _emit */
|
|
264
268
|
/**
|
|
265
269
|
* 撤销操作
|
|
266
270
|
*/
|
|
@@ -278,12 +282,12 @@ declare class CanvasState_2 {
|
|
|
278
282
|
* @param partial - 部分状态更新
|
|
279
283
|
* @param addToHistory - 是否添加到历史记录
|
|
280
284
|
*/
|
|
281
|
-
protected _updateState(partial: Partial<ICoreState>, addToHistory
|
|
285
|
+
protected _updateState(partial: Partial<ICoreState>, addToHistory: boolean): void;
|
|
282
286
|
/**
|
|
283
|
-
*
|
|
287
|
+
* 同步状态到 canvas 系统(由子类实现)
|
|
284
288
|
* @param _state - 要同步的状态
|
|
285
289
|
*/
|
|
286
|
-
protected
|
|
290
|
+
protected abstract _renderCanvas(_state: ICoreState): void;
|
|
287
291
|
/**
|
|
288
292
|
* 清理资源
|
|
289
293
|
*/
|
|
@@ -327,6 +331,17 @@ declare class CanvasTransformer {
|
|
|
327
331
|
destroy(): void;
|
|
328
332
|
}
|
|
329
333
|
|
|
334
|
+
declare interface CommonNodeConfig<T = NodeType> {
|
|
335
|
+
$_type: T;
|
|
336
|
+
$_line?: "solid" | "dashed" | "dotted";
|
|
337
|
+
$_size?: "small" | "medium" | "large" | "extra-large";
|
|
338
|
+
$_fill?: "none" | "semi" | "solid";
|
|
339
|
+
$_animated?: boolean;
|
|
340
|
+
$_arrowStartHead?: "none" | "arrow";
|
|
341
|
+
$_arrowEndHead?: "none" | "arrow";
|
|
342
|
+
$_parentId?: string;
|
|
343
|
+
}
|
|
344
|
+
|
|
330
345
|
declare type HistoryState<T> = {
|
|
331
346
|
past: T[];
|
|
332
347
|
present: T;
|
|
@@ -334,8 +349,9 @@ declare type HistoryState<T> = {
|
|
|
334
349
|
};
|
|
335
350
|
|
|
336
351
|
export declare interface ICanvasNode {
|
|
352
|
+
getID(): string;
|
|
337
353
|
getElement(): default_2.Shape | default_2.Group;
|
|
338
|
-
|
|
354
|
+
getConfig(): INode;
|
|
339
355
|
updateNode(node: Partial<INode>): void;
|
|
340
356
|
destroy(): void;
|
|
341
357
|
}
|
|
@@ -343,34 +359,32 @@ export declare interface ICanvasNode {
|
|
|
343
359
|
export declare interface ICoreState {
|
|
344
360
|
viewport: IViewport;
|
|
345
361
|
toolType: ToolType;
|
|
346
|
-
nodes?: INode[];
|
|
347
362
|
selectedNodeIds?: string[];
|
|
363
|
+
nodes?: INode[];
|
|
348
364
|
}
|
|
349
365
|
|
|
350
|
-
export declare interface INode<T = NodeType> {
|
|
366
|
+
export declare interface INode<T = NodeType> extends default_2.ShapeConfig, CommonNodeConfig<T> {
|
|
351
367
|
id: string;
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
368
|
+
x: number;
|
|
369
|
+
y: number;
|
|
370
|
+
$_imageUrl?: string;
|
|
371
|
+
$_markerNumber?: number;
|
|
372
|
+
$_bounds?: {
|
|
355
373
|
x: number;
|
|
356
374
|
y: number;
|
|
357
|
-
width
|
|
358
|
-
height
|
|
359
|
-
rotation?: number;
|
|
360
|
-
visible?: boolean;
|
|
361
|
-
points?: [number, number][];
|
|
375
|
+
width: number;
|
|
376
|
+
height: number;
|
|
362
377
|
};
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
378
|
+
$_relativeBox?: {
|
|
379
|
+
start: {
|
|
380
|
+
ratioX: number;
|
|
381
|
+
ratioY: number;
|
|
382
|
+
};
|
|
383
|
+
end: {
|
|
384
|
+
ratioX: number;
|
|
385
|
+
ratioY: number;
|
|
386
|
+
};
|
|
372
387
|
};
|
|
373
|
-
meta: Record<string, any>;
|
|
374
388
|
}
|
|
375
389
|
|
|
376
390
|
declare interface IViewport {
|
|
@@ -391,12 +405,6 @@ export declare const NODE_NAMES: {
|
|
|
391
405
|
|
|
392
406
|
export declare type NodeType = "rectangle" | "image" | "image-marker";
|
|
393
407
|
|
|
394
|
-
export declare function PureCanvas({ setApi }: PureCanvasProps): JSX.Element;
|
|
395
|
-
|
|
396
|
-
declare interface PureCanvasProps {
|
|
397
|
-
setApi?: (core: CanvasApi) => void;
|
|
398
|
-
}
|
|
399
|
-
|
|
400
408
|
declare type StageConfig = {
|
|
401
409
|
container: HTMLDivElement;
|
|
402
410
|
width: number;
|
|
@@ -417,7 +425,7 @@ declare type StateEvents = {
|
|
|
417
425
|
"viewport:scale:change": number;
|
|
418
426
|
"transformer:positionChange": TransformerPosition | null;
|
|
419
427
|
"toolType:change": ICoreState["toolType"];
|
|
420
|
-
"nodes:created":
|
|
428
|
+
"nodes:created": INode[];
|
|
421
429
|
"nodes:deleted": INode[];
|
|
422
430
|
"nodes:selected": string[];
|
|
423
431
|
};
|
|
@@ -452,4 +460,10 @@ declare type ViewportState = {
|
|
|
452
460
|
height?: number;
|
|
453
461
|
};
|
|
454
462
|
|
|
463
|
+
export declare function Whiteboard({ setApi }: WhiteboardProps): JSX.Element;
|
|
464
|
+
|
|
465
|
+
declare interface WhiteboardProps {
|
|
466
|
+
setApi?: (core: CanvasApi) => void;
|
|
467
|
+
}
|
|
468
|
+
|
|
455
469
|
export { }
|