@dwelle/excalidraw 0.4.0-e3bee83 → 0.4.0-e587816

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (220) hide show
  1. package/CHANGELOG.md +525 -0
  2. package/README.md +18 -1820
  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 +3071 -1566
  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 +103 -55
  11. package/types/actions/actionAlign.d.ts +33 -28
  12. package/types/actions/actionBoundText.d.ts +175 -22
  13. package/types/actions/actionCanvas.d.ts +680 -170
  14. package/types/actions/actionClipboard.d.ts +174 -100
  15. package/types/actions/actionDeleteSelected.d.ts +102 -60
  16. package/types/actions/actionDistribute.d.ts +11 -12
  17. package/types/actions/actionDuplicateSelection.d.ts +3 -4
  18. package/types/actions/actionElementLock.d.ts +271 -0
  19. package/types/actions/actionExport.d.ts +363 -221
  20. package/types/actions/actionFinalize.d.ts +70 -42
  21. package/types/actions/actionFlip.d.ts +8 -11
  22. package/types/actions/actionFrame.d.ts +423 -0
  23. package/types/actions/actionGroup.d.ts +250 -13
  24. package/types/actions/actionHistory.d.ts +1 -1
  25. package/types/actions/actionLinearEditor.d.ts +37 -21
  26. package/types/actions/actionMenu.d.ts +108 -62
  27. package/types/actions/actionNavigate.d.ts +1 -1
  28. package/types/actions/actionProperties.d.ts +465 -256
  29. package/types/actions/actionSelectAll.d.ts +123 -4
  30. package/types/actions/actionStyles.d.ts +39 -24
  31. package/types/actions/actionToggleGridMode.d.ts +37 -22
  32. package/types/actions/{actionToggleLock.d.ts → actionToggleObjectsSnapMode.d.ts} +49 -32
  33. package/types/actions/actionToggleStats.d.ts +37 -22
  34. package/types/actions/actionToggleViewMode.d.ts +37 -22
  35. package/types/actions/actionToggleZenMode.d.ts +37 -22
  36. package/types/actions/actionZindex.d.ts +12 -12
  37. package/types/actions/index.d.ts +2 -1
  38. package/types/actions/manager.d.ts +1 -1
  39. package/types/actions/shortcuts.d.ts +2 -1
  40. package/types/actions/types.d.ts +11 -9
  41. package/types/appState.d.ts +18 -18
  42. package/types/charts.d.ts +2 -2
  43. package/types/clients.d.ts +5 -6
  44. package/types/clipboard.d.ts +8 -7
  45. package/types/colors.d.ts +60 -5
  46. package/types/components/Actions.d.ts +7 -12
  47. package/types/components/ActiveConfirmDialog.d.ts +4 -0
  48. package/types/components/App.d.ts +93 -35
  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 +3 -2
  52. package/types/components/ButtonIconSelect.d.ts +11 -3
  53. package/types/components/Card.d.ts +0 -1
  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 +3 -3
  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 +5 -5
  80. package/types/components/LaserTool/LaserPathManager.d.ts +28 -0
  81. package/types/components/LaserTool/LaserPointerButton.d.ts +10 -0
  82. package/types/components/LaserTool/LaserTool.d.ts +7 -0
  83. package/types/components/LayerUI.d.ts +9 -15
  84. package/types/components/LibraryMenu.d.ts +13 -14
  85. package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
  86. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  87. package/types/components/LibraryMenuHeaderContent.d.ts +10 -28
  88. package/types/components/LibraryMenuItems.d.ts +6 -7
  89. package/types/components/LibraryMenuSection.d.ts +22 -0
  90. package/types/components/LibraryUnit.d.ts +6 -3
  91. package/types/components/LoadingMessage.d.ts +0 -1
  92. package/types/components/LockButton.d.ts +1 -2
  93. package/types/components/MobileMenu.d.ts +8 -11
  94. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  95. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  96. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  97. package/types/components/PasteChartDialog.d.ts +4 -5
  98. package/types/components/PenModeButton.d.ts +1 -1
  99. package/types/components/Popover.d.ts +1 -1
  100. package/types/components/ProjectName.d.ts +2 -1
  101. package/types/components/PublishLibrary.d.ts +2 -2
  102. package/types/components/RadioGroup.d.ts +12 -0
  103. package/types/components/Section.d.ts +1 -1
  104. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  105. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  106. package/types/components/Sidebar/SidebarTab.d.ts +8 -0
  107. package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
  108. package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
  109. package/types/components/Sidebar/SidebarTabs.d.ts +6 -0
  110. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  111. package/types/components/Sidebar/common.d.ts +24 -7
  112. package/types/components/Spinner.d.ts +2 -1
  113. package/types/components/Stack.d.ts +4 -3
  114. package/types/components/Stats.d.ts +3 -3
  115. package/types/components/Switch.d.ts +9 -0
  116. package/types/components/ToolButton.d.ts +6 -5
  117. package/types/components/Tooltip.d.ts +1 -1
  118. package/types/components/Trans.d.ts +9 -0
  119. package/types/components/canvases/InteractiveCanvas.d.ts +27 -0
  120. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  121. package/types/components/canvases/index.d.ts +3 -0
  122. package/types/components/dropdownMenu/DropdownMenu.d.ts +15 -9
  123. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +7 -3
  124. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +4 -4
  125. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -1
  126. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +4 -2
  127. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -2
  128. package/types/components/dropdownMenu/common.d.ts +6 -0
  129. package/types/components/footer/Footer.d.ts +4 -5
  130. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  131. package/types/components/icons.d.ts +16 -1
  132. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -1
  133. package/types/components/main-menu/MainMenu.d.ts +22 -13
  134. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -1
  135. package/types/components/welcome-screen/WelcomeScreen.d.ts +2 -3
  136. package/types/constants.d.ts +94 -10
  137. package/types/context/tunnels.d.ts +19 -0
  138. package/types/context/ui-appState.d.ts +4 -0
  139. package/types/cursor.d.ts +5 -0
  140. package/types/data/blob.d.ts +5 -3
  141. package/types/data/encode.d.ts +1 -1
  142. package/types/data/filesystem.d.ts +2 -1
  143. package/types/data/library.d.ts +3 -45
  144. package/types/data/restore.d.ts +10 -4
  145. package/types/data/transform.d.ts +73 -0
  146. package/types/data/types.d.ts +3 -5
  147. package/types/data/url.d.ts +7 -0
  148. package/types/element/Hyperlink.d.ts +48 -29
  149. package/types/element/binding.d.ts +4 -3
  150. package/types/element/bounds.d.ts +40 -10
  151. package/types/element/collision.d.ts +7 -7
  152. package/types/element/dragElements.d.ts +12 -2
  153. package/types/element/embeddable.d.ts +153 -0
  154. package/types/element/image.d.ts +11 -1
  155. package/types/element/index.d.ts +3 -2
  156. package/types/element/linearElementEditor.d.ts +43 -27
  157. package/types/element/mutateElement.d.ts +3 -2
  158. package/types/element/newElement.d.ts +48 -15
  159. package/types/element/resizeElements.d.ts +3 -2
  160. package/types/element/resizeTest.d.ts +2 -1
  161. package/types/element/showSelectedShapeActions.d.ts +2 -2
  162. package/types/element/sizeHelpers.d.ts +8 -1
  163. package/types/element/sortElements.d.ts +2 -0
  164. package/types/element/textElement.d.ts +43 -17
  165. package/types/element/textWysiwyg.d.ts +1 -1
  166. package/types/element/transformHandles.d.ts +16 -8
  167. package/types/element/typeChecks.d.ts +5 -2
  168. package/types/element/types.d.ts +59 -35
  169. package/types/emitter.d.ts +1 -2
  170. package/types/errors.d.ts +1 -1
  171. package/types/frame.d.ts +46 -0
  172. package/types/ga.d.ts +5 -5
  173. package/types/groups.d.ts +15 -11
  174. package/types/history.d.ts +3 -3
  175. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  176. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  177. package/types/hooks/useOutsideClick.d.ts +19 -2
  178. package/types/hooks/useScrollPosition.d.ts +1 -0
  179. package/types/hooks/useStable.d.ts +1 -0
  180. package/types/hooks/useTransition.d.ts +2 -0
  181. package/types/i18n.d.ts +11 -2
  182. package/types/jotai.d.ts +20 -108
  183. package/types/keys.d.ts +5 -4
  184. package/types/math.d.ts +5 -0
  185. package/types/packages/bbox.d.ts +11 -0
  186. package/types/packages/excalidraw/example/App.d.ts +7 -1
  187. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  188. package/types/packages/excalidraw/index.d.ts +11 -4
  189. package/types/packages/excalidraw/main.d.ts +3 -1
  190. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  191. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  192. package/types/packages/utils.d.ts +11 -2
  193. package/types/packages/withinBounds.d.ts +19 -0
  194. package/types/renderer/renderElement.d.ts +12 -22
  195. package/types/renderer/renderScene.d.ts +19 -27
  196. package/types/renderer/renderSnaps.d.ts +2 -0
  197. package/types/renderer/roundRect.d.ts +1 -1
  198. package/types/scene/Renderer.d.ts +25 -0
  199. package/types/scene/Scene.d.ts +27 -5
  200. package/types/scene/Shape.d.ts +12 -0
  201. package/types/scene/ShapeCache.d.ts +20 -0
  202. package/types/scene/comparisons.d.ts +0 -1
  203. package/types/scene/export.d.ts +50 -11
  204. package/types/scene/index.d.ts +1 -1
  205. package/types/scene/scroll.d.ts +1 -1
  206. package/types/scene/scrollbars.d.ts +2 -6
  207. package/types/scene/selection.d.ts +27 -6
  208. package/types/scene/types.d.ts +70 -34
  209. package/types/snapping.d.ts +108 -0
  210. package/types/types.d.ts +200 -84
  211. package/types/utility-types.d.ts +24 -0
  212. package/types/utils.d.ts +73 -29
  213. package/types/zindex.d.ts +4 -4
  214. package/types/components/ColorPicker.d.ts +0 -14
  215. package/types/components/LibraryButton.d.ts +0 -8
  216. package/types/components/SingleLibraryItem.d.ts +0 -10
  217. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
  218. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  219. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  220. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
