@dwelle/excalidraw 0.4.0-d8d86cf → 0.4.0-da7ef3e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/CHANGELOG.md +706 -0
  2. package/README.md +18 -1422
  3. package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js → vendor-d415b28e9024dee4bb1b.js} +2 -2
  4. package/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.js → vendor-a14cd58fa2db417e42b2.js} +6 -6
  5. package/dist/excalidraw.development.js +3035 -1464
  6. package/dist/excalidraw.production.min.js +1 -1
  7. package/dist/excalidraw.production.min.js.LICENSE.txt +20 -0
  8. package/main.js +1 -8
  9. package/package.json +9 -4
  10. package/types/actions/actionAddToLibrary.d.ts +130 -52
  11. package/types/actions/actionAlign.d.ts +25 -32
  12. package/types/actions/actionBoundText.d.ts +191 -22
  13. package/types/actions/actionCanvas.d.ts +774 -174
  14. package/types/actions/actionClipboard.d.ts +232 -88
  15. package/types/actions/actionDeleteSelected.d.ts +129 -57
  16. package/types/actions/actionDistribute.d.ts +7 -12
  17. package/types/actions/actionDuplicateSelection.d.ts +2 -5
  18. package/types/actions/actionElementLock.d.ts +283 -0
  19. package/types/actions/actionExport.d.ts +448 -229
  20. package/types/actions/actionFinalize.d.ts +87 -41
  21. package/types/actions/actionFlip.d.ts +4 -7
  22. package/types/actions/actionFrame.d.ts +441 -0
  23. package/types/actions/actionGroup.d.ts +260 -15
  24. package/types/actions/actionHistory.d.ts +1 -1
  25. package/types/actions/actionLinearEditor.d.ts +46 -20
  26. package/types/actions/actionMenu.d.ts +136 -65
  27. package/types/actions/actionNavigate.d.ts +2 -3
  28. package/types/actions/actionProperties.d.ts +590 -277
  29. package/types/actions/actionSelectAll.d.ts +127 -2
  30. package/types/actions/actionStyles.d.ts +44 -19
  31. package/types/actions/actionToggleGridMode.d.ts +46 -19
  32. package/types/actions/{actionToggleLock.d.ts → actionToggleObjectsSnapMode.d.ts} +58 -31
  33. package/types/actions/actionToggleStats.d.ts +45 -19
  34. package/types/actions/actionToggleViewMode.d.ts +46 -19
  35. package/types/actions/actionToggleZenMode.d.ts +46 -19
  36. package/types/actions/actionZindex.d.ts +8 -16
  37. package/types/actions/index.d.ts +2 -1
  38. package/types/actions/manager.d.ts +3 -2
  39. package/types/actions/shortcuts.d.ts +2 -1
  40. package/types/actions/types.d.ts +16 -13
  41. package/types/appState.d.ts +23 -18
  42. package/types/charts.d.ts +2 -2
  43. package/types/clients.d.ts +5 -6
  44. package/types/clipboard.d.ts +3 -2
  45. package/types/colors.d.ts +60 -5
  46. package/types/components/Actions.d.ts +7 -7
  47. package/types/components/ActiveConfirmDialog.d.ts +4 -0
  48. package/types/components/App.d.ts +88 -74
  49. package/types/components/Avatar.d.ts +1 -2
  50. package/types/components/BraveMeasureTextError.d.ts +2 -0
  51. package/types/components/Button.d.ts +16 -0
  52. package/types/components/ButtonIconSelect.d.ts +11 -3
  53. package/types/components/Card.d.ts +6 -0
  54. package/types/components/ColorPicker/ColorInput.d.ts +9 -0
  55. package/types/components/ColorPicker/ColorPicker.d.ts +19 -0
  56. package/types/components/ColorPicker/CustomColorList.d.ts +8 -0
  57. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -0
  58. package/types/components/ColorPicker/Picker.d.ts +18 -0
  59. package/types/components/ColorPicker/PickerColorList.d.ts +10 -0
  60. package/types/components/ColorPicker/PickerHeading.d.ts +5 -0
  61. package/types/components/ColorPicker/ShadeList.d.ts +8 -0
  62. package/types/components/ColorPicker/TopPicks.d.ts +9 -0
  63. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -0
  64. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +20 -0
  65. package/types/components/ContextMenu.d.ts +9 -22
  66. package/types/components/DefaultSidebar.d.ts +29 -0
  67. package/types/components/Dialog.d.ts +3 -4
  68. package/types/components/ErrorDialog.d.ts +3 -2
  69. package/types/components/ExcalidrawLogo.d.ts +15 -0
  70. package/types/components/EyeDropper.d.ts +28 -0
  71. package/types/components/FilledButton.d.ts +17 -0
  72. package/types/components/FixedSideContainer.d.ts +1 -1
  73. package/types/components/HandButton.d.ts +10 -0
  74. package/types/components/HelpButton.d.ts +1 -2
  75. package/types/components/HintViewer.d.ts +4 -5
  76. package/types/components/HomeButton.d.ts +1 -1
  77. package/types/components/ImageExportDialog.d.ts +8 -13
  78. package/types/components/Island.d.ts +1 -1
  79. package/types/components/JSONExportDialog.d.ts +7 -5
  80. package/types/components/LayerUI.d.ts +10 -16
  81. package/types/components/LibraryMenu.d.ts +13 -14
  82. package/types/components/LibraryMenuBrowseButton.d.ts +2 -2
  83. package/types/components/LibraryMenuControlButtons.d.ts +9 -0
  84. package/types/components/LibraryMenuHeaderContent.d.ts +10 -5
  85. package/types/components/LibraryMenuItems.d.ts +6 -7
  86. package/types/components/LibraryMenuSection.d.ts +22 -0
  87. package/types/components/LibraryUnit.d.ts +6 -3
  88. package/types/components/LoadingMessage.d.ts +0 -1
  89. package/types/components/LockButton.d.ts +1 -2
  90. package/types/components/MobileMenu.d.ts +10 -12
  91. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -0
  92. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -0
  93. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -0
  94. package/types/components/PasteChartDialog.d.ts +4 -5
  95. package/types/components/PenModeButton.d.ts +1 -1
  96. package/types/components/Popover.d.ts +1 -1
  97. package/types/components/ProjectName.d.ts +2 -1
  98. package/types/components/PublishLibrary.d.ts +2 -2
  99. package/types/components/RadioGroup.d.ts +12 -0
  100. package/types/components/Section.d.ts +1 -1
  101. package/types/components/Sidebar/Sidebar.d.ts +66 -63
  102. package/types/components/Sidebar/SidebarHeader.d.ts +6 -19
  103. package/types/components/Sidebar/SidebarTab.d.ts +8 -0
  104. package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -0
  105. package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -0
  106. package/types/components/Sidebar/SidebarTabs.d.ts +6 -0
  107. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -0
  108. package/types/components/Sidebar/common.d.ts +24 -7
  109. package/types/components/Spinner.d.ts +2 -1
  110. package/types/components/Stack.d.ts +4 -3
  111. package/types/components/Stats.d.ts +3 -3
  112. package/types/components/Switch.d.ts +9 -0
  113. package/types/components/ToolButton.d.ts +6 -5
  114. package/types/components/Tooltip.d.ts +1 -1
  115. package/types/components/Trans.d.ts +9 -0
  116. package/types/components/UserList.d.ts +0 -2
  117. package/types/components/canvases/InteractiveCanvas.d.ts +27 -0
  118. package/types/components/canvases/StaticCanvas.d.ts +18 -0
  119. package/types/components/canvases/index.d.ts +3 -0
  120. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -0
  121. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -0
  122. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -0
  123. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -0
  124. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -0
  125. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -0
  126. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -0
  127. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -0
  128. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -0
  129. package/types/components/dropdownMenu/common.d.ts +6 -0
  130. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -0
  131. package/types/components/footer/Footer.d.ts +12 -0
  132. package/types/components/footer/FooterCenter.d.ts +8 -0
  133. package/types/components/hoc/withInternalFallback.d.ts +4 -0
  134. package/types/components/icons.d.ts +15 -2
  135. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -0
  136. package/types/components/main-menu/DefaultItems.d.ts +47 -0
  137. package/types/components/main-menu/MainMenu.d.ts +61 -0
  138. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +57 -0
  139. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -0
  140. package/types/components/welcome-screen/WelcomeScreen.d.ts +84 -0
  141. package/types/constants.d.ts +94 -18
  142. package/types/context/tunnels.d.ts +19 -0
  143. package/types/context/ui-appState.d.ts +4 -0
  144. package/types/data/blob.d.ts +3 -2
  145. package/types/data/encode.d.ts +1 -1
  146. package/types/data/filesystem.d.ts +2 -1
  147. package/types/data/index.d.ts +1 -1
  148. package/types/data/library.d.ts +3 -45
  149. package/types/data/restore.d.ts +10 -4
  150. package/types/data/transform.d.ts +71 -0
  151. package/types/data/types.d.ts +3 -5
  152. package/types/data/url.d.ts +7 -0
  153. package/types/element/Hyperlink.d.ts +57 -30
  154. package/types/element/binding.d.ts +4 -3
  155. package/types/element/bounds.d.ts +31 -7
  156. package/types/element/collision.d.ts +7 -7
  157. package/types/element/dragElements.d.ts +12 -2
  158. package/types/element/embeddable.d.ts +159 -0
  159. package/types/element/image.d.ts +11 -1
  160. package/types/element/index.d.ts +3 -2
  161. package/types/element/linearElementEditor.d.ts +49 -24
  162. package/types/element/mutateElement.d.ts +2 -1
  163. package/types/element/newElement.d.ts +48 -15
  164. package/types/element/resizeElements.d.ts +3 -2
  165. package/types/element/showSelectedShapeActions.d.ts +2 -2
  166. package/types/element/sizeHelpers.d.ts +8 -1
  167. package/types/element/sortElements.d.ts +2 -0
  168. package/types/element/textElement.d.ts +44 -11
  169. package/types/element/textWysiwyg.d.ts +7 -2
  170. package/types/element/transformHandles.d.ts +15 -8
  171. package/types/element/typeChecks.d.ts +13 -2
  172. package/types/element/types.d.ts +64 -36
  173. package/types/emitter.d.ts +1 -1
  174. package/types/errors.d.ts +1 -1
  175. package/types/frame.d.ts +40 -0
  176. package/types/ga.d.ts +5 -5
  177. package/types/groups.d.ts +15 -11
  178. package/types/history.d.ts +3 -3
  179. package/types/hooks/useCreatePortalContainer.d.ts +4 -0
  180. package/types/hooks/useLibraryItemSvg.d.ts +11 -0
  181. package/types/hooks/useOutsideClick.d.ts +19 -2
  182. package/types/hooks/useScrollPosition.d.ts +1 -0
  183. package/types/hooks/useStable.d.ts +1 -0
  184. package/types/hooks/useTransition.d.ts +2 -0
  185. package/types/i18n.d.ts +11 -2
  186. package/types/jotai.d.ts +20 -108
  187. package/types/keys.d.ts +7 -4
  188. package/types/math.d.ts +6 -1
  189. package/types/packages/excalidraw/example/App.d.ts +7 -1
  190. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -0
  191. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -0
  192. package/types/packages/excalidraw/example/initialData.d.ts +182 -64
  193. package/types/packages/excalidraw/index.d.ts +19 -3
  194. package/types/packages/excalidraw/main.d.ts +3 -1
  195. package/types/packages/excalidraw/webpack.dev.config.d.ts +5 -2
  196. package/types/packages/excalidraw/webpack.prod.config.d.ts +3 -0
  197. package/types/packages/utils.d.ts +28 -24
  198. package/types/renderer/renderElement.d.ts +12 -22
  199. package/types/renderer/renderScene.d.ts +19 -29
  200. package/types/renderer/renderSnaps.d.ts +2 -0
  201. package/types/renderer/roundRect.d.ts +1 -1
  202. package/types/scene/Renderer.d.ts +25 -0
  203. package/types/scene/Scene.d.ts +27 -5
  204. package/types/scene/Shape.d.ts +12 -0
  205. package/types/scene/ShapeCache.d.ts +20 -0
  206. package/types/scene/comparisons.d.ts +1 -1
  207. package/types/scene/export.d.ts +182 -10
  208. package/types/scene/index.d.ts +1 -1
  209. package/types/scene/scroll.d.ts +1 -1
  210. package/types/scene/scrollbars.d.ts +2 -6
  211. package/types/scene/selection.d.ts +27 -6
  212. package/types/scene/types.d.ts +69 -26
  213. package/types/snapping.d.ts +108 -0
  214. package/types/types.d.ts +196 -81
  215. package/types/utility-types.d.ts +24 -0
  216. package/types/utils.d.ts +78 -12
  217. package/types/zindex.d.ts +4 -4
  218. package/types/components/ActiveFile.d.ts +0 -7
  219. package/types/components/ClearCanvas.d.ts +0 -4
  220. package/types/components/CollabButton.d.ts +0 -6
  221. package/types/components/ColorPicker.d.ts +0 -14
  222. package/types/components/Footer.d.ts +0 -10
  223. package/types/components/LibraryButton.d.ts +0 -8
  224. package/types/components/MenuItem.d.ts +0 -11
  225. package/types/components/MenuUtils.d.ts +0 -1
  226. package/types/components/SingleLibraryItem.d.ts +0 -10
  227. package/types/components/WelcomeScreen.d.ts +0 -10
  228. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  229. package/types/components/hoc/withUpstreamOverride.d.ts +0 -10
  230. /package/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.js.LICENSE.txt → vendor-d415b28e9024dee4bb1b.js.LICENSE.txt} +0 -0
  231. /package/types/packages/excalidraw/dist/excalidraw-assets/{vendor-2002fe1b8862917b36c1.d.ts → vendor-d415b28e9024dee4bb1b.d.ts} +0 -0
  232. /package/types/packages/excalidraw/dist/excalidraw-assets-dev/{vendor-e6df8519da951026ff69.d.ts → vendor-a14cd58fa2db417e42b2.d.ts} +0 -0
