@dwelle/excalidraw 0.4.0-e1bdbb6 → 0.4.0-e587816

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 (240) hide show
  1. package/CHANGELOG.md +714 -0
  2. package/README.md +18 -1422
  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 +3257 -1444
  6. package/dist/excalidraw.production.min.js +1 -1
  7. package/dist/excalidraw.production.min.js.LICENSE.txt +20 -0
  8. package/main.js +1 -8
  9. package/package.json +9 -4
  10. package/types/actions/actionAddToLibrary.d.ts +124 -64
  11. package/types/actions/actionAlign.d.ts +33 -40
  12. package/types/actions/actionBoundText.d.ts +182 -25
  13. package/types/actions/actionCanvas.d.ts +754 -220
  14. package/types/actions/actionClipboard.d.ts +236 -115
  15. package/types/actions/actionDeleteSelected.d.ts +133 -72
  16. package/types/actions/actionDistribute.d.ts +11 -16
  17. package/types/actions/actionDuplicateSelection.d.ts +4 -7
  18. package/types/actions/actionElementLock.d.ts +271 -0
  19. package/types/actions/actionExport.d.ts +440 -277
  20. package/types/actions/actionFinalize.d.ts +85 -51
  21. package/types/actions/actionFlip.d.ts +8 -11
  22. package/types/actions/actionFrame.d.ts +423 -0
  23. package/types/actions/actionGroup.d.ts +252 -19
  24. package/types/actions/actionHistory.d.ts +1 -1
  25. package/types/actions/actionLinearEditor.d.ts +44 -24
  26. package/types/actions/actionMenu.d.ts +132 -79
  27. package/types/actions/actionNavigate.d.ts +2 -3
  28. package/types/actions/actionProperties.d.ts +569 -334
  29. package/types/actions/actionSelectAll.d.ts +123 -4
  30. package/types/actions/actionStyles.d.ts +46 -27
  31. package/types/actions/actionToggleGridMode.d.ts +46 -25
  32. package/types/actions/{actionToggleLock.d.ts → actionToggleObjectsSnapMode.d.ts} +56 -35
  33. package/types/actions/actionToggleStats.d.ts +45 -25
  34. package/types/actions/actionToggleViewMode.d.ts +46 -25
  35. package/types/actions/actionToggleZenMode.d.ts +46 -25
  36. package/types/actions/actionZindex.d.ts +16 -24
  37. package/types/actions/index.d.ts +2 -1
  38. package/types/actions/manager.d.ts +3 -2
  39. package/types/actions/shortcuts.d.ts +2 -1
  40. package/types/actions/types.d.ts +16 -13
  41. package/types/appState.d.ts +27 -28
  42. package/types/charts.d.ts +2 -2
  43. package/types/clients.d.ts +5 -6
  44. package/types/clipboard.d.ts +9 -3
  45. package/types/colors.d.ts +60 -5
  46. package/types/components/Actions.d.ts +7 -12
  47. package/types/components/ActiveConfirmDialog.d.ts +4 -0
  48. package/types/components/App.d.ts +102 -86
  49. package/types/components/Avatar.d.ts +1 -2
  50. package/types/components/BraveMeasureTextError.d.ts +2 -0
  51. package/types/components/Button.d.ts +16 -0
  52. package/types/components/ButtonIconSelect.d.ts +11 -3
  53. package/types/components/Card.d.ts +6 -0
  54. package/types/components/ColorPicker/ColorInput.d.ts +9 -0
  55. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  56. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  57. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  58. package/types/components/ColorPicker/Picker.d.ts +18 -0
  59. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  60. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  61. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  62. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  63. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  64. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
  65. package/types/components/ContextMenu.d.ts +9 -22
  66. package/types/components/DefaultSidebar.d.ts +29 -0
  67. package/types/components/Dialog.d.ts +3 -4
  68. package/types/components/ErrorDialog.d.ts +3 -2
  69. package/types/components/ExcalidrawLogo.d.ts +15 -0
  70. package/types/components/EyeDropper.d.ts +28 -0
  71. package/types/components/FilledButton.d.ts +17 -0
  72. package/types/components/FixedSideContainer.d.ts +1 -1
  73. package/types/components/HandButton.d.ts +10 -0
  74. package/types/components/HelpButton.d.ts +1 -2
  75. package/types/components/HintViewer.d.ts +4 -5
  76. package/types/components/HomeButton.d.ts +1 -1
  77. package/types/components/ImageExportDialog.d.ts +8 -13
  78. package/types/components/Island.d.ts +1 -1
  79. package/types/components/JSONExportDialog.d.ts +7 -5
  80. package/types/components/LaserTool/LaserPathManager.d.ts +28 -0
  81. package/types/components/LaserTool/LaserPointerButton.d.ts +10 -0
  82. package/types/components/LaserTool/LaserTool.d.ts +7 -0
  83. package/types/components/LayerUI.d.ts +11 -19
  84. package/types/components/LibraryMenu.d.ts +13 -14
  85. package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
  86. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  87. package/types/components/LibraryMenuHeaderContent.d.ts +10 -5
  88. package/types/components/LibraryMenuItems.d.ts +6 -7
  89. package/types/components/LibraryMenuSection.d.ts +22 -0
  90. package/types/components/LibraryUnit.d.ts +6 -3
  91. package/types/components/LoadingMessage.d.ts +0 -1
  92. package/types/components/LockButton.d.ts +1 -2
  93. package/types/components/MobileMenu.d.ts +9 -15
  94. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  95. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  96. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  97. package/types/components/PasteChartDialog.d.ts +4 -5
  98. package/types/components/PenModeButton.d.ts +1 -1
  99. package/types/components/Popover.d.ts +1 -1
  100. package/types/components/ProjectName.d.ts +2 -1
  101. package/types/components/PublishLibrary.d.ts +2 -2
  102. package/types/components/RadioGroup.d.ts +12 -0
  103. package/types/components/Section.d.ts +1 -1
  104. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  105. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  106. package/types/components/Sidebar/SidebarTab.d.ts +8 -0
  107. package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
  108. package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
  109. package/types/components/Sidebar/SidebarTabs.d.ts +6 -0
  110. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  111. package/types/components/Sidebar/common.d.ts +24 -7
  112. package/types/components/Spinner.d.ts +2 -1
  113. package/types/components/Stack.d.ts +4 -3
  114. package/types/components/Stats.d.ts +3 -3
  115. package/types/components/Switch.d.ts +9 -0
  116. package/types/components/ToolButton.d.ts +6 -5
  117. package/types/components/Tooltip.d.ts +1 -1
  118. package/types/components/Trans.d.ts +9 -0
  119. package/types/components/UserList.d.ts +0 -2
  120. package/types/components/canvases/InteractiveCanvas.d.ts +27 -0
  121. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  122. package/types/components/canvases/index.d.ts +3 -0
  123. package/types/components/dropdownMenu/DropdownMenu.d.ts +70 -0
  124. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  125. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  126. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +13 -0
  127. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  128. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -0
  129. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +14 -0
  130. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  131. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -0
  132. package/types/components/dropdownMenu/common.d.ts +6 -0
  133. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  134. package/types/components/footer/Footer.d.ts +12 -0
  135. package/types/components/footer/FooterCenter.d.ts +8 -0
  136. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  137. package/types/components/icons.d.ts +17 -2
  138. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -0
  139. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  140. package/types/components/main-menu/MainMenu.d.ts +64 -0
  141. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +57 -0
  142. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  143. package/types/components/welcome-screen/WelcomeScreen.d.ts +84 -0
  144. package/types/constants.d.ts +105 -18
  145. package/types/context/tunnels.d.ts +19 -0
  146. package/types/context/ui-appState.d.ts +4 -0
  147. package/types/cursor.d.ts +5 -0
  148. package/types/data/blob.d.ts +5 -3
  149. package/types/data/encode.d.ts +1 -1
  150. package/types/data/filesystem.d.ts +2 -1
  151. package/types/data/index.d.ts +1 -1
  152. package/types/data/library.d.ts +3 -45
  153. package/types/data/restore.d.ts +10 -4
  154. package/types/data/transform.d.ts +73 -0
  155. package/types/data/types.d.ts +3 -5
  156. package/types/data/url.d.ts +7 -0
  157. package/types/element/Hyperlink.d.ts +57 -36
  158. package/types/element/binding.d.ts +4 -3
  159. package/types/element/bounds.d.ts +41 -10
  160. package/types/element/collision.d.ts +7 -7
  161. package/types/element/dragElements.d.ts +12 -2
  162. package/types/element/embeddable.d.ts +153 -0
  163. package/types/element/image.d.ts +11 -1
  164. package/types/element/index.d.ts +3 -2
  165. package/types/element/linearElementEditor.d.ts +77 -30
  166. package/types/element/mutateElement.d.ts +3 -2
  167. package/types/element/newElement.d.ts +48 -15
  168. package/types/element/resizeElements.d.ts +3 -3
  169. package/types/element/resizeTest.d.ts +2 -1
  170. package/types/element/showSelectedShapeActions.d.ts +2 -2
  171. package/types/element/sizeHelpers.d.ts +8 -1
  172. package/types/element/sortElements.d.ts +2 -0
  173. package/types/element/textElement.d.ts +57 -9
  174. package/types/element/textWysiwyg.d.ts +7 -2
  175. package/types/element/transformHandles.d.ts +15 -8
  176. package/types/element/typeChecks.d.ts +14 -2
  177. package/types/element/types.d.ts +66 -35
  178. package/types/emitter.d.ts +1 -2
  179. package/types/errors.d.ts +1 -1
  180. package/types/frame.d.ts +46 -0
  181. package/types/ga.d.ts +5 -5
  182. package/types/groups.d.ts +15 -11
  183. package/types/history.d.ts +3 -3
  184. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  185. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  186. package/types/hooks/useOutsideClick.d.ts +19 -2
  187. package/types/hooks/useScrollPosition.d.ts +1 -0
  188. package/types/hooks/useStable.d.ts +1 -0
  189. package/types/hooks/useTransition.d.ts +2 -0
  190. package/types/i18n.d.ts +11 -2
  191. package/types/jotai.d.ts +20 -108
  192. package/types/keys.d.ts +7 -4
  193. package/types/math.d.ts +7 -1
  194. package/types/packages/bbox.d.ts +11 -0
  195. package/types/packages/excalidraw/example/App.d.ts +7 -1
  196. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  197. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  198. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  199. package/types/packages/excalidraw/index.d.ts +22 -4
  200. package/types/packages/excalidraw/main.d.ts +3 -1
  201. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  202. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  203. package/types/packages/utils.d.ts +30 -24
  204. package/types/packages/withinBounds.d.ts +19 -0
  205. package/types/renderer/renderElement.d.ts +13 -22
  206. package/types/renderer/renderScene.d.ts +19 -29
  207. package/types/renderer/renderSnaps.d.ts +2 -0
  208. package/types/renderer/roundRect.d.ts +1 -1
  209. package/types/scene/Fonts.d.ts +21 -0
  210. package/types/scene/Renderer.d.ts +25 -0
  211. package/types/scene/Scene.d.ts +42 -5
  212. package/types/scene/Shape.d.ts +12 -0
  213. package/types/scene/ShapeCache.d.ts +20 -0
  214. package/types/scene/comparisons.d.ts +2 -4
  215. package/types/scene/export.d.ts +183 -10
  216. package/types/scene/index.d.ts +1 -1
  217. package/types/scene/scroll.d.ts +1 -1
  218. package/types/scene/scrollbars.d.ts +2 -6
  219. package/types/scene/selection.d.ts +27 -6
  220. package/types/scene/types.d.ts +70 -26
  221. package/types/snapping.d.ts +108 -0
  222. package/types/types.d.ts +227 -91
  223. package/types/utility-types.d.ts +24 -0
  224. package/types/utils.d.ts +75 -14
  225. package/types/zindex.d.ts +4 -4
  226. package/types/components/ActiveFile.d.ts +0 -7
  227. package/types/components/ClearCanvas.d.ts +0 -4
  228. package/types/components/CollabButton.d.ts +0 -6
  229. package/types/components/ColorPicker.d.ts +0 -14
  230. package/types/components/Footer.d.ts +0 -10
  231. package/types/components/LibraryButton.d.ts +0 -8
  232. package/types/components/MenuItem.d.ts +0 -11
  233. package/types/components/MenuUtils.d.ts +0 -1
  234. package/types/components/SingleLibraryItem.d.ts +0 -10
  235. package/types/components/WelcomeScreen.d.ts +0 -10
  236. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  237. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
  238. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  239. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  240. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ExcalidrawElement } from "../element/types";