@@ -9,3 +9,23 @@
9
9
  * This source code is licensed under the MIT license found in the
10
10
  * LICENSE file in the root directory of this source tree.
11
11
  */
12
+
13
+ /**
14
+ * @license React
15
+ * use-sync-external-store-shim.production.min.js
16
+ *
17
+ * Copyright (c) Facebook, Inc. and its affiliates.
18
+ *
19
+ * This source code is licensed under the MIT license found in the
20
+ * LICENSE file in the root directory of this source tree.
21
+ */
22
+
23
+ /**
24
+ * @license React
25
+ * use-sync-external-store-shim/with-selector.production.min.js
26
+ *
27
+ * Copyright (c) Facebook, Inc. and its affiliates.
28
+ *
29
+ * This source code is licensed under the MIT license found in the
30
+ * LICENSE file in the root directory of this source tree.
31
+ */
package/main.js CHANGED
@@ -1,8 +1 @@
1
- if (
2
- process.env.NODE_ENV === "production" ||
3
- window.__excalidraw_env__ === "production"
4
- ) {
5
- module.exports = require("./dist/excalidraw.production.min.js");
6
- } else {
7
- module.exports = require("./dist/excalidraw.development.js");
8
- }
1
+ module.exports = require("./dist/excalidraw.production.min.js");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dwelle/excalidraw",
3
- "version": "0.4.0-e3bee83",
3
+ "version": "0.4.0-e587816",
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,19 +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
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
31
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
32
- locked: boolean;
33
- customType: null;
34
- } | {
35
- type: "custom";
36
- customType: string;
37
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
43
+ lastActiveTool: import("../types").ActiveTool | null;
38
44
  locked: boolean;
39
- };
45
+ } & import("../types").ActiveTool;
40
46
  penMode: boolean;
