jvs-draw 1.0.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.
Files changed (66) hide show
  1. package/README.md +66 -0
  2. package/dist/App.vue.d.ts +2 -0
  3. package/dist/components/BoardName.vue.d.ts +5 -0
  4. package/dist/components/ContextMenu.vue.d.ts +18 -0
  5. package/dist/components/ExcalidrawCanvas.vue.d.ts +13 -0
  6. package/dist/components/FloatingPopovers.vue.d.ts +2 -0
  7. package/dist/components/FloatingPropertiesBar.vue.d.ts +7 -0
  8. package/dist/components/Footer.vue.d.ts +2 -0
  9. package/dist/components/HelpDialog.vue.d.ts +2 -0
  10. package/dist/components/PropertiesPanel.vue.d.ts +11 -0
  11. package/dist/components/Toolbar.vue.d.ts +2 -0
  12. package/dist/components/panelCom/alignStyle.vue.d.ts +2 -0
  13. package/dist/components/panelCom/arrowStyle.vue.d.ts +2 -0
  14. package/dist/components/panelCom/borderStyle.vue.d.ts +2 -0
  15. package/dist/components/panelCom/colorStyle.vue.d.ts +11 -0
  16. package/dist/components/panelCom/fillStyle.vue.d.ts +2 -0
  17. package/dist/components/panelCom/lineStyle.vue.d.ts +2 -0
  18. package/dist/components/panelCom/textStyle.vue.d.ts +2 -0
  19. package/dist/core/element.d.ts +25 -0
  20. package/dist/core/renderer.d.ts +7 -0
  21. package/dist/elbow/algorithms/a-star.d.ts +10 -0
  22. package/dist/elbow/algorithms/data-structures/graph.d.ts +14 -0
  23. package/dist/elbow/algorithms/data-structures/index.d.ts +2 -0
  24. package/dist/elbow/algorithms/data-structures/priority-queue.d.ts +16 -0
  25. package/dist/elbow/algorithms/index.d.ts +2 -0
  26. package/dist/elbow/constants/default.d.ts +10 -0
  27. package/dist/elbow/constants/index.d.ts +4 -0
  28. package/dist/elbow/constants/media.d.ts +6 -0
  29. package/dist/elbow/constants/property.d.ts +5 -0
  30. package/dist/elbow/constants/resize.d.ts +10 -0
  31. package/dist/elbow/core.d.ts +37 -0
  32. package/dist/elbow/utils/elbow-line-route.d.ts +38 -0
  33. package/dist/elbow/utils/index.d.ts +4 -0
  34. package/dist/elbow/utils/line-path.d.ts +7 -0
  35. package/dist/elbow/utils/math.d.ts +3 -0
  36. package/dist/elbow/utils/vector.d.ts +6 -0
  37. package/dist/index.d.ts +3 -0
  38. package/dist/jvs-draw.css +1 -0
  39. package/dist/jvs-draw.es.js +6810 -0
  40. package/dist/jvs-draw.umd.js +6 -0
  41. package/dist/jvs-ui-public/icon/icon.ico +0 -0
  42. package/dist/jvs-ui-public/icon/logo.ico +0 -0
  43. package/dist/jvs-ui-public/icon-fonts/iconfont.css +627 -0
  44. package/dist/jvs-ui-public/icon-fonts/iconfont.js +1 -0
  45. package/dist/jvs-ui-public/icon-fonts/iconfont.json +1080 -0
  46. package/dist/jvs-ui-public/icon-fonts/iconfont.ttf +0 -0
  47. package/dist/jvs-ui-public/icon-fonts/iconfont.woff +0 -0
  48. package/dist/jvs-ui-public/icon-fonts/iconfont.woff2 +0 -0
  49. package/dist/jvs-ui-public/public-fonts/iconfont.css +265 -0
  50. package/dist/jvs-ui-public/public-fonts/iconfont.js +1 -0
  51. package/dist/jvs-ui-public/public-fonts/iconfont.json +443 -0
  52. package/dist/jvs-ui-public/public-fonts/iconfont.svg +143 -0
  53. package/dist/jvs-ui-public/public-fonts/iconfont.ttf +0 -0
  54. package/dist/jvs-ui-public/public-fonts/iconfont.woff +0 -0
  55. package/dist/jvs-ui-public/public-fonts/iconfont.woff2 +0 -0
  56. package/dist/main.d.ts +0 -0
  57. package/dist/store/index.d.ts +1518 -0
  58. package/dist/types/element.d.ts +128 -0
  59. package/dist/utils/calcDomHeight.d.ts +6 -0
  60. package/dist/utils/image.d.ts +10 -0
  61. package/dist/utils/isPointOnElement.d.ts +1 -0
  62. package/dist/utils/math.d.ts +71 -0
  63. package/dist/utils/routing.d.ts +3 -0
  64. package/dist/utils/utils.d.ts +2 -0
  65. package/dist/vite.svg +1 -0
  66. package/package.json +51 -0