3
2
  import { AppState } from "../types";
4
3
  import { LinearElementEditor } from "../element/linearElementEditor";
@@ -12,9 +11,18 @@ export declare const actionDeleteSelected: {
12
11
  elements: ExcalidrawElement[];
13
12
  appState: {
14
13
  editingLinearElement: null;
14
+ contextMenu: {
15
+ items: import("../components/ContextMenu").ContextMenuItems;
16
+ top: number;
17
+ left: number;
18
+ } | null;
15
19
  showWelcomeScreen: boolean;
16
20
  isLoading: boolean;
17
- errorMessage: string | null;
21
+ errorMessage: import("react").ReactNode;
22
+ activeEmbeddable: {
23
+ element: import("../element/types").NonDeletedExcalidrawElement;
24
+ state: "active" | "hover";
25
+ } | null;
18
26
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
19
27
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
20
28
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -22,18 +30,20 @@ export declare const actionDeleteSelected: {
22
30
  isBindingEnabled: boolean;
23
31
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
24
32
  suggestedBindings: import("../element/binding").SuggestedBinding[];
33
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
34
+ frameRendering: {
35
+ enabled: boolean;
36
+ name: boolean;
37
+ outline: boolean;
38
+ clip: boolean;
39
+ };
40
+ editingFrame: string | null;
41
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
25
42
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
26
43
  activeTool: {
27
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
28
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
29
- locked: boolean;
30
- customType: null;
31
- } | {
32
- type: "custom";
33
- customType: string;
34
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
44
+ lastActiveTool: import("../types").ActiveTool | null;
35
45
  locked: boolean;
36
- };
46
+ } & import("../types").ActiveTool;
37
47
  penMode: boolean;
38
48
  penDetected: boolean;
39
49
  exportBackground: boolean;
@@ -50,10 +60,9 @@ export declare const actionDeleteSelected: {
50
60
  currentItemFontFamily: number;
51
61
  currentItemFontSize: number;
52
62
  currentItemTextAlign: string;
53
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
54
63
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
55
64
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
56
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
65
+ currentItemRoundness: import("../element/types").StrokeRoundness;
57
66
  viewBackgroundColor: string;
58
67
  scrollX: number;
59
68
  scrollY: number;
@@ -66,17 +75,21 @@ export declare const actionDeleteSelected: {
66
75
  value: import("../types").NormalizedZoomValue;
67
76
  }>;
68
77
  openMenu: "canvas" | "shape" | null;
69
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
70
- openSidebar: "library" | "customSidebar" | null;
71
- openDialog: "imageExport" | "help" | null;
72
- isSidebarDocked: boolean;
78
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
79
+ openSidebar: {
80
+ name: string;
81
+ tab?: string | undefined;
82
+ } | null;
83
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
84
+ defaultSidebarDockedPreference: boolean;
73
85
  lastPointerDownWith: import("../element/types").PointerType;
74
- selectedElementIds: {
75
- [id: string]: boolean;
76
- };
86
+ selectedElementIds: Readonly<{
87
+ [id: string]: true;
88
+ }>;
77
89
  previousSelectedElementIds: {
78
- [id: string]: boolean;
90
+ [id: string]: true;
79
91
  };
92
+ selectedElementsAreBeingDragged: boolean;
80
93
  shouldCacheIgnoreZoom: boolean;
81
94
  toast: {
82
95
  message: string;
@@ -84,7 +97,7 @@ export declare const actionDeleteSelected: {
84
97
  duration?: number | undefined;
85
98
  } | null;
86
99
  zenModeEnabled: boolean;
87
- theme: string;
100
+ theme: import("../element/types").Theme;
88
101
  gridSize: number | null;
89
102
  viewModeEnabled: boolean;
90
103
  selectedGroupIds: {
@@ -107,8 +120,14 @@ export declare const actionDeleteSelected: {
107
120
  data: import("../charts").Spreadsheet;
108
121
  };
109
122
  pendingImageElementId: string | null;
110
- showHyperlinkPopup: false | "info" | "editor";
123
+ showHyperlinkPopup: false | "editor" | "info";
111
124
  selectedLinearElement: LinearElementEditor | null;
125
+ snapLines: readonly import("../snapping").SnapLine[];
126
+ originSnapOffset: {
127
+ x: number;
128
+ y: number;
129
+ } | null;
130
+ objectsSnapModeEnabled: boolean;
112
131
  };
113
132
  commitToHistory: false;
114
133
  } | {
@@ -124,6 +143,15 @@ export declare const actionDeleteSelected: {
124
143
  pointerDownState: Readonly<{
125
144
  prevSelectedPointsIndices: readonly number[] | null;
126
145
  lastClickedPoint: number;
146
+ origin: Readonly<{
147
+ x: number;
148
+ y: number;
149
+ }> | null;
150
+ segmentMidpoint: {
151
+ value: readonly [number, number] | null;
152
+ index: number | null;
153
+ added: boolean;
154
+ };
127
155
  }>;
128
156
  isDragging: boolean;
129
157
  lastUncommittedPoint: readonly [number, number] | null;
@@ -134,9 +162,18 @@ export declare const actionDeleteSelected: {
134
162
  hoverPointIndex: number;
135
163
  segmentMidPointHoveredCoords: readonly [number, number] | null;
136
164
  };
165
+ contextMenu: {
166
+ items: import("../components/ContextMenu").ContextMenuItems;
167
+ top: number;
168
+ left: number;
169
+ } | null;
137
170
  showWelcomeScreen: boolean;
138
171
  isLoading: boolean;
139
- errorMessage: string | null;
172
+ errorMessage: import("react").ReactNode;
173
+ activeEmbeddable: {
174
+ element: import("../element/types").NonDeletedExcalidrawElement;
175
+ state: "active" | "hover";
176
+ } | null;
140
177
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
141
178
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
142
179
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -144,18 +181,20 @@ export declare const actionDeleteSelected: {
144
181
  isBindingEnabled: boolean;
145
182
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
146
183
  suggestedBindings: import("../element/binding").SuggestedBinding[];
184
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
185
+ frameRendering: {
186
+ enabled: boolean;
187
+ name: boolean;
188
+ outline: boolean;
189
+ clip: boolean;
190
+ };
191
+ editingFrame: string | null;
192
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
147
193
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
148
194
  activeTool: {
149
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
150
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
151
- locked: boolean;
152
- customType: null;
153
- } | {
154
- type: "custom";
155
- customType: string;
156
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
195
+ lastActiveTool: import("../types").ActiveTool | null;
157
196
  locked: boolean;
158
- };
197
+ } & import("../types").ActiveTool;
159
198
  penMode: boolean;
160
199
  penDetected: boolean;
161
200
  exportBackground: boolean;
@@ -172,10 +211,9 @@ export declare const actionDeleteSelected: {
172
211
  currentItemFontFamily: number;
173
212
  currentItemFontSize: number;
174
213
  currentItemTextAlign: string;
175
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
176
214
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
177
215
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
178
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
216
+ currentItemRoundness: import("../element/types").StrokeRoundness;
179
217
  viewBackgroundColor: string;
180
218
  scrollX: number;
181
219
  scrollY: number;
@@ -188,17 +226,21 @@ export declare const actionDeleteSelected: {
188
226
  value: import("../types").NormalizedZoomValue;
189
227
  }>;
190
228
  openMenu: "canvas" | "shape" | null;
191
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
192
- openSidebar: "library" | "customSidebar" | null;
193
- openDialog: "imageExport" | "help" | null;
194
- isSidebarDocked: boolean;
229
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
230
+ openSidebar: {
231
+ name: string;
232
+ tab?: string | undefined;
233
+ } | null;
234
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
235
+ defaultSidebarDockedPreference: boolean;
195
236
  lastPointerDownWith: import("../element/types").PointerType;
196
- selectedElementIds: {
197
- [id: string]: boolean;
198
- };
237
+ selectedElementIds: Readonly<{
238
+ [id: string]: true;
239
+ }>;
199
240
  previousSelectedElementIds: {
200
- [id: string]: boolean;
241
+ [id: string]: true;
201
242
  };
243
+ selectedElementsAreBeingDragged: boolean;
202
244
  shouldCacheIgnoreZoom: boolean;
203
245
  toast: {
204
246
  message: string;
@@ -206,7 +248,7 @@ export declare const actionDeleteSelected: {
206
248
  duration?: number | undefined;
207
249
  } | null;
208
250
  zenModeEnabled: boolean;
209
- theme: string;
251
+ theme: import("../element/types").Theme;
210
252
  gridSize: number | null;
211
253
  viewModeEnabled: boolean;
212
254
  selectedGroupIds: {
@@ -229,35 +271,50 @@ export declare const actionDeleteSelected: {
229
271
  data: import("../charts").Spreadsheet;
230
272
  };
231
273
  pendingImageElementId: string | null;
232
- showHyperlinkPopup: false | "info" | "editor";
274
+ showHyperlinkPopup: false | "editor" | "info";
233
275
  selectedLinearElement: LinearElementEditor | null;
276
+ snapLines: readonly import("../snapping").SnapLine[];
277
+ originSnapOffset: {
278
+ x: number;
279
+ y: number;
280
+ } | null;
281
+ objectsSnapModeEnabled: boolean;
234
282
  };
235
283
  commitToHistory: true;
236
284
  } | {
237
285
  elements: ExcalidrawElement[];
238
286
  appState: {
239
287
  activeTool: {
240
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
241
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
242
- locked: boolean;
243
- customType: null;
244
- } | {
245
- type: "custom";
246
- customType: string;
247
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
288
+ lastActiveTool: import("../types").ActiveTool | null;
248
289
  locked: boolean;
249
- };
290
+ } & import("../types").ActiveTool;
250
291
  multiElement: null;
292
+ activeEmbeddable: null;
251
293
  selectedElementIds: {};
294
+ selectedGroupIds: {};
295
+ contextMenu: {
296
+ items: import("../components/ContextMenu").ContextMenuItems;
297
+ top: number;
298
+ left: number;
299
+ } | null;
252
300
  showWelcomeScreen: boolean;
253
301
  isLoading: boolean;
254
- errorMessage: string | null;
302
+ errorMessage: import("react").ReactNode;
255
303
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
256
304
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
257
305
  selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
258
306
  isBindingEnabled: boolean;
259
307
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
260
308
  suggestedBindings: import("../element/binding").SuggestedBinding[];
309
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
310
+ frameRendering: {
311
+ enabled: boolean;
312
+ name: boolean;
313
+ outline: boolean;
314
+ clip: boolean;
315
+ };
316
+ editingFrame: string | null;
317
+ elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
261
318
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
262
319
  editingLinearElement: LinearElementEditor | null;
263
320
  penMode: boolean;
@@ -276,10 +333,9 @@ export declare const actionDeleteSelected: {
276
333
  currentItemFontFamily: number;
277
334
  currentItemFontSize: number;
278
335
  currentItemTextAlign: string;
279
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
280
336
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
281
337
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
282
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
338
+ currentItemRoundness: import("../element/types").StrokeRoundness;
283
339
  viewBackgroundColor: string;
284
340
  scrollX: number;
285
341
  scrollY: number;
@@ -292,14 +348,18 @@ export declare const actionDeleteSelected: {
292
348
  value: import("../types").NormalizedZoomValue;
293
349
  }>;
294
350
  openMenu: "canvas" | "shape" | null;
295
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
296
- openSidebar: "library" | "customSidebar" | null;
297
- openDialog: "imageExport" | "help" | null;
298
- isSidebarDocked: boolean;
351
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
352
+ openSidebar: {
353
+ name: string;
354
+ tab?: string | undefined;
355
+ } | null;
356
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
357
+ defaultSidebarDockedPreference: boolean;
299
358
  lastPointerDownWith: import("../element/types").PointerType;
300
359
  previousSelectedElementIds: {
301
- [id: string]: boolean;
360
+ [id: string]: true;
302
361
  };
362
+ selectedElementsAreBeingDragged: boolean;
303
363
  shouldCacheIgnoreZoom: boolean;
304
364
  toast: {
305
365
  message: string;
@@ -307,12 +367,9 @@ export declare const actionDeleteSelected: {
307
367
  duration?: number | undefined;
308
368
  } | null;
309
369
  zenModeEnabled: boolean;
310
- theme: string;
370
+ theme: import("../element/types").Theme;
311
371
  gridSize: number | null;
312
372
  viewModeEnabled: boolean;
313
- selectedGroupIds: {
314
- [groupId: string]: boolean;
315
- };
316
373
  editingGroupId: string | null;
317
374
  width: number;
318
375
  height: number;
@@ -330,16 +387,20 @@ export declare const actionDeleteSelected: {
330
387
  data: import("../charts").Spreadsheet;
331
388
  };
332
389
  pendingImageElementId: string | null;
333
- showHyperlinkPopup: false | "info" | "editor";
390
+ showHyperlinkPopup: false | "editor" | "info";
334
391
  selectedLinearElement: LinearElementEditor | null;
392
+ snapLines: readonly import("../snapping").SnapLine[];
393
+ originSnapOffset: {
394
+ x: number;
395
+ y: number;
396
+ } | null;
397
+ objectsSnapModeEnabled: boolean;
335
398
  };
336
399
  commitToHistory: boolean;
337
400
  };
338
401
  contextItemLabel: string;
339
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
340
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
341
- isInHamburgerMenu: boolean;
342
- }) => JSX.Element;
402
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean;
403
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
343
404
  } & {
344
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
405
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[]) => boolean) | undefined;
345
406
  };
@@ -1,37 +1,32 @@
1
- /// <reference types="react" />
2
1
  import { ExcalidrawElement } from "../element/types";
3
- import { AppState } from "../types";
2
+ import { AppClassProperties, AppState } from "../types";
4
3
  export declare const distributeHorizontally: {
5
4
  name: "distributeHorizontally";
6
5
  trackEvent: {
7
6
  category: "element";
8
7
  };
9
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
8
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
10
9
  appState: Readonly<AppState>;
11
- elements: ExcalidrawElement[];
10
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
12
11
  commitToHistory: true;
13
12
  };
14
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
15
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
16
- isInHamburgerMenu: boolean;
17
- }) => JSX.Element;
13
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
14
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
18
15
  } & {
19
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
16
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
20
17
  };
