@dwelle/excalidraw 0.4.0-e1bdbb6 → 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 (240) hide show
  1. package/CHANGELOG.md +714 -0
  2. package/README.md +18 -1422
  3. package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js → vendor-d415b28e9024dee4bb1b.js} +2 -2
  4. package/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.js → vendor-a14cd58fa2db417e42b2.js} +6 -6
  5. package/dist/excalidraw.development.js +3257 -1444
  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 +124 -64
  11. package/types/actions/actionAlign.d.ts +33 -40
  12. package/types/actions/actionBoundText.d.ts +182 -25
  13. package/types/actions/actionCanvas.d.ts +754 -220
  14. package/types/actions/actionClipboard.d.ts +236 -115
  15. package/types/actions/actionDeleteSelected.d.ts +133 -72
  16. package/types/actions/actionDistribute.d.ts +11 -16
  17. package/types/actions/actionDuplicateSelection.d.ts +4 -7
  18. package/types/actions/actionElementLock.d.ts +271 -0
  19. package/types/actions/actionExport.d.ts +440 -277
  20. package/types/actions/actionFinalize.d.ts +85 -51
  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 +252 -19
  24. package/types/actions/actionHistory.d.ts +1 -1
  25. package/types/actions/actionLinearEditor.d.ts +44 -24
  26. package/types/actions/actionMenu.d.ts +132 -79
  27. package/types/actions/actionNavigate.d.ts +2 -3
  28. package/types/actions/actionProperties.d.ts +569 -334
  29. package/types/actions/actionSelectAll.d.ts +123 -4
  30. package/types/actions/actionStyles.d.ts +46 -27
  31. package/types/actions/actionToggleGridMode.d.ts +46 -25
  32. package/types/actions/{actionToggleLock.d.ts → actionToggleObjectsSnapMode.d.ts} +56 -35
  33. package/types/actions/actionToggleStats.d.ts +45 -25
  34. package/types/actions/actionToggleViewMode.d.ts +46 -25
  35. package/types/actions/actionToggleZenMode.d.ts +46 -25
  36. package/types/actions/actionZindex.d.ts +16 -24
  37. package/types/actions/index.d.ts +2 -1
  38. package/types/actions/manager.d.ts +3 -2
  39. package/types/actions/shortcuts.d.ts +2 -1
  40. package/types/actions/types.d.ts +16 -13
  41. package/types/appState.d.ts +27 -28
  42. package/types/charts.d.ts +2 -2
  43. package/types/clients.d.ts +5 -6
  44. package/types/clipboard.d.ts +9 -3
  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 +102 -86
  49. package/types/components/Avatar.d.ts +1 -2
  50. package/types/components/BraveMeasureTextError.d.ts +2 -0
  51. package/types/components/Button.d.ts +16 -0
  52. package/types/components/ButtonIconSelect.d.ts +11 -3
  53. package/types/components/Card.d.ts +6 -0
  54. package/types/components/ColorPicker/ColorInput.d.ts +9 -0
  55. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  56. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  57. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  58. package/types/components/ColorPicker/Picker.d.ts +18 -0
  59. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  60. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  61. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  62. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  63. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  64. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
  65. package/types/components/ContextMenu.d.ts +9 -22
  66. package/types/components/DefaultSidebar.d.ts +29 -0
  67. package/types/components/Dialog.d.ts +3 -4
  68. package/types/components/ErrorDialog.d.ts +3 -2
  69. package/types/components/ExcalidrawLogo.d.ts +15 -0
  70. package/types/components/EyeDropper.d.ts +28 -0
  71. package/types/components/FilledButton.d.ts +17 -0
  72. package/types/components/FixedSideContainer.d.ts +1 -1
  73. package/types/components/HandButton.d.ts +10 -0
  74. package/types/components/HelpButton.d.ts +1 -2
  75. package/types/components/HintViewer.d.ts +4 -5
  76. package/types/components/HomeButton.d.ts +1 -1
  77. package/types/components/ImageExportDialog.d.ts +8 -13
  78. package/types/components/Island.d.ts +1 -1
  79. package/types/components/JSONExportDialog.d.ts +7 -5
  80. package/types/components/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 +11 -19
  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 -5
  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 +9 -15
  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/UserList.d.ts +0 -2
  120. package/types/components/canvases/InteractiveCanvas.d.ts +27 -0
  121. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  122. package/types/components/canvases/index.d.ts +3 -0
  123. package/types/components/dropdownMenu/DropdownMenu.d.ts +70 -0
  124. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  125. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  126. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +13 -0
  127. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  128. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +7 -0
  129. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +14 -0
  130. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  131. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -0
  132. package/types/components/dropdownMenu/common.d.ts +6 -0
  133. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  134. package/types/components/footer/Footer.d.ts +12 -0
  135. package/types/components/footer/FooterCenter.d.ts +8 -0
  136. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  137. package/types/components/icons.d.ts +17 -2
  138. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -0
  139. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  140. package/types/components/main-menu/MainMenu.d.ts +64 -0
  141. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +57 -0
  142. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  143. package/types/components/welcome-screen/WelcomeScreen.d.ts +84 -0
  144. package/types/constants.d.ts +105 -18
  145. package/types/context/tunnels.d.ts +19 -0
  146. package/types/context/ui-appState.d.ts +4 -0
  147. package/types/cursor.d.ts +5 -0
  148. package/types/data/blob.d.ts +5 -3
  149. package/types/data/encode.d.ts +1 -1
  150. package/types/data/filesystem.d.ts +2 -1
  151. package/types/data/index.d.ts +1 -1
  152. package/types/data/library.d.ts +3 -45
  153. package/types/data/restore.d.ts +10 -4
  154. package/types/data/transform.d.ts +73 -0
  155. package/types/data/types.d.ts +3 -5
  156. package/types/data/url.d.ts +7 -0
  157. package/types/element/Hyperlink.d.ts +57 -36
  158. package/types/element/binding.d.ts +4 -3
  159. package/types/element/bounds.d.ts +41 -10
  160. package/types/element/collision.d.ts +7 -7
  161. package/types/element/dragElements.d.ts +12 -2
  162. package/types/element/embeddable.d.ts +153 -0
  163. package/types/element/image.d.ts +11 -1
  164. package/types/element/index.d.ts +3 -2
  165. package/types/element/linearElementEditor.d.ts +77 -30
  166. package/types/element/mutateElement.d.ts +3 -2
  167. package/types/element/newElement.d.ts +48 -15
  168. package/types/element/resizeElements.d.ts +3 -3
  169. package/types/element/resizeTest.d.ts +2 -1
  170. package/types/element/showSelectedShapeActions.d.ts +2 -2
  171. package/types/element/sizeHelpers.d.ts +8 -1
  172. package/types/element/sortElements.d.ts +2 -0
  173. package/types/element/textElement.d.ts +57 -9
  174. package/types/element/textWysiwyg.d.ts +7 -2
  175. package/types/element/transformHandles.d.ts +15 -8
  176. package/types/element/typeChecks.d.ts +14 -2
  177. package/types/element/types.d.ts +66 -35
  178. package/types/emitter.d.ts +1 -2
  179. package/types/errors.d.ts +1 -1
  180. package/types/frame.d.ts +46 -0
  181. package/types/ga.d.ts +5 -5
  182. package/types/groups.d.ts +15 -11
  183. package/types/history.d.ts +3 -3
  184. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  185. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  186. package/types/hooks/useOutsideClick.d.ts +19 -2
  187. package/types/hooks/useScrollPosition.d.ts +1 -0
  188. package/types/hooks/useStable.d.ts +1 -0
  189. package/types/hooks/useTransition.d.ts +2 -0
  190. package/types/i18n.d.ts +11 -2
  191. package/types/jotai.d.ts +20 -108
  192. package/types/keys.d.ts +7 -4
  193. package/types/math.d.ts +7 -1
  194. package/types/packages/bbox.d.ts +11 -0
  195. package/types/packages/excalidraw/example/App.d.ts +7 -1
  196. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  197. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  198. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  199. package/types/packages/excalidraw/index.d.ts +22 -4
  200. package/types/packages/excalidraw/main.d.ts +3 -1
  201. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  202. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  203. package/types/packages/utils.d.ts +30 -24
  204. package/types/packages/withinBounds.d.ts +19 -0
  205. package/types/renderer/renderElement.d.ts +13 -22
  206. package/types/renderer/renderScene.d.ts +19 -29
  207. package/types/renderer/renderSnaps.d.ts +2 -0
  208. package/types/renderer/roundRect.d.ts +1 -1
  209. package/types/scene/Fonts.d.ts +21 -0
  210. package/types/scene/Renderer.d.ts +25 -0
  211. package/types/scene/Scene.d.ts +42 -5
  212. package/types/scene/Shape.d.ts +12 -0
  213. package/types/scene/ShapeCache.d.ts +20 -0
  214. package/types/scene/comparisons.d.ts +2 -4
  215. package/types/scene/export.d.ts +183 -10
  216. package/types/scene/index.d.ts +1 -1
  217. package/types/scene/scroll.d.ts +1 -1
  218. package/types/scene/scrollbars.d.ts +2 -6
  219. package/types/scene/selection.d.ts +27 -6
  220. package/types/scene/types.d.ts +70 -26
  221. package/types/snapping.d.ts +108 -0
  222. package/types/types.d.ts +227 -91
  223. package/types/utility-types.d.ts +24 -0
  224. package/types/utils.d.ts +75 -14
  225. package/types/zindex.d.ts +4 -4
  226. package/types/components/ActiveFile.d.ts +0 -7
  227. package/types/components/ClearCanvas.d.ts +0 -4
  228. package/types/components/CollabButton.d.ts +0 -6
  229. package/types/components/ColorPicker.d.ts +0 -14
  230. package/types/components/Footer.d.ts +0 -10
  231. package/types/components/LibraryButton.d.ts +0 -8
  232. package/types/components/MenuItem.d.ts +0 -11
  233. package/types/components/MenuUtils.d.ts +0 -1
  234. package/types/components/SingleLibraryItem.d.ts +0 -10
  235. package/types/components/WelcomeScreen.d.ts +0 -10
  236. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  237. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
  238. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  239. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  240. /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-e1bdbb6",
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
  }
