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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. package/CHANGELOG.md +456 -0
  2. package/README.md +6 -2
  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 +2908 -1612
  6. package/dist/excalidraw.production.min.js +1 -1
  7. package/package.json +9 -4
  8. package/types/actions/actionAddToLibrary.d.ts +103 -52
  9. package/types/actions/actionAlign.d.ts +33 -28
  10. package/types/actions/actionBoundText.d.ts +176 -22
  11. package/types/actions/actionCanvas.d.ts +592 -184
  12. package/types/actions/actionClipboard.d.ts +173 -92
  13. package/types/actions/actionDeleteSelected.d.ts +101 -54
  14. package/types/actions/actionDistribute.d.ts +11 -12
  15. package/types/actions/actionDuplicateSelection.d.ts +3 -4
  16. package/types/actions/actionElementLock.d.ts +271 -0
  17. package/types/actions/actionExport.d.ts +366 -213
  18. package/types/actions/actionFinalize.d.ts +70 -40
  19. package/types/actions/actionFlip.d.ts +8 -11
  20. package/types/actions/actionFrame.d.ts +423 -0
  21. package/types/actions/actionGroup.d.ts +250 -13
  22. package/types/actions/actionHistory.d.ts +1 -1
  23. package/types/actions/actionLinearEditor.d.ts +37 -20
  24. package/types/actions/actionMenu.d.ts +108 -59
  25. package/types/actions/actionNavigate.d.ts +1 -1
  26. package/types/actions/actionProperties.d.ts +464 -242
  27. package/types/actions/actionSelectAll.d.ts +123 -4
  28. package/types/actions/actionStyles.d.ts +39 -23
  29. package/types/actions/actionToggleGridMode.d.ts +37 -21
  30. package/types/actions/{actionToggleLock.d.ts → actionToggleObjectsSnapMode.d.ts} +49 -31
  31. package/types/actions/actionToggleStats.d.ts +37 -21
  32. package/types/actions/actionToggleViewMode.d.ts +37 -21
  33. package/types/actions/actionToggleZenMode.d.ts +37 -21
  34. package/types/actions/actionZindex.d.ts +12 -12
  35. package/types/actions/index.d.ts +2 -1
  36. package/types/actions/manager.d.ts +1 -1
  37. package/types/actions/shortcuts.d.ts +2 -1
  38. package/types/actions/types.d.ts +11 -9
  39. package/types/appState.d.ts +17 -19
  40. package/types/charts.d.ts +2 -2
  41. package/types/clients.d.ts +5 -6
  42. package/types/clipboard.d.ts +3 -2
  43. package/types/colors.d.ts +60 -5
  44. package/types/components/Actions.d.ts +7 -8
  45. package/types/components/ActiveConfirmDialog.d.ts +1 -21
  46. package/types/components/App.d.ts +88 -33
  47. package/types/components/Avatar.d.ts +1 -2
  48. package/types/components/BraveMeasureTextError.d.ts +2 -0
  49. package/types/components/Button.d.ts +3 -2
  50. package/types/components/ButtonIconSelect.d.ts +11 -3
  51. package/types/components/Card.d.ts +0 -1
  52. package/types/components/ColorPicker/ColorInput.d.ts +9 -0
  53. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  54. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  55. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  56. package/types/components/ColorPicker/Picker.d.ts +18 -0
  57. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  58. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  59. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  60. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  61. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  62. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
  63. package/types/components/ContextMenu.d.ts +3 -3
  64. package/types/components/DefaultSidebar.d.ts +29 -0
  65. package/types/components/Dialog.d.ts +3 -4
  66. package/types/components/ErrorDialog.d.ts +3 -2
  67. package/types/components/ExcalidrawLogo.d.ts +15 -0
  68. package/types/components/EyeDropper.d.ts +28 -0
  69. package/types/components/FilledButton.d.ts +17 -0
  70. package/types/components/FixedSideContainer.d.ts +1 -1
  71. package/types/components/HandButton.d.ts +1 -1
  72. package/types/components/HelpButton.d.ts +1 -2
  73. package/types/components/HintViewer.d.ts +4 -5
  74. package/types/components/HomeButton.d.ts +1 -1
  75. package/types/components/ImageExportDialog.d.ts +8 -13
  76. package/types/components/Island.d.ts +1 -1
  77. package/types/components/JSONExportDialog.d.ts +5 -5
  78. package/types/components/LaserTool/LaserPathManager.d.ts +28 -0
  79. package/types/components/LaserTool/LaserPointerButton.d.ts +10 -0
  80. package/types/components/LaserTool/LaserTool.d.ts +7 -0
  81. package/types/components/LayerUI.d.ts +9 -11
  82. package/types/components/LibraryMenu.d.ts +13 -14
  83. package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
  84. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  85. package/types/components/LibraryMenuHeaderContent.d.ts +10 -28
  86. package/types/components/LibraryMenuItems.d.ts +6 -7
  87. package/types/components/LibraryMenuSection.d.ts +22 -0
  88. package/types/components/LibraryUnit.d.ts +6 -3
  89. package/types/components/LoadingMessage.d.ts +0 -1
  90. package/types/components/LockButton.d.ts +1 -1
  91. package/types/components/MobileMenu.d.ts +7 -6
  92. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  93. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  94. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  95. package/types/components/PasteChartDialog.d.ts +4 -5
  96. package/types/components/PenModeButton.d.ts +1 -1
  97. package/types/components/Popover.d.ts +1 -1
  98. package/types/components/ProjectName.d.ts +2 -1
  99. package/types/components/PublishLibrary.d.ts +2 -2
  100. package/types/components/RadioGroup.d.ts +12 -0
  101. package/types/components/Section.d.ts +1 -1
  102. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  103. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  104. package/types/components/Sidebar/SidebarTab.d.ts +8 -0
  105. package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
  106. package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
  107. package/types/components/Sidebar/SidebarTabs.d.ts +6 -0
  108. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  109. package/types/components/Sidebar/common.d.ts +24 -7
  110. package/types/components/Spinner.d.ts +2 -1
  111. package/types/components/Stack.d.ts +4 -3
  112. package/types/components/Stats.d.ts +3 -3
  113. package/types/components/Switch.d.ts +9 -0
  114. package/types/components/ToolButton.d.ts +5 -4
  115. package/types/components/Tooltip.d.ts +1 -1
  116. package/types/components/Trans.d.ts +9 -0
  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 +9 -5
  121. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +2 -1
  122. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -1
  123. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +2 -1
  124. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -2
  125. package/types/components/dropdownMenu/common.d.ts +1 -1
  126. package/types/components/footer/Footer.d.ts +2 -2
  127. package/types/components/icons.d.ts +15 -1
  128. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -1
  129. package/types/components/main-menu/MainMenu.d.ts +9 -5
  130. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -1
  131. package/types/components/welcome-screen/WelcomeScreen.d.ts +0 -1
  132. package/types/constants.d.ts +81 -11
  133. package/types/context/tunnels.d.ts +19 -0
  134. package/types/context/ui-appState.d.ts +4 -0
  135. package/types/data/blob.d.ts +3 -2
  136. package/types/data/encode.d.ts +1 -1
  137. package/types/data/filesystem.d.ts +2 -1
  138. package/types/data/index.d.ts +1 -1
  139. package/types/data/library.d.ts +3 -45
  140. package/types/data/restore.d.ts +2 -2
  141. package/types/data/transform.d.ts +71 -0
  142. package/types/data/types.d.ts +3 -5
  143. package/types/data/url.d.ts +7 -0
  144. package/types/element/Hyperlink.d.ts +48 -28
  145. package/types/element/binding.d.ts +4 -3
  146. package/types/element/bounds.d.ts +30 -6
  147. package/types/element/collision.d.ts +7 -7
  148. package/types/element/dragElements.d.ts +12 -2
  149. package/types/element/embeddable.d.ts +153 -0
  150. package/types/element/image.d.ts +11 -1
  151. package/types/element/index.d.ts +3 -2
  152. package/types/element/linearElementEditor.d.ts +40 -24
  153. package/types/element/mutateElement.d.ts +2 -1
  154. package/types/element/newElement.d.ts +49 -13
  155. package/types/element/resizeElements.d.ts +3 -2
  156. package/types/element/showSelectedShapeActions.d.ts +2 -2
  157. package/types/element/sizeHelpers.d.ts +8 -1
  158. package/types/element/textElement.d.ts +40 -15
  159. package/types/element/textWysiwyg.d.ts +1 -1
  160. package/types/element/transformHandles.d.ts +15 -8
  161. package/types/element/typeChecks.d.ts +4 -1
  162. package/types/element/types.d.ts +60 -35
  163. package/types/emitter.d.ts +1 -1
  164. package/types/errors.d.ts +1 -1
  165. package/types/frame.d.ts +40 -0
  166. package/types/ga.d.ts +5 -5
  167. package/types/groups.d.ts +15 -11
  168. package/types/history.d.ts +3 -3
  169. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  170. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  171. package/types/hooks/useOutsideClick.d.ts +19 -2
  172. package/types/hooks/useScrollPosition.d.ts +1 -0
  173. package/types/hooks/useStable.d.ts +1 -0
  174. package/types/hooks/useTransition.d.ts +2 -0
  175. package/types/i18n.d.ts +7 -4
  176. package/types/jotai.d.ts +16 -104
  177. package/types/keys.d.ts +5 -1
  178. package/types/math.d.ts +3 -0
  179. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  180. package/types/packages/excalidraw/index.d.ts +6 -2
  181. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  182. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  183. package/types/packages/utils.d.ts +28 -24
  184. package/types/renderer/renderElement.d.ts +12 -22
  185. package/types/renderer/renderScene.d.ts +19 -29
  186. package/types/renderer/renderSnaps.d.ts +2 -0
  187. package/types/renderer/roundRect.d.ts +1 -1
  188. package/types/scene/Renderer.d.ts +25 -0
  189. package/types/scene/Scene.d.ts +27 -5
  190. package/types/scene/Shape.d.ts +12 -0
  191. package/types/scene/ShapeCache.d.ts +20 -0
  192. package/types/scene/export.d.ts +182 -10
  193. package/types/scene/scroll.d.ts +1 -1
  194. package/types/scene/scrollbars.d.ts +2 -6
  195. package/types/scene/selection.d.ts +27 -6
  196. package/types/scene/types.d.ts +69 -26
  197. package/types/snapping.d.ts +108 -0
  198. package/types/types.d.ts +189 -69
  199. package/types/utility-types.d.ts +24 -0
  200. package/types/utils.d.ts +72 -14
  201. package/types/zindex.d.ts +4 -4
  202. package/types/components/ColorPicker.d.ts +0 -14
  203. package/types/components/LibraryButton.d.ts +0 -8
  204. package/types/components/SingleLibraryItem.d.ts +0 -10
  205. package/types/components/context/tunnels.d.ts +0 -16
  206. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
  207. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  208. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  209. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dwelle/excalidraw",
