@dwelle/excalidraw 0.4.0-9db4535 → 0.4.0-9fa56da

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 (143) hide show
  1. package/CHANGELOG.md +255 -1
  2. package/README.md +4 -0
  3. package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js → vendor-d415b28e9024dee4bb1b.js} +2 -2
  4. package/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.js → vendor-a14cd58fa2db417e42b2.js} +6 -6
  5. package/dist/excalidraw.development.js +2123 -1783
  6. package/dist/excalidraw.production.min.js +1 -1
  7. package/package.json +7 -2
  8. package/types/actions/actionAddToLibrary.d.ts +84 -43
  9. package/types/actions/actionAlign.d.ts +33 -28
  10. package/types/actions/actionBoundText.d.ts +60 -32
  11. package/types/actions/actionCanvas.d.ts +436 -164
  12. package/types/actions/actionClipboard.d.ts +140 -74
  13. package/types/actions/actionDeleteSelected.d.ts +80 -42
  14. package/types/actions/actionDistribute.d.ts +11 -12
  15. package/types/actions/actionDuplicateSelection.d.ts +2 -3
  16. package/types/actions/actionElementLock.d.ts +58 -30
  17. package/types/actions/actionExport.d.ts +303 -177
  18. package/types/actions/actionFinalize.d.ts +56 -32
  19. package/types/actions/actionFlip.d.ts +8 -9
  20. package/types/actions/actionFrame.d.ts +423 -0
  21. package/types/actions/actionGroup.d.ts +250 -13
  22. package/types/actions/actionLinearEditor.d.ts +30 -17
  23. package/types/actions/actionMenu.d.ts +87 -47
  24. package/types/actions/actionNavigate.d.ts +1 -1
  25. package/types/actions/actionProperties.d.ts +370 -187
  26. package/types/actions/actionSelectAll.d.ts +123 -4
  27. package/types/actions/actionStyles.d.ts +32 -19
  28. package/types/actions/actionToggleGridMode.d.ts +30 -17
  29. package/types/actions/actionToggleObjectsSnapMode.d.ts +137 -0
  30. package/types/actions/actionToggleStats.d.ts +30 -17
  31. package/types/actions/actionToggleViewMode.d.ts +30 -17
  32. package/types/actions/actionToggleZenMode.d.ts +30 -17
  33. package/types/actions/actionZindex.d.ts +12 -12
  34. package/types/actions/index.d.ts +1 -0
  35. package/types/actions/shortcuts.d.ts +1 -1
  36. package/types/actions/types.d.ts +4 -3
  37. package/types/appState.d.ts +10 -15
  38. package/types/clients.d.ts +1 -5
  39. package/types/clipboard.d.ts +1 -0
  40. package/types/colors.d.ts +9 -9
  41. package/types/components/Actions.d.ts +4 -5
  42. package/types/components/App.d.ts +61 -28
  43. package/types/components/Avatar.d.ts +0 -1
  44. package/types/components/Button.d.ts +0 -1
  45. package/types/components/Card.d.ts +0 -1
  46. package/types/components/ColorPicker/ColorInput.d.ts +3 -1
  47. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  48. package/types/components/DefaultSidebar.d.ts +0 -1
  49. package/types/components/Dialog.d.ts +2 -1
  50. package/types/components/ExcalidrawLogo.d.ts +15 -0
  51. package/types/components/EyeDropper.d.ts +18 -8
  52. package/types/components/FilledButton.d.ts +2 -1
  53. package/types/components/HintViewer.d.ts +3 -4
  54. package/types/components/JSONExportDialog.d.ts +1 -1
  55. package/types/components/LaserTool/LaserPathManager.d.ts +28 -0
  56. package/types/components/LaserTool/LaserPointerButton.d.ts +10 -0
  57. package/types/components/LaserTool/LaserTool.d.ts +7 -0
  58. package/types/components/LayerUI.d.ts +6 -2
  59. package/types/components/LibraryMenuHeaderContent.d.ts +0 -1
  60. package/types/components/LibraryUnit.d.ts +0 -1
  61. package/types/components/LoadingMessage.d.ts +0 -1
  62. package/types/components/MobileMenu.d.ts +4 -3
  63. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  64. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  65. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  66. package/types/components/Section.d.ts +1 -1
  67. package/types/components/Sidebar/Sidebar.d.ts +1 -1
  68. package/types/components/Sidebar/SidebarTab.d.ts +0 -1
  69. package/types/components/Sidebar/SidebarTabTrigger.d.ts +0 -1
  70. package/types/components/Sidebar/SidebarTabTriggers.d.ts +0 -1
  71. package/types/components/Sidebar/SidebarTabs.d.ts +0 -1
  72. package/types/components/Stack.d.ts +2 -2
  73. package/types/components/ToolButton.d.ts +2 -1
  74. package/types/components/Trans.d.ts +2 -1
  75. package/types/components/canvases/InteractiveCanvas.d.ts +27 -0
  76. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  77. package/types/components/canvases/index.d.ts +3 -0
  78. package/types/components/dropdownMenu/DropdownMenu.d.ts +9 -5
  79. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +2 -1
  80. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -1
  81. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +2 -1
  82. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -2
  83. package/types/components/dropdownMenu/common.d.ts +1 -1
  84. package/types/components/icons.d.ts +6 -0
  85. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -1
  86. package/types/components/main-menu/MainMenu.d.ts +9 -5
  87. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -1
  88. package/types/components/welcome-screen/WelcomeScreen.d.ts +0 -1
  89. package/types/constants.d.ts +35 -3
  90. package/types/context/tunnels.d.ts +1 -0
  91. package/types/data/transform.d.ts +71 -0
  92. package/types/data/url.d.ts +7 -0
  93. package/types/element/Hyperlink.d.ts +40 -23
  94. package/types/element/binding.d.ts +2 -1
  95. package/types/element/bounds.d.ts +30 -6
  96. package/types/element/collision.d.ts +7 -7
  97. package/types/element/dragElements.d.ts +12 -2
  98. package/types/element/embeddable.d.ts +153 -0
  99. package/types/element/index.d.ts +3 -2
  100. package/types/element/linearElementEditor.d.ts +33 -20
  101. package/types/element/newElement.d.ts +15 -6
  102. package/types/element/resizeElements.d.ts +2 -2
  103. package/types/element/sizeHelpers.d.ts +8 -1
  104. package/types/element/textElement.d.ts +5 -7
  105. package/types/element/textWysiwyg.d.ts +1 -1
  106. package/types/element/transformHandles.d.ts +10 -3
  107. package/types/element/typeChecks.d.ts +3 -1
  108. package/types/element/types.d.ts +19 -3
  109. package/types/frame.d.ts +40 -0
  110. package/types/groups.d.ts +15 -11
  111. package/types/history.d.ts +3 -3
  112. package/types/hooks/useOutsideClick.d.ts +0 -1
  113. package/types/hooks/useScrollPosition.d.ts +0 -1
  114. package/types/hooks/useStable.d.ts +1 -0
  115. package/types/i18n.d.ts +5 -2
  116. package/types/keys.d.ts +4 -0
  117. package/types/math.d.ts +3 -0
  118. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  119. package/types/packages/excalidraw/index.d.ts +3 -1
  120. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  121. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  122. package/types/packages/utils.d.ts +4 -1
  123. package/types/renderer/renderElement.d.ts +11 -22
  124. package/types/renderer/renderScene.d.ts +19 -27
  125. package/types/renderer/renderSnaps.d.ts +2 -0
  126. package/types/renderer/roundRect.d.ts +1 -1
  127. package/types/scene/Renderer.d.ts +25 -0
  128. package/types/scene/Scene.d.ts +23 -1
  129. package/types/scene/Shape.d.ts +12 -0
  130. package/types/scene/ShapeCache.d.ts +20 -0
  131. package/types/scene/export.d.ts +35 -9
  132. package/types/scene/scroll.d.ts +1 -1
  133. package/types/scene/scrollbars.d.ts +2 -6
  134. package/types/scene/selection.d.ts +26 -5
  135. package/types/scene/types.d.ts +66 -31
  136. package/types/snapping.d.ts +108 -0
  137. package/types/types.d.ts +130 -25
  138. package/types/utility-types.d.ts +3 -1
  139. package/types/utils.d.ts +60 -23
  140. package/types/zindex.d.ts +4 -4
  141. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  142. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  143. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