@@ -9,9 +9,18 @@ export declare const actionAddToLibrary: {
9
9
  toast: {
10
10
  message: string;
11
11
  };
12
+ contextMenu: {
13
+ items: import("../components/ContextMenu").ContextMenuItems;
14
+ top: number;
15
+ left: number;
16
+ } | null;
12
17
  showWelcomeScreen: boolean;
13
18
  isLoading: boolean;
14
- errorMessage: string | null;
19
+ errorMessage: import("react").ReactNode;
20
+ activeEmbeddable: {
21
+ element: import("../element/types").NonDeletedExcalidrawElement;
22
+ state: "active" | "hover";
23
+ } | null;
15
24
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
16
25
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
17
26
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -19,19 +28,21 @@ export declare const actionAddToLibrary: {
19
28
  isBindingEnabled: boolean;
20
29
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
21
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;
22
40
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
23
41
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
24
42
  activeTool: {
25
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
26
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
27
- locked: boolean;
28
- customType: null;
29
- } | {
30
- type: "custom";
31
- customType: string;
32
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
43
+ lastActiveTool: import("../types").ActiveTool | null;
33
44
  locked: boolean;
34
- };
45
+ } & import("../types").ActiveTool;
35
46
  penMode: boolean;
36
47
  penDetected: boolean;
37
48
  exportBackground: boolean;
@@ -48,10 +59,9 @@ export declare const actionAddToLibrary: {
48
59
  currentItemFontFamily: number;
49
60
  currentItemFontSize: number;
50
61
  currentItemTextAlign: string;
51
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
52
62
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
53
63
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
54
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
64
+ currentItemRoundness: import("../element/types").StrokeRoundness;
55
65
  viewBackgroundColor: string;
56
66
  scrollX: number;
57
67
  scrollY: number;
@@ -64,20 +74,24 @@ export declare const actionAddToLibrary: {
64
74
  value: import("../types").NormalizedZoomValue;
65
75
  }>;
66
76
  openMenu: "canvas" | "shape" | null;
67
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
68
- openSidebar: "library" | "customSidebar" | null;
69
- openDialog: "imageExport" | "help" | null;
70
- isSidebarDocked: boolean;
77
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
78
+ openSidebar: {
79
+ name: string;
80
+ tab?: string | undefined;
81
+ } | null;
82
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
83
+ defaultSidebarDockedPreference: boolean;
71
84
  lastPointerDownWith: import("../element/types").PointerType;
72
- selectedElementIds: {
73
- [id: string]: boolean;
74
- };
85
+ selectedElementIds: Readonly<{
86
+ [id: string]: true;
87
+ }>;
75
88
  previousSelectedElementIds: {
76
- [id: string]: boolean;
89
+ [id: string]: true;
77
90
  };
91
+ selectedElementsAreBeingDragged: boolean;
78
92
  shouldCacheIgnoreZoom: boolean;
79
93
  zenModeEnabled: boolean;
80
- theme: string;
94
+ theme: import("../element/types").Theme;
81
95
  gridSize: number | null;
82
96
  viewModeEnabled: boolean;
83
97
  selectedGroupIds: {
@@ -100,15 +114,30 @@ export declare const actionAddToLibrary: {
100
114
  data: import("../charts").Spreadsheet;
101
115
  };
102
116
  pendingImageElementId: string | null;
103
- showHyperlinkPopup: false | "info" | "editor";
117
+ showHyperlinkPopup: false | "editor" | "info";
104
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;
105
125
  };
106
126
  } | {
107
127
  commitToHistory: false;
108
128
  appState: {
109
129
  errorMessage: any;
130
+ contextMenu: {
131
+ items: import("../components/ContextMenu").ContextMenuItems;
132
+ top: number;
133
+ left: number;
134
+ } | null;
110
135
  showWelcomeScreen: boolean;
111
136
  isLoading: boolean;
137
+ activeEmbeddable: {
138
+ element: import("../element/types").NonDeletedExcalidrawElement;
139
+ state: "active" | "hover";
140
+ } | null;
112
141
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
113
142
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
114
143
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -116,19 +145,21 @@ export declare const actionAddToLibrary: {
116
145
  isBindingEnabled: boolean;
117
146
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
118
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;
119
157
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
120
158
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
121
159
  activeTool: {
122
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
123
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
124
- locked: boolean;
125
- customType: null;
126
- } | {
127
- type: "custom";
128
- customType: string;
129
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
160
+ lastActiveTool: import("../types").ActiveTool | null;
130
161
  locked: boolean;
131
- };
162
+ } & import("../types").ActiveTool;
132
163
  penMode: boolean;
133
164
  penDetected: boolean;
134
165
  exportBackground: boolean;
@@ -145,10 +176,9 @@ export declare const actionAddToLibrary: {
145
176
  currentItemFontFamily: number;
146
177
  currentItemFontSize: number;
147
178
  currentItemTextAlign: string;
148
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
149
179
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
150
180
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
151
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
181
+ currentItemRoundness: import("../element/types").StrokeRoundness;
152
182
  viewBackgroundColor: string;
153
183
  scrollX: number;
154
184
  scrollY: number;
@@ -161,17 +191,21 @@ export declare const actionAddToLibrary: {
161
191
  value: import("../types").NormalizedZoomValue;
162
192
  }>;
163
193
  openMenu: "canvas" | "shape" | null;
164
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
165
- openSidebar: "library" | "customSidebar" | null;
166
- openDialog: "imageExport" | "help" | null;
167
- 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;
168
201
  lastPointerDownWith: import("../element/types").PointerType;
169
- selectedElementIds: {
170
- [id: string]: boolean;
171
- };
202
+ selectedElementIds: Readonly<{
203
+ [id: string]: true;
204
+ }>;
172
205
  previousSelectedElementIds: {
173
- [id: string]: boolean;
206
+ [id: string]: true;
174
207
  };
208
+ selectedElementsAreBeingDragged: boolean;
175
209
  shouldCacheIgnoreZoom: boolean;
176
210
  toast: {
177
211
  message: string;
@@ -179,7 +213,7 @@ export declare const actionAddToLibrary: {
179
213
  duration?: number | undefined;
180
214
  } | null;
181
215
  zenModeEnabled: boolean;
182
- theme: string;
216
+ theme: import("../element/types").Theme;
183
217
  gridSize: number | null;
184
218
  viewModeEnabled: boolean;
185
219
  selectedGroupIds: {
@@ -202,15 +236,30 @@ export declare const actionAddToLibrary: {
202
236
  data: import("../charts").Spreadsheet;
203
237
  };
204
238
  pendingImageElementId: string | null;
205
- showHyperlinkPopup: false | "info" | "editor";
239
+ showHyperlinkPopup: false | "editor" | "info";
206
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;
207
247
  };
208
248
  }> | {
209
249
  commitToHistory: false;
210
250
  appState: {
211
251
  errorMessage: string;
252
+ contextMenu: {
253
+ items: import("../components/ContextMenu").ContextMenuItems;
254
+ top: number;
255
+ left: number;
256
+ } | null;
212
257
  showWelcomeScreen: boolean;
213
258
  isLoading: boolean;
259
+ activeEmbeddable: {
260
+ element: import("../element/types").NonDeletedExcalidrawElement;
261
+ state: "active" | "hover";
262
+ } | null;
214
263
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
215
264
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
216
265
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -218,19 +267,21 @@ export declare const actionAddToLibrary: {
218
267
  isBindingEnabled: boolean;
219
268
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
220
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;
221
279
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
222
280
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
223
281
  activeTool: {
224
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
225
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
282
+ lastActiveTool: import("../types").ActiveTool | null;
226
283
  locked: boolean;
227
- customType: null;
228
- } | {
229
- type: "custom";
230
- customType: string;
231
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
232
- locked: boolean;
233
- };
284
+ } & import("../types").ActiveTool;
234
285
  penMode: boolean;
235
286
  penDetected: boolean;
236
287
  exportBackground: boolean;
@@ -247,10 +298,9 @@ export declare const actionAddToLibrary: {
247
298
  currentItemFontFamily: number;
248
299
  currentItemFontSize: number;
249
300
  currentItemTextAlign: string;
250
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
251
301
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
252
302
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
253
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
303
+ currentItemRoundness: import("../element/types").StrokeRoundness;
254
304
  viewBackgroundColor: string;
255
305
  scrollX: number;
256
306
  scrollY: number;
@@ -263,17 +313,21 @@ export declare const actionAddToLibrary: {
263
313
  value: import("../types").NormalizedZoomValue;
264
314
  }>;
265
315
  openMenu: "canvas" | "shape" | null;
266
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
267
- openSidebar: "library" | "customSidebar" | null;
268
- openDialog: "imageExport" | "help" | null;
269
- isSidebarDocked: boolean;
316
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
317
+ openSidebar: {
318
+ name: string;
319
+ tab?: string | undefined;
320
+ } | null;
321
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
322
+ defaultSidebarDockedPreference: boolean;
270
323
  lastPointerDownWith: import("../element/types").PointerType;
271
- selectedElementIds: {
272
- [id: string]: boolean;
273
- };
324
+ selectedElementIds: Readonly<{
325
+ [id: string]: true;
326
+ }>;
274
327
  previousSelectedElementIds: {
275
- [id: string]: boolean;
328
+ [id: string]: true;
276
329
  };
330
+ selectedElementsAreBeingDragged: boolean;
277
331
  shouldCacheIgnoreZoom: boolean;
278
332
  toast: {
279
333
  message: string;
@@ -281,7 +335,7 @@ export declare const actionAddToLibrary: {
281
335
  duration?: number | undefined;
282
336
  } | null;
283
337
  zenModeEnabled: boolean;
284
- theme: string;
338
+ theme: import("../element/types").Theme;
285
339
  gridSize: number | null;
286
340
  viewModeEnabled: boolean;
287
341
  selectedGroupIds: {
@@ -304,8 +358,14 @@ export declare const actionAddToLibrary: {
304
358
  data: import("../charts").Spreadsheet;
305
359
  };
306
360
  pendingImageElementId: string | null;
307
- showHyperlinkPopup: false | "info" | "editor";
361
+ showHyperlinkPopup: false | "editor" | "info";
308
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;
309
369
  };
310
370
  };
311
371
  contextItemLabel: string;
@@ -1,87 +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 & {
16
- isInHamburgerMenu: boolean;
17
- }) => JSX.Element;
14
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
15
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
18
16
  } & {
19
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
17
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
20
18
  };
21
19
  export declare const actionAlignBottom: {
22
20
  name: "alignBottom";
23
21
  trackEvent: {
24
22
  category: "element";
25
23
  };
26
- 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) => {
27
26
  appState: Readonly<AppState>;
28
- elements: ExcalidrawElement[];
27
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
29
28
  commitToHistory: true;
30
29
  };
31
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
32
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
33
- isInHamburgerMenu: boolean;
34
- }) => JSX.Element;
30
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
31
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
35
32
  } & {
36
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
33
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
37
34
  };
38
35
  export declare const actionAlignLeft: {
39
36
  name: "alignLeft";
40
37
  trackEvent: {
41
38
  category: "element";
42
39
  };
43
- 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) => {
44
42
  appState: Readonly<AppState>;
45
- elements: ExcalidrawElement[];
43
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
46
44
  commitToHistory: true;
47
45
  };
48
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
49
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
50
- isInHamburgerMenu: boolean;
51
- }) => JSX.Element;
46
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
47
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
52
48
  } & {
53
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
49
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
54
50
  };
