@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
  export declare const actionToggleCanvasMenu: {
3
2
  name: "toggleCanvasMenu";
4
3
  trackEvent: {
@@ -7,9 +6,18 @@ export declare const actionToggleCanvasMenu: {
7
6
  perform: (_: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
8
7
  appState: {
9
8
  openMenu: "canvas" | null;
9
+ contextMenu: {
10
+ items: import("../components/ContextMenu").ContextMenuItems;
11
+ top: number;
12
+ left: number;
13
+ } | null;
10
14
  showWelcomeScreen: boolean;
11
15
  isLoading: boolean;
12
- errorMessage: string | null;
16
+ errorMessage: import("react").ReactNode;
17
+ activeEmbeddable: {
18
+ element: import("../element/types").NonDeletedExcalidrawElement;
19
+ state: "active" | "hover";
20
+ } | null;
13
21
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
14
22
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
15
23
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -17,19 +25,27 @@ export declare const actionToggleCanvasMenu: {
17
25
  isBindingEnabled: boolean;
18
26
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
19
27
  suggestedBindings: import("../element/binding").SuggestedBinding[];
28
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
29
+ frameRendering: {
30
+ enabled: boolean;
31
+ name: boolean;
32
+ outline: boolean;
33
+ clip: boolean;
34
+ };
35
+ editingFrame: string | null;
36
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
20
37
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
21
38
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
22
39
  activeTool: {
23
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
24
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
40
+ lastActiveTool: import("../types").LastActiveTool;
25
41
  locked: boolean;
42
+ } & ({
43
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
26
44
  customType: null;
27
45
  } | {
28
46
  type: "custom";
29
47
  customType: string;
30
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
31
- locked: boolean;
32
- };
48
+ });
33
49
  penMode: boolean;
34
50
  penDetected: boolean;
35
51
  exportBackground: boolean;
@@ -46,10 +62,9 @@ export declare const actionToggleCanvasMenu: {
46
62
  currentItemFontFamily: number;
47
63
  currentItemFontSize: number;
48
64
  currentItemTextAlign: string;
49
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
50
65
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
51
66
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
52
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
67
+ currentItemRoundness: import("../element/types").StrokeRoundness;
53
68
  viewBackgroundColor: string;
54
69
  scrollX: number;
55
70
  scrollY: number;
@@ -61,17 +76,21 @@ export declare const actionToggleCanvasMenu: {
61
76
  zoom: Readonly<{
62
77
  value: import("../types").NormalizedZoomValue;
63
78
  }>;
64
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
65
- openSidebar: "library" | "customSidebar" | null;
66
- openDialog: "imageExport" | "help" | null;
67
- isSidebarDocked: boolean;
79
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
80
+ openSidebar: {
81
+ name: string;
82
+ tab?: string | undefined;
83
+ } | null;
84
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
85
+ defaultSidebarDockedPreference: boolean;
68
86
  lastPointerDownWith: import("../element/types").PointerType;
69
- selectedElementIds: {
70
- [id: string]: boolean;
71
- };
87
+ selectedElementIds: Readonly<{
88
+ [id: string]: true;
89
+ }>;
72
90
  previousSelectedElementIds: {
73
- [id: string]: boolean;
91
+ [id: string]: true;
74
92
  };
93
+ selectedElementsAreBeingDragged: boolean;
75
94
  shouldCacheIgnoreZoom: boolean;
76
95
  toast: {
77
96
  message: string;
@@ -79,7 +98,7 @@ export declare const actionToggleCanvasMenu: {
79
98
  duration?: number | undefined;
80
99
  } | null;
81
100
  zenModeEnabled: boolean;
82
- theme: string;
101
+ theme: import("../element/types").Theme;
83
102
  gridSize: number | null;
84
103
  viewModeEnabled: boolean;
85
104
  selectedGroupIds: {
@@ -102,14 +121,18 @@ export declare const actionToggleCanvasMenu: {
102
121
  data: import("../charts").Spreadsheet;
103
122
  };
104
123
  pendingImageElementId: string | null;
105
- showHyperlinkPopup: false | "info" | "editor";
124
+ showHyperlinkPopup: false | "editor" | "info";
106
125
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
126
+ snapLines: import("../snapping").SnapLine[];
127
+ originSnapOffset: {
128
+ x: number;
129
+ y: number;
130
+ } | null;
131
+ objectsSnapModeEnabled: boolean;
107
132
  };
108
133
  commitToHistory: false;
109
134
  };
110
- PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps & {
111
- isInHamburgerMenu: boolean;
112
- }) => JSX.Element;
135
+ PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
113
136
  } & {
114
137
  keyTest?: undefined;
115
138
  };
@@ -121,9 +144,18 @@ export declare const actionToggleEditMenu: {
121
144
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
122
145
  appState: {
123
146
  openMenu: "shape" | null;
147
+ contextMenu: {
148
+ items: import("../components/ContextMenu").ContextMenuItems;
149
+ top: number;
150
+ left: number;
151
+ } | null;
124
152
  showWelcomeScreen: boolean;
125
153
  isLoading: boolean;
126
- errorMessage: string | null;
154
+ errorMessage: import("react").ReactNode;
155
+ activeEmbeddable: {
156
+ element: import("../element/types").NonDeletedExcalidrawElement;
157
+ state: "active" | "hover";
158
+ } | null;
127
159
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
128
160
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
129
161
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -131,19 +163,27 @@ export declare const actionToggleEditMenu: {
131
163
  isBindingEnabled: boolean;
132
164
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
133
165
  suggestedBindings: import("../element/binding").SuggestedBinding[];
166
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
167
+ frameRendering: {
168
+ enabled: boolean;
169
+ name: boolean;
170
+ outline: boolean;
171
+ clip: boolean;
172
+ };
173
+ editingFrame: string | null;
174
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
134
175
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
135
176
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
136
177
  activeTool: {
137
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
138
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
178
+ lastActiveTool: import("../types").LastActiveTool;
139
179
  locked: boolean;
180
+ } & ({
181
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
140
182
  customType: null;
141
183
  } | {
142
184
  type: "custom";
143
185
  customType: string;
144
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
145
- locked: boolean;
146
- };
186
+ });
147
187
  penMode: boolean;
148
188
  penDetected: boolean;
149
189
  exportBackground: boolean;
@@ -160,10 +200,9 @@ export declare const actionToggleEditMenu: {
160
200
  currentItemFontFamily: number;
161
201
  currentItemFontSize: number;
162
202
  currentItemTextAlign: string;
163
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
164
203
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
165
204
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
166
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
205
+ currentItemRoundness: import("../element/types").StrokeRoundness;
167
206
  viewBackgroundColor: string;
168
207
  scrollX: number;
169
208
  scrollY: number;
@@ -175,17 +214,21 @@ export declare const actionToggleEditMenu: {
175
214
  zoom: Readonly<{
176
215
  value: import("../types").NormalizedZoomValue;
177
216
  }>;
178
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
179
- openSidebar: "library" | "customSidebar" | null;
180
- openDialog: "imageExport" | "help" | null;
181
- isSidebarDocked: boolean;
217
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
218
+ openSidebar: {
219
+ name: string;
220
+ tab?: string | undefined;
221
+ } | null;
222
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
223
+ defaultSidebarDockedPreference: boolean;
182
224
  lastPointerDownWith: import("../element/types").PointerType;
183
- selectedElementIds: {
184
- [id: string]: boolean;
185
- };
225
+ selectedElementIds: Readonly<{
226
+ [id: string]: true;
227
+ }>;
186
228
  previousSelectedElementIds: {
187
- [id: string]: boolean;
229
+ [id: string]: true;
188
230
  };
231
+ selectedElementsAreBeingDragged: boolean;
189
232
  shouldCacheIgnoreZoom: boolean;
190
233
  toast: {
191
234
  message: string;
@@ -193,7 +236,7 @@ export declare const actionToggleEditMenu: {
193
236
  duration?: number | undefined;
194
237
  } | null;
195
238
  zenModeEnabled: boolean;
196
- theme: string;
239
+ theme: import("../element/types").Theme;
197
240
  gridSize: number | null;
198
241
  viewModeEnabled: boolean;
199
242
  selectedGroupIds: {
@@ -216,19 +259,24 @@ export declare const actionToggleEditMenu: {
216
259
  data: import("../charts").Spreadsheet;
217
260
  };
218
261
  pendingImageElementId: string | null;
219
- showHyperlinkPopup: false | "info" | "editor";
262
+ showHyperlinkPopup: false | "editor" | "info";
220
263
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
264
+ snapLines: import("../snapping").SnapLine[];
265
+ originSnapOffset: {
266
+ x: number;
267
+ y: number;
268
+ } | null;
269
+ objectsSnapModeEnabled: boolean;
221
270
  };
222
271
  commitToHistory: false;
223
272
  };
224
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
225
- isInHamburgerMenu: boolean;
226
- }) => JSX.Element;
273
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
227
274
  } & {
228
275
  keyTest?: undefined;
229
276
  };
230
277
  export declare const actionFullScreen: {
231
278
  name: "toggleFullScreen";
279
+ viewMode: true;
232
280
  trackEvent: {
233
281
  category: "canvas";
234
282
  predicate: (appState: Readonly<import("../types").AppState>) => boolean;
@@ -236,12 +284,12 @@ export declare const actionFullScreen: {
236
284
  perform: () => {
237
285
  commitToHistory: false;
238
286
  };
239
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
240
287
  } & {
241
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
288
+ keyTest?: undefined;
242
289
  };
243
290
  export declare const actionShortcuts: {
244
291
  name: "toggleShortcuts";
292
+ viewMode: true;
245
293
  trackEvent: {
246
294
  category: "menu";
247
295
  action: string;
@@ -249,9 +297,18 @@ export declare const actionShortcuts: {
249
297
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, { focusContainer }: import("../types").AppClassProperties) => {
250
298
  appState: {
251
299
  openDialog: "help" | null;
300
+ contextMenu: {
301
+ items: import("../components/ContextMenu").ContextMenuItems;
302
+ top: number;
303
+ left: number;
304
+ } | null;
252
305
  showWelcomeScreen: boolean;
253
306
  isLoading: boolean;
254
- errorMessage: string | null;
307
+ errorMessage: import("react").ReactNode;
308
+ activeEmbeddable: {
309
+ element: import("../element/types").NonDeletedExcalidrawElement;
310
+ state: "active" | "hover";
311
+ } | null;
255
312
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
256
313
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
257
314
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -259,19 +316,27 @@ export declare const actionShortcuts: {
259
316
  isBindingEnabled: boolean;
260
317
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
261
318
  suggestedBindings: import("../element/binding").SuggestedBinding[];
319
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
320
+ frameRendering: {
321
+ enabled: boolean;
322
+ name: boolean;
323
+ outline: boolean;
324
+ clip: boolean;
325
+ };
326
+ editingFrame: string | null;
327
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
262
328
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
263
329
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
264
330
  activeTool: {
265
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
266
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
331
+ lastActiveTool: import("../types").LastActiveTool;
267
332
  locked: boolean;
333
+ } & ({
334
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
268
335
  customType: null;
269
336
  } | {
270
337
  type: "custom";
271
338
  customType: string;
272
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
273
- locked: boolean;
274
- };
339
+ });
275
340
  penMode: boolean;
276
341
  penDetected: boolean;
277
342
  exportBackground: boolean;
@@ -288,10 +353,9 @@ export declare const actionShortcuts: {
288
353
  currentItemFontFamily: number;
289
354
  currentItemFontSize: number;
290
355
  currentItemTextAlign: string;
291
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
292
356
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
293
357
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
294
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
358
+ currentItemRoundness: import("../element/types").StrokeRoundness;
295
359
  viewBackgroundColor: string;
296
360
  scrollX: number;
297
361
  scrollY: number;
@@ -304,16 +368,20 @@ export declare const actionShortcuts: {
304
368
  value: import("../types").NormalizedZoomValue;
305
369
  }>;
306
370
  openMenu: "canvas" | "shape" | null;
307
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
308
- openSidebar: "library" | "customSidebar" | null;
309
- isSidebarDocked: boolean;
371
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
372
+ openSidebar: {
373
+ name: string;
374
+ tab?: string | undefined;
375
+ } | null;
376
+ defaultSidebarDockedPreference: boolean;
310
377
  lastPointerDownWith: import("../element/types").PointerType;
311
- selectedElementIds: {
312
- [id: string]: boolean;
313
- };
378
+ selectedElementIds: Readonly<{
379
+ [id: string]: true;
380
+ }>;
314
381
  previousSelectedElementIds: {
315
- [id: string]: boolean;
382
+ [id: string]: true;
316
383
  };
384
+ selectedElementsAreBeingDragged: boolean;
317
385
  shouldCacheIgnoreZoom: boolean;
318
386
  toast: {
319
387
  message: string;
@@ -321,7 +389,7 @@ export declare const actionShortcuts: {
321
389
  duration?: number | undefined;
322
390
  } | null;
323
391
  zenModeEnabled: boolean;
324
- theme: string;
392
+ theme: import("../element/types").Theme;
325
393
  gridSize: number | null;
326
394
  viewModeEnabled: boolean;
327
395
  selectedGroupIds: {
@@ -344,14 +412,17 @@ export declare const actionShortcuts: {
344
412
  data: import("../charts").Spreadsheet;
345
413
  };
346
414
  pendingImageElementId: string | null;
347
- showHyperlinkPopup: false | "info" | "editor";
415
+ showHyperlinkPopup: false | "editor" | "info";
348
416
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
417
+ snapLines: import("../snapping").SnapLine[];
418
+ originSnapOffset: {
419
+ x: number;
420
+ y: number;
421
+ } | null;
422
+ objectsSnapModeEnabled: boolean;
349
423
  };
350
424
  commitToHistory: false;
351
425
  };
352
- PanelComponent: ({ updateData, isInHamburgerMenu }: import("./types").PanelComponentProps & {
353
- isInHamburgerMenu: boolean;
354
- }) => JSX.Element;
355
426
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
356
427
  } & {
357
428
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -1,5 +1,6 @@
1
1
  export declare const actionGoToCollaborator: {
2
2
  name: "goToCollaborator";
3
+ viewMode: true;
3
4
  trackEvent: {
4
5
  category: "collab";
5
6
  };
@@ -7,9 +8,7 @@ export declare const actionGoToCollaborator: {
7
8
  appState: Readonly<import("../types").AppState>;
8
9
  commitToHistory: false;
9
10
  };
10
- PanelComponent: ({ appState, updateData, data }: import("./types").PanelComponentProps & {
11
- isInHamburgerMenu: boolean;
12
- }) => JSX.Element;
11
+ PanelComponent: ({ updateData, data }: import("./types").PanelComponentProps) => JSX.Element;
13
12
  } & {
14
13
  keyTest?: undefined;
15
14
  };