@dwelle/excalidraw 0.4.0-d8d86cf → 0.4.0-da7ef3e

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