41
47
  penDetected: boolean;
42
48
  exportBackground: boolean;
@@ -68,20 +74,24 @@ export declare const actionAddToLibrary: {
68
74
  value: import("../types").NormalizedZoomValue;
69
75
  }>;
70
76
  openMenu: "canvas" | "shape" | null;
71
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
72
- openSidebar: "library" | "customSidebar" | null;
77
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
78
+ openSidebar: {
79
+ name: string;
80
+ tab?: string | undefined;
81
+ } | null;
73
82
  openDialog: "imageExport" | "help" | "jsonExport" | null;
74
- isSidebarDocked: boolean;
83
+ defaultSidebarDockedPreference: boolean;
75
84
  lastPointerDownWith: import("../element/types").PointerType;
76
- selectedElementIds: {
77
- [id: string]: boolean;
78
- };
85
+ selectedElementIds: Readonly<{
86
+ [id: string]: true;
87
+ }>;
79
88
  previousSelectedElementIds: {
80
- [id: string]: boolean;
89
+ [id: string]: true;
81
90
  };
91
+ selectedElementsAreBeingDragged: boolean;
82
92
  shouldCacheIgnoreZoom: boolean;
83
93
  zenModeEnabled: boolean;
84
- theme: string;
94
+ theme: import("../element/types").Theme;
85
95
  gridSize: number | null;