3
- "version": "0.4.0-9e2b706",
3
+ "version": "0.4.0-9fa56da",
4
4
  "main": "main.js",
5
5
  "types": "types/packages/excalidraw/index.d.ts",
6
6
  "files": [
@@ -45,19 +45,23 @@
45
45
  "@babel/preset-env": "7.18.6",
46
46
  "@babel/preset-react": "7.18.6",
47
47
  "@babel/preset-typescript": "7.18.6",
48
+ "@size-limit/preset-big-lib": "9.0.0",
48
49
  "autoprefixer": "10.4.7",
49
50
  "babel-loader": "8.2.5",
50
51
  "babel-plugin-transform-class-properties": "6.24.1",
51
52
  "cross-env": "7.0.3",
52
53
  "css-loader": "6.7.1",
53
54
  "dotenv": "16.0.1",
55
+ "import-meta-loader": "1.1.0",
54
56
  "mini-css-extract-plugin": "2.6.1",
55
57
  "postcss-loader": "7.0.1",
56
58
  "sass-loader": "13.0.2",
59
+ "size-limit": "9.0.0",
60
+ "style-loader": "3.3.3",
57
61
  "terser-webpack-plugin": "5.3.3",
58
62
  "ts-loader": "9.3.1",
59
- "typescript": "4.7.4",
60
- "webpack": "5.73.0",
63
+ "typescript": "4.9.4",
64
+ "webpack": "5.76.0",
61
65
  "webpack-bundle-analyzer": "4.5.0",
62
66
  "webpack-cli": "4.10.0",
63
67
  "webpack-dev-server": "4.9.3",
@@ -72,6 +76,7 @@
72
76
  "pack": "yarn build:umd && yarn pack",
73
77
  "start": "webpack serve --config webpack.dev-server.config.js",
74
78
  "install:deps": "yarn install --frozen-lockfile && yarn --cwd ../../../",
75
- "build:example": "EXAMPLE=true webpack --config webpack.dev-server.config.js && yarn gen:types"
79
+ "build:example": "EXAMPLE=true webpack --config webpack.dev-server.config.js && yarn gen:types",
80
+ "size": "yarn build:umd && size-limit"
76
81
  }
