@dwelle/excalidraw 0.3.35 → 0.3.39

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 (49) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/README_NEXT.md +1 -0
  3. package/dist/excalidraw-assets-dev/{image-f696fa36e3535df5e97a.js → image-8825d180ee32659f8996.js} +0 -0
  4. package/dist/excalidraw.development.js +58 -36
  5. package/dist/excalidraw.production.min.js +1 -1
  6. package/package.json +7 -7
  7. package/types/actions/actionAddToLibrary.d.ts +262 -1
  8. package/types/actions/actionAlign.d.ts +73 -6
  9. package/types/actions/actionCanvas.d.ts +659 -8
  10. package/types/actions/actionClipboard.d.ts +483 -4
  11. package/types/actions/actionDeleteSelected.d.ts +286 -1
  12. package/types/actions/actionDistribute.d.ts +27 -2
  13. package/types/actions/actionDuplicateSelection.d.ts +19 -1
  14. package/types/actions/actionExport.d.ts +831 -8
  15. package/types/actions/actionFinalize.d.ts +182 -1
  16. package/types/actions/actionFlip.d.ts +29 -2
  17. package/types/actions/actionGroup.d.ts +39 -2
  18. package/types/actions/actionMenu.d.ts +287 -4
  19. package/types/actions/actionNavigate.d.ts +11 -1
  20. package/types/actions/actionProperties.d.ts +1136 -12
  21. package/types/actions/actionSelectAll.d.ts +12 -1
  22. package/types/actions/actionStyles.d.ts +108 -2
  23. package/types/actions/actionToggleGridMode.d.ts +96 -1
  24. package/types/actions/actionToggleStats.d.ts +95 -1
  25. package/types/actions/actionToggleViewMode.d.ts +95 -1
  26. package/types/actions/actionToggleZenMode.d.ts +95 -1
  27. package/types/actions/actionUnbindText.d.ts +11 -0
  28. package/types/actions/actionZindex.d.ts +55 -4
  29. package/types/actions/index.d.ts +1 -0
  30. package/types/actions/register.d.ts +3 -1
  31. package/types/actions/types.d.ts +2 -2
  32. package/types/appState.d.ts +0 -4
  33. package/types/components/App.d.ts +2 -0
  34. package/types/components/ContextMenu.d.ts +3 -0
  35. package/types/components/LayerUI.d.ts +2 -1
  36. package/types/components/MobileMenu.d.ts +2 -1
  37. package/types/components/PenModeButton.d.ts +13 -0
  38. package/types/components/Popover.d.ts +5 -1
  39. package/types/constants.d.ts +0 -3
  40. package/types/element/linearElementEditor.d.ts +3 -6
  41. package/types/element/newElement.d.ts +1 -1
  42. package/types/element/textElement.d.ts +3 -0
  43. package/types/element/textWysiwyg.d.ts +5 -5
  44. package/types/keys.d.ts +4 -0
  45. package/types/packages/excalidraw/dist/excalidraw-assets-dev/image-8825d180ee32659f8996.d.ts +0 -0
  46. package/types/scene/index.d.ts +1 -1
  47. package/types/scene/zoom.d.ts +12 -5
  48. package/types/shapes.d.ts +1 -1
  49. package/types/types.d.ts +4 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dwelle/excalidraw",
3
- "version": "0.3.35",
3
+ "version": "0.3.39",
4
4
  "main": "main.js",
5
5
  "types": "types/packages/excalidraw/index.d.ts",
6
6
  "files": [
@@ -37,29 +37,29 @@
37
37
  "react-dom": "^17.0.2"
38
38
  },