55
51
  export declare const actionAlignRight: {
56
52
  name: "alignRight";
57
53
  trackEvent: {
58
54
  category: "element";
59
55
  };
60
- 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) => {
61
58
  appState: Readonly<AppState>;
62
- elements: ExcalidrawElement[];
59
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
63
60
  commitToHistory: true;
64
61
  };
65
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
66
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
67
- isInHamburgerMenu: boolean;
68
- }) => JSX.Element;
62
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
63
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
69
64
  } & {
70
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
65
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
71
66
  };
72
67
  export declare const actionAlignVerticallyCentered: {
73
68
  name: "alignVerticallyCentered";
74
69
  trackEvent: {
75
70
  category: "element";
76
71
  };
77
- 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) => {
78
74
  appState: Readonly<AppState>;
79
- elements: ExcalidrawElement[];
75
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
80
76
  commitToHistory: true;
81
77
  };
82
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
83
- isInHamburgerMenu: boolean;
84
- }) => JSX.Element;
78
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
85
79
  } & {
86
80
  keyTest?: undefined;
87
81
  };
@@ -90,14 +84,13 @@ export declare const actionAlignHorizontallyCentered: {
90
84
  trackEvent: {
91
85
  category: "element";
92
86
  };
93
- 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) => {
94
89
  appState: Readonly<AppState>;
95
- elements: ExcalidrawElement[];
90
+ elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
96
91
  commitToHistory: true;
97
92
  };
98
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
99
- isInHamburgerMenu: boolean;
100
- }) => JSX.Element;
93
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
101
94
  } & {
102
95
  keyTest?: undefined;
103
96
  };