77
82
  }
@@ -16,7 +16,11 @@ export declare const actionAddToLibrary: {
16
16
  } | null;
17
17
  showWelcomeScreen: boolean;
18
18
  isLoading: boolean;
19
- errorMessage: string | null;
19
+ errorMessage: import("react").ReactNode;
20
+ activeEmbeddable: {
21
+ element: import("../element/types").NonDeletedExcalidrawElement;
22
+ state: "active" | "hover";
23
+ } | null;
20
24
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
21
25
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
22
26
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -24,18 +28,21 @@ export declare const actionAddToLibrary: {
24
28
  isBindingEnabled: boolean;
25
29
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
26
30
  suggestedBindings: import("../element/binding").SuggestedBinding[];
31
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
32
+ frameRendering: {
33
+ enabled: boolean;
34
+ name: boolean;
35
+ outline: boolean;
36
+ clip: boolean;
37
+ };
38
+ editingFrame: string | null;
39
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
27
40
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
28
41
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
29
42
  activeTool: {
30
- lastActiveTool: import("../types").LastActiveTool;
43
+ lastActiveTool: import("../types").ActiveTool | null;
31
44
  locked: boolean;
32
- } & ({
33
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
34
- customType: null;
35
- } | {
36
- type: "custom";
37
- customType: string;
38
- });
45
+ } & import("../types").ActiveTool;
39
46
  penMode: boolean;