21
18
  export declare const distributeVertically: {
22
19
  name: "distributeVertically";
23
20
  trackEvent: {
24
21
  category: "element";
25
22
  };
26
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
23
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
27
24
  appState: Readonly<AppState>;
28
- elements: ExcalidrawElement[];
25
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
29
26
  commitToHistory: true;
30
27
  };
31
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
32
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
33
- isInHamburgerMenu: boolean;
34
- }) => JSX.Element;
28
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
29
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
35
30
  } & {
36
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
31
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
37
32
  };
@@ -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 actionDuplicateSelection: {
@@ -9,16 +8,14 @@ export declare const actionDuplicateSelection: {
9
8
  perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => false | {
10
9
  commitToHistory: true;
11
10
  elements?: readonly ExcalidrawElement[] | null | undefined;
12
- appState?: MarkOptional<AppState, "width" | "height" | "offsetTop" | "offsetLeft"> | null | undefined;
11
+ appState?: import("../utility-types").MarkOptional<AppState, "width" | "height" | "offsetTop" | "offsetLeft"> | null | undefined;
13
12
  files?: import("../types").BinaryFiles | null | undefined;
14
13
  syncHistory?: boolean | undefined;
15
14
  replaceFiles?: boolean | undefined;
16
15
  };
17
16
  contextItemLabel: string;
18
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
19
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
20
- isInHamburgerMenu: boolean;
21
- }) => JSX.Element;
17
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
18
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
22
19
  } & {
23
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
20
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
24
21
  };