86
96
  viewModeEnabled: boolean;
87
97
  selectedGroupIds: {
@@ -104,8 +114,14 @@ export declare const actionAddToLibrary: {
104
114
  data: import("../charts").Spreadsheet;
105
115
  };
106
116
  pendingImageElementId: string | null;
107
- showHyperlinkPopup: false | "info" | "editor";
117
+ showHyperlinkPopup: false | "editor" | "info";
108
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;
109
125
  };
110
126
  } | {
111
127
  commitToHistory: false;
@@ -118,6 +134,10 @@ export declare const actionAddToLibrary: {
118
134
  } | null;
119
135
  showWelcomeScreen: boolean;
120
136
  isLoading: boolean;
137
+ activeEmbeddable: {
138
+ element: import("../element/types").NonDeletedExcalidrawElement;
139
+ state: "active" | "hover";
140
+ } | null;
121
141
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
122
142
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
123
143
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -125,19 +145,21 @@ export declare const actionAddToLibrary: {
125
145
  isBindingEnabled: boolean;
126
146
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
127
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;
128
157
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
129
158
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
130
159
  activeTool: {
131
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
132
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
160
+ lastActiveTool: import("../types").ActiveTool | null;
133
161
  locked: boolean;
134
- customType: null;
135
- } | {
136
- type: "custom";
137
- customType: string;
138
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
139
- locked: boolean;
140
- };
162
+ } & import("../types").ActiveTool;
141
163
  penMode: boolean;
142
164
  penDetected: boolean;
143
165
  exportBackground: boolean;
@@ -169,17 +191,21 @@ export declare const actionAddToLibrary: {
169
191
  value: import("../types").NormalizedZoomValue;
170
192
  }>;
171
193
  openMenu: "canvas" | "shape" | null;
172
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
173
- openSidebar: "library" | "customSidebar" | null;
194
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
195
+ openSidebar: {
196
+ name: string;
197
+ tab?: string | undefined;
198
+ } | null;
174
199
  openDialog: "imageExport" | "help" | "jsonExport" | null;
175
- isSidebarDocked: boolean;
200
+ defaultSidebarDockedPreference: boolean;
176
201
  lastPointerDownWith: import("../element/types").PointerType;
177
- selectedElementIds: {
178
- [id: string]: boolean;
179
- };
202
+ selectedElementIds: Readonly<{
203
+ [id: string]: true;
204
+ }>;
180
205
  previousSelectedElementIds: {
181
- [id: string]: boolean;
206
+ [id: string]: true;
182
207
  };
208
+ selectedElementsAreBeingDragged: boolean;
183
209
  shouldCacheIgnoreZoom: boolean;
184
210
  toast: {
185
211
  message: string;
@@ -187,7 +213,7 @@ export declare const actionAddToLibrary: {
187
213
  duration?: number | undefined;
188
214
  } | null;
189
215
  zenModeEnabled: boolean;
190
- theme: string;
216
+ theme: import("../element/types").Theme;
191
217
  gridSize: number | null;
192
218
  viewModeEnabled: boolean;
193
219
  selectedGroupIds: {
@@ -210,8 +236,14 @@ export declare const actionAddToLibrary: {
210
236
  data: import("../charts").Spreadsheet;
211
237
  };
212
238
  pendingImageElementId: string | null;
213
- showHyperlinkPopup: false | "info" | "editor";
239
+ showHyperlinkPopup: false | "editor" | "info";
214
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;
215
247
  };
216
248
  }> | {
217
249
  commitToHistory: false;
@@ -224,6 +256,10 @@ export declare const actionAddToLibrary: {
224
256
  } | null;
225
257
  showWelcomeScreen: boolean;
226
258
  isLoading: boolean;
259
+ activeEmbeddable: {
260
+ element: import("../element/types").NonDeletedExcalidrawElement;
261
+ state: "active" | "hover";
262
+ } | null;
227
263
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
228
264
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
229
265
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -231,19 +267,21 @@ export declare const actionAddToLibrary: {
231
267
  isBindingEnabled: boolean;
232
268
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
233
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;
234
279
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
235
280
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
236
281
  activeTool: {
237
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
238
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
282
+ lastActiveTool: import("../types").ActiveTool | null;
239
283
  locked: boolean;
240
- customType: null;
241
- } | {
242
- type: "custom";
243
- customType: string;
244
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
245
- locked: boolean;
246
- };
284
+ } & import("../types").ActiveTool;
247
285
  penMode: boolean;
248
286
  penDetected: boolean;
249
287
  exportBackground: boolean;
@@ -275,17 +313,21 @@ export declare const actionAddToLibrary: {
275
313
  value: import("../types").NormalizedZoomValue;
276
314
  }>;
277
315
  openMenu: "canvas" | "shape" | null;
278
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
279
- openSidebar: "library" | "customSidebar" | null;
316
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
317
+ openSidebar: {
318
+ name: string;
319
+ tab?: string | undefined;
320
+ } | null;
280
321
  openDialog: "imageExport" | "help" | "jsonExport" | null;
281
- isSidebarDocked: boolean;
322
+ defaultSidebarDockedPreference: boolean;
282
323
  lastPointerDownWith: import("../element/types").PointerType;
283
- selectedElementIds: {
284
- [id: string]: boolean;
285
- };
324
+ selectedElementIds: Readonly<{
325
+ [id: string]: true;
326
+ }>;
286
327
  previousSelectedElementIds: {
287
- [id: string]: boolean;
328
+ [id: string]: true;
288
329
  };
330
+ selectedElementsAreBeingDragged: boolean;
289
331
  shouldCacheIgnoreZoom: boolean;
290
332
  toast: {
291
333
  message: string;
@@ -293,7 +335,7 @@ export declare const actionAddToLibrary: {
293
335
  duration?: number | undefined;
294
336
  } | null;
295
337
  zenModeEnabled: boolean;
296
- theme: string;
338
+ theme: import("../element/types").Theme;
297
339
  gridSize: number | null;
298
340
  viewModeEnabled: boolean;
299
341
  selectedGroupIds: {
@@ -316,8 +358,14 @@ export declare const actionAddToLibrary: {
316
358
  data: import("../charts").Spreadsheet;
317
359
  };
318
360
  pendingImageElementId: string | null;
319
- showHyperlinkPopup: false | "info" | "editor";
361
+ showHyperlinkPopup: false | "editor" | "info";
320
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;
321
369
  };
322
370
  };
323
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
  };