40
47
  penDetected: boolean;
41
48
  exportBackground: boolean;
@@ -67,20 +74,24 @@ export declare const actionAddToLibrary: {
67
74
  value: import("../types").NormalizedZoomValue;
68
75
  }>;
69
76
  openMenu: "canvas" | "shape" | null;
70
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
71
- openSidebar: "library" | "customSidebar" | null;
77
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
78
+ openSidebar: {
79
+ name: string;
80
+ tab?: string | undefined;
81
+ } | null;
72
82
  openDialog: "imageExport" | "help" | "jsonExport" | null;
73
- isSidebarDocked: boolean;
83
+ defaultSidebarDockedPreference: boolean;
74
84
  lastPointerDownWith: import("../element/types").PointerType;
75
- selectedElementIds: {
76
- [id: string]: boolean;
77
- };
85
+ selectedElementIds: Readonly<{
86
+ [id: string]: true;
87
+ }>;
78
88
  previousSelectedElementIds: {
79
- [id: string]: boolean;
89
+ [id: string]: true;
80
90
  };
91
+ selectedElementsAreBeingDragged: boolean;
81
92
  shouldCacheIgnoreZoom: boolean;
82
93
  zenModeEnabled: boolean;
83
- theme: string;
94
+ theme: import("../element/types").Theme;
84
95
  gridSize: number | null;
85
96
  viewModeEnabled: boolean;
86
97
  selectedGroupIds: {
@@ -103,8 +114,14 @@ export declare const actionAddToLibrary: {
103
114
  data: import("../charts").Spreadsheet;
104
115
  };
105
116
  pendingImageElementId: string | null;
106
- showHyperlinkPopup: false | "info" | "editor";
117
+ showHyperlinkPopup: false | "editor" | "info";
107
118
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
119
+ snapLines: readonly import("../snapping").SnapLine[];
120
+ originSnapOffset: {
121
+ x: number;
122
+ y: number;
123
+ } | null;
124
+ objectsSnapModeEnabled: boolean;
108
125
  };