@@ -0,0 +1,1518 @@
1
+ import { ExcalidrawElement } from '../types/element';
2
+ export declare const useExcalidrawStore: import('pinia').StoreDefinition<"excalidraw", {
3
+ elements: ExcalidrawElement[];
4
+ history: ExcalidrawElement[][];
5
+ historyStep: number;
6
+ appState: {
7
+ lockedTool: boolean;
8
+ viewBackgroundColor: string;
9
+ scrollX: number;
10
+ scrollY: number;
11
+ zoom: number;
12
+ activeTool: string;
13
+ activeToolType: string;
14
+ currentItemStrokeColor: string;
15
+ currentItemStrokeOpacity: number;
16
+ currentItemBackgroundColor: string;
17
+ currentItemFillStyle: "solid";
18
+ currentItemStrokeWidth: number;
19
+ currentItemStrokeStyle: "solid";
20
+ currentItemRoughness: number;
21
+ currentItemRoundness: number;
22
+ currentItemOpacity: number;
23
+ currentItemBackgroundOpacity: number;
24
+ currentItemFontColor: string;
25
+ currentItemFontSize: number;
26
+ currentItemFontFamily: string;
27
+ currentItemFontBgColor: string;
28
+ currentItemTextAlign: "left" | "center" | "right";
29
+ currentItemVerticalAlign: "top" | "middle" | "bottom";
30
+ currentItemIsBold: boolean;
31
+ currentItemIsItalic: boolean;
32
+ currentItemIsUnderline: boolean;
33
+ currentItemIsStrikethrough: boolean;
34
+ currentItemArrowType: "sharp" | "round";
35
+ selectedElementIds: Record<string, boolean>;
36
+ showHelp: boolean;
37
+ viewLocked: boolean;
38
+ lastActiveTool: string | null;
39
+ name: string;
40
+ isDraggingElement: boolean;
41
+ isBoxSelecting: boolean;
42
+ showGrid: boolean;
43
+ gridType: string;
44
+ isPropertiesPanelOpen: boolean;
45
+ floatingToolbarOffset: {
46
+ x: number;
47
+ y: number;
48
+ };
49
+ useWheelZoom: boolean;
50
+ rightClickPan: boolean;
51
+ autoSnap: boolean;
52
+ alignmentGuides: boolean;
53
+ showContainerName: boolean;
54
+ };
55
+ }, {
56
+ shouldShowFloatingToolbar: (state: {
57
+ elements: ({
58
+ type: "rectangle";
59
+ id: string;
60
+ x: number;
61
+ y: number;
62
+ width: number;
63
+ height: number;
64
+ angle: number;
65
+ strokeColor: string;
66
+ backgroundColor: string;
67
+ fillStyle: import('../types/element').FillStyle;
68
+ strokeWidth: number;
69
+ strokeStyle: import('../types/element').StrokeStyle;
70
+ roughness: number;
71
+ opacity: number;
72
+ strokeOpacity: number;
73
+ roundness: number;
74
+ backgroundOpacity: number;
75
+ fontSize: number;
76
+ fontFamily: string;
77
+ fontColor: string;
78
+ fontBgColor: string;
79
+ textAlign: "left" | "center" | "right";
80
+ verticalAlign: "top" | "middle" | "bottom";
81
+ isBold: boolean;
82
+ isItalic: boolean;
83
+ isUnderline: boolean;
84
+ isStrikethrough: boolean;
85
+ seed: number;
86
+ version: number;
87
+ isDeleted: boolean;
88
+ groupIds: readonly string[];
89
+ updated: number;
90
+ link: string | null;
91
+ locked: boolean;
92
+ isFlippedHorizontal?: boolean | undefined;
93
+ isFlippedVertical?: boolean | undefined;
94
+ isAspectRatioLocked?: boolean | undefined;
95
+ frameId: string | null;
96
+ } | {
97
+ type: "ellipse";
98
+ id: string;
99
+ x: number;
100
+ y: number;
101
+ width: number;
102
+ height: number;
103
+ angle: number;
104
+ strokeColor: string;
105
+ backgroundColor: string;
106
+ fillStyle: import('../types/element').FillStyle;
107
+ strokeWidth: number;
108
+ strokeStyle: import('../types/element').StrokeStyle;
109
+ roughness: number;
110
+ opacity: number;
111
+ strokeOpacity: number;
112
+ roundness: number;
113
+ backgroundOpacity: number;
114
+ fontSize: number;
115
+ fontFamily: string;
116
+ fontColor: string;
117
+ fontBgColor: string;
118
+ textAlign: "left" | "center" | "right";
119
+ verticalAlign: "top" | "middle" | "bottom";
120
+ isBold: boolean;
121
+ isItalic: boolean;
122
+ isUnderline: boolean;
123
+ isStrikethrough: boolean;
124
+ seed: number;
125
+ version: number;
126
+ isDeleted: boolean;
127
+ groupIds: readonly string[];
128
+ updated: number;
129
+ link: string | null;
130
+ locked: boolean;
131
+ isFlippedHorizontal?: boolean | undefined;
132
+ isFlippedVertical?: boolean | undefined;
133
+ isAspectRatioLocked?: boolean | undefined;
134
+ frameId: string | null;
135
+ } | {
136
+ type: "diamond";
137
+ id: string;
138
+ x: number;
139
+ y: number;
140
+ width: number;
141
+ height: number;
142
+ angle: number;
143
+ strokeColor: string;
144
+ backgroundColor: string;
145
+ fillStyle: import('../types/element').FillStyle;
146
+ strokeWidth: number;
147
+ strokeStyle: import('../types/element').StrokeStyle;
148
+ roughness: number;
149
+ opacity: number;
150
+ strokeOpacity: number;
151
+ roundness: number;
152
+ backgroundOpacity: number;
153
+ fontSize: number;
154
+ fontFamily: string;
155
+ fontColor: string;
156
+ fontBgColor: string;
157
+ textAlign: "left" | "center" | "right";
158
+ verticalAlign: "top" | "middle" | "bottom";
159
+ isBold: boolean;
160
+ isItalic: boolean;
161
+ isUnderline: boolean;
162
+ isStrikethrough: boolean;
163
+ seed: number;
164
+ version: number;
165
+ isDeleted: boolean;
166
+ groupIds: readonly string[];
167
+ updated: number;
168
+ link: string | null;
169
+ locked: boolean;
170
+ isFlippedHorizontal?: boolean | undefined;
171
+ isFlippedVertical?: boolean | undefined;
172
+ isAspectRatioLocked?: boolean | undefined;
173
+ frameId: string | null;
174
+ } | {
175
+ type: "square";
176
+ id: string;
177
+ x: number;
178
+ y: number;
179
+ width: number;
180
+ height: number;
181
+ angle: number;
182
+ strokeColor: string;
183
+ backgroundColor: string;
184
+ fillStyle: import('../types/element').FillStyle;
185
+ strokeWidth: number;
186
+ strokeStyle: import('../types/element').StrokeStyle;
187
+ roughness: number;
188
+ opacity: number;
189
+ strokeOpacity: number;
190
+ roundness: number;
191
+ backgroundOpacity: number;
192
+ fontSize: number;
193
+ fontFamily: string;
194
+ fontColor: string;
195
+ fontBgColor: string;
196
+ textAlign: "left" | "center" | "right";
197
+ verticalAlign: "top" | "middle" | "bottom";
198
+ isBold: boolean;
199
+ isItalic: boolean;
200
+ isUnderline: boolean;
201
+ isStrikethrough: boolean;
202
+ seed: number;
203
+ version: number;
204
+ isDeleted: boolean;
205
+ groupIds: readonly string[];
206
+ updated: number;
207
+ link: string | null;
208
+ locked: boolean;
209
+ isFlippedHorizontal?: boolean | undefined;
210
+ isFlippedVertical?: boolean | undefined;
211
+ isAspectRatioLocked?: boolean | undefined;
212
+ frameId: string | null;
213
+ } | {
214
+ type: "star";
215
+ id: string;
216
+ x: number;
217
+ y: number;
218
+ width: number;
219
+ height: number;
220
+ angle: number;
221
+ strokeColor: string;
222
+ backgroundColor: string;
223
+ fillStyle: import('../types/element').FillStyle;
224
+ strokeWidth: number;
225
+ strokeStyle: import('../types/element').StrokeStyle;
226
+ roughness: number;
227
+ opacity: number;
228
+ strokeOpacity: number;
229
+ roundness: number;
230
+ backgroundOpacity: number;
231
+ fontSize: number;
232
+ fontFamily: string;
233
+ fontColor: string;
234
+ fontBgColor: string;
235
+ textAlign: "left" | "center" | "right";
236
+ verticalAlign: "top" | "middle" | "bottom";
237
+ isBold: boolean;
238
+ isItalic: boolean;
239
+ isUnderline: boolean;
240
+ isStrikethrough: boolean;
241
+ seed: number;
242
+ version: number;
243
+ isDeleted: boolean;
244
+ groupIds: readonly string[];
245
+ updated: number;
246
+ link: string | null;
247
+ locked: boolean;
248
+ isFlippedHorizontal?: boolean | undefined;
249
+ isFlippedVertical?: boolean | undefined;
250
+ isAspectRatioLocked?: boolean | undefined;
251
+ frameId: string | null;
252
+ } | {
253
+ type: "circle";
254
+ id: string;
255
+ x: number;
256
+ y: number;
257
+ width: number;
258
+ height: number;
259
+ angle: number;
260
+ strokeColor: string;
261
+ backgroundColor: string;
262
+ fillStyle: import('../types/element').FillStyle;
263
+ strokeWidth: number;
264
+ strokeStyle: import('../types/element').StrokeStyle;
265
+ roughness: number;
266
+ opacity: number;
267
+ strokeOpacity: number;
268
+ roundness: number;
269
+ backgroundOpacity: number;
270
+ fontSize: number;
271
+ fontFamily: string;
272
+ fontColor: string;
273
+ fontBgColor: string;
274
+ textAlign: "left" | "center" | "right";
275
+ verticalAlign: "top" | "middle" | "bottom";
276
+ isBold: boolean;
277
+ isItalic: boolean;
278
+ isUnderline: boolean;
279
+ isStrikethrough: boolean;
280
+ seed: number;
281
+ version: number;
282
+ isDeleted: boolean;
283
+ groupIds: readonly string[];
284
+ updated: number;
285
+ link: string | null;
286
+ locked: boolean;
287
+ isFlippedHorizontal?: boolean | undefined;
288
+ isFlippedVertical?: boolean | undefined;
289
+ isAspectRatioLocked?: boolean | undefined;
290
+ frameId: string | null;
291
+ } | {
292
+ type: "cylinder";
293
+ id: string;
294
+ x: number;
295
+ y: number;
296
+ width: number;
297
+ height: number;
298
+ angle: number;
299
+ strokeColor: string;
300
+ backgroundColor: string;
301
+ fillStyle: import('../types/element').FillStyle;
302
+ strokeWidth: number;
303
+ strokeStyle: import('../types/element').StrokeStyle;
304
+ roughness: number;
305
+ opacity: number;
306
+ strokeOpacity: number;
307
+ roundness: number;
308
+ backgroundOpacity: number;
309
+ fontSize: number;
310
+ fontFamily: string;
311
+ fontColor: string;
312
+ fontBgColor: string;
313
+ textAlign: "left" | "center" | "right";
314
+ verticalAlign: "top" | "middle" | "bottom";
315
+ isBold: boolean;
316
+ isItalic: boolean;
317
+ isUnderline: boolean;
318
+ isStrikethrough: boolean;
319
+ seed: number;
320
+ version: number;
321
+ isDeleted: boolean;
322
+ groupIds: readonly string[];
323
+ updated: number;
324
+ link: string | null;
325
+ locked: boolean;
326
+ isFlippedHorizontal?: boolean | undefined;
327
+ isFlippedVertical?: boolean | undefined;
328
+ isAspectRatioLocked?: boolean | undefined;
329
+ frameId: string | null;
330
+ } | {
331
+ type: "process";
332
+ id: string;
333
+ x: number;
334
+ y: number;
335
+ width: number;
336
+ height: number;
337
+ angle: number;
338
+ strokeColor: string;
339
+ backgroundColor: string;
340
+ fillStyle: import('../types/element').FillStyle;
341
+ strokeWidth: number;
342
+ strokeStyle: import('../types/element').StrokeStyle;
343
+ roughness: number;
344
+ opacity: number;
345
+ strokeOpacity: number;
346
+ roundness: number;
347
+ backgroundOpacity: number;
348
+ fontSize: number;
349
+ fontFamily: string;
350
+ fontColor: string;
351
+ fontBgColor: string;
352
+ textAlign: "left" | "center" | "right";
353
+ verticalAlign: "top" | "middle" | "bottom";
354
+ isBold: boolean;
355
+ isItalic: boolean;
356
+ isUnderline: boolean;
357
+ isStrikethrough: boolean;
358
+ seed: number;
359
+ version: number;
360
+ isDeleted: boolean;
361
+ groupIds: readonly string[];
362
+ updated: number;
363
+ link: string | null;
364
+ locked: boolean;
365
+ isFlippedHorizontal?: boolean | undefined;
366
+ isFlippedVertical?: boolean | undefined;
367
+ isAspectRatioLocked?: boolean | undefined;
368
+ frameId: string | null;
369
+ } | {
370
+ type: "decision";
371
+ id: string;
372
+ x: number;
373
+ y: number;
374
+ width: number;
375
+ height: number;
376
+ angle: number;
377
+ strokeColor: string;
378
+ backgroundColor: string;
379
+ fillStyle: import('../types/element').FillStyle;
380
+ strokeWidth: number;
381
+ strokeStyle: import('../types/element').StrokeStyle;
382
+ roughness: number;
383
+ opacity: number;
384
+ strokeOpacity: number;
385
+ roundness: number;
386
+ backgroundOpacity: number;
387
+ fontSize: number;
388
+ fontFamily: string;
389
+ fontColor: string;
390
+ fontBgColor: string;
391
+ textAlign: "left" | "center" | "right";
392
+ verticalAlign: "top" | "middle" | "bottom";
393
+ isBold: boolean;
394
+ isItalic: boolean;
395
+ isUnderline: boolean;
396
+ isStrikethrough: boolean;
397
+ seed: number;
398
+ version: number;
399
+ isDeleted: boolean;
400
+ groupIds: readonly string[];
401
+ updated: number;
402
+ link: string | null;
403
+ locked: boolean;
404
+ isFlippedHorizontal?: boolean | undefined;
405
+ isFlippedVertical?: boolean | undefined;
406
+ isAspectRatioLocked?: boolean | undefined;
407
+ frameId: string | null;
408
+ } | {
409
+ type: "trapezoid";
410
+ id: string;
411
+ x: number;
412
+ y: number;
413
+ width: number;
414
+ height: number;
415
+ angle: number;
416
+ strokeColor: string;
417
+ backgroundColor: string;
418
+ fillStyle: import('../types/element').FillStyle;
419
+ strokeWidth: number;
420
+ strokeStyle: import('../types/element').StrokeStyle;
421
+ roughness: number;
422
+ opacity: number;
423
+ strokeOpacity: number;
424
+ roundness: number;
425
+ backgroundOpacity: number;
426
+ fontSize: number;
427
+ fontFamily: string;
428
+ fontColor: string;
429
+ fontBgColor: string;
430
+ textAlign: "left" | "center" | "right";
431
+ verticalAlign: "top" | "middle" | "bottom";
432
+ isBold: boolean;
433
+ isItalic: boolean;
434
+ isUnderline: boolean;
435
+ isStrikethrough: boolean;
436
+ seed: number;
437
+ version: number;
438
+ isDeleted: boolean;
439
+ groupIds: readonly string[];
440
+ updated: number;
441
+ link: string | null;
442
+ locked: boolean;
443
+ isFlippedHorizontal?: boolean | undefined;
444
+ isFlippedVertical?: boolean | undefined;
445
+ isAspectRatioLocked?: boolean | undefined;
446
+ frameId: string | null;
447
+ } | {
448
+ type: "parallelogram";
449
+ id: string;
450
+ x: number;
451
+ y: number;
452
+ width: number;
453
+ height: number;
454
+ angle: number;
455
+ strokeColor: string;
456
+ backgroundColor: string;
457
+ fillStyle: import('../types/element').FillStyle;
458
+ strokeWidth: number;
459
+ strokeStyle: import('../types/element').StrokeStyle;
460
+ roughness: number;
461
+ opacity: number;
462
+ strokeOpacity: number;
463
+ roundness: number;
464
+ backgroundOpacity: number;
465
+ fontSize: number;
466
+ fontFamily: string;
467
+ fontColor: string;
468
+ fontBgColor: string;
469
+ textAlign: "left" | "center" | "right";
470
+ verticalAlign: "top" | "middle" | "bottom";
471
+ isBold: boolean;
472
+ isItalic: boolean;
473
+ isUnderline: boolean;
474
+ isStrikethrough: boolean;
475
+ seed: number;
476
+ version: number;
477
+ isDeleted: boolean;
478
+ groupIds: readonly string[];
479
+ updated: number;
480
+ link: string | null;
481
+ locked: boolean;
482
+ isFlippedHorizontal?: boolean | undefined;
483
+ isFlippedVertical?: boolean | undefined;
484
+ isAspectRatioLocked?: boolean | undefined;
485
+ frameId: string | null;
486
+ } | {
487
+ type: "text";
488
+ text: string;
489
+ baseline: number;
490
+ containerId: string | null;
491
+ originalText: string;
492
+ autoResize: boolean;
493
+ lineHeight: number;
494
+ id: string;
495
+ x: number;
496
+ y: number;
497
+ width: number;
498
+ height: number;
499
+ angle: number;
500
+ strokeColor: string;
501
+ backgroundColor: string;
502
+ fillStyle: import('../types/element').FillStyle;
503
+ strokeWidth: number;
504
+ strokeStyle: import('../types/element').StrokeStyle;
505
+ roughness: number;
506
+ opacity: number;
507
+ strokeOpacity: number;
508
+ roundness: number;
509
+ backgroundOpacity: number;
510
+ fontSize: number;
511
+ fontFamily: string;
512
+ fontColor: string;
513
+ fontBgColor: string;
514
+ textAlign: "left" | "center" | "right";
515
+ verticalAlign: "top" | "middle" | "bottom";
516
+ isBold: boolean;
517
+ isItalic: boolean;
518
+ isUnderline: boolean;
519
+ isStrikethrough: boolean;
520
+ seed: number;
521
+ version: number;
522
+ isDeleted: boolean;
523
+ groupIds: readonly string[];
524
+ updated: number;
525
+ link: string | null;
526
+ locked: boolean;
527
+ isFlippedHorizontal?: boolean | undefined;
528
+ isFlippedVertical?: boolean | undefined;
529
+ isAspectRatioLocked?: boolean | undefined;
530
+ frameId: string | null;
531
+ } | {
532
+ type: "line" | "arrow";
533
+ points: readonly (readonly [number, number])[];
534
+ lastCommittedPoint: readonly [number, number] | null;
535
+ startArrowhead: string | null;
536
+ endArrowhead: string | null;
537
+ startBinding: {
538
+ elementId: string;
539
+ focus: number;
540
+ gap: number;
541
+ fixedPoint?: [number, number] | undefined;
542
+ isBorder?: boolean | undefined;
543
+ } | null;
544
+ endBinding: {
545
+ elementId: string;
546
+ focus: number;
547
+ gap: number;
548
+ fixedPoint?: [number, number] | undefined;
549
+ isBorder?: boolean | undefined;
550
+ } | null;
551
+ arrowType: "sharp" | "round" | "elbow";
552
+ id: string;
553
+ x: number;
554
+ y: number;
555
+ width: number;
556
+ height: number;
557
+ angle: number;
558
+ strokeColor: string;
559
+ backgroundColor: string;
560
+ fillStyle: import('../types/element').FillStyle;
561
+ strokeWidth: number;
562
+ strokeStyle: import('../types/element').StrokeStyle;
563
+ roughness: number;
564
+ opacity: number;
565
+ strokeOpacity: number;
566
+ roundness: number;
567
+ backgroundOpacity: number;
568
+ fontSize: number;
569
+ fontFamily: string;
570
+ fontColor: string;
571
+ fontBgColor: string;
572
+ textAlign: "left" | "center" | "right";
573
+ verticalAlign: "top" | "middle" | "bottom";
574
+ isBold: boolean;
575
+ isItalic: boolean;
576
+ isUnderline: boolean;
577
+ isStrikethrough: boolean;
578
+ seed: number;
579
+ version: number;
580
+ isDeleted: boolean;
581
+ groupIds: readonly string[];
582
+ updated: number;
583
+ link: string | null;
584
+ locked: boolean;
585
+ isFlippedHorizontal?: boolean | undefined;
586
+ isFlippedVertical?: boolean | undefined;
587
+ isAspectRatioLocked?: boolean | undefined;
588
+ frameId: string | null;
589
+ } | {
590
+ type: "image";
591
+ fileId: string;
592
+ status: "pending" | "saved" | "error";
593
+ scale: [number, number];
594
+ dataURL: string;
595
+ id: string;
596
+ x: number;
597
+ y: number;
598
+ width: number;
599
+ height: number;
600
+ angle: number;
601
+ strokeColor: string;
602
+ backgroundColor: string;
603
+ fillStyle: import('../types/element').FillStyle;
604
+ strokeWidth: number;
605
+ strokeStyle: import('../types/element').StrokeStyle;
606
+ roughness: number;
607
+ opacity: number;
608
+ strokeOpacity: number;
609
+ roundness: number;
610
+ backgroundOpacity: number;
611
+ fontSize: number;
612
+ fontFamily: string;
613
+ fontColor: string;
614
+ fontBgColor: string;
615
+ textAlign: "left" | "center" | "right";
616
+ verticalAlign: "top" | "middle" | "bottom";
617
+ isBold: boolean;
618
+ isItalic: boolean;
619
+ isUnderline: boolean;
620
+ isStrikethrough: boolean;
621
+ seed: number;
622
+ version: number;
623
+ isDeleted: boolean;
624
+ groupIds: readonly string[];
625
+ updated: number;
626
+ link: string | null;
627
+ locked: boolean;
628
+ isFlippedHorizontal?: boolean | undefined;
629
+ isFlippedVertical?: boolean | undefined;
630
+ isAspectRatioLocked?: boolean | undefined;
631
+ frameId: string | null;
632
+ } | {
633
+ type: "frame";
634
+ name?: string | undefined;
635
+ id: string;
636
+ x: number;
637
+ y: number;
638
+ width: number;
639
+ height: number;
640
+ angle: number;
641
+ strokeColor: string;
642
+ backgroundColor: string;
643
+ fillStyle: import('../types/element').FillStyle;
644
+ strokeWidth: number;
645
+ strokeStyle: import('../types/element').StrokeStyle;
646
+ roughness: number;
647
+ opacity: number;
648
+ strokeOpacity: number;
649
+ roundness: number;
650
+ backgroundOpacity: number;
651
+ fontSize: number;
652
+ fontFamily: string;
653
+ fontColor: string;
654
+ fontBgColor: string;
655
+ textAlign: "left" | "center" | "right";
656
+ verticalAlign: "top" | "middle" | "bottom";
657
+ isBold: boolean;
658
+ isItalic: boolean;
659
+ isUnderline: boolean;
660
+ isStrikethrough: boolean;
661
+ seed: number;
662
+ version: number;
663
+ isDeleted: boolean;
664
+ groupIds: readonly string[];
665
+ updated: number;
666
+ link: string | null;
667
+ locked: boolean;
668
+ isFlippedHorizontal?: boolean | undefined;
669
+ isFlippedVertical?: boolean | undefined;
670
+ isAspectRatioLocked?: boolean | undefined;
671
+ frameId: string | null;
672
+ } | {
673
+ type: "freedraw";
674
+ points: readonly (readonly [number, number])[];
675
+ pressures: readonly number[];
676
+ simulatePressure: boolean;
677
+ lastCommittedPoint: readonly [number, number] | null;
678
+ id: string;
679
+ x: number;
680
+ y: number;
681
+ width: number;
682
+ height: number;
683
+ angle: number;
684
+ strokeColor: string;
685
+ backgroundColor: string;
686
+ fillStyle: import('../types/element').FillStyle;
687
+ strokeWidth: number;
688
+ strokeStyle: import('../types/element').StrokeStyle;
689
+ roughness: number;
690
+ opacity: number;
691
+ strokeOpacity: number;
692
+ roundness: number;
693
+ backgroundOpacity: number;
694
+ fontSize: number;
695
+ fontFamily: string;
696
+ fontColor: string;
697
+ fontBgColor: string;
698
+ textAlign: "left" | "center" | "right";
699
+ verticalAlign: "top" | "middle" | "bottom";
700
+ isBold: boolean;
701
+ isItalic: boolean;
702
+ isUnderline: boolean;
703
+ isStrikethrough: boolean;
704
+ seed: number;
705
+ version: number;
706
+ isDeleted: boolean;
707
+ groupIds: readonly string[];
708
+ updated: number;
709
+ link: string | null;
710
+ locked: boolean;
711
+ isFlippedHorizontal?: boolean | undefined;
712
+ isFlippedVertical?: boolean | undefined;
713
+ isAspectRatioLocked?: boolean | undefined;
714
+ frameId: string | null;
715
+ })[];
716
+ history: ({
717
+ type: "rectangle";
718
+ id: string;
719
+ x: number;
720
+ y: number;
721
+ width: number;
722
+ height: number;
723
+ angle: number;
724
+ strokeColor: string;
725
+ backgroundColor: string;
726
+ fillStyle: import('../types/element').FillStyle;
727
+ strokeWidth: number;
728
+ strokeStyle: import('../types/element').StrokeStyle;
729
+ roughness: number;
730
+ opacity: number;
731
+ strokeOpacity: number;
732
+ roundness: number;
733
+ backgroundOpacity: number;
734
+ fontSize: number;
735
+ fontFamily: string;
736
+ fontColor: string;
737
+ fontBgColor: string;
738
+ textAlign: "left" | "center" | "right";
739
+ verticalAlign: "top" | "middle" | "bottom";
740
+ isBold: boolean;
741
+ isItalic: boolean;
742
+ isUnderline: boolean;
743
+ isStrikethrough: boolean;
744
+ seed: number;
745
+ version: number;
746
+ isDeleted: boolean;
747
+ groupIds: readonly string[];
748
+ updated: number;
749
+ link: string | null;
750
+ locked: boolean;
751
+ isFlippedHorizontal?: boolean | undefined;
752
+ isFlippedVertical?: boolean | undefined;
753
+ isAspectRatioLocked?: boolean | undefined;
754
+ frameId: string | null;
755
+ } | {
756
+ type: "ellipse";
757
+ id: string;
758
+ x: number;
759
+ y: number;
760
+ width: number;
761
+ height: number;
762
+ angle: number;
763
+ strokeColor: string;
764
+ backgroundColor: string;
765
+ fillStyle: import('../types/element').FillStyle;
766
+ strokeWidth: number;
767
+ strokeStyle: import('../types/element').StrokeStyle;
768
+ roughness: number;
769
+ opacity: number;
770
+ strokeOpacity: number;
771
+ roundness: number;
772
+ backgroundOpacity: number;
773
+ fontSize: number;
774
+ fontFamily: string;
775
+ fontColor: string;
776
+ fontBgColor: string;
777
+ textAlign: "left" | "center" | "right";
778
+ verticalAlign: "top" | "middle" | "bottom";
779
+ isBold: boolean;
780
+ isItalic: boolean;
781
+ isUnderline: boolean;
782
+ isStrikethrough: boolean;
783
+ seed: number;
784
+ version: number;
785
+ isDeleted: boolean;
786
+ groupIds: readonly string[];
787
+ updated: number;
788
+ link: string | null;
789
+ locked: boolean;
790
+ isFlippedHorizontal?: boolean | undefined;
791
+ isFlippedVertical?: boolean | undefined;
792
+ isAspectRatioLocked?: boolean | undefined;
793
+ frameId: string | null;
794
+ } | {
795
+ type: "diamond";
796
+ id: string;
797
+ x: number;
798
+ y: number;
799
+ width: number;
800
+ height: number;
801
+ angle: number;
802
+ strokeColor: string;
803
+ backgroundColor: string;
804
+ fillStyle: import('../types/element').FillStyle;
805
+ strokeWidth: number;
806
+ strokeStyle: import('../types/element').StrokeStyle;
807
+ roughness: number;
808
+ opacity: number;
809
+ strokeOpacity: number;
810
+ roundness: number;
811
+ backgroundOpacity: number;
812
+ fontSize: number;
813
+ fontFamily: string;
814
+ fontColor: string;
815
+ fontBgColor: string;
816
+ textAlign: "left" | "center" | "right";
817
+ verticalAlign: "top" | "middle" | "bottom";
818
+ isBold: boolean;
819
+ isItalic: boolean;
820
+ isUnderline: boolean;
821
+ isStrikethrough: boolean;
822
+ seed: number;
823
+ version: number;
824
+ isDeleted: boolean;
825
+ groupIds: readonly string[];
826
+ updated: number;
827
+ link: string | null;
828
+ locked: boolean;
829
+ isFlippedHorizontal?: boolean | undefined;
830
+ isFlippedVertical?: boolean | undefined;
831
+ isAspectRatioLocked?: boolean | undefined;
832
+ frameId: string | null;
833
+ } | {
834
+ type: "square";
835
+ id: string;
836
+ x: number;
837
+ y: number;
838
+ width: number;
839
+ height: number;
840
+ angle: number;
841
+ strokeColor: string;
842
+ backgroundColor: string;
843
+ fillStyle: import('../types/element').FillStyle;
844
+ strokeWidth: number;
845
+ strokeStyle: import('../types/element').StrokeStyle;
846
+ roughness: number;
847
+ opacity: number;
848
+ strokeOpacity: number;
849
+ roundness: number;
850
+ backgroundOpacity: number;
851
+ fontSize: number;
852
+ fontFamily: string;
853
+ fontColor: string;
854
+ fontBgColor: string;
855
+ textAlign: "left" | "center" | "right";
856
+ verticalAlign: "top" | "middle" | "bottom";
857
+ isBold: boolean;
858
+ isItalic: boolean;
859
+ isUnderline: boolean;
860
+ isStrikethrough: boolean;
861
+ seed: number;
862
+ version: number;
863
+ isDeleted: boolean;
864
+ groupIds: readonly string[];
865
+ updated: number;
866
+ link: string | null;
867
+ locked: boolean;
868
+ isFlippedHorizontal?: boolean | undefined;
869
+ isFlippedVertical?: boolean | undefined;
870
+ isAspectRatioLocked?: boolean | undefined;
871
+ frameId: string | null;
872
+ } | {
873
+ type: "star";
874
+ id: string;
875
+ x: number;
876
+ y: number;
877
+ width: number;
878
+ height: number;
879
+ angle: number;
880
+ strokeColor: string;
881
+ backgroundColor: string;
882
+ fillStyle: import('../types/element').FillStyle;
883
+ strokeWidth: number;
884
+ strokeStyle: import('../types/element').StrokeStyle;
885
+ roughness: number;
886
+ opacity: number;
887
+ strokeOpacity: number;
888
+ roundness: number;
889
+ backgroundOpacity: number;
890
+ fontSize: number;
891
+ fontFamily: string;
892
+ fontColor: string;
893
+ fontBgColor: string;
894
+ textAlign: "left" | "center" | "right";
895
+ verticalAlign: "top" | "middle" | "bottom";
896
+ isBold: boolean;
897
+ isItalic: boolean;
898
+ isUnderline: boolean;
899
+ isStrikethrough: boolean;
900
+ seed: number;
901
+ version: number;
902
+ isDeleted: boolean;
903
+ groupIds: readonly string[];
904
+ updated: number;
905
+ link: string | null;
906
+ locked: boolean;
907
+ isFlippedHorizontal?: boolean | undefined;
908
+ isFlippedVertical?: boolean | undefined;
909
+ isAspectRatioLocked?: boolean | undefined;
910
+ frameId: string | null;
911
+ } | {
912
+ type: "circle";
913
+ id: string;
914
+ x: number;
915
+ y: number;
916
+ width: number;
917
+ height: number;
918
+ angle: number;
919
+ strokeColor: string;
920
+ backgroundColor: string;
921
+ fillStyle: import('../types/element').FillStyle;
922
+ strokeWidth: number;
923
+ strokeStyle: import('../types/element').StrokeStyle;
924
+ roughness: number;
925
+ opacity: number;
926
+ strokeOpacity: number;
927
+ roundness: number;
928
+ backgroundOpacity: number;
929
+ fontSize: number;
930
+ fontFamily: string;
931
+ fontColor: string;
932
+ fontBgColor: string;
933
+ textAlign: "left" | "center" | "right";
934
+ verticalAlign: "top" | "middle" | "bottom";
935
+ isBold: boolean;
936
+ isItalic: boolean;
937
+ isUnderline: boolean;
938
+ isStrikethrough: boolean;
939
+ seed: number;
940
+ version: number;
941
+ isDeleted: boolean;
942
+ groupIds: readonly string[];
943
+ updated: number;
944
+ link: string | null;
945
+ locked: boolean;
946
+ isFlippedHorizontal?: boolean | undefined;
947
+ isFlippedVertical?: boolean | undefined;
948
+ isAspectRatioLocked?: boolean | undefined;
949
+ frameId: string | null;
950
+ } | {
951
+ type: "cylinder";
952
+ id: string;
953
+ x: number;
954
+ y: number;
955
+ width: number;
956
+ height: number;
957
+ angle: number;
958
+ strokeColor: string;
959
+ backgroundColor: string;
960
+ fillStyle: import('../types/element').FillStyle;
961
+ strokeWidth: number;
962
+ strokeStyle: import('../types/element').StrokeStyle;
963
+ roughness: number;
964
+ opacity: number;
965
+ strokeOpacity: number;
966
+ roundness: number;
967
+ backgroundOpacity: number;
968
+ fontSize: number;
969
+ fontFamily: string;
970
+ fontColor: string;
971
+ fontBgColor: string;
972
+ textAlign: "left" | "center" | "right";
973
+ verticalAlign: "top" | "middle" | "bottom";
974
+ isBold: boolean;
975
+ isItalic: boolean;
976
+ isUnderline: boolean;
977
+ isStrikethrough: boolean;
978
+ seed: number;
979
+ version: number;
980
+ isDeleted: boolean;
981
+ groupIds: readonly string[];
982
+ updated: number;
983
+ link: string | null;
984
+ locked: boolean;
985
+ isFlippedHorizontal?: boolean | undefined;
986
+ isFlippedVertical?: boolean | undefined;
987
+ isAspectRatioLocked?: boolean | undefined;
988
+ frameId: string | null;
989
+ } | {
990
+ type: "process";
991
+ id: string;
992
+ x: number;
993
+ y: number;
994
+ width: number;
995
+ height: number;
996
+ angle: number;
997
+ strokeColor: string;
998
+ backgroundColor: string;
999
+ fillStyle: import('../types/element').FillStyle;
1000
+ strokeWidth: number;
1001
+ strokeStyle: import('../types/element').StrokeStyle;
1002
+ roughness: number;
1003
+ opacity: number;
1004
+ strokeOpacity: number;
1005
+ roundness: number;
1006
+ backgroundOpacity: number;
1007
+ fontSize: number;
1008
+ fontFamily: string;
1009
+ fontColor: string;
1010
+ fontBgColor: string;
1011
+ textAlign: "left" | "center" | "right";
1012
+ verticalAlign: "top" | "middle" | "bottom";
1013
+ isBold: boolean;
1014
+ isItalic: boolean;
1015
+ isUnderline: boolean;
1016
+ isStrikethrough: boolean;
1017
+ seed: number;
1018
+ version: number;
1019
+ isDeleted: boolean;
1020
+ groupIds: readonly string[];
1021
+ updated: number;
1022
+ link: string | null;
1023
+ locked: boolean;
1024
+ isFlippedHorizontal?: boolean | undefined;
1025
+ isFlippedVertical?: boolean | undefined;
1026
+ isAspectRatioLocked?: boolean | undefined;
1027
+ frameId: string | null;
1028
+ } | {
1029
+ type: "decision";
1030
+ id: string;
1031
+ x: number;
1032
+ y: number;
1033
+ width: number;
1034
+ height: number;
1035
+ angle: number;
1036
+ strokeColor: string;
1037
+ backgroundColor: string;
1038
+ fillStyle: import('../types/element').FillStyle;
1039
+ strokeWidth: number;
1040
+ strokeStyle: import('../types/element').StrokeStyle;
1041
+ roughness: number;
1042
+ opacity: number;
1043
+ strokeOpacity: number;
1044
+ roundness: number;
1045
+ backgroundOpacity: number;
1046
+ fontSize: number;
1047
+ fontFamily: string;
1048
+ fontColor: string;
1049
+ fontBgColor: string;
1050
+ textAlign: "left" | "center" | "right";
1051
+ verticalAlign: "top" | "middle" | "bottom";
1052
+ isBold: boolean;
1053
+ isItalic: boolean;
1054
+ isUnderline: boolean;
1055
+ isStrikethrough: boolean;
1056
+ seed: number;
1057
+ version: number;
1058
+ isDeleted: boolean;
1059
+ groupIds: readonly string[];
1060
+ updated: number;
1061
+ link: string | null;
1062
+ locked: boolean;
1063
+ isFlippedHorizontal?: boolean | undefined;
1064
+ isFlippedVertical?: boolean | undefined;
1065
+ isAspectRatioLocked?: boolean | undefined;
1066
+ frameId: string | null;
1067
+ } | {
1068
+ type: "trapezoid";
1069
+ id: string;
1070
+ x: number;
1071
+ y: number;
1072
+ width: number;
1073
+ height: number;
1074
+ angle: number;
1075
+ strokeColor: string;
1076
+ backgroundColor: string;
1077
+ fillStyle: import('../types/element').FillStyle;
1078
+ strokeWidth: number;
1079
+ strokeStyle: import('../types/element').StrokeStyle;
1080
+ roughness: number;
1081
+ opacity: number;
1082
+ strokeOpacity: number;
1083
+ roundness: number;
1084
+ backgroundOpacity: number;
1085
+ fontSize: number;
1086
+ fontFamily: string;
1087
+ fontColor: string;
1088
+ fontBgColor: string;
1089
+ textAlign: "left" | "center" | "right";
1090
+ verticalAlign: "top" | "middle" | "bottom";
1091
+ isBold: boolean;
1092
+ isItalic: boolean;
1093
+ isUnderline: boolean;
1094
+ isStrikethrough: boolean;
1095
+ seed: number;
1096
+ version: number;
1097
+ isDeleted: boolean;
1098
+ groupIds: readonly string[];
1099
+ updated: number;
1100
+ link: string | null;
1101
+ locked: boolean;
1102
+ isFlippedHorizontal?: boolean | undefined;
1103
+ isFlippedVertical?: boolean | undefined;
1104
+ isAspectRatioLocked?: boolean | undefined;
1105
+ frameId: string | null;
1106
+ } | {
1107
+ type: "parallelogram";
1108
+ id: string;
1109
+ x: number;
1110
+ y: number;
1111
+ width: number;
1112
+ height: number;
1113
+ angle: number;
1114
+ strokeColor: string;
1115
+ backgroundColor: string;
1116
+ fillStyle: import('../types/element').FillStyle;
1117
+ strokeWidth: number;
1118
+ strokeStyle: import('../types/element').StrokeStyle;
1119
+ roughness: number;
1120
+ opacity: number;
1121
+ strokeOpacity: number;
1122
+ roundness: number;
1123
+ backgroundOpacity: number;
1124
+ fontSize: number;
1125
+ fontFamily: string;
1126
+ fontColor: string;
1127
+ fontBgColor: string;
1128
+ textAlign: "left" | "center" | "right";
1129
+ verticalAlign: "top" | "middle" | "bottom";
1130
+ isBold: boolean;
1131
+ isItalic: boolean;
1132
+ isUnderline: boolean;
1133
+ isStrikethrough: boolean;
1134
+ seed: number;
1135
+ version: number;
1136
+ isDeleted: boolean;
1137
+ groupIds: readonly string[];
1138
+ updated: number;
1139
+ link: string | null;
1140
+ locked: boolean;
1141
+ isFlippedHorizontal?: boolean | undefined;
1142
+ isFlippedVertical?: boolean | undefined;
1143
+ isAspectRatioLocked?: boolean | undefined;
1144
+ frameId: string | null;
1145
+ } | {
1146
+ type: "text";
1147
+ text: string;
1148
+ baseline: number;
1149
+ containerId: string | null;
1150
+ originalText: string;
1151
+ autoResize: boolean;
1152
+ lineHeight: number;
1153
+ id: string;
1154
+ x: number;
1155
+ y: number;
1156
+ width: number;
1157
+ height: number;
1158
+ angle: number;
1159
+ strokeColor: string;
1160
+ backgroundColor: string;
1161
+ fillStyle: import('../types/element').FillStyle;
1162
+ strokeWidth: number;
1163
+ strokeStyle: import('../types/element').StrokeStyle;
1164
+ roughness: number;
1165
+ opacity: number;
1166
+ strokeOpacity: number;
1167
+ roundness: number;
1168
+ backgroundOpacity: number;
1169
+ fontSize: number;
1170
+ fontFamily: string;
1171
+ fontColor: string;
1172
+ fontBgColor: string;
1173
+ textAlign: "left" | "center" | "right";
1174
+ verticalAlign: "top" | "middle" | "bottom";
1175
+ isBold: boolean;
1176
+ isItalic: boolean;
1177
+ isUnderline: boolean;
1178
+ isStrikethrough: boolean;
1179
+ seed: number;
1180
+ version: number;
1181
+ isDeleted: boolean;
1182
+ groupIds: readonly string[];
1183
+ updated: number;
1184
+ link: string | null;
1185
+ locked: boolean;
1186
+ isFlippedHorizontal?: boolean | undefined;
1187
+ isFlippedVertical?: boolean | undefined;
1188
+ isAspectRatioLocked?: boolean | undefined;
1189
+ frameId: string | null;
1190
+ } | {
1191
+ type: "line" | "arrow";
1192
+ points: readonly (readonly [number, number])[];
1193
+ lastCommittedPoint: readonly [number, number] | null;
1194
+ startArrowhead: string | null;
1195
+ endArrowhead: string | null;
1196
+ startBinding: {
1197
+ elementId: string;
1198
+ focus: number;
1199
+ gap: number;
1200
+ fixedPoint?: [number, number] | undefined;
1201
+ isBorder?: boolean | undefined;
1202
+ } | null;
1203
+ endBinding: {
1204
+ elementId: string;
1205
+ focus: number;
1206
+ gap: number;
1207
+ fixedPoint?: [number, number] | undefined;
1208
+ isBorder?: boolean | undefined;
1209
+ } | null;
1210
+ arrowType: "sharp" | "round" | "elbow";
1211
+ id: string;
1212
+ x: number;
1213
+ y: number;
1214
+ width: number;
1215
+ height: number;
1216
+ angle: number;
1217
+ strokeColor: string;
1218
+ backgroundColor: string;
1219
+ fillStyle: import('../types/element').FillStyle;
1220
+ strokeWidth: number;
1221
+ strokeStyle: import('../types/element').StrokeStyle;
1222
+ roughness: number;
1223
+ opacity: number;
1224
+ strokeOpacity: number;
1225
+ roundness: number;
1226
+ backgroundOpacity: number;
1227
+ fontSize: number;
1228
+ fontFamily: string;
1229
+ fontColor: string;
1230
+ fontBgColor: string;
1231
+ textAlign: "left" | "center" | "right";
1232
+ verticalAlign: "top" | "middle" | "bottom";
1233
+ isBold: boolean;
1234
+ isItalic: boolean;
1235
+ isUnderline: boolean;
1236
+ isStrikethrough: boolean;
1237
+ seed: number;
1238
+ version: number;
1239
+ isDeleted: boolean;
1240
+ groupIds: readonly string[];
1241
+ updated: number;
1242
+ link: string | null;
1243
+ locked: boolean;
1244
+ isFlippedHorizontal?: boolean | undefined;
1245
+ isFlippedVertical?: boolean | undefined;
1246
+ isAspectRatioLocked?: boolean | undefined;
1247
+ frameId: string | null;
1248
+ } | {
1249
+ type: "image";
1250
+ fileId: string;
1251
+ status: "pending" | "saved" | "error";
1252
+ scale: [number, number];
1253
+ dataURL: string;
1254
+ id: string;
1255
+ x: number;
1256
+ y: number;
1257
+ width: number;
1258
+ height: number;
1259
+ angle: number;
1260
+ strokeColor: string;
1261
+ backgroundColor: string;
1262
+ fillStyle: import('../types/element').FillStyle;
1263
+ strokeWidth: number;
1264
+ strokeStyle: import('../types/element').StrokeStyle;
1265
+ roughness: number;
1266
+ opacity: number;
1267
+ strokeOpacity: number;
1268
+ roundness: number;
1269
+ backgroundOpacity: number;
1270
+ fontSize: number;
1271
+ fontFamily: string;
1272
+ fontColor: string;
1273
+ fontBgColor: string;
1274
+ textAlign: "left" | "center" | "right";
1275
+ verticalAlign: "top" | "middle" | "bottom";
1276
+ isBold: boolean;
1277
+ isItalic: boolean;
1278
+ isUnderline: boolean;
1279
+ isStrikethrough: boolean;
1280
+ seed: number;
1281
+ version: number;
1282
+ isDeleted: boolean;
1283
+ groupIds: readonly string[];
1284
+ updated: number;
1285
+ link: string | null;
1286
+ locked: boolean;
1287
+ isFlippedHorizontal?: boolean | undefined;
1288
+ isFlippedVertical?: boolean | undefined;
1289
+ isAspectRatioLocked?: boolean | undefined;
1290
+ frameId: string | null;
1291
+ } | {
1292
+ type: "frame";
1293
+ name?: string | undefined;
1294
+ id: string;
1295
+ x: number;
1296
+ y: number;
1297
+ width: number;
1298
+ height: number;
1299
+ angle: number;
1300
+ strokeColor: string;
1301
+ backgroundColor: string;
1302
+ fillStyle: import('../types/element').FillStyle;
1303
+ strokeWidth: number;
1304
+ strokeStyle: import('../types/element').StrokeStyle;
1305
+ roughness: number;
1306
+ opacity: number;
1307
+ strokeOpacity: number;
1308
+ roundness: number;
1309
+ backgroundOpacity: number;
1310
+ fontSize: number;
1311
+ fontFamily: string;
1312
+ fontColor: string;
1313
+ fontBgColor: string;
1314
+ textAlign: "left" | "center" | "right";
1315
+ verticalAlign: "top" | "middle" | "bottom";
1316
+ isBold: boolean;
1317
+ isItalic: boolean;
1318
+ isUnderline: boolean;
1319
+ isStrikethrough: boolean;
1320
+ seed: number;
1321
+ version: number;
1322
+ isDeleted: boolean;
1323
+ groupIds: readonly string[];
1324
+ updated: number;
1325
+ link: string | null;
1326
+ locked: boolean;
1327
+ isFlippedHorizontal?: boolean | undefined;
1328
+ isFlippedVertical?: boolean | undefined;
1329
+ isAspectRatioLocked?: boolean | undefined;
1330
+ frameId: string | null;
1331
+ } | {
1332
+ type: "freedraw";
1333
+ points: readonly (readonly [number, number])[];
1334
+ pressures: readonly number[];
1335
+ simulatePressure: boolean;
1336
+ lastCommittedPoint: readonly [number, number] | null;
1337
+ id: string;
1338
+ x: number;
1339
+ y: number;
1340
+ width: number;
1341
+ height: number;
1342
+ angle: number;
1343
+ strokeColor: string;
1344
+ backgroundColor: string;
1345
+ fillStyle: import('../types/element').FillStyle;
1346
+ strokeWidth: number;
1347
+ strokeStyle: import('../types/element').StrokeStyle;
1348
+ roughness: number;
1349
+ opacity: number;
1350
+ strokeOpacity: number;
1351
+ roundness: number;
1352
+ backgroundOpacity: number;
1353
+ fontSize: number;
1354
+ fontFamily: string;
1355
+ fontColor: string;
1356
+ fontBgColor: string;
1357
+ textAlign: "left" | "center" | "right";
1358
+ verticalAlign: "top" | "middle" | "bottom";
1359
+ isBold: boolean;
1360
+ isItalic: boolean;
1361
+ isUnderline: boolean;
1362
+ isStrikethrough: boolean;
1363
+ seed: number;
1364
+ version: number;
1365
+ isDeleted: boolean;
1366
+ groupIds: readonly string[];
1367
+ updated: number;
1368
+ link: string | null;
1369
+ locked: boolean;
1370
+ isFlippedHorizontal?: boolean | undefined;
1371
+ isFlippedVertical?: boolean | undefined;
1372
+ isAspectRatioLocked?: boolean | undefined;
1373
+ frameId: string | null;
1374
+ })[][];
1375
+ historyStep: number;
1376
+ appState: {
1377
+ lockedTool: boolean;
1378
+ viewBackgroundColor: string;
1379
+ scrollX: number;
1380
+ scrollY: number;
1381
+ zoom: number;
1382
+ activeTool: string;
1383
+ activeToolType: string;
1384
+ currentItemStrokeColor: string;
1385
+ currentItemStrokeOpacity: number;
1386
+ currentItemBackgroundColor: string;
1387
+ currentItemFillStyle: "solid";
1388
+ currentItemStrokeWidth: number;
1389
+ currentItemStrokeStyle: "solid";
1390
+ currentItemRoughness: number;
1391
+ currentItemRoundness: number;
1392
+ currentItemOpacity: number;
1393
+ currentItemBackgroundOpacity: number;
1394
+ currentItemFontColor: string;
1395
+ currentItemFontSize: number;
1396
+ currentItemFontFamily: string;
1397
+ currentItemFontBgColor: string;
1398
+ currentItemTextAlign: "left" | "center" | "right";
1399
+ currentItemVerticalAlign: "top" | "middle" | "bottom";
1400
+ currentItemIsBold: boolean;
1401
+ currentItemIsItalic: boolean;
1402
+ currentItemIsUnderline: boolean;
1403
+ currentItemIsStrikethrough: boolean;
1404
+ currentItemArrowType: "sharp" | "round";
1405
+ selectedElementIds: Record<string, boolean>;
1406
+ showHelp: boolean;
1407
+ viewLocked: boolean;
1408
+ lastActiveTool: string | null;
1409
+ name: string;
1410
+ isDraggingElement: boolean;
1411
+ isBoxSelecting: boolean;
1412
+ showGrid: boolean;
1413
+ gridType: string;
1414
+ isPropertiesPanelOpen: boolean;
1415
+ floatingToolbarOffset: {
1416
+ x: number;
1417
+ y: number;
1418
+ };
1419
+ useWheelZoom: boolean;
1420
+ rightClickPan: boolean;
1421
+ autoSnap: boolean;
1422
+ alignmentGuides: boolean;
1423
+ showContainerName: boolean;
1424
+ };
1425
+ } & import('pinia').PiniaCustomStateProperties<{
1426
+ elements: ExcalidrawElement[];
1427
+ history: ExcalidrawElement[][];
1428
+ historyStep: number;
1429
+ appState: {
1430
+ lockedTool: boolean;
1431
+ viewBackgroundColor: string;
1432
+ scrollX: number;
1433
+ scrollY: number;
1434
+ zoom: number;
1435
+ activeTool: string;
1436
+ activeToolType: string;
1437
+ currentItemStrokeColor: string;
1438
+ currentItemStrokeOpacity: number;
1439
+ currentItemBackgroundColor: string;
1440
+ currentItemFillStyle: "solid";
1441
+ currentItemStrokeWidth: number;
1442
+ currentItemStrokeStyle: "solid";
1443
+ currentItemRoughness: number;
1444
+ currentItemRoundness: number;
1445
+ currentItemOpacity: number;
1446
+ currentItemBackgroundOpacity: number;
1447
+ currentItemFontColor: string;
1448
+ currentItemFontSize: number;
1449
+ currentItemFontFamily: string;
1450
+ currentItemFontBgColor: string;
1451
+ currentItemTextAlign: "left" | "center" | "right";
1452
+ currentItemVerticalAlign: "top" | "middle" | "bottom";
1453
+ currentItemIsBold: boolean;
1454
+ currentItemIsItalic: boolean;
1455
+ currentItemIsUnderline: boolean;
1456
+ currentItemIsStrikethrough: boolean;
1457
+ currentItemArrowType: "sharp" | "round";
1458
+ selectedElementIds: Record<string, boolean>;
1459
+ showHelp: boolean;
1460
+ viewLocked: boolean;
1461
+ lastActiveTool: string | null;
1462
+ name: string;
1463
+ isDraggingElement: boolean;
1464
+ isBoxSelecting: boolean;
1465
+ showGrid: boolean;
1466
+ gridType: string;
1467
+ isPropertiesPanelOpen: boolean;
1468
+ floatingToolbarOffset: {
1469
+ x: number;
1470
+ y: number;
1471
+ };
1472
+ useWheelZoom: boolean;
1473
+ rightClickPan: boolean;
1474
+ autoSnap: boolean;
1475
+ alignmentGuides: boolean;
1476
+ showContainerName: boolean;
1477
+ };
1478
+ }>) => boolean;
1479
+ }, {
1480
+ toggleGrid(): void;
1481
+ toggleSelection(id: string, selected?: boolean): void;
1482
+ setSelectedElementIds(ids: string[]): void;
1483
+ addElement(element: ExcalidrawElement): void;
1484
+ insertImage(dataURL: string, x: number, y: number, w: number, h: number): void;
1485
+ updateElement(id: string, updates: Partial<ExcalidrawElement>): void;
1486
+ setTool(tool: string): void;
1487
+ setToolType(toolType: string): void;
1488
+ deleteElement(id: string): void;
1489
+ clearElements(): void;
1490
+ moveElements(ids: string[], deltaX: number, deltaY: number): void;
1491
+ updateSelectedElements(updates: Partial<ExcalidrawElement>): void;
1492
+ bringToFront(ids: string[]): void;
1493
+ sendToBack(ids: string[]): void;
1494
+ bringForward(ids: string[]): void;
1495
+ sendBackward(ids: string[]): void;
1496
+ recordHistory(): void;
1497
+ undo(): void;
1498
+ redo(): void;
1499
+ setZoom(zoom: number): void;
1500
+ zoomIn(): void;
1501
+ zoomOut(): void;
1502
+ selectAll(): void;
1503
+ copyElements(): Promise<void>;
1504
+ cutElements(): Promise<void>;
1505
+ pasteElements(point?: {
1506
+ x: number;
1507
+ y: number;
1508
+ }): Promise<void>;
1509
+ setScroll(x: number, y: number): void;
1510
+ toggleViewLock(): void;
1511
+ duplicateElements(ids: string[], callback: any): void;
1512
+ alignElements(type: "left" | "center" | "right" | "top" | "middle" | "bottom"): void;
1513
+ groupElements(ids: string[]): void;
1514
+ ungroupElements(ids: string[]): void;
1515
+ setLockedTool(val: boolean): void;
1516
+ saveToLocalStorage(): void;
1517
+ loadFromLocalStorage(): void;
1518
+ }>;