@@ -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-d8d86cf",
3
+ "version": "0.4.0-da7ef3e",
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,27 @@ 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;
43
+ lastActiveTool: import("../types").LastActiveTool;
27
44
  locked: boolean;
45
+ } & ({
46
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
28
47
  customType: null;
29
48
  } | {
30
49
  type: "custom";
31
50
  customType: string;
32
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
33
- locked: boolean;
34
- };
51
+ });
35
52
  penMode: boolean;
36
53
  penDetected: boolean;
37
54
  exportBackground: boolean;
@@ -48,10 +65,9 @@ export declare const actionAddToLibrary: {
48
65
  currentItemFontFamily: number;
49
66
  currentItemFontSize: number;
50
67
  currentItemTextAlign: string;
51
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
52
68
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
53
69
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
54
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
70
+ currentItemRoundness: import("../element/types").StrokeRoundness;
55
71
  viewBackgroundColor: string;
56
72
  scrollX: number;
57
73
  scrollY: number;
@@ -64,20 +80,24 @@ export declare const actionAddToLibrary: {
64
80
  value: import("../types").NormalizedZoomValue;
65
81
  }>;
66
82
  openMenu: "canvas" | "shape" | null;
67
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
68
- openSidebar: "library" | "customSidebar" | null;
69
- openDialog: "imageExport" | "help" | null;
70
- isSidebarDocked: boolean;
83
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
84
+ openSidebar: {
85
+ name: string;
86
+ tab?: string | undefined;
87
+ } | null;
88
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
89
+ defaultSidebarDockedPreference: boolean;
71
90
  lastPointerDownWith: import("../element/types").PointerType;
72
- selectedElementIds: {
73
- [id: string]: boolean;
74
- };
91
+ selectedElementIds: Readonly<{
92
+ [id: string]: true;
93
+ }>;
75
94
  previousSelectedElementIds: {
76
- [id: string]: boolean;
95
+ [id: string]: true;
77
96
  };
97
+ selectedElementsAreBeingDragged: boolean;
78
98
  shouldCacheIgnoreZoom: boolean;
79
99
  zenModeEnabled: boolean;
80
- theme: string;
100
+ theme: import("../element/types").Theme;
81
101
  gridSize: number | null;
82
102
  viewModeEnabled: boolean;
83
103
  selectedGroupIds: {
@@ -100,15 +120,30 @@ export declare const actionAddToLibrary: {
100
120
  data: import("../charts").Spreadsheet;
101
121
  };
102
122
  pendingImageElementId: string | null;
103
- showHyperlinkPopup: false | "info" | "editor";
123
+ showHyperlinkPopup: false | "editor" | "info";
104
124
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
125
+ snapLines: import("../snapping").SnapLine[];
126
+ originSnapOffset: {
127
+ x: number;
128
+ y: number;
129
+ } | null;
130
+ objectsSnapModeEnabled: boolean;
105
131
  };
106
132
  } | {
107
133
  commitToHistory: false;
108
134
  appState: {
109
135
  errorMessage: any;
136
+ contextMenu: {
137
+ items: import("../components/ContextMenu").ContextMenuItems;
138
+ top: number;
139
+ left: number;
140
+ } | null;
110
141
  showWelcomeScreen: boolean;
111
142
  isLoading: boolean;
143
+ activeEmbeddable: {
144
+ element: import("../element/types").NonDeletedExcalidrawElement;
145
+ state: "active" | "hover";
146
+ } | null;
112
147
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
113
148
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
114
149
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -116,19 +151,27 @@ export declare const actionAddToLibrary: {
116
151
  isBindingEnabled: boolean;
117
152
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
118
153
  suggestedBindings: import("../element/binding").SuggestedBinding[];
154
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
155
+ frameRendering: {
156
+ enabled: boolean;
157
+ name: boolean;
158
+ outline: boolean;
159
+ clip: boolean;
160
+ };
161
+ editingFrame: string | null;
162
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
119
163
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
120
164
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
121
165
  activeTool: {
122
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
123
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
166
+ lastActiveTool: import("../types").LastActiveTool;
124
167
  locked: boolean;
168
+ } & ({
169
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
125
170
  customType: null;
126
171
  } | {
127
172
  type: "custom";
128
173
  customType: string;
129
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
130
- locked: boolean;
131
- };
174
+ });
132
175
  penMode: boolean;
133
176
  penDetected: boolean;
134
177
  exportBackground: boolean;
@@ -145,10 +188,9 @@ export declare const actionAddToLibrary: {
145
188
  currentItemFontFamily: number;
146
189
  currentItemFontSize: number;
147
190
  currentItemTextAlign: string;
148
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
149
191
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
150
192
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
151
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
193
+ currentItemRoundness: import("../element/types").StrokeRoundness;
152
194
  viewBackgroundColor: string;
153
195
  scrollX: number;
154
196
  scrollY: number;
@@ -161,17 +203,21 @@ export declare const actionAddToLibrary: {
161
203
  value: import("../types").NormalizedZoomValue;
162
204
  }>;
163
205
  openMenu: "canvas" | "shape" | null;
164
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
165
- openSidebar: "library" | "customSidebar" | null;
166
- openDialog: "imageExport" | "help" | null;
167
- isSidebarDocked: boolean;
206
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
207
+ openSidebar: {
208
+ name: string;
209
+ tab?: string | undefined;
210
+ } | null;
211
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
212
+ defaultSidebarDockedPreference: boolean;
168
213
  lastPointerDownWith: import("../element/types").PointerType;
169
- selectedElementIds: {
170
- [id: string]: boolean;
171
- };
214
+ selectedElementIds: Readonly<{
215
+ [id: string]: true;
216
+ }>;
172
217
  previousSelectedElementIds: {
173
- [id: string]: boolean;
218
+ [id: string]: true;
174
219
  };
220
+ selectedElementsAreBeingDragged: boolean;
175
221
  shouldCacheIgnoreZoom: boolean;
176
222
  toast: {
177
223
  message: string;
@@ -179,7 +225,7 @@ export declare const actionAddToLibrary: {
179
225
  duration?: number | undefined;
180
226
  } | null;
181
227
  zenModeEnabled: boolean;
182
- theme: string;
228
+ theme: import("../element/types").Theme;
183
229
  gridSize: number | null;
184
230
  viewModeEnabled: boolean;
185
231
  selectedGroupIds: {
@@ -202,15 +248,30 @@ export declare const actionAddToLibrary: {
202
248
  data: import("../charts").Spreadsheet;
203
249
  };
204
250
  pendingImageElementId: string | null;
205
- showHyperlinkPopup: false | "info" | "editor";
251
+ showHyperlinkPopup: false | "editor" | "info";
206
252
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
253
+ snapLines: import("../snapping").SnapLine[];
254
+ originSnapOffset: {
255
+ x: number;
256
+ y: number;
257
+ } | null;
258
+ objectsSnapModeEnabled: boolean;
207
259
  };
208
260
  }> | {
209
261
  commitToHistory: false;
210
262
  appState: {
211
263
  errorMessage: string;
264
+ contextMenu: {
265
+ items: import("../components/ContextMenu").ContextMenuItems;
266
+ top: number;
267
+ left: number;
268
+ } | null;
212
269
  showWelcomeScreen: boolean;
213
270
  isLoading: boolean;
271
+ activeEmbeddable: {
272
+ element: import("../element/types").NonDeletedExcalidrawElement;
273
+ state: "active" | "hover";
274
+ } | null;
214
275
  draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
215
276
  resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
216
277
  multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
@@ -218,19 +279,27 @@ export declare const actionAddToLibrary: {
218
279
  isBindingEnabled: boolean;
219
280
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
220
281
  suggestedBindings: import("../element/binding").SuggestedBinding[];
282
+ frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
283
+ frameRendering: {
284
+ enabled: boolean;
285
+ name: boolean;
286
+ outline: boolean;
287
+ clip: boolean;
288
+ };
289
+ editingFrame: string | null;
290
+ elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
221
291
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
222
292
  editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
223
293
  activeTool: {
224
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser";
225
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
294
+ lastActiveTool: import("../types").LastActiveTool;
226
295
  locked: boolean;
296
+ } & ({
297
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
227
298
  customType: null;
228
299
  } | {
229
300
  type: "custom";
230
301
  customType: string;
231
- lastActiveToolBeforeEraser: import("../types").LastActiveToolBeforeEraser;
232
- locked: boolean;
233
- };
302
+ });
234
303
  penMode: boolean;
235
304
  penDetected: boolean;
236
305
  exportBackground: boolean;
@@ -247,10 +316,9 @@ export declare const actionAddToLibrary: {
247
316
  currentItemFontFamily: number;
248
317
  currentItemFontSize: number;
249
318
  currentItemTextAlign: string;
250
- currentItemStrokeSharpness: import("../element/types").StrokeSharpness;
251
319
  currentItemStartArrowhead: import("../element/types").Arrowhead | null;
252
320
  currentItemEndArrowhead: import("../element/types").Arrowhead | null;
253
- currentItemLinearStrokeSharpness: import("../element/types").StrokeSharpness;
321
+ currentItemRoundness: import("../element/types").StrokeRoundness;
254
322
  viewBackgroundColor: string;
255
323
  scrollX: number;
256
324
  scrollY: number;
@@ -263,17 +331,21 @@ export declare const actionAddToLibrary: {
263
331
  value: import("../types").NormalizedZoomValue;
264
332
  }>;
265
333
  openMenu: "canvas" | "shape" | null;
266
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
267
- openSidebar: "library" | "customSidebar" | null;
268
- openDialog: "imageExport" | "help" | null;
269
- isSidebarDocked: boolean;
334
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
335
+ openSidebar: {
336
+ name: string;
337
+ tab?: string | undefined;
338
+ } | null;
339
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
340
+ defaultSidebarDockedPreference: boolean;
270
341
  lastPointerDownWith: import("../element/types").PointerType;
271
- selectedElementIds: {
272
- [id: string]: boolean;
273
- };
342
+ selectedElementIds: Readonly<{
343
+ [id: string]: true;
344
+ }>;
274
345
  previousSelectedElementIds: {
275
- [id: string]: boolean;
346
+ [id: string]: true;
276
347
  };
348
+ selectedElementsAreBeingDragged: boolean;
277
349
  shouldCacheIgnoreZoom: boolean;
278
350
  toast: {
279
351
  message: string;
@@ -281,7 +353,7 @@ export declare const actionAddToLibrary: {
281
353
  duration?: number | undefined;
282
354
  } | null;
283
355
  zenModeEnabled: boolean;
284
- theme: string;
356
+ theme: import("../element/types").Theme;
285
357
  gridSize: number | null;
286
358
  viewModeEnabled: boolean;
287
359
  selectedGroupIds: {
@@ -304,8 +376,14 @@ export declare const actionAddToLibrary: {
304
376
  data: import("../charts").Spreadsheet;
305
377
  };
306
378
  pendingImageElementId: string | null;
307
- showHyperlinkPopup: false | "info" | "editor";
379
+ showHyperlinkPopup: false | "editor" | "info";
308
380
  selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
381
+ snapLines: import("../snapping").SnapLine[];
382
+ originSnapOffset: {
383
+ x: number;
384
+ y: number;
385
+ } | null;
386
+ objectsSnapModeEnabled: boolean;
309
387
  };
310
388
  };
311
389
  contextItemLabel: string;
@@ -1,20 +1,18 @@
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
14
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
15
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
16
- isInHamburgerMenu: boolean;
17
- }) => JSX.Element;
15
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
18
16
  } & {
19
17
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
20
18
  };
@@ -23,15 +21,14 @@ export declare const actionAlignBottom: {
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
30
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
32
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
33
- isInHamburgerMenu: boolean;
34
- }) => JSX.Element;
31
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
35
32
  } & {
36
33
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
37
34
  };
@@ -40,15 +37,14 @@ export declare const actionAlignLeft: {
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
46
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
49
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
50
- isInHamburgerMenu: boolean;
51
- }) => JSX.Element;
47
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
52
48
  } & {
53
49
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
54
50
  };
@@ -57,15 +53,14 @@ export declare const actionAlignRight: {
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
62
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
66
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps & {
67
- isInHamburgerMenu: boolean;
68
- }) => JSX.Element;
63
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
69
64
  } & {
70
65
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
71
66
  };
@@ -74,14 +69,13 @@ export declare const actionAlignVerticallyCentered: {
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
  };