109
126
  } | {
110
127
  commitToHistory: false;
@@ -117,6 +134,10 @@ export declare const actionAddToLibrary: {
117
134
  } | null;
118
135
  showWelcomeScreen: boolean;
119
136
  isLoading: boolean;
137
+ activeEmbeddable: {
138
+ element: import("../element/types").NonDeletedExcalidrawElement;
139
+ state: "active" | "hover";
140
+ } | null;
120
141
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
121
142
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
122
143
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -124,18 +145,21 @@ export declare const actionAddToLibrary: {
124
145
  isBindingEnabled: boolean;
125
146
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
126
147
  suggestedBindings: import("../element/binding").SuggestedBinding[];
148
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
149
+ frameRendering: {
150
+ enabled: boolean;
151
+ name: boolean;
152
+ outline: boolean;
153
+ clip: boolean;
154
+ };
155
+ editingFrame: string | null;
156
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
127
157
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
128
158
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
129
159
  activeTool: {
130
- lastActiveTool: import("../types").LastActiveTool;
160
+ lastActiveTool: import("../types").ActiveTool | null;
131
161
  locked: boolean;
132
- } & ({
133
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
134
- customType: null;
135
- } | {
136
- type: "custom";
137
- customType: string;
138
- });
162
+ } & import("../types").ActiveTool;
139
163
  penMode: boolean;
140
164
  penDetected: boolean;
141
165
  exportBackground: boolean;
@@ -167,17 +191,21 @@ export declare const actionAddToLibrary: {
167
191
  value: import("../types").NormalizedZoomValue;
168
192
  }>;
169
193
  openMenu: "canvas" | "shape" | null;
170
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
171
- openSidebar: "library" | "customSidebar" | null;
194
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
195
+ openSidebar: {
196
+ name: string;
197
+ tab?: string | undefined;
198
+ } | null;
172
199
  openDialog: "imageExport" | "help" | "jsonExport" | null;
173
- isSidebarDocked: boolean;
200
+ defaultSidebarDockedPreference: boolean;
174
201
  lastPointerDownWith: import("../element/types").PointerType;
175
- selectedElementIds: {
176
- [id: string]: boolean;
177
- };
202
+ selectedElementIds: Readonly<{
203
+ [id: string]: true;
204
+ }>;
178
205
  previousSelectedElementIds: {
179
- [id: string]: boolean;
206
+ [id: string]: true;
180
207
  };
208
+ selectedElementsAreBeingDragged: boolean;
181
209
  shouldCacheIgnoreZoom: boolean;
182
210
  toast: {
183
211
  message: string;
@@ -185,7 +213,7 @@ export declare const actionAddToLibrary: {
185
213
  duration?: number | undefined;
186
214
  } | null;
187
215
  zenModeEnabled: boolean;
188
- theme: string;
216
+ theme: import("../element/types").Theme;
189
217
  gridSize: number | null;
190
218
  viewModeEnabled: boolean;
191
219
  selectedGroupIds: {
@@ -208,8 +236,14 @@ export declare const actionAddToLibrary: {
208
236
  data: import("../charts").Spreadsheet;
209
237
  };
210
238
  pendingImageElementId: string | null;
211
- showHyperlinkPopup: false | "info" | "editor";
239
+ showHyperlinkPopup: false | "editor" | "info";
212
240
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
241
+ snapLines: readonly import("../snapping").SnapLine[];
242
+ originSnapOffset: {
243
+ x: number;
244
+ y: number;
245
+ } | null;
246
+ objectsSnapModeEnabled: boolean;
213
247
  };
214
248
  }> | {
215
249
  commitToHistory: false;
@@ -222,6 +256,10 @@ export declare const actionAddToLibrary: {
222
256
  } | null;
223
257
  showWelcomeScreen: boolean;
224
258
  isLoading: boolean;
259
+ activeEmbeddable: {
260
+ element: import("../element/types").NonDeletedExcalidrawElement;
261
+ state: "active" | "hover";
262
+ } | null;
225
263
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
226
264
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
227
265
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -229,18 +267,21 @@ export declare const actionAddToLibrary: {
229
267
  isBindingEnabled: boolean;
230
268
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
231
269
  suggestedBindings: import("../element/binding").SuggestedBinding[];
270
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
271
+ frameRendering: {
272
+ enabled: boolean;
273
+ name: boolean;
274
+ outline: boolean;
275
+ clip: boolean;
276
+ };
277
+ editingFrame: string | null;
278
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
232
279
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
233
280
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
234
281
  activeTool: {
235
- lastActiveTool: import("../types").LastActiveTool;
282
+ lastActiveTool: import("../types").ActiveTool | null;
236
283
  locked: boolean;
237
- } & ({
238
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
239
- customType: null;
240
- } | {
241
- type: "custom";
242
- customType: string;
243
- });
284
+ } & import("../types").ActiveTool;
244
285
  penMode: boolean;
245
286
  penDetected: boolean;
246
287
  exportBackground: boolean;
@@ -272,17 +313,21 @@ export declare const actionAddToLibrary: {
272
313
  value: import("../types").NormalizedZoomValue;
273
314
  }>;
274
315
  openMenu: "canvas" | "shape" | null;
275
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
276
- openSidebar: "library" | "customSidebar" | null;
316
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
317
+ openSidebar: {
318
+ name: string;
319
+ tab?: string | undefined;
320
+ } | null;
277
321
  openDialog: "imageExport" | "help" | "jsonExport" | null;
278
- isSidebarDocked: boolean;
322
+ defaultSidebarDockedPreference: boolean;
279
323
  lastPointerDownWith: import("../element/types").PointerType;
280
- selectedElementIds: {
281
- [id: string]: boolean;
282
- };
324
+ selectedElementIds: Readonly<{
325
+ [id: string]: true;
326
+ }>;
283
327
  previousSelectedElementIds: {
284
- [id: string]: boolean;
328
+ [id: string]: true;
285
329
  };
330
+ selectedElementsAreBeingDragged: boolean;
286
331
  shouldCacheIgnoreZoom: boolean;
287
332
  toast: {
288
333
  message: string;
@@ -290,7 +335,7 @@ export declare const actionAddToLibrary: {
290
335
  duration?: number | undefined;
291
336
  } | null;
292
337
  zenModeEnabled: boolean;
293
- theme: string;
338
+ theme: import("../element/types").Theme;
294
339
  gridSize: number | null;
295
340
  viewModeEnabled: boolean;
296
341
  selectedGroupIds: {
@@ -313,8 +358,14 @@ export declare const actionAddToLibrary: {
313
358
  data: import("../charts").Spreadsheet;
314
359
  };
315
360
  pendingImageElementId: string | null;
316
- showHyperlinkPopup: false | "info" | "editor";
361
+ showHyperlinkPopup: false | "editor" | "info";
317
362
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
363
+ snapLines: readonly import("../snapping").SnapLine[];
364
+ originSnapOffset: {
365
+ x: number;
366
+ y: number;
367
+ } | null;
368
+ objectsSnapModeEnabled: boolean;
318
369
  };
319
370
  };
320
371
  contextItemLabel: string;
@@ -1,77 +1,81 @@
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 actionAlignTop: {
5
4
  name: "alignTop";
6
5
  trackEvent: {
7
6
  category: "element";
8
7
  };
9
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
8
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
9
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
10
10
  appState: Readonly<AppState>;
11
- elements: ExcalidrawElement[];
11
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
12
12
  commitToHistory: true;
13
13
  };
14
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
15
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
14
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
15
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
16
16
  } & {
17
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
17
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
18
18
  };
19
19
  export declare const actionAlignBottom: {
20
20
  name: "alignBottom";
21
21
  trackEvent: {
22
22
  category: "element";
23
23
  };
24
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
24
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
25
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
25
26
  appState: Readonly<AppState>;
26
- elements: ExcalidrawElement[];
27
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
27
28
  commitToHistory: true;
28
29
  };
29
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
30
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
30
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
31
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
31
32
  } & {
32
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
33
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
33
34
  };
34
35
  export declare const actionAlignLeft: {
35
36
  name: "alignLeft";
36
37
  trackEvent: {
37
38
  category: "element";
38
39
  };
39
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
40
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
41
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
40
42
  appState: Readonly<AppState>;
41
- elements: ExcalidrawElement[];
43
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
42
44
  commitToHistory: true;
43
45
  };
44
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
45
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
46
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
47
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
46
48
  } & {
47
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
49
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
48
50
  };
49
51
  export declare const actionAlignRight: {
50
52
  name: "alignRight";
51
53
  trackEvent: {
52
54
  category: "element";
53
55
  };
54
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
56
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
57
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
55
58
  appState: Readonly<AppState>;
56
- elements: ExcalidrawElement[];
59
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
57
60
  commitToHistory: true;
58
61
  };
59
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
60
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
62
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
63
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
61
64
  } & {
62
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
65
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
63
66
  };
64
67
  export declare const actionAlignVerticallyCentered: {
65
68
  name: "alignVerticallyCentered";
66
69
  trackEvent: {
67
70
  category: "element";
68
71
  };
69
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
72
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
73
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
70
74
  appState: Readonly<AppState>;
71
- elements: ExcalidrawElement[];
75
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
72
76
  commitToHistory: true;
73
77
  };
74
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
78
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
75
79
  } & {
76
80
  keyTest?: undefined;
77
81
  };
@@ -80,12 +84,13 @@ export declare const actionAlignHorizontallyCentered: {
80
84
  trackEvent: {
81
85
  category: "element";
82
86
  };
83
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
87
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
88
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
84
89
  appState: Readonly<AppState>;
85
- elements: ExcalidrawElement[];
90
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
86
91
  commitToHistory: true;
87
92
  };
88
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
93
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
89
94
  } & {
90
95
  keyTest?: undefined;
91
96
  };