@zsviczian/excalidraw 0.10.0-obsidian-37 → 0.10.0-obsidian-38
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/excalidraw.development.js +23 -12
- package/dist/excalidraw.production.min.js +1 -1
- package/package.json +1 -1
- package/types/actions/actionAddToLibrary.d.ts +3 -0
- package/types/actions/actionCanvas.d.ts +8 -0
- package/types/actions/actionClipboard.d.ts +5 -0
- package/types/actions/actionDeleteSelected.d.ts +3 -0
- package/types/actions/actionExport.d.ts +9 -0
- package/types/actions/actionFinalize.d.ts +2 -0
- package/types/actions/actionMenu.d.ts +3 -0
- package/types/actions/actionProperties.d.ts +12 -0
- package/types/actions/actionStyles.d.ts +1 -0
- package/types/actions/actionToggleGridMode.d.ts +1 -0
- package/types/actions/actionToggleStats.d.ts +1 -0
- package/types/actions/actionToggleViewMode.d.ts +1 -0
- package/types/actions/actionToggleZenMode.d.ts +1 -0
- package/types/actions/types.d.ts +1 -1
- package/types/appState.d.ts +1 -0
- package/types/components/App.d.ts +5 -0
- package/types/components/ContextMenu.d.ts +3 -0
- package/types/components/LayerUI.d.ts +2 -1
- package/types/components/MobileMenu.d.ts +2 -1
- package/types/components/PenModeButton.d.ts +13 -0
- package/types/element/linearElementEditor.d.ts +2 -0
- package/types/types.d.ts +5 -0
package/package.json
CHANGED
|
@@ -17,6 +17,7 @@ export declare const actionAddToLibrary: {
|
|
|
17
17
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
18
18
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
19
19
|
elementLocked: boolean;
|
|
20
|
+
penLocked: boolean;
|
|
20
21
|
exportBackground: boolean;
|
|
21
22
|
exportEmbedScene: boolean;
|
|
22
23
|
exportWithDarkMode: boolean;
|
|
@@ -103,6 +104,7 @@ export declare const actionAddToLibrary: {
|
|
|
103
104
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
104
105
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
105
106
|
elementLocked: boolean;
|
|
107
|
+
penLocked: boolean;
|
|
106
108
|
exportBackground: boolean;
|
|
107
109
|
exportEmbedScene: boolean;
|
|
108
110
|
exportWithDarkMode: boolean;
|
|
@@ -190,6 +192,7 @@ export declare const actionAddToLibrary: {
|
|
|
190
192
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
191
193
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
192
194
|
elementLocked: boolean;
|
|
195
|
+
penLocked: boolean;
|
|
193
196
|
exportBackground: boolean;
|
|
194
197
|
exportEmbedScene: boolean;
|
|
195
198
|
exportWithDarkMode: boolean;
|
|
@@ -19,6 +19,7 @@ export declare const actionClearCanvas: {
|
|
|
19
19
|
files: {};
|
|
20
20
|
theme: string;
|
|
21
21
|
elementLocked: boolean;
|
|
22
|
+
penLocked: boolean;
|
|
22
23
|
exportBackground: boolean;
|
|
23
24
|
exportEmbedScene: boolean;
|
|
24
25
|
gridSize: number | null;
|
|
@@ -127,6 +128,7 @@ export declare const actionZoomIn: {
|
|
|
127
128
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
128
129
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
129
130
|
elementLocked: boolean;
|
|
131
|
+
penLocked: boolean;
|
|
130
132
|
exportBackground: boolean;
|
|
131
133
|
exportEmbedScene: boolean;
|
|
132
134
|
exportWithDarkMode: boolean;
|
|
@@ -222,6 +224,7 @@ export declare const actionZoomOut: {
|
|
|
222
224
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
223
225
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
224
226
|
elementLocked: boolean;
|
|
227
|
+
penLocked: boolean;
|
|
225
228
|
exportBackground: boolean;
|
|
226
229
|
exportEmbedScene: boolean;
|
|
227
230
|
exportWithDarkMode: boolean;
|
|
@@ -317,6 +320,7 @@ export declare const actionResetZoom: {
|
|
|
317
320
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
318
321
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
319
322
|
elementLocked: boolean;
|
|
323
|
+
penLocked: boolean;
|
|
320
324
|
exportBackground: boolean;
|
|
321
325
|
exportEmbedScene: boolean;
|
|
322
326
|
exportWithDarkMode: boolean;
|
|
@@ -412,6 +416,7 @@ export declare const zoomToFitElements: (elements: readonly ExcalidrawElement[],
|
|
|
412
416
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
413
417
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
414
418
|
elementLocked: boolean;
|
|
419
|
+
penLocked: boolean;
|
|
415
420
|
exportBackground: boolean;
|
|
416
421
|
exportEmbedScene: boolean;
|
|
417
422
|
exportWithDarkMode: boolean;
|
|
@@ -502,6 +507,7 @@ export declare const actionZoomToSelected: {
|
|
|
502
507
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
503
508
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
504
509
|
elementLocked: boolean;
|
|
510
|
+
penLocked: boolean;
|
|
505
511
|
exportBackground: boolean;
|
|
506
512
|
exportEmbedScene: boolean;
|
|
507
513
|
exportWithDarkMode: boolean;
|
|
@@ -596,6 +602,7 @@ export declare const actionZoomToFit: {
|
|
|
596
602
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
597
603
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
598
604
|
elementLocked: boolean;
|
|
605
|
+
penLocked: boolean;
|
|
599
606
|
exportBackground: boolean;
|
|
600
607
|
exportEmbedScene: boolean;
|
|
601
608
|
exportWithDarkMode: boolean;
|
|
@@ -682,6 +689,7 @@ export declare const actionToggleTheme: {
|
|
|
682
689
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
683
690
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
684
691
|
elementLocked: boolean;
|
|
692
|
+
penLocked: boolean;
|
|
685
693
|
exportBackground: boolean;
|
|
686
694
|
exportEmbedScene: boolean;
|
|
687
695
|
exportWithDarkMode: boolean;
|
|
@@ -27,6 +27,7 @@ export declare const actionCut: {
|
|
|
27
27
|
editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
28
28
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
29
29
|
elementLocked: boolean;
|
|
30
|
+
penLocked: boolean;
|
|
30
31
|
exportBackground: boolean;
|
|
31
32
|
exportEmbedScene: boolean;
|
|
32
33
|
exportWithDarkMode: boolean;
|
|
@@ -132,6 +133,7 @@ export declare const actionCut: {
|
|
|
132
133
|
editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
133
134
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
134
135
|
elementLocked: boolean;
|
|
136
|
+
penLocked: boolean;
|
|
135
137
|
exportBackground: boolean;
|
|
136
138
|
exportEmbedScene: boolean;
|
|
137
139
|
exportWithDarkMode: boolean;
|
|
@@ -221,6 +223,7 @@ export declare const actionCut: {
|
|
|
221
223
|
editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
222
224
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
223
225
|
elementLocked: boolean;
|
|
226
|
+
penLocked: boolean;
|
|
224
227
|
exportBackground: boolean;
|
|
225
228
|
exportEmbedScene: boolean;
|
|
226
229
|
exportWithDarkMode: boolean;
|
|
@@ -316,6 +319,7 @@ export declare const actionCopyAsSvg: {
|
|
|
316
319
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
317
320
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
318
321
|
elementLocked: boolean;
|
|
322
|
+
penLocked: boolean;
|
|
319
323
|
exportBackground: boolean;
|
|
320
324
|
exportEmbedScene: boolean;
|
|
321
325
|
exportWithDarkMode: boolean;
|
|
@@ -413,6 +417,7 @@ export declare const actionCopyAsPng: {
|
|
|
413
417
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
414
418
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
415
419
|
elementLocked: boolean;
|
|
420
|
+
penLocked: boolean;
|
|
416
421
|
exportBackground: boolean;
|
|
417
422
|
exportEmbedScene: boolean;
|
|
418
423
|
exportWithDarkMode: boolean;
|
|
@@ -20,6 +20,7 @@ export declare const actionDeleteSelected: {
|
|
|
20
20
|
editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
21
21
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
22
22
|
elementLocked: boolean;
|
|
23
|
+
penLocked: boolean;
|
|
23
24
|
exportBackground: boolean;
|
|
24
25
|
exportEmbedScene: boolean;
|
|
25
26
|
exportWithDarkMode: boolean;
|
|
@@ -125,6 +126,7 @@ export declare const actionDeleteSelected: {
|
|
|
125
126
|
editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
126
127
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
127
128
|
elementLocked: boolean;
|
|
129
|
+
penLocked: boolean;
|
|
128
130
|
exportBackground: boolean;
|
|
129
131
|
exportEmbedScene: boolean;
|
|
130
132
|
exportWithDarkMode: boolean;
|
|
@@ -214,6 +216,7 @@ export declare const actionDeleteSelected: {
|
|
|
214
216
|
editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
215
217
|
editingLinearElement: LinearElementEditor | null;
|
|
216
218
|
elementLocked: boolean;
|
|
219
|
+
penLocked: boolean;
|
|
217
220
|
exportBackground: boolean;
|
|
218
221
|
exportEmbedScene: boolean;
|
|
219
222
|
exportWithDarkMode: boolean;
|
|
@@ -18,6 +18,7 @@ export declare const actionChangeProjectName: {
|
|
|
18
18
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
19
19
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
20
20
|
elementLocked: boolean;
|
|
21
|
+
penLocked: boolean;
|
|
21
22
|
exportBackground: boolean;
|
|
22
23
|
exportEmbedScene: boolean;
|
|
23
24
|
exportWithDarkMode: boolean;
|
|
@@ -112,6 +113,7 @@ export declare const actionChangeExportScale: {
|
|
|
112
113
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
113
114
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
114
115
|
elementLocked: boolean;
|
|
116
|
+
penLocked: boolean;
|
|
115
117
|
exportBackground: boolean;
|
|
116
118
|
exportEmbedScene: boolean;
|
|
117
119
|
exportWithDarkMode: boolean;
|
|
@@ -206,6 +208,7 @@ export declare const actionChangeExportBackground: {
|
|
|
206
208
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
207
209
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
208
210
|
elementLocked: boolean;
|
|
211
|
+
penLocked: boolean;
|
|
209
212
|
exportEmbedScene: boolean;
|
|
210
213
|
exportWithDarkMode: boolean;
|
|
211
214
|
exportScale: number;
|
|
@@ -300,6 +303,7 @@ export declare const actionChangeExportEmbedScene: {
|
|
|
300
303
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
301
304
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
302
305
|
elementLocked: boolean;
|
|
306
|
+
penLocked: boolean;
|
|
303
307
|
exportBackground: boolean;
|
|
304
308
|
exportWithDarkMode: boolean;
|
|
305
309
|
exportScale: number;
|
|
@@ -396,6 +400,7 @@ export declare const actionSaveToActiveFile: {
|
|
|
396
400
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
397
401
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
398
402
|
elementLocked: boolean;
|
|
403
|
+
penLocked: boolean;
|
|
399
404
|
exportBackground: boolean;
|
|
400
405
|
exportEmbedScene: boolean;
|
|
401
406
|
exportWithDarkMode: boolean;
|
|
@@ -493,6 +498,7 @@ export declare const actionSaveFileToDisk: {
|
|
|
493
498
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
494
499
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
495
500
|
elementLocked: boolean;
|
|
501
|
+
penLocked: boolean;
|
|
496
502
|
exportBackground: boolean;
|
|
497
503
|
exportEmbedScene: boolean;
|
|
498
504
|
exportWithDarkMode: boolean;
|
|
@@ -603,6 +609,7 @@ export declare const actionLoadScene: {
|
|
|
603
609
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
604
610
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
605
611
|
elementLocked: boolean;
|
|
612
|
+
penLocked: boolean;
|
|
606
613
|
exportBackground: boolean;
|
|
607
614
|
exportEmbedScene: boolean;
|
|
608
615
|
exportWithDarkMode: boolean;
|
|
@@ -675,6 +682,7 @@ export declare const actionLoadScene: {
|
|
|
675
682
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
676
683
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
677
684
|
elementLocked: boolean;
|
|
685
|
+
penLocked: boolean;
|
|
678
686
|
exportBackground: boolean;
|
|
679
687
|
exportEmbedScene: boolean;
|
|
680
688
|
exportWithDarkMode: boolean;
|
|
@@ -772,6 +780,7 @@ export declare const actionExportWithDarkMode: {
|
|
|
772
780
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
773
781
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
774
782
|
elementLocked: boolean;
|
|
783
|
+
penLocked: boolean;
|
|
775
784
|
exportBackground: boolean;
|
|
776
785
|
exportEmbedScene: boolean;
|
|
777
786
|
exportScale: number;
|
|
@@ -18,6 +18,7 @@ export declare const actionFinalize: {
|
|
|
18
18
|
editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
|
|
19
19
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
20
20
|
elementLocked: boolean;
|
|
21
|
+
penLocked: boolean;
|
|
21
22
|
exportBackground: boolean;
|
|
22
23
|
exportEmbedScene: boolean;
|
|
23
24
|
exportWithDarkMode: boolean;
|
|
@@ -110,6 +111,7 @@ export declare const actionFinalize: {
|
|
|
110
111
|
isBindingEnabled: boolean;
|
|
111
112
|
editingLinearElement: LinearElementEditor | null;
|
|
112
113
|
elementLocked: boolean;
|
|
114
|
+
penLocked: boolean;
|
|
113
115
|
exportBackground: boolean;
|
|
114
116
|
exportEmbedScene: boolean;
|
|
115
117
|
exportWithDarkMode: boolean;
|
|
@@ -17,6 +17,7 @@ export declare const actionToggleCanvasMenu: {
|
|
|
17
17
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
18
18
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
19
19
|
elementLocked: boolean;
|
|
20
|
+
penLocked: boolean;
|
|
20
21
|
exportBackground: boolean;
|
|
21
22
|
exportEmbedScene: boolean;
|
|
22
23
|
exportWithDarkMode: boolean;
|
|
@@ -111,6 +112,7 @@ export declare const actionToggleEditMenu: {
|
|
|
111
112
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
112
113
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
113
114
|
elementLocked: boolean;
|
|
115
|
+
penLocked: boolean;
|
|
114
116
|
exportBackground: boolean;
|
|
115
117
|
exportEmbedScene: boolean;
|
|
116
118
|
exportWithDarkMode: boolean;
|
|
@@ -214,6 +216,7 @@ export declare const actionShortcuts: {
|
|
|
214
216
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
215
217
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
216
218
|
elementLocked: boolean;
|
|
219
|
+
penLocked: boolean;
|
|
217
220
|
exportBackground: boolean;
|
|
218
221
|
exportEmbedScene: boolean;
|
|
219
222
|
exportWithDarkMode: boolean;
|
|
@@ -34,6 +34,7 @@ export declare const actionChangeFillStyle: {
|
|
|
34
34
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
35
35
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
36
36
|
elementLocked: boolean;
|
|
37
|
+
penLocked: boolean;
|
|
37
38
|
exportBackground: boolean;
|
|
38
39
|
exportEmbedScene: boolean;
|
|
39
40
|
exportWithDarkMode: boolean;
|
|
@@ -129,6 +130,7 @@ export declare const actionChangeStrokeWidth: {
|
|
|
129
130
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
130
131
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
131
132
|
elementLocked: boolean;
|
|
133
|
+
penLocked: boolean;
|
|
132
134
|
exportBackground: boolean;
|
|
133
135
|
exportEmbedScene: boolean;
|
|
134
136
|
exportWithDarkMode: boolean;
|
|
@@ -224,6 +226,7 @@ export declare const actionChangeSloppiness: {
|
|
|
224
226
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
225
227
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
226
228
|
elementLocked: boolean;
|
|
229
|
+
penLocked: boolean;
|
|
227
230
|
exportBackground: boolean;
|
|
228
231
|
exportEmbedScene: boolean;
|
|
229
232
|
exportWithDarkMode: boolean;
|
|
@@ -319,6 +322,7 @@ export declare const actionChangeStrokeStyle: {
|
|
|
319
322
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
320
323
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
321
324
|
elementLocked: boolean;
|
|
325
|
+
penLocked: boolean;
|
|
322
326
|
exportBackground: boolean;
|
|
323
327
|
exportEmbedScene: boolean;
|
|
324
328
|
exportWithDarkMode: boolean;
|
|
@@ -414,6 +418,7 @@ export declare const actionChangeOpacity: {
|
|
|
414
418
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
415
419
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
416
420
|
elementLocked: boolean;
|
|
421
|
+
penLocked: boolean;
|
|
417
422
|
exportBackground: boolean;
|
|
418
423
|
exportEmbedScene: boolean;
|
|
419
424
|
exportWithDarkMode: boolean;
|
|
@@ -509,6 +514,7 @@ export declare const actionChangeFontSize: {
|
|
|
509
514
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
510
515
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
511
516
|
elementLocked: boolean;
|
|
517
|
+
penLocked: boolean;
|
|
512
518
|
exportBackground: boolean;
|
|
513
519
|
exportEmbedScene: boolean;
|
|
514
520
|
exportWithDarkMode: boolean;
|
|
@@ -604,6 +610,7 @@ export declare const actionDecreaseFontSize: {
|
|
|
604
610
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
605
611
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
606
612
|
elementLocked: boolean;
|
|
613
|
+
penLocked: boolean;
|
|
607
614
|
exportBackground: boolean;
|
|
608
615
|
exportEmbedScene: boolean;
|
|
609
616
|
exportWithDarkMode: boolean;
|
|
@@ -699,6 +706,7 @@ export declare const actionIncreaseFontSize: {
|
|
|
699
706
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
700
707
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
701
708
|
elementLocked: boolean;
|
|
709
|
+
penLocked: boolean;
|
|
702
710
|
exportBackground: boolean;
|
|
703
711
|
exportEmbedScene: boolean;
|
|
704
712
|
exportWithDarkMode: boolean;
|
|
@@ -794,6 +802,7 @@ export declare const actionChangeFontFamily: {
|
|
|
794
802
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
795
803
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
796
804
|
elementLocked: boolean;
|
|
805
|
+
penLocked: boolean;
|
|
797
806
|
exportBackground: boolean;
|
|
798
807
|
exportEmbedScene: boolean;
|
|
799
808
|
exportWithDarkMode: boolean;
|
|
@@ -889,6 +898,7 @@ export declare const actionChangeTextAlign: {
|
|
|
889
898
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
890
899
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
891
900
|
elementLocked: boolean;
|
|
901
|
+
penLocked: boolean;
|
|
892
902
|
exportBackground: boolean;
|
|
893
903
|
exportEmbedScene: boolean;
|
|
894
904
|
exportWithDarkMode: boolean;
|
|
@@ -985,6 +995,7 @@ export declare const actionChangeSharpness: {
|
|
|
985
995
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
986
996
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
987
997
|
elementLocked: boolean;
|
|
998
|
+
penLocked: boolean;
|
|
988
999
|
exportBackground: boolean;
|
|
989
1000
|
exportEmbedScene: boolean;
|
|
990
1001
|
exportWithDarkMode: boolean;
|
|
@@ -1081,6 +1092,7 @@ export declare const actionChangeArrowhead: {
|
|
|
1081
1092
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
1082
1093
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
1083
1094
|
elementLocked: boolean;
|
|
1095
|
+
penLocked: boolean;
|
|
1084
1096
|
exportBackground: boolean;
|
|
1085
1097
|
exportEmbedScene: boolean;
|
|
1086
1098
|
exportWithDarkMode: boolean;
|
|
@@ -18,6 +18,7 @@ export declare const actionCopyStyles: {
|
|
|
18
18
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
19
19
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
20
20
|
elementLocked: boolean;
|
|
21
|
+
penLocked: boolean;
|
|
21
22
|
exportBackground: boolean;
|
|
22
23
|
exportEmbedScene: boolean;
|
|
23
24
|
exportWithDarkMode: boolean;
|
|
@@ -18,6 +18,7 @@ export declare const actionToggleGridMode: {
|
|
|
18
18
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
19
19
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
20
20
|
elementLocked: boolean;
|
|
21
|
+
penLocked: boolean;
|
|
21
22
|
exportBackground: boolean;
|
|
22
23
|
exportEmbedScene: boolean;
|
|
23
24
|
exportWithDarkMode: boolean;
|
|
@@ -17,6 +17,7 @@ export declare const actionToggleStats: {
|
|
|
17
17
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
18
18
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
19
19
|
elementLocked: boolean;
|
|
20
|
+
penLocked: boolean;
|
|
20
21
|
exportBackground: boolean;
|
|
21
22
|
exportEmbedScene: boolean;
|
|
22
23
|
exportWithDarkMode: boolean;
|
|
@@ -17,6 +17,7 @@ export declare const actionToggleViewMode: {
|
|
|
17
17
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
18
18
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
19
19
|
elementLocked: boolean;
|
|
20
|
+
penLocked: boolean;
|
|
20
21
|
exportBackground: boolean;
|
|
21
22
|
exportEmbedScene: boolean;
|
|
22
23
|
exportWithDarkMode: boolean;
|
|
@@ -17,6 +17,7 @@ export declare const actionToggleZenMode: {
|
|
|
17
17
|
editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
|
|
18
18
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
19
19
|
elementLocked: boolean;
|
|
20
|
+
penLocked: boolean;
|
|
20
21
|
exportBackground: boolean;
|
|
21
22
|
exportEmbedScene: boolean;
|
|
22
23
|
exportWithDarkMode: boolean;
|
package/types/actions/types.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ export interface Action {
|
|
|
31
31
|
perform: ActionFn;
|
|
32
32
|
keyPriority?: number;
|
|
33
33
|
keyTest?: (event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean;
|
|
34
|
-
contextItemLabel?: string;
|
|
34
|
+
contextItemLabel?: string | ((elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => string);
|
|
35
35
|
contextItemPredicate?: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
|
|
36
36
|
checked?: (appState: Readonly<AppState>) => boolean;
|
|
37
37
|
}
|
package/types/appState.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
|
|
|
16
16
|
name?: string | undefined;
|
|
17
17
|
elementType?: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | undefined;
|
|
18
18
|
elementLocked?: boolean | undefined;
|
|
19
|
+
penLocked?: boolean | undefined;
|
|
19
20
|
exportBackground?: boolean | undefined;
|
|
20
21
|
exportEmbedScene?: boolean | undefined;
|
|
21
22
|
exportWithDarkMode?: boolean | undefined;
|
|
@@ -68,6 +68,7 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
68
68
|
setAppState: (obj: any) => void;
|
|
69
69
|
removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
|
|
70
70
|
toggleLock: () => void;
|
|
71
|
+
togglePenLock: () => void;
|
|
71
72
|
toggleZenMode: () => void;
|
|
72
73
|
toggleStats: () => void;
|
|
73
74
|
scrollToContent: (target?: ExcalidrawElement | readonly ExcalidrawElement[]) => void;
|
|
@@ -79,6 +80,10 @@ declare class App extends React.Component<AppProps, AppState> {
|
|
|
79
80
|
/** adds supplied files to existing files in the appState */
|
|
80
81
|
addFiles: ExcalidrawImperativeAPI["addFiles"];
|
|
81
82
|
setLocalFont: ExcalidrawImperativeAPI["setLocalFont"];
|
|
83
|
+
bringToFront: ExcalidrawImperativeAPI["bringToFront"];
|
|
84
|
+
bringForward: ExcalidrawImperativeAPI["bringForward"];
|
|
85
|
+
sendToBack: ExcalidrawImperativeAPI["sendToBack"];
|
|
86
|
+
sendBackward: ExcalidrawImperativeAPI["sendBackward"];
|
|
82
87
|
updateScene: <K extends keyof AppState>(sceneData: {
|
|
83
88
|
elements?: SceneData["elements"];
|
|
84
89
|
appState?: Pick<AppState, K> | null | undefined;
|
|
@@ -2,6 +2,7 @@ import "./ContextMenu.scss";
|
|
|
2
2
|
import { Action } from "../actions/types";
|
|
3
3
|
import { ActionManager } from "../actions/manager";
|
|
4
4
|
import { AppState } from "../types";
|
|
5
|
+
import { NonDeletedExcalidrawElement } from "../element/types";
|
|
5
6
|
export declare type ContextMenuOption = "separator" | Action;
|
|
6
7
|
declare type ContextMenuProps = {
|
|
7
8
|
options: ContextMenuOption[];
|
|
@@ -10,6 +11,7 @@ declare type ContextMenuProps = {
|
|
|
10
11
|
left: number;
|
|
11
12
|
actionManager: ActionManager;
|
|
12
13
|
appState: Readonly<AppState>;
|
|
14
|
+
elements: readonly NonDeletedExcalidrawElement[];
|
|
13
15
|
};
|
|
14
16
|
declare type ContextMenuParams = {
|
|
15
17
|
options: (ContextMenuOption | false | null | undefined)[];
|
|
@@ -18,6 +20,7 @@ declare type ContextMenuParams = {
|
|
|
18
20
|
actionManager: ContextMenuProps["actionManager"];
|
|
19
21
|
appState: Readonly<AppState>;
|
|
20
22
|
container: HTMLElement;
|
|
23
|
+
elements: readonly NonDeletedExcalidrawElement[];
|
|
21
24
|
};
|
|
22
25
|
declare const _default: {
|
|
23
26
|
push(params: ContextMenuParams): void;
|
|
@@ -15,6 +15,7 @@ interface LayerUIProps {
|
|
|
15
15
|
elements: readonly NonDeletedExcalidrawElement[];
|
|
16
16
|
onCollabButtonClick?: () => void;
|
|
17
17
|
onLockToggle: () => void;
|
|
18
|
+
onPenLockToggle: () => void;
|
|
18
19
|
onInsertElements: (elements: readonly NonDeletedExcalidrawElement[]) => void;
|
|
19
20
|
zenModeEnabled: boolean;
|
|
20
21
|
showExitZenModeBtn: boolean;
|
|
@@ -34,5 +35,5 @@ interface LayerUIProps {
|
|
|
34
35
|
insertOnCanvasDirectly: boolean;
|
|
35
36
|
}) => void;
|
|
36
37
|
}
|
|
37
|
-
declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, canvas, elements, onCollabButtonClick, onLockToggle, onInsertElements, zenModeEnabled, showExitZenModeBtn, showThemeBtn, toggleZenMode, isCollaborating, renderTopRightUI, renderCustomFooter, viewModeEnabled, libraryReturnUrl, UIOptions, focusContainer, library, id, onImageAction, }: LayerUIProps) => JSX.Element>;
|
|
38
|
+
declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, canvas, elements, onCollabButtonClick, onLockToggle, onPenLockToggle, onInsertElements, zenModeEnabled, showExitZenModeBtn, showThemeBtn, toggleZenMode, isCollaborating, renderTopRightUI, renderCustomFooter, viewModeEnabled, libraryReturnUrl, UIOptions, focusContainer, library, id, onImageAction, }: LayerUIProps) => JSX.Element>;
|
|
38
39
|
export default _default;
|
|
@@ -12,6 +12,7 @@ declare type MobileMenuProps = {
|
|
|
12
12
|
libraryMenu: JSX.Element | null;
|
|
13
13
|
onCollabButtonClick?: () => void;
|
|
14
14
|
onLockToggle: () => void;
|
|
15
|
+
onPenLockToggle: () => void;
|
|
15
16
|
canvas: HTMLCanvasElement | null;
|
|
16
17
|
isCollaborating: boolean;
|
|
17
18
|
renderCustomFooter?: (isMobile: boolean, appState: AppState) => JSX.Element;
|
|
@@ -22,5 +23,5 @@ declare type MobileMenuProps = {
|
|
|
22
23
|
}) => void;
|
|
23
24
|
renderTopRightUI?: (isMobile: boolean, appState: AppState) => JSX.Element | null;
|
|
24
25
|
};
|
|
25
|
-
export declare const MobileMenu: ({ appState, elements, libraryMenu, actionManager, renderJSONExportDialog, renderImageExportDialog, setAppState, onCollabButtonClick, onLockToggle, canvas, isCollaborating, renderCustomFooter, viewModeEnabled, showThemeBtn, onImageAction, renderTopRightUI, }: MobileMenuProps) => JSX.Element;
|
|
26
|
+
export declare const MobileMenu: ({ appState, elements, libraryMenu, actionManager, renderJSONExportDialog, renderImageExportDialog, setAppState, onCollabButtonClick, onLockToggle, onPenLockToggle, canvas, isCollaborating, renderCustomFooter, viewModeEnabled, showThemeBtn, onImageAction, renderTopRightUI, }: MobileMenuProps) => JSX.Element;
|
|
26
27
|
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import "./ToolIcon.scss";
|
|
3
|
+
declare type PenLockIconProps = {
|
|
4
|
+
title?: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
checked: boolean;
|
|
7
|
+
onChange?(): void;
|
|
8
|
+
zenModeEnabled?: boolean;
|
|
9
|
+
isMobile?: boolean;
|
|
10
|
+
elementType: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const PenLockButton: (props: PenLockIconProps) => JSX.Element | null;
|
|
13
|
+
export {};
|
|
@@ -98,6 +98,7 @@ export declare class LinearElementEditor {
|
|
|
98
98
|
editingElement: import("./types").NonDeletedExcalidrawElement | null;
|
|
99
99
|
elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
|
|
100
100
|
elementLocked: boolean;
|
|
101
|
+
penLocked: boolean;
|
|
101
102
|
exportBackground: boolean;
|
|
102
103
|
exportEmbedScene: boolean;
|
|
103
104
|
exportWithDarkMode: boolean;
|
|
@@ -145,6 +146,7 @@ export declare class LinearElementEditor {
|
|
|
145
146
|
toastMessage: string | null;
|
|
146
147
|
zenModeEnabled: boolean;
|
|
147
148
|
theme: string;
|
|
149
|
+
/** @returns whether point was dragged */
|
|
148
150
|
gridSize: number | null;
|
|
149
151
|
viewModeEnabled: boolean;
|
|
150
152
|
selectedGroupIds: {
|
package/types/types.d.ts
CHANGED
|
@@ -55,6 +55,7 @@ export declare type AppState = {
|
|
|
55
55
|
editingLinearElement: LinearElementEditor | null;
|
|
56
56
|
elementType: typeof SHAPES[number]["value"];
|
|
57
57
|
elementLocked: boolean;
|
|
58
|
+
penLocked: boolean;
|
|
58
59
|
exportBackground: boolean;
|
|
59
60
|
exportEmbedScene: boolean;
|
|
60
61
|
exportWithDarkMode: boolean;
|
|
@@ -333,5 +334,9 @@ export declare type ExcalidrawImperativeAPI = {
|
|
|
333
334
|
ready: true;
|
|
334
335
|
id: string;
|
|
335
336
|
setLocalFont: (showOnPanel: boolean) => void;
|
|
337
|
+
sendBackward: (elements: ExcalidrawElement[]) => void;
|
|
338
|
+
bringForward: (elements: ExcalidrawElement[]) => void;
|
|
339
|
+
sendToBack: (elements: ExcalidrawElement[]) => void;
|
|
340
|
+
bringToFront: (elements: ExcalidrawElement[]) => void;
|
|
336
341
|
};
|
|
337
342
|
export {};
|