39
39
  "devDependencies": {
40
- "@babel/core": "7.16.0",
40
+ "@babel/core": "7.16.7",
41
41
  "@babel/plugin-transform-arrow-functions": "7.16.7",
42
42
  "@babel/plugin-transform-async-to-generator": "7.16.0",
43
- "@babel/plugin-transform-runtime": "7.16.4",
43
+ "@babel/plugin-transform-runtime": "7.16.8",
44
44
  "@babel/plugin-transform-typescript": "7.16.1",
45
45
  "@babel/preset-env": "7.16.7",
46
46
  "@babel/preset-react": "7.16.7",
47
47
  "@babel/preset-typescript": "7.16.7",
48
- "autoprefixer": "10.4.0",
48
+ "autoprefixer": "10.4.2",
49
49
  "babel-loader": "8.2.3",
50
50
  "babel-plugin-transform-class-properties": "6.24.1",
51
51
  "cross-env": "7.0.3",
52
52
  "css-loader": "6.5.1",
53
- "mini-css-extract-plugin": "2.4.5",
53
+ "mini-css-extract-plugin": "2.4.6",
54
54
  "postcss-loader": "6.2.1",
55
55
  "sass-loader": "12.4.0",
56
56
  "terser-webpack-plugin": "5.3.0",
57
57
  "ts-loader": "9.2.6",
58
- "typescript": "4.5.3",
58
+ "typescript": "4.5.4",
59
59
  "webpack": "5.65.0",
60
60
  "webpack-bundle-analyzer": "4.5.0",
61
61
  "webpack-cli": "4.9.1",
62
- "webpack-dev-server": "4.7.1",
62
+ "webpack-dev-server": "4.7.3",
63
63
  "webpack-merge": "5.8.0"
64
64
  },
65
65
  "repository": "https://github.com/dwelle/excalidraw",
@@ -1 +1,262 @@
1
- export declare const actionAddToLibrary: import("./types").Action;
1
+ export declare const actionAddToLibrary: {
2
+ name: "addToLibrary";
3
+ perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties) => Promise<{
4
+ commitToHistory: boolean;
5
+ appState: {
6
+ toastMessage: string;
7
+ isLoading: boolean;
8
+ errorMessage: string | null;
9
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
10
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
11
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
12
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
13
+ isBindingEnabled: boolean;
14
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
15
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
16
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
17
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
18
+ elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
19
+ elementLocked: boolean;
20
+ penMode: boolean;
21
+ penDetected: boolean;
22
+ exportBackground: boolean;
23
+ exportEmbedScene: boolean;
24
+ exportWithDarkMode: boolean;
25
+ exportScale: number;
26
+ currentItemStrokeColor: string;
27
+ currentItemBackgroundColor: string;
28
+ currentItemFillStyle: import("../element/types").FillStyle;
29
+ currentItemStrokeWidth: number;
30
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
31
+ currentItemRoughness: number;
32
+ currentItemOpacity: number;
33
+ currentItemFontFamily: number;
34
+ currentItemFontSize: number;
35
+ currentItemTextAlign: import("../element/types").TextAlign;
36
+ currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
37
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
38
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
39
+ currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
40
+ viewBackgroundColor: string;
41
+ scrollX: number;
42
+ scrollY: number;
43
+ cursorButton: "up" | "down";
44
+ scrolledOutside: boolean;
45
+ name: string;
46
+ isResizing: boolean;
47
+ isRotating: boolean;
48
+ zoom: Readonly<{
49
+ value: import("../types").NormalizedZoomValue;
50
+ }>;
51
+ openMenu: "canvas" | "shape" | null;
52
+ openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
53
+ lastPointerDownWith: import("../element/types").PointerType;
54
+ selectedElementIds: {
55
+ [id: string]: boolean;
56
+ };
57
+ previousSelectedElementIds: {
58
+ [id: string]: boolean;
59
+ };
60
+ shouldCacheIgnoreZoom: boolean;
61
+ showHelpDialog: boolean;
62
+ zenModeEnabled: boolean;
63
+ theme: string;
64
+ gridSize: number | null;
65
+ viewModeEnabled: boolean;
66
+ selectedGroupIds: {
67
+ [groupId: string]: boolean;
68
+ };
69
+ editingGroupId: string | null;
70
+ width: number;
71
+ height: number;
72
+ offsetTop: number;
73
+ offsetLeft: number;
74
+ isLibraryOpen: boolean;
75
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
76
+ collaborators: Map<string, import("../types").Collaborator>;
77
+ showStats: boolean;
78
+ currentChartType: import("../element/types").ChartType;
79
+ pasteDialog: {
80
+ shown: false;
81
+ data: null;
82
+ } | {
83
+ shown: true;
84
+ data: import("../charts").Spreadsheet;
85
+ };
86
+ pendingImageElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawImageElement> | null;
87
+ };
88
+ } | {
89
+ commitToHistory: false;
90
+ appState: {
91
+ errorMessage: any;
92
+ isLoading: boolean;
93
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
94
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
95
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
96
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
97
+ isBindingEnabled: boolean;
98
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
99
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
100
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
101
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
102
+ elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
103
+ elementLocked: boolean;
104
+ penMode: boolean;
105
+ penDetected: boolean;
106
+ exportBackground: boolean;
107
+ exportEmbedScene: boolean;
108
+ exportWithDarkMode: boolean;
109
+ exportScale: number;
110
+ currentItemStrokeColor: string;
111
+ currentItemBackgroundColor: string;
112
+ currentItemFillStyle: import("../element/types").FillStyle;
113
+ currentItemStrokeWidth: number;
114
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
115
+ currentItemRoughness: number;
116
+ currentItemOpacity: number;
117
+ currentItemFontFamily: number;
118
+ currentItemFontSize: number;
119
+ currentItemTextAlign: import("../element/types").TextAlign;
120
+ currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
121
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
122
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
123
+ currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
124
+ viewBackgroundColor: string;
125
+ scrollX: number;
126
+ scrollY: number;
127
+ cursorButton: "up" | "down";
128
+ scrolledOutside: boolean;
129
+ name: string;
130
+ isResizing: boolean;
131
+ isRotating: boolean;
132
+ zoom: Readonly<{
133
+ value: import("../types").NormalizedZoomValue;
134
+ }>;
135
+ openMenu: "canvas" | "shape" | null;
136
+ openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
137
+ lastPointerDownWith: import("../element/types").PointerType;
138
+ selectedElementIds: {
139
+ [id: string]: boolean;
140
+ };
141
+ previousSelectedElementIds: {
142
+ [id: string]: boolean;
143
+ };
144
+ shouldCacheIgnoreZoom: boolean;
145
+ showHelpDialog: boolean;
146
+ toastMessage: string | null;
147
+ zenModeEnabled: boolean;
148
+ theme: string;
149
+ gridSize: number | null;
150
+ viewModeEnabled: boolean;
151
+ selectedGroupIds: {
152
+ [groupId: string]: boolean;
153
+ };
154
+ editingGroupId: string | null;
155
+ width: number;
156
+ height: number;
157
+ offsetTop: number;
158
+ offsetLeft: number;
159
+ isLibraryOpen: boolean;
160
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
161
+ collaborators: Map<string, import("../types").Collaborator>;
162
+ showStats: boolean;
163
+ currentChartType: import("../element/types").ChartType;
164
+ pasteDialog: {
165
+ shown: false;
166
+ data: null;
167
+ } | {
168
+ shown: true;
169
+ data: import("../charts").Spreadsheet;
170
+ };
171
+ pendingImageElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawImageElement> | null;
172
+ };
173
+ }> | {
174
+ commitToHistory: false;
175
+ appState: {
176
+ errorMessage: string;
177
+ isLoading: boolean;
178
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
179
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
180
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
181
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
182
+ isBindingEnabled: boolean;
183
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
184
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
185
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
186
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
187
+ elementType: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw";
188
+ elementLocked: boolean;
189
+ penMode: boolean;
190
+ penDetected: boolean;
191
+ exportBackground: boolean;
192
+ exportEmbedScene: boolean;
193
+ exportWithDarkMode: boolean;
194
+ exportScale: number;
195
+ currentItemStrokeColor: string;
196
+ currentItemBackgroundColor: string;
197
+ currentItemFillStyle: import("../element/types").FillStyle;
198
+ currentItemStrokeWidth: number;
199
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
200
+ currentItemRoughness: number;
201
+ currentItemOpacity: number;
202
+ currentItemFontFamily: number;
203
+ currentItemFontSize: number;
204
+ currentItemTextAlign: import("../element/types").TextAlign;
205
+ currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
206
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
207
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
208
+ currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
209
+ viewBackgroundColor: string;
210
+ scrollX: number;
211
+ scrollY: number;
212
+ cursorButton: "up" | "down";
213
+ scrolledOutside: boolean;
214
+ name: string;
215
+ isResizing: boolean;
216
+ isRotating: boolean;
217
+ zoom: Readonly<{
218
+ value: import("../types").NormalizedZoomValue;
219
+ }>;
220
+ openMenu: "canvas" | "shape" | null;
221
+ openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
222
+ lastPointerDownWith: import("../element/types").PointerType;
223
+ selectedElementIds: {
224
+ [id: string]: boolean;
225
+ };
226
+ previousSelectedElementIds: {
227
+ [id: string]: boolean;
228
+ };
229
+ shouldCacheIgnoreZoom: boolean;
230
+ showHelpDialog: boolean;
231
+ toastMessage: string | null;
232
+ zenModeEnabled: boolean;
233
+ theme: string;
234
+ gridSize: number | null;
235
+ viewModeEnabled: boolean;
236
+ selectedGroupIds: {
237
+ [groupId: string]: boolean;
238
+ };
239
+ editingGroupId: string | null;
240
+ width: number;
241
+ height: number;
242
+ offsetTop: number;
243
+ offsetLeft: number;
244
+ isLibraryOpen: boolean;
245
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
246
+ collaborators: Map<string, import("../types").Collaborator>;
247
+ showStats: boolean;
248
+ currentChartType: import("../element/types").ChartType;
249
+ pasteDialog: {
250
+ shown: false;
251
+ data: null;
252
+ } | {
253
+ shown: true;
254
+ data: import("../charts").Spreadsheet;
255
+ };
256
+ pendingImageElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawImageElement> | null;
257
+ };
258
+ };
259
+ contextItemLabel: string;
260
+ } & {
261
+ keyTest?: undefined;
262
+ };
@@ -1,6 +1,73 @@
1
- export declare const actionAlignTop: import("./types").Action;
2
- export declare const actionAlignBottom: import("./types").Action;
3
- export declare const actionAlignLeft: import("./types").Action;
4
- export declare const actionAlignRight: import("./types").Action;
5
- export declare const actionAlignVerticallyCentered: import("./types").Action;
6
- export declare const actionAlignHorizontallyCentered: import("./types").Action;
1
+ /// <reference types="react" />
2
+ import { ExcalidrawElement } from "../element/types";
3
+ import { AppState } from "../types";
4
+ export declare const actionAlignTop: {
5
+ name: "alignTop";
6
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
7
+ appState: Readonly<AppState>;
8
+ elements: ExcalidrawElement[];
9
+ commitToHistory: true;
10
+ };
11
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
12
+ PanelComponent: ({ elements, appState, updateData }: import("react").PropsWithChildren<import("./types").PanelComponentProps>) => JSX.Element;
13
+ } & {
14
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
15
+ };
16
+ export declare const actionAlignBottom: {
17
+ name: "alignBottom";
18
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
19
+ appState: Readonly<AppState>;
20
+ elements: ExcalidrawElement[];
21
+ commitToHistory: true;
22
+ };
23
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
24
+ PanelComponent: ({ elements, appState, updateData }: import("react").PropsWithChildren<import("./types").PanelComponentProps>) => JSX.Element;
25
+ } & {
26
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
27
+ };
28
+ export declare const actionAlignLeft: {
29
+ name: "alignLeft";
30
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
31
+ appState: Readonly<AppState>;
32
+ elements: ExcalidrawElement[];
33
+ commitToHistory: true;
34
+ };
35
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
36
+ PanelComponent: ({ elements, appState, updateData }: import("react").PropsWithChildren<import("./types").PanelComponentProps>) => JSX.Element;
37
+ } & {
38
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
39
+ };
40
+ export declare const actionAlignRight: {
41
+ name: "alignRight";
42
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
43
+ appState: Readonly<AppState>;
44
+ elements: ExcalidrawElement[];
45
+ commitToHistory: true;
46
+ };
47
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
48
+ PanelComponent: ({ elements, appState, updateData }: import("react").PropsWithChildren<import("./types").PanelComponentProps>) => JSX.Element;
49
+ } & {
50
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
51
+ };
52
+ export declare const actionAlignVerticallyCentered: {
53
+ name: "alignVerticallyCentered";
54
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
55
+ appState: Readonly<AppState>;
56
+ elements: ExcalidrawElement[];
57
+ commitToHistory: true;
58
+ };
59
+ PanelComponent: ({ elements, appState, updateData }: import("react").PropsWithChildren<import("./types").PanelComponentProps>) => JSX.Element;
60
+ } & {
61
+ keyTest?: undefined;
62
+ };
63
+ export declare const actionAlignHorizontallyCentered: {
64
+ name: "alignHorizontallyCentered";
65
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
66
+ appState: Readonly<AppState>;
67
+ elements: ExcalidrawElement[];
68
+ commitToHistory: true;
69
+ };
70
+ PanelComponent: ({ elements, appState, updateData }: import("react").PropsWithChildren<import("./types").PanelComponentProps>) => JSX.Element;
71
+ } & {
72
+ keyTest?: undefined;
73
+ };