@@ -1,10 +1,9 @@
1
- /// <reference types="react" />
2
1
  import { LinearElementEditor } from "../element/linearElementEditor";
3
2
  import { AppState } from "../types";
4
3
  export declare const actionFinalize: {
5
4
  name: "finalize";
6
5
  trackEvent: false;
7
- perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<AppState>, _: any, { canvas, focusContainer, scene }: import("../types").AppClassProperties) => {
6
+ perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<AppState>, _: any, { interactiveCanvas, focusContainer, scene }: import("../types").AppClassProperties) => {
8
7
  elements: import("../element/types").ExcalidrawElement[] | undefined;
9
8
  appState: {
10
9
  cursorButton: "up";
@@ -17,6 +16,10 @@ export declare const actionFinalize: {
17
16
  showWelcomeScreen: boolean;
18
17
  isLoading: boolean;
19
18
  errorMessage: import("react").ReactNode;
19
+ activeEmbeddable: {
20
+ element: import("../element/types").NonDeletedExcalidrawElement;
21
+ state: "active" | "hover";
22
+ } | null;
20
23
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
21
24
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
22
25
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -24,17 +27,20 @@ export declare const actionFinalize: {
24
27
  isBindingEnabled: boolean;
25
28
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
26
29
  suggestedBindings: import("../element/binding").SuggestedBinding[];
30
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
31
+ frameRendering: {
32
+ enabled: boolean;
33
+ name: boolean;
34
+ outline: boolean;
35
+ clip: boolean;
36
+ };
37
+ editingFrame: string | null;
38
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
27
39
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
40
  activeTool: {
29
- lastActiveTool: import("../types").LastActiveTool;
41
+ lastActiveTool: import("../types").ActiveTool | null;
30
42
  locked: boolean;
31
- } & ({
32
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
33
- customType: null;
34
- } | {
35
- type: "custom";
36
- customType: string;
37
- });
43
+ } & import("../types").ActiveTool;
38
44
  penMode: boolean;
39
45
  penDetected: boolean;
40
46
  exportBackground: boolean;
@@ -73,12 +79,13 @@ export declare const actionFinalize: {
73
79
  openDialog: "imageExport" | "help" | "jsonExport" | null;
74
80
  defaultSidebarDockedPreference: boolean;
75
81
  lastPointerDownWith: import("../element/types").PointerType;
76
- selectedElementIds: {
77
- [id: string]: boolean;
78
- };
82
+ selectedElementIds: Readonly<{
83
+ [id: string]: true;
84
+ }>;
79
85
  previousSelectedElementIds: {
80
- [id: string]: boolean;
86
+ [id: string]: true;
81
87
  };
88
+ selectedElementsAreBeingDragged: boolean;
82
89
  shouldCacheIgnoreZoom: boolean;
83
90
  toast: {
84
91
  message: string;
@@ -86,7 +93,7 @@ export declare const actionFinalize: {
86
93
  duration?: number | undefined;
87
94
  } | null;
88
95
  zenModeEnabled: boolean;
89
- theme: string;
96
+ theme: import("../element/types").Theme;
90
97
  gridSize: number | null;
91
98
  viewModeEnabled: boolean;
92
99
  selectedGroupIds: {
@@ -109,8 +116,14 @@ export declare const actionFinalize: {
109
116
  data: import("../charts").Spreadsheet;
110
117
  };
111
118
  pendingImageElementId: string | null;
112
- showHyperlinkPopup: false | "info" | "editor";
119
+ showHyperlinkPopup: false | "editor" | "info";
113
120
  selectedLinearElement: LinearElementEditor | null;
121
+ snapLines: readonly import("../snapping").SnapLine[];
122
+ originSnapOffset: {
123
+ x: number;
124
+ y: number;
125
+ } | null;
126
+ objectsSnapModeEnabled: boolean;
114
127
  };
115
128
  commitToHistory: true;
116
129
  } | {
@@ -118,23 +131,18 @@ export declare const actionFinalize: {
118
131
  appState: {
119
132
  cursorButton: "up";
120
133
  activeTool: {
121
- lastActiveTool: import("../types").LastActiveTool;
134
+ lastActiveTool: import("../types").ActiveTool | null;
122
135
  locked: boolean;
123
- } & ({
124
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
125
- customType: null;
126
- } | {
127
- type: "custom";
128
- customType: string;
129
- });
136
+ } & import("../types").ActiveTool;
137
+ activeEmbeddable: null;
130
138
  draggingElement: null;
131
139
  multiElement: null;
132
140
  editingElement: null;
133
141
  startBoundElement: null;
134
142
  suggestedBindings: never[];
135
- selectedElementIds: {
136
- [id: string]: boolean;
137
- };
143
+ selectedElementIds: Readonly<{
144
+ [id: string]: true;
145
+ }>;
138
146
  selectedLinearElement: LinearElementEditor | null;
139
147
  pendingImageElementId: null;
140
148
  contextMenu: {
@@ -148,6 +156,15 @@ export declare const actionFinalize: {
148
156
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
149
157
  selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
150
158
  isBindingEnabled: boolean;
159
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
160
+ frameRendering: {
161
+ enabled: boolean;
162
+ name: boolean;
163
+ outline: boolean;
164
+ clip: boolean;
165
+ };
166
+ editingFrame: string | null;
167
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
151
168
  editingLinearElement: LinearElementEditor | null;
152
169
  penMode: boolean;
153
170
  penDetected: boolean;
@@ -188,8 +205,9 @@ export declare const actionFinalize: {
188
205
  defaultSidebarDockedPreference: boolean;
189
206
  lastPointerDownWith: import("../element/types").PointerType;
190
207
  previousSelectedElementIds: {
191
- [id: string]: boolean;
208
+ [id: string]: true;
192
209
  };
210
+ selectedElementsAreBeingDragged: boolean;
193
211
  shouldCacheIgnoreZoom: boolean;
194
212
  toast: {
195
213
  message: string;
@@ -197,7 +215,7 @@ export declare const actionFinalize: {
197
215
  duration?: number | undefined;
198
216
  } | null;
199
217
  zenModeEnabled: boolean;
200
- theme: string;
218
+ theme: import("../element/types").Theme;
201
219
  gridSize: number | null;
202
220
  viewModeEnabled: boolean;
203
221
  selectedGroupIds: {
@@ -219,12 +237,18 @@ export declare const actionFinalize: {
219
237
  shown: true;
220
238
  data: import("../charts").Spreadsheet;
221
239
  };
222
- showHyperlinkPopup: false | "info" | "editor";
240
+ showHyperlinkPopup: false | "editor" | "info";
241
+ snapLines: readonly import("../snapping").SnapLine[];
242
+ originSnapOffset: {
243
+ x: number;
244
+ y: number;
245
+ } | null;
246
+ objectsSnapModeEnabled: boolean;
223
247
  };
224
248
  commitToHistory: boolean;
225
249
  };
226
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean;
250
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState) => boolean;
227
251
  PanelComponent: ({ appState, updateData, data }: import("./types").PanelComponentProps) => JSX.Element;
228
252
  } & {
229
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>, appState: AppState) => boolean) | undefined;
253
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState) => boolean) | undefined;
230
254
  };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ExcalidrawElement } from "../element/types";
3
2
  import { AppState } from "../types";
4
3
  export declare const actionFlipHorizontal: {
@@ -6,28 +5,28 @@ export declare const actionFlipHorizontal: {
6
5
  trackEvent: {
7
6
  category: "element";
8
7
  };
9
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
10
- elements: ExcalidrawElement[];
8
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
9
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
11
10
  appState: Readonly<AppState>;
12
11
  commitToHistory: true;
13
12
  };
14
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
13
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
15
14
  contextItemLabel: string;
16
15
  } & {
17
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
16
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
18
17
  };
19
18
  export declare const actionFlipVertical: {
20
19
  name: "flipVertical";
21
20
  trackEvent: {
22
21
  category: "element";
23
22
  };
24
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
25
- elements: ExcalidrawElement[];
23
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
24
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
26
25
  appState: Readonly<AppState>;
27
26
  commitToHistory: true;
28
27
  };
29
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
28
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
30
29
  contextItemLabel: string;
31
30
  } & {
32
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
31
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
33
32
  };
@@ -0,0 +1,423 @@
1
+ import { ExcalidrawElement } from "../element/types";
2
+ import { AppClassProperties, AppState } from "../types";
3
+ export declare const actionSelectAllElementsInFrame: {
4
+ name: "selectAllElementsInFrame";
5
+ trackEvent: {
6
+ category: "canvas";
7
+ };
8
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
9
+ elements: readonly ExcalidrawElement[];
10
+ appState: Readonly<AppState>;
11
+ commitToHistory: false;
12
+ };
13
+ contextItemLabel: string;
14
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
15
+ } & {
16
+ keyTest?: undefined;
17
+ };
18
+ export declare const actionRemoveAllElementsFromFrame: {
19
+ name: "removeAllElementsFromFrame";
20
+ trackEvent: {
21
+ category: "history";
22
+ };
23
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
24
+ elements: ExcalidrawElement[];
25
+ appState: {
26
+ selectedElementIds: {
27
+ [x: string]: true;
28
+ };
29
+ contextMenu: {
30
+ items: import("../components/ContextMenu").ContextMenuItems;
31
+ top: number;
32
+ left: number;
33
+ } | null;
34
+ showWelcomeScreen: boolean;
35
+ isLoading: boolean;
36
+ errorMessage: import("react").ReactNode;
37
+ activeEmbeddable: {
38
+ element: import("../element/types").NonDeletedExcalidrawElement;
39
+ state: "active" | "hover";
40
+ } | null;
41
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
42
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
43
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
44
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
45
+ isBindingEnabled: boolean;
46
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
47
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
48
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
49
+ frameRendering: {
50
+ enabled: boolean;
51
+ name: boolean;
52
+ outline: boolean;
53
+ clip: boolean;
54
+ };
55
+ editingFrame: string | null;
56
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
57
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
58
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
59
+ activeTool: {
60
+ lastActiveTool: import("../types").ActiveTool | null;
61
+ locked: boolean;
62
+ } & import("../types").ActiveTool;
63
+ penMode: boolean;
64
+ penDetected: boolean;
65
+ exportBackground: boolean;
66
+ exportEmbedScene: boolean;
67
+ exportWithDarkMode: boolean;
68
+ exportScale: number;
69
+ currentItemStrokeColor: string;
70
+ currentItemBackgroundColor: string;
71
+ currentItemFillStyle: import("../element/types").FillStyle;
72
+ currentItemStrokeWidth: number;
73
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
74
+ currentItemRoughness: number;
75
+ currentItemOpacity: number;
76
+ currentItemFontFamily: number;
77
+ currentItemFontSize: number;
78
+ currentItemTextAlign: string;
79
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
80
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
81
+ currentItemRoundness: import("../element/types").StrokeRoundness;
82
+ viewBackgroundColor: string;
83
+ scrollX: number;
84
+ scrollY: number;
85
+ cursorButton: "up" | "down";
86
+ scrolledOutside: boolean;
87
+ name: string;
88
+ isResizing: boolean;
89
+ isRotating: boolean;
90
+ zoom: Readonly<{
91
+ value: import("../types").NormalizedZoomValue;
92
+ }>;
93
+ openMenu: "canvas" | "shape" | null;
94
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
95
+ openSidebar: {
96
+ name: string;
97
+ tab?: string | undefined;
98
+ } | null;
99
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
100
+ defaultSidebarDockedPreference: boolean;
101
+ lastPointerDownWith: import("../element/types").PointerType;
102
+ previousSelectedElementIds: {
103
+ [id: string]: true;
104
+ };
105
+ selectedElementsAreBeingDragged: boolean;
106
+ shouldCacheIgnoreZoom: boolean;
107
+ toast: {
108
+ message: string;
109
+ closable?: boolean | undefined;
110
+ duration?: number | undefined;
111
+ } | null;
112
+ zenModeEnabled: boolean;
113
+ theme: import("../element/types").Theme;
114
+ gridSize: number | null;
115
+ viewModeEnabled: boolean;
116
+ selectedGroupIds: {
117
+ [groupId: string]: boolean;
118
+ };
119
+ editingGroupId: string | null;
120
+ width: number;
121
+ height: number;
122
+ offsetTop: number;
123
+ offsetLeft: number;
124
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
125
+ collaborators: Map<string, import("../types").Collaborator>;
126
+ showStats: boolean;
127
+ currentChartType: import("../element/types").ChartType;
128
+ pasteDialog: {
129
+ shown: false;
130
+ data: null;
131
+ } | {
132
+ shown: true;
133
+ data: import("../charts").Spreadsheet;
134
+ };
135
+ pendingImageElementId: string | null;
136
+ showHyperlinkPopup: false | "editor" | "info";
137
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
138
+ snapLines: readonly import("../snapping").SnapLine[];
139
+ originSnapOffset: {
140
+ x: number;
141
+ y: number;
142
+ } | null;
143
+ objectsSnapModeEnabled: boolean;
144
+ };
145
+ commitToHistory: true;
146
+ } | {
147
+ elements: readonly ExcalidrawElement[];
148
+ appState: Readonly<AppState>;
149
+ commitToHistory: false;
150
+ };
151
+ contextItemLabel: string;
152
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
153
+ } & {
154
+ keyTest?: undefined;
155
+ };
156
+ export declare const actionupdateFrameRendering: {
157
+ name: "updateFrameRendering";
158
+ viewMode: true;
159
+ trackEvent: {
160
+ category: "canvas";
161
+ };
162
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
163
+ elements: readonly ExcalidrawElement[];
164
+ appState: {
165
+ frameRendering: {
166
+ enabled: boolean;
167
+ name: boolean;
168
+ outline: boolean;
169
+ clip: boolean;
170
+ };
171
+ contextMenu: {
172
+ items: import("../components/ContextMenu").ContextMenuItems;
173
+ top: number;
174
+ left: number;
175
+ } | null;
176
+ showWelcomeScreen: boolean;
177
+ isLoading: boolean;
178
+ errorMessage: import("react").ReactNode;
179
+ activeEmbeddable: {
180
+ element: import("../element/types").NonDeletedExcalidrawElement;
181
+ state: "active" | "hover";
182
+ } | null;
183
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
184
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
185
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
186
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
187
+ isBindingEnabled: boolean;
188
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
189
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
190
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
191
+ editingFrame: string | null;
192
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
193
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
194
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
195
+ activeTool: {
196
+ lastActiveTool: import("../types").ActiveTool | null;
197
+ locked: boolean;
198
+ } & import("../types").ActiveTool;
199
+ penMode: boolean;
200
+ penDetected: boolean;
201
+ exportBackground: boolean;
202
+ exportEmbedScene: boolean;
203
+ exportWithDarkMode: boolean;
204
+ exportScale: number;
205
+ currentItemStrokeColor: string;
206
+ currentItemBackgroundColor: string;
207
+ currentItemFillStyle: import("../element/types").FillStyle;
208
+ currentItemStrokeWidth: number;
209
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
210
+ currentItemRoughness: number;
211
+ currentItemOpacity: number;
212
+ currentItemFontFamily: number;
213
+ currentItemFontSize: number;
214
+ currentItemTextAlign: string;
215
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
216
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
217
+ currentItemRoundness: import("../element/types").StrokeRoundness;
218
+ viewBackgroundColor: string;
219
+ scrollX: number;
220
+ scrollY: number;
221
+ cursorButton: "up" | "down";
222
+ scrolledOutside: boolean;
223
+ name: string;
224
+ isResizing: boolean;
225
+ isRotating: boolean;
226
+ zoom: Readonly<{
227
+ value: import("../types").NormalizedZoomValue;
228
+ }>;
229
+ openMenu: "canvas" | "shape" | null;
230
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
231
+ openSidebar: {
232
+ name: string;
233
+ tab?: string | undefined;
234
+ } | null;
235
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
236
+ defaultSidebarDockedPreference: boolean;
237
+ lastPointerDownWith: import("../element/types").PointerType;
238
+ selectedElementIds: Readonly<{
239
+ [id: string]: true;
240
+ }>;
241
+ previousSelectedElementIds: {
242
+ [id: string]: true;
243
+ };
244
+ selectedElementsAreBeingDragged: boolean;
245
+ shouldCacheIgnoreZoom: boolean;
246
+ toast: {
247
+ message: string;
248
+ closable?: boolean | undefined;
249
+ duration?: number | undefined;
250
+ } | null;
251
+ zenModeEnabled: boolean;
252
+ theme: import("../element/types").Theme;
253
+ gridSize: number | null;
254
+ viewModeEnabled: boolean;
255
+ selectedGroupIds: {
256
+ [groupId: string]: boolean;
257
+ };
258
+ editingGroupId: string | null;
259
+ width: number;
260
+ height: number;
261
+ offsetTop: number;
262
+ offsetLeft: number;
263
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
264
+ collaborators: Map<string, import("../types").Collaborator>;
265
+ showStats: boolean;
266
+ currentChartType: import("../element/types").ChartType;
267
+ pasteDialog: {
268
+ shown: false;
269
+ data: null;
270
+ } | {
271
+ shown: true;
272
+ data: import("../charts").Spreadsheet;
273
+ };
274
+ pendingImageElementId: string | null;
275
+ showHyperlinkPopup: false | "editor" | "info";
276
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
277
+ snapLines: readonly import("../snapping").SnapLine[];
278
+ originSnapOffset: {
279
+ x: number;
280
+ y: number;
281
+ } | null;
282
+ objectsSnapModeEnabled: boolean;
283
+ };
284
+ commitToHistory: false;
285
+ };
286
+ contextItemLabel: string;
287
+ checked: (appState: AppState) => boolean;
288
+ } & {
289
+ keyTest?: undefined;
290
+ };
291
+ export declare const actionSetFrameAsActiveTool: {
292
+ name: "setFrameAsActiveTool";
293
+ trackEvent: {
294
+ category: "toolbar";
295
+ };
296
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
297
+ elements: readonly ExcalidrawElement[];
298
+ appState: {
299
+ activeTool: {
300
+ lastActiveTool: import("../types").ActiveTool | null;
301
+ locked: boolean;
302
+ } & import("../types").ActiveTool;
303
+ contextMenu: {
304
+ items: import("../components/ContextMenu").ContextMenuItems;
305
+ top: number;
306
+ left: number;
307
+ } | null;
308
+ showWelcomeScreen: boolean;
309
+ isLoading: boolean;
310
+ errorMessage: import("react").ReactNode;
311
+ activeEmbeddable: {
312
+ element: import("../element/types").NonDeletedExcalidrawElement;
313
+ state: "active" | "hover";
314
+ } | null;
315
+ draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
316
+ resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
317
+ multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
318
+ selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
319
+ isBindingEnabled: boolean;
320
+ startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
321
+ suggestedBindings: import("../element/binding").SuggestedBinding[];
322
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
323
+ frameRendering: {
324
+ enabled: boolean;
325
+ name: boolean;
326
+ outline: boolean;
327
+ clip: boolean;
328
+ };
329
+ editingFrame: string | null;
330
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
331
+ editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
332
+ editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
333
+ penMode: boolean;
334
+ penDetected: boolean;
335
+ exportBackground: boolean;
336
+ exportEmbedScene: boolean;
337
+ exportWithDarkMode: boolean;
338
+ exportScale: number;
339
+ currentItemStrokeColor: string;
340
+ currentItemBackgroundColor: string;
341
+ currentItemFillStyle: import("../element/types").FillStyle;
342
+ currentItemStrokeWidth: number;
343
+ currentItemStrokeStyle: import("../element/types").StrokeStyle;
344
+ currentItemRoughness: number;
345
+ currentItemOpacity: number;
346
+ currentItemFontFamily: number;
347
+ currentItemFontSize: number;
348
+ currentItemTextAlign: string;
349
+ currentItemStartArrowhead: import("../element/types").Arrowhead | null;
350
+ currentItemEndArrowhead: import("../element/types").Arrowhead | null;
351
+ currentItemRoundness: import("../element/types").StrokeRoundness;
352
+ viewBackgroundColor: string;
353
+ scrollX: number;
354
+ scrollY: number;
355
+ cursorButton: "up" | "down";
356
+ scrolledOutside: boolean;
357
+ name: string;
358
+ isResizing: boolean;
359
+ isRotating: boolean;
360
+ zoom: Readonly<{
361
+ value: import("../types").NormalizedZoomValue;
362
+ }>;
363
+ openMenu: "canvas" | "shape" | null;
364
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
365
+ openSidebar: {
366
+ name: string;
367
+ tab?: string | undefined;
368
+ } | null;
369
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
370
+ defaultSidebarDockedPreference: boolean;
371
+ lastPointerDownWith: import("../element/types").PointerType;
372
+ selectedElementIds: Readonly<{
373
+ [id: string]: true;
374
+ }>;
375
+ previousSelectedElementIds: {
376
+ [id: string]: true;
377
+ };
378
+ selectedElementsAreBeingDragged: boolean;
379
+ shouldCacheIgnoreZoom: boolean;
380
+ toast: {
381
+ message: string;
382
+ closable?: boolean | undefined;
383
+ duration?: number | undefined;
384
+ } | null;
385
+ zenModeEnabled: boolean;
386
+ theme: import("../element/types").Theme;
387
+ gridSize: number | null;
388
+ viewModeEnabled: boolean;
389
+ selectedGroupIds: {
390
+ [groupId: string]: boolean;
391
+ };
392
+ editingGroupId: string | null;
393
+ width: number;
394
+ height: number;
395
+ offsetTop: number;
396
+ offsetLeft: number;
397
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
398
+ collaborators: Map<string, import("../types").Collaborator>;
399
+ showStats: boolean;
400
+ currentChartType: import("../element/types").ChartType;
401
+ pasteDialog: {
402
+ shown: false;
403
+ data: null;
404
+ } | {
405
+ shown: true;
406
+ data: import("../charts").Spreadsheet;
407
+ };
408
+ pendingImageElementId: string | null;
409
+ showHyperlinkPopup: false | "editor" | "info";
410
+ selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
411
+ snapLines: readonly import("../snapping").SnapLine[];
412
+ originSnapOffset: {
413
+ x: number;
414
+ y: number;
415
+ } | null;
416
+ objectsSnapModeEnabled: boolean;
417
+ };
418
+ commitToHistory: false;
419
+ };
420
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
421
+ } & {
422
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
423
+ };