@dwelle/excalidraw 0.4.0-e80989b → 0.4.0-eadd4b9

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 (200) hide show
  1. package/CHANGELOG.md +458 -0
  2. package/README.md +16 -1424
  3. package/dist/excalidraw.development.js +1829 -500
  4. package/dist/excalidraw.production.min.js +1 -1
  5. package/dist/excalidraw.production.min.js.LICENSE.txt +20 -0
  6. package/package.json +3 -3
  7. package/types/actions/actionAddToLibrary.d.ts +68 -34
  8. package/types/actions/actionAlign.d.ts +12 -18
  9. package/types/actions/actionBoundText.d.ts +158 -19
  10. package/types/actions/actionCanvas.d.ts +430 -118
  11. package/types/actions/actionClipboard.d.ts +132 -59
  12. package/types/actions/actionDeleteSelected.d.ts +72 -41
  13. package/types/actions/actionDistribute.d.ts +2 -6
  14. package/types/actions/actionDuplicateSelection.d.ts +2 -4
  15. package/types/actions/actionElementLock.d.ts +254 -0
  16. package/types/actions/actionExport.d.ts +215 -131
  17. package/types/actions/actionFinalize.d.ts +47 -27
  18. package/types/actions/actionFlip.d.ts +2 -4
  19. package/types/actions/actionFrame.d.ts +397 -0
  20. package/types/actions/actionGroup.d.ts +6 -10
  21. package/types/actions/actionHistory.d.ts +1 -1
  22. package/types/actions/actionLinearEditor.d.ts +25 -13
  23. package/types/actions/actionMenu.d.ts +73 -46
  24. package/types/actions/actionNavigate.d.ts +2 -3
  25. package/types/actions/actionProperties.d.ts +315 -198
  26. package/types/actions/actionStyles.d.ts +23 -12
  27. package/types/actions/actionToggleGridMode.d.ts +25 -12
  28. package/types/actions/actionToggleStats.d.ts +24 -12
  29. package/types/actions/actionToggleViewMode.d.ts +25 -12
  30. package/types/actions/actionToggleZenMode.d.ts +25 -12
  31. package/types/actions/actionZindex.d.ts +8 -16
  32. package/types/actions/index.d.ts +1 -1
  33. package/types/actions/manager.d.ts +3 -2
  34. package/types/actions/shortcuts.d.ts +2 -1
  35. package/types/actions/types.d.ts +13 -11
  36. package/types/appState.d.ts +16 -12
  37. package/types/charts.d.ts +2 -2
  38. package/types/clients.d.ts +5 -6
  39. package/types/clipboard.d.ts +2 -2
  40. package/types/colors.d.ts +60 -5
  41. package/types/components/Actions.d.ts +5 -5
  42. package/types/components/ActiveConfirmDialog.d.ts +4 -0
  43. package/types/components/App.d.ts +52 -68
  44. package/types/components/Avatar.d.ts +1 -2
  45. package/types/components/BraveMeasureTextError.d.ts +2 -0
  46. package/types/components/Button.d.ts +17 -0
  47. package/types/components/ButtonIconSelect.d.ts +11 -3
  48. package/types/components/Card.d.ts +7 -0
  49. package/types/components/ColorPicker/ColorInput.d.ts +7 -0
  50. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  51. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  52. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  53. package/types/components/ColorPicker/Picker.d.ts +18 -0
  54. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  55. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  56. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  57. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  58. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  59. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +21 -0
  60. package/types/components/ContextMenu.d.ts +9 -22
  61. package/types/components/DefaultSidebar.d.ts +30 -0
  62. package/types/components/Dialog.d.ts +2 -4
  63. package/types/components/ErrorDialog.d.ts +3 -2
  64. package/types/components/EyeDropper.d.ts +18 -0
  65. package/types/components/FilledButton.d.ts +16 -0
  66. package/types/components/FixedSideContainer.d.ts +1 -1
  67. package/types/components/HandButton.d.ts +10 -0
  68. package/types/components/HelpButton.d.ts +1 -2
  69. package/types/components/HintViewer.d.ts +2 -2
  70. package/types/components/HomeButton.d.ts +1 -1
  71. package/types/components/ImageExportDialog.d.ts +8 -13
  72. package/types/components/Island.d.ts +1 -1
  73. package/types/components/JSONExportDialog.d.ts +6 -4
  74. package/types/components/LayerUI.d.ts +7 -15
  75. package/types/components/LibraryMenu.d.ts +13 -14
  76. package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
  77. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  78. package/types/components/LibraryMenuHeaderContent.d.ts +11 -5
  79. package/types/components/LibraryMenuItems.d.ts +6 -7
  80. package/types/components/LibraryMenuSection.d.ts +22 -0
  81. package/types/components/LibraryUnit.d.ts +7 -3
  82. package/types/components/LockButton.d.ts +1 -2
  83. package/types/components/MobileMenu.d.ts +8 -11
  84. package/types/components/PasteChartDialog.d.ts +4 -5
  85. package/types/components/PenModeButton.d.ts +1 -1
  86. package/types/components/Popover.d.ts +1 -1
  87. package/types/components/ProjectName.d.ts +2 -1
  88. package/types/components/PublishLibrary.d.ts +2 -2
  89. package/types/components/RadioGroup.d.ts +12 -0
  90. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  91. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  92. package/types/components/Sidebar/SidebarTab.d.ts +9 -0
  93. package/types/components/Sidebar/SidebarTabTrigger.d.ts +10 -0
  94. package/types/components/Sidebar/SidebarTabTriggers.d.ts +7 -0
  95. package/types/components/Sidebar/SidebarTabs.d.ts +7 -0
  96. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  97. package/types/components/Sidebar/common.d.ts +24 -7
  98. package/types/components/Spinner.d.ts +2 -1
  99. package/types/components/Stack.d.ts +4 -3
  100. package/types/components/Stats.d.ts +3 -3
  101. package/types/components/Switch.d.ts +9 -0
  102. package/types/components/ToolButton.d.ts +6 -5
  103. package/types/components/Tooltip.d.ts +1 -1
  104. package/types/components/Trans.d.ts +8 -0
  105. package/types/components/UserList.d.ts +0 -2
  106. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -0
  107. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  108. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  109. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -0
  110. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  111. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -0
  112. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -0
  113. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  114. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -0
  115. package/types/components/dropdownMenu/common.d.ts +6 -0
  116. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  117. package/types/components/footer/Footer.d.ts +12 -0
  118. package/types/components/footer/FooterCenter.d.ts +8 -0
  119. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  120. package/types/components/icons.d.ts +13 -2
  121. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -0
  122. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  123. package/types/components/main-menu/MainMenu.d.ts +61 -0
  124. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -0
  125. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  126. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -0
  127. package/types/constants.d.ts +73 -16
  128. package/types/context/tunnels.d.ts +18 -0
  129. package/types/context/ui-appState.d.ts +4 -0
  130. package/types/data/blob.d.ts +3 -2
  131. package/types/data/encode.d.ts +1 -1
  132. package/types/data/filesystem.d.ts +2 -1
  133. package/types/data/index.d.ts +1 -1
  134. package/types/data/library.d.ts +3 -45
  135. package/types/data/restore.d.ts +10 -4
  136. package/types/data/types.d.ts +3 -5
  137. package/types/element/Hyperlink.d.ts +27 -18
  138. package/types/element/binding.d.ts +3 -3
  139. package/types/element/bounds.d.ts +32 -7
  140. package/types/element/collision.d.ts +7 -7
  141. package/types/element/dragElements.d.ts +2 -1
  142. package/types/element/image.d.ts +11 -1
  143. package/types/element/index.d.ts +3 -2
  144. package/types/element/linearElementEditor.d.ts +24 -13
  145. package/types/element/mutateElement.d.ts +2 -1
  146. package/types/element/newElement.d.ts +37 -11
  147. package/types/element/resizeElements.d.ts +1 -0
  148. package/types/element/showSelectedShapeActions.d.ts +2 -2
  149. package/types/element/sortElements.d.ts +2 -0
  150. package/types/element/textElement.d.ts +40 -5
  151. package/types/element/textWysiwyg.d.ts +6 -1
  152. package/types/element/transformHandles.d.ts +12 -5
  153. package/types/element/typeChecks.d.ts +12 -2
  154. package/types/element/types.d.ts +53 -36
  155. package/types/emitter.d.ts +1 -1
  156. package/types/errors.d.ts +1 -1
  157. package/types/frame.d.ts +40 -0
  158. package/types/ga.d.ts +5 -5
  159. package/types/groups.d.ts +4 -0
  160. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  161. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  162. package/types/hooks/useOutsideClick.d.ts +19 -1
  163. package/types/hooks/useScrollPosition.d.ts +2 -0
  164. package/types/hooks/useTransition.d.ts +2 -0
  165. package/types/i18n.d.ts +7 -1
  166. package/types/jotai.d.ts +20 -108
  167. package/types/keys.d.ts +4 -4
  168. package/types/math.d.ts +4 -1
  169. package/types/packages/excalidraw/example/App.d.ts +7 -1
  170. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  171. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  172. package/types/packages/excalidraw/example/initialData.d.ts +6 -0
  173. package/types/packages/excalidraw/index.d.ts +17 -3
  174. package/types/packages/utils.d.ts +26 -25
  175. package/types/renderer/renderElement.d.ts +7 -5
  176. package/types/renderer/renderScene.d.ts +13 -6
  177. package/types/renderer/roundRect.d.ts +1 -1
  178. package/types/scene/Scene.d.ts +12 -5
  179. package/types/scene/comparisons.d.ts +1 -1
  180. package/types/scene/export.d.ts +157 -10
  181. package/types/scene/index.d.ts +1 -1
  182. package/types/scene/selection.d.ts +15 -5
  183. package/types/scene/types.d.ts +13 -5
  184. package/types/types.d.ts +126 -77
  185. package/types/utility-types.d.ts +22 -0
  186. package/types/utils.d.ts +40 -9
  187. package/types/zindex.d.ts +4 -4
  188. package/types/actions/actionToggleLock.d.ts +0 -116
  189. package/types/components/ActiveFile.d.ts +0 -7
  190. package/types/components/ClearCanvas.d.ts +0 -4
  191. package/types/components/CollabButton.d.ts +0 -6
  192. package/types/components/ColorPicker.d.ts +0 -14
  193. package/types/components/Footer.d.ts +0 -10
  194. package/types/components/LibraryButton.d.ts +0 -8
  195. package/types/components/MenuItem.d.ts +0 -11
  196. package/types/components/MenuUtils.d.ts +0 -1
  197. package/types/components/SingleLibraryItem.d.ts +0 -10
  198. package/types/components/WelcomeScreen.d.ts +0 -10
  199. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  200. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { LinearElementEditor } from "../element/linearElementEditor";
2
3
  import { ExcalidrawLinearElement } from "../element/types";
3
4
  export declare const actionToggleLinearEditor: {
@@ -5,13 +6,18 @@ export declare const actionToggleLinearEditor: {
5
6
  trackEvent: {
6
7
  category: "element";
7
8
  };
8
- contextItemPredicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
9
+ predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
9
10
  perform(elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties): {
10
11
  appState: {
11
12
  editingLinearElement: LinearElementEditor | null;
13
+ contextMenu: {
14
+ items: import("../components/ContextMenu").ContextMenuItems;
15
+ top: number;
16
+ left: number;
17
+ } | null;
12
18
  showWelcomeScreen: boolean;
13
19
  isLoading: boolean;
14
- errorMessage: string | null;
20
+ errorMessage: import("react").ReactNode;
15
21
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
16
22
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
17
23
  multiElement: import("../element/types").NonDeleted<ExcalidrawLinearElement> | null;
@@ -19,18 +25,21 @@ export declare const actionToggleLinearEditor: {
19
25
  isBindingEnabled: boolean;
20
26
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
21
27
  suggestedBindings: import("../element/binding").SuggestedBinding[];
28
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
29
+ shouldRenderFrames: boolean;
30
+ editingFrame: string | null;
31
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
22
32
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
23
33
  activeTool: {
24
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
25
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
34
+ lastActiveTool: import("../types").LastActiveTool;
26
35
  locked: boolean;
36
+ } & ({
37
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
27
38
  customType: null;
28
39
  } | {
29
40
  type: "custom";
30
41
  customType: string;
31
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
32
- locked: boolean;
33
- };
42
+ });
34
43
  penMode: boolean;
35
44
  penDetected: boolean;
36
45
  exportBackground: boolean;
@@ -47,10 +56,9 @@ export declare const actionToggleLinearEditor: {
47
56
  currentItemFontFamily: number;
48
57
  currentItemFontSize: number;
49
58
  currentItemTextAlign: string;
50
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
51
59
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
52
60
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
53
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
61
+ currentItemRoundness: import("../element/types").StrokeRoundness;
54
62
  viewBackgroundColor: string;
55
63
  scrollX: number;
56
64
  scrollY: number;
@@ -63,10 +71,13 @@ export declare const actionToggleLinearEditor: {
63
71
  value: import("../types").NormalizedZoomValue;
64
72
  }>;
65
73
  openMenu: "canvas" | "shape" | null;
66
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
67
- openSidebar: "library" | "customSidebar" | null;
68
- openDialog: "imageExport" | "help" | null;
69
- isSidebarDocked: boolean;
74
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
75
+ openSidebar: {
76
+ name: string;
77
+ tab?: string | undefined;
78
+ } | null;
79
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
80
+ defaultSidebarDockedPreference: boolean;
70
81
  lastPointerDownWith: import("../element/types").PointerType;
71
82
  selectedElementIds: {
72
83
  [id: string]: boolean;
@@ -74,6 +85,7 @@ export declare const actionToggleLinearEditor: {
74
85
  previousSelectedElementIds: {
75
86
  [id: string]: boolean;
76
87
  };
88
+ selectedElementsAreBeingDragged: boolean;
77
89
  shouldCacheIgnoreZoom: boolean;
78
90
  toast: {
79
91
  message: string;
@@ -7,9 +7,14 @@ export declare const actionToggleCanvasMenu: {
7
7
  perform: (_: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
8
8
  appState: {
9
9
  openMenu: "canvas" | null;
10
+ contextMenu: {
11
+ items: import("../components/ContextMenu").ContextMenuItems;
12
+ top: number;
13
+ left: number;
14
+ } | null;
10
15
  showWelcomeScreen: boolean;
11
16
  isLoading: boolean;
12
- errorMessage: string | null;
17
+ errorMessage: import("react").ReactNode;
13
18
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
14
19
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
15
20
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -17,19 +22,22 @@ export declare const actionToggleCanvasMenu: {
17
22
  isBindingEnabled: boolean;
18
23
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
19
24
  suggestedBindings: import("../element/binding").SuggestedBinding[];
25
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
26
+ shouldRenderFrames: boolean;
27
+ editingFrame: string | null;
28
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
20
29
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
21
30
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
22
31
  activeTool: {
23
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
24
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
32
+ lastActiveTool: import("../types").LastActiveTool;
25
33
  locked: boolean;
34
+ } & ({
35
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
26
36
  customType: null;
27
37
  } | {
28
38
  type: "custom";
29
39
  customType: string;
30
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
31
- locked: boolean;
32
- };
40
+ });
33
41
  penMode: boolean;
34
42
  penDetected: boolean;
35
43
  exportBackground: boolean;
@@ -46,10 +54,9 @@ export declare const actionToggleCanvasMenu: {
46
54
  currentItemFontFamily: number;
47
55
  currentItemFontSize: number;
48
56
  currentItemTextAlign: string;
49
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
50
57
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
51
58
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
52
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
59
+ currentItemRoundness: import("../element/types").StrokeRoundness;
53
60
  viewBackgroundColor: string;
54
61
  scrollX: number;
55
62
  scrollY: number;
@@ -61,10 +68,13 @@ export declare const actionToggleCanvasMenu: {
61
68
  zoom: Readonly<{
62
69
  value: import("../types").NormalizedZoomValue;
63
70
  }>;
64
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
65
- openSidebar: "library" | "customSidebar" | null;
66
- openDialog: "imageExport" | "help" | null;
67
- isSidebarDocked: boolean;
71
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
72
+ openSidebar: {
73
+ name: string;
74
+ tab?: string | undefined;
75
+ } | null;
76
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
77
+ defaultSidebarDockedPreference: boolean;
68
78
  lastPointerDownWith: import("../element/types").PointerType;
69
79
  selectedElementIds: {
70
80
  [id: string]: boolean;
@@ -72,6 +82,7 @@ export declare const actionToggleCanvasMenu: {
72
82
  previousSelectedElementIds: {
73
83
  [id: string]: boolean;
74
84
  };
85
+ selectedElementsAreBeingDragged: boolean;
75
86
  shouldCacheIgnoreZoom: boolean;
76
87
  toast: {
77
88
  message: string;
@@ -107,9 +118,7 @@ export declare const actionToggleCanvasMenu: {
107
118
  };
108
119
  commitToHistory: false;
109
120
  };
110
- PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps & {
111
- isInHamburgerMenu: boolean;
112
- }) => JSX.Element;
121
+ PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
113
122
  } & {
114
123
  keyTest?: undefined;
115
124
  };
@@ -121,9 +130,14 @@ export declare const actionToggleEditMenu: {
121
130
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
122
131
  appState: {
123
132
  openMenu: "shape" | null;
133
+ contextMenu: {
134
+ items: import("../components/ContextMenu").ContextMenuItems;
135
+ top: number;
136
+ left: number;
137
+ } | null;
124
138
  showWelcomeScreen: boolean;
125
139
  isLoading: boolean;
126
- errorMessage: string | null;
140
+ errorMessage: import("react").ReactNode;
127
141
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
128
142
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
129
143
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -131,19 +145,22 @@ export declare const actionToggleEditMenu: {
131
145
  isBindingEnabled: boolean;
132
146
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
133
147
  suggestedBindings: import("../element/binding").SuggestedBinding[];
148
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
149
+ shouldRenderFrames: boolean;
150
+ editingFrame: string | null;
151
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
134
152
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
135
153
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
136
154
  activeTool: {
137
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
138
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
155
+ lastActiveTool: import("../types").LastActiveTool;
139
156
  locked: boolean;
157
+ } & ({
158
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
140
159
  customType: null;
141
160
  } | {
142
161
  type: "custom";
143
162
  customType: string;
144
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
145
- locked: boolean;
146
- };
163
+ });
147
164
  penMode: boolean;
148
165
  penDetected: boolean;
149
166
  exportBackground: boolean;
@@ -160,10 +177,9 @@ export declare const actionToggleEditMenu: {
160
177
  currentItemFontFamily: number;
161
178
  currentItemFontSize: number;
162
179
  currentItemTextAlign: string;
163
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
164
180
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
165
181
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
166
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
182
+ currentItemRoundness: import("../element/types").StrokeRoundness;
167
183
  viewBackgroundColor: string;
168
184
  scrollX: number;
169
185
  scrollY: number;
@@ -175,10 +191,13 @@ export declare const actionToggleEditMenu: {
175
191
  zoom: Readonly<{
176
192
  value: import("../types").NormalizedZoomValue;
177
193
  }>;
178
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
179
- openSidebar: "library" | "customSidebar" | null;
180
- openDialog: "imageExport" | "help" | null;
181
- isSidebarDocked: boolean;
194
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
195
+ openSidebar: {
196
+ name: string;
197
+ tab?: string | undefined;
198
+ } | null;
199
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
200
+ defaultSidebarDockedPreference: boolean;
182
201
  lastPointerDownWith: import("../element/types").PointerType;
183
202
  selectedElementIds: {
184
203
  [id: string]: boolean;
@@ -186,6 +205,7 @@ export declare const actionToggleEditMenu: {
186
205
  previousSelectedElementIds: {
187
206
  [id: string]: boolean;
188
207
  };
208
+ selectedElementsAreBeingDragged: boolean;
189
209
  shouldCacheIgnoreZoom: boolean;
190
210
  toast: {
191
211
  message: string;
@@ -221,14 +241,13 @@ export declare const actionToggleEditMenu: {
221
241
  };
222
242
  commitToHistory: false;
223
243
  };
224
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
225
- isInHamburgerMenu: boolean;
226
- }) => JSX.Element;
244
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
227
245
  } & {
228
246
  keyTest?: undefined;
229
247
  };
230
248
  export declare const actionFullScreen: {
231
249
  name: "toggleFullScreen";
250
+ viewMode: true;
232
251
  trackEvent: {
233
252
  category: "canvas";
234
253
  predicate: (appState: Readonly<import("../types").AppState>) => boolean;
@@ -236,12 +255,12 @@ export declare const actionFullScreen: {
236
255
  perform: () => {
237
256
  commitToHistory: false;
238
257
  };
239
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
240
258
  } & {
241
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
259
+ keyTest?: undefined;
242
260
  };
243
261
  export declare const actionShortcuts: {
244
262
  name: "toggleShortcuts";
263
+ viewMode: true;
245
264
  trackEvent: {
246
265
  category: "menu";
247
266
  action: string;
@@ -249,9 +268,14 @@ export declare const actionShortcuts: {
249
268
  perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, { focusContainer }: import("../types").AppClassProperties) => {
250
269
  appState: {
251
270
  openDialog: "help" | null;
271
+ contextMenu: {
272
+ items: import("../components/ContextMenu").ContextMenuItems;
273
+ top: number;
274
+ left: number;
275
+ } | null;
252
276
  showWelcomeScreen: boolean;
253
277
  isLoading: boolean;
254
- errorMessage: string | null;
278
+ errorMessage: import("react").ReactNode;
255
279
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
256
280
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
257
281
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -259,19 +283,22 @@ export declare const actionShortcuts: {
259
283
  isBindingEnabled: boolean;
260
284
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
261
285
  suggestedBindings: import("../element/binding").SuggestedBinding[];
286
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
287
+ shouldRenderFrames: boolean;
288
+ editingFrame: string | null;
289
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
262
290
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
263
291
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
264
292
  activeTool: {
265
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
266
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
293
+ lastActiveTool: import("../types").LastActiveTool;
267
294
  locked: boolean;
295
+ } & ({
296
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "freedraw" | "eraser" | "hand";
268
297
  customType: null;
269
298
  } | {
270
299
  type: "custom";
271
300
  customType: string;
272
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
273
- locked: boolean;
274
- };
301
+ });
275
302
  penMode: boolean;
276
303
  penDetected: boolean;
277
304
  exportBackground: boolean;
@@ -288,10 +315,9 @@ export declare const actionShortcuts: {
288
315
  currentItemFontFamily: number;
289
316
  currentItemFontSize: number;
290
317
  currentItemTextAlign: string;
291
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
292
318
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
293
319
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
294
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
320
+ currentItemRoundness: import("../element/types").StrokeRoundness;
295
321
  viewBackgroundColor: string;
296
322
  scrollX: number;
297
323
  scrollY: number;
@@ -304,9 +330,12 @@ export declare const actionShortcuts: {
304
330
  value: import("../types").NormalizedZoomValue;
305
331
  }>;
306
332
  openMenu: "canvas" | "shape" | null;
307
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
308
- openSidebar: "library" | "customSidebar" | null;
309
- isSidebarDocked: boolean;
333
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
334
+ openSidebar: {
335
+ name: string;
336
+ tab?: string | undefined;
337
+ } | null;
338
+ defaultSidebarDockedPreference: boolean;
310
339
  lastPointerDownWith: import("../element/types").PointerType;
311
340
  selectedElementIds: {
312
341
  [id: string]: boolean;
@@ -314,6 +343,7 @@ export declare const actionShortcuts: {
314
343
  previousSelectedElementIds: {
315
344
  [id: string]: boolean;
316
345
  };
346
+ selectedElementsAreBeingDragged: boolean;
317
347
  shouldCacheIgnoreZoom: boolean;
318
348
  toast: {
319
349
  message: string;
@@ -349,9 +379,6 @@ export declare const actionShortcuts: {
349
379
  };
350
380
  commitToHistory: false;
351
381
  };
352
- PanelComponent: ({ updateData, isInHamburgerMenu }: import("./types").PanelComponentProps & {
353
- isInHamburgerMenu: boolean;
354
- }) => JSX.Element;
355
382
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
356
383
  } & {
357
384
  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
  };