@excalidraw/math 0.18.0-5fffc47 → 0.18.0-60b2758

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 (231) hide show
  1. package/dist/dev/index.js +3 -3
  2. package/dist/dev/index.js.map +2 -2
  3. package/dist/prod/index.js +1 -1
  4. package/dist/types/common/debug.d.ts +21 -0
  5. package/dist/types/common/src/bounds.d.ts +10 -0
  6. package/dist/types/common/src/colors.d.ts +59 -39
  7. package/dist/types/common/src/constants.d.ts +19 -27
  8. package/dist/types/common/src/editorInterface.d.ts +34 -0
  9. package/dist/types/common/src/font-metadata.d.ts +1 -3
  10. package/dist/types/common/src/index.d.ts +3 -0
  11. package/dist/types/common/src/keys.d.ts +1 -1
  12. package/dist/types/common/src/utility-types.d.ts +0 -1
  13. package/dist/types/common/src/utils.d.ts +50 -39
  14. package/dist/types/element/src/Scene.d.ts +3 -3
  15. package/dist/types/element/src/arrows/focus.d.ts +27 -0
  16. package/dist/types/element/src/arrows/helpers.d.ts +5 -0
  17. package/dist/types/element/src/binding.d.ts +66 -46
  18. package/dist/types/element/src/bounds.d.ts +2 -10
  19. package/dist/types/element/src/collision.d.ts +7 -2
  20. package/dist/types/element/src/comparisons.d.ts +7 -7
  21. package/dist/types/element/src/distribute.d.ts +2 -1
  22. package/dist/types/element/src/dragElements.d.ts +3 -3
  23. package/dist/types/element/src/duplicate.d.ts +3 -3
  24. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  25. package/dist/types/element/src/frame.d.ts +5 -1
  26. package/dist/types/element/src/heading.d.ts +2 -1
  27. package/dist/types/element/src/image.d.ts +1 -11
  28. package/dist/types/element/src/index.d.ts +3 -3
  29. package/dist/types/element/src/linearElementEditor.d.ts +18 -20
  30. package/dist/types/element/src/mutateElement.d.ts +3 -1
  31. package/dist/types/element/src/newElement.d.ts +6 -6
  32. package/dist/types/element/src/renderElement.d.ts +1 -7
  33. package/dist/types/element/src/resizeElements.d.ts +10 -10
  34. package/dist/types/element/src/resizeTest.d.ts +6 -5
  35. package/dist/types/element/src/selection.d.ts +3 -7
  36. package/dist/types/element/src/shape.d.ts +8 -7
  37. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  38. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  39. package/dist/types/element/src/transformHandles.d.ts +8 -27
  40. package/dist/types/element/src/typeChecks.d.ts +4 -7
  41. package/dist/types/element/src/types.d.ts +8 -12
  42. package/dist/types/element/src/utils.d.ts +8 -3
  43. package/dist/types/element/src/zindex.d.ts +7 -1
  44. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +141 -202
  45. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -7
  46. package/dist/types/excalidraw/actions/actionBoundText.d.ts +71 -112
  47. package/dist/types/excalidraw/actions/actionCanvas.d.ts +424 -858
  48. package/dist/types/excalidraw/actions/actionClipboard.d.ts +105 -907
  49. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +34 -55
  50. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +115 -180
  51. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  52. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  53. package/dist/types/excalidraw/actions/actionElementLink.d.ts +44 -71
  54. package/dist/types/excalidraw/actions/actionElementLock.d.ts +70 -111
  55. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +50 -71
  56. package/dist/types/excalidraw/actions/actionExport.d.ts +153 -1166
  57. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -404
  58. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  59. package/dist/types/excalidraw/actions/actionFrame.d.ts +221 -340
  60. package/dist/types/excalidraw/actions/actionGroup.d.ts +74 -123
  61. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +126 -185
  62. package/dist/types/excalidraw/actions/actionLink.d.ts +51 -72
  63. package/dist/types/excalidraw/actions/actionMenu.d.ts +38 -65
  64. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -369
  65. package/dist/types/excalidraw/actions/actionProperties.d.ts +131 -2576
  66. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +37 -62
  67. package/dist/types/excalidraw/actions/actionStyles.d.ts +34 -55
  68. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  69. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +50 -71
  70. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +50 -71
  71. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +38 -65
  72. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  73. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +49 -70
  74. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +50 -71
  75. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +50 -71
  76. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  77. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  78. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  79. package/dist/types/excalidraw/actions/types.d.ts +3 -3
  80. package/dist/types/excalidraw/appState.d.ts +20 -20
  81. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  82. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  83. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  84. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  85. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  86. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  87. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  88. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  89. package/dist/types/excalidraw/clipboard.d.ts +11 -35
  90. package/dist/types/excalidraw/components/Actions.d.ts +5 -2
  91. package/dist/types/excalidraw/components/App.d.ts +68 -60
  92. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  93. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  94. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +0 -2
  95. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +0 -1
  96. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  97. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  98. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  99. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  100. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  101. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  102. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  103. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  104. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -1
  105. package/dist/types/excalidraw/components/EyeDropper.d.ts +0 -1
  106. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  107. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  108. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  109. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  110. package/dist/types/excalidraw/components/InlineIcon.d.ts +2 -2
  111. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  112. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  113. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  114. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  115. package/dist/types/excalidraw/components/MobileMenu.d.ts +1 -1
  116. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -1
  117. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  118. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  119. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  120. package/dist/types/excalidraw/components/Popover.d.ts +2 -1
  121. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -1
  122. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  123. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  124. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  125. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
  126. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  127. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  128. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  129. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  130. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  131. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  132. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  133. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  134. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
  135. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  136. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  137. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  138. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  139. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  140. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  141. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  142. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  143. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  144. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  145. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  146. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +2 -2
  147. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  148. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  149. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  150. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  151. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  152. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  153. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  154. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  155. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  156. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  157. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  158. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  159. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  160. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  161. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +24 -0
  162. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  163. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  164. package/dist/types/excalidraw/components/Toast.d.ts +3 -3
  165. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  166. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +6 -3
  167. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +48 -38
  168. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -6
  169. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  170. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  171. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  172. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  173. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +0 -1
  174. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  175. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  176. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  177. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  178. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  179. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  180. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  181. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  182. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  183. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
  184. package/dist/types/excalidraw/components/icons.d.ts +27 -13
  185. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +4 -3
  186. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +17 -2
  187. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  188. package/dist/types/excalidraw/components/shapes.d.ts +74 -1
  189. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +6 -6
  190. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +15 -16
  191. package/dist/types/excalidraw/data/blob.d.ts +319 -3
  192. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  193. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  194. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  195. package/dist/types/excalidraw/data/index.d.ts +3 -3
  196. package/dist/types/excalidraw/data/json.d.ts +158 -2
  197. package/dist/types/excalidraw/data/library.d.ts +24 -9
  198. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  199. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  200. package/dist/types/excalidraw/errors.d.ts +14 -0
  201. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  202. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  203. package/dist/types/excalidraw/i18n.d.ts +2 -2
  204. package/dist/types/excalidraw/index.d.ts +8 -7
  205. package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
  206. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  207. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -14
  208. package/dist/types/excalidraw/scene/Renderer.d.ts +5 -2
  209. package/dist/types/excalidraw/scene/export.d.ts +2 -2
  210. package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
  211. package/dist/types/excalidraw/scene/types.d.ts +22 -5
  212. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  213. package/dist/types/excalidraw/snapping.d.ts +5 -5
  214. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  215. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  216. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  217. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  218. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  219. package/dist/types/excalidraw/types.d.ts +34 -29
  220. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -2
  221. package/dist/types/math/src/point.d.ts +6 -1
  222. package/dist/types/math/src/polygon.d.ts +2 -2
  223. package/dist/types/math/src/range.d.ts +1 -3
  224. package/dist/types/math/src/segment.d.ts +3 -3
  225. package/dist/types/math/src/types.d.ts +25 -1
  226. package/dist/types/utils/src/bbox.d.ts +1 -1
  227. package/dist/types/utils/src/export.d.ts +5 -5
  228. package/dist/types/utils/src/shape.d.ts +6 -6
  229. package/dist/types/utils/src/withinBounds.d.ts +2 -2
  230. package/package.json +2 -2
  231. package/dist/types/excalidraw/charts.d.ts +0 -27
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const actionToggleViewMode: {
3
2
  name: "viewMode";
4
3
  label: string;
@@ -8,7 +7,7 @@ export declare const actionToggleViewMode: {
8
7
  category: "canvas";
9
8
  predicate: (appState: Readonly<import("../types").AppState>) => boolean;
10
9
  };
11
- perform(elements: readonly import("../../element/src/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>): {
10
+ perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>): {
12
11
  appState: {
13
12
  viewModeEnabled: boolean;
14
13
  contextMenu: {
@@ -18,19 +17,22 @@ export declare const actionToggleViewMode: {
18
17
  } | null;
19
18
  showWelcomeScreen: boolean;
20
19
  isLoading: boolean;
21
- errorMessage: import("react").ReactNode;
20
+ errorMessage: React.ReactNode;
22
21
  activeEmbeddable: {
23
- element: import("../../element/src/types").NonDeletedExcalidrawElement;
24
- state: "active" | "hover";
22
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
23
+ state: "hover" | "active";
25
24
  } | null;
26
- newElement: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawNonSelectionElement> | null;
27
- resizingElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
28
- multiElement: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawLinearElement> | null;
29
- selectionElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
25
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
26
+ resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
27
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
28
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
30
29
  isBindingEnabled: boolean;
31
- startBoundElement: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawBindableElement> | null;
32
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
33
- frameToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawFrameLikeElement> | null;
30
+ startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
31
+ suggestedBinding: {
32
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
33
+ midPoint?: import("@excalidraw/math").GlobalPoint;
34
+ } | null;
35
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
34
36
  frameRendering: {
35
37
  enabled: boolean;
36
38
  name: boolean;
@@ -38,8 +40,8 @@ export declare const actionToggleViewMode: {
38
40
  clip: boolean;
39
41
  };
40
42
  editingFrame: string | null;
41
- elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
42
- editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
43
+ elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
44
+ editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
43
45
  activeTool: {
44
46
  lastActiveTool: import("../types").ActiveTool | null;
45
47
  locked: boolean;
@@ -57,19 +59,19 @@ export declare const actionToggleViewMode: {
57
59
  exportScale: number;
58
60
  currentItemStrokeColor: string;
59
61
  currentItemBackgroundColor: string;
60
- currentItemFillStyle: import("../../element/src/types").FillStyle;
62
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
61
63
  currentItemStrokeWidth: number;
62
- currentItemStrokeStyle: import("../../element/src/types").StrokeStyle;
64
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
63
65
  currentItemRoughness: number;
64
66
  currentItemOpacity: number;
65
- currentItemFontFamily: number;
67
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
66
68
  currentItemFontSize: number;
67
- currentItemTextAlign: string;
68
- currentItemStartArrowhead: import("../../element/src/types").Arrowhead | null;
69
- currentItemEndArrowhead: import("../../element/src/types").Arrowhead | null;
70
- currentHoveredFontFamily: number | null;
71
- currentItemRoundness: import("../../element/src/types").StrokeRoundness;
72
- currentItemArrowType: "round" | "sharp" | "elbow";
69
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
70
+ currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
71
+ currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
72
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
73
+ currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
74
+ currentItemArrowType: "sharp" | "round" | "elbow";
73
75
  viewBackgroundColor: string;
74
76
  scrollX: number;
75
77
  scrollY: number;
@@ -78,28 +80,32 @@ export declare const actionToggleViewMode: {
78
80
  name: string | null;
79
81
  isResizing: boolean;
80
82
  isRotating: boolean;
81
- zoom: Readonly<{
82
- value: import("../types").NormalizedZoomValue;
83
- }>;
83
+ zoom: import("../types").Zoom;
84
84
  openMenu: "canvas" | null;
85
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
85
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
86
86
  openSidebar: {
87
- name: string;
88
- tab?: string | undefined;
87
+ name: import("../types").SidebarName;
88
+ tab?: import("../types").SidebarTabName;
89
89
  } | null;
90
- openDialog: {
90
+ openDialog: null | {
91
91
  name: "imageExport" | "help" | "jsonExport";
92
92
  } | {
93
93
  name: "ttd";
94
- tab: "mermaid" | "text-to-diagram";
94
+ tab: "text-to-diagram" | "mermaid";
95
95
  } | {
96
96
  name: "commandPalette";
97
+ } | {
98
+ name: "settings";
97
99
  } | {
98
100
  name: "elementLinkSelector";
99
- sourceElementId: string;
100
- } | null;
101
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
102
+ } | {
103
+ name: "charts";
104
+ data: import("../charts").Spreadsheet;
105
+ rawText: string;
106
+ };
101
107
  defaultSidebarDockedPreference: boolean;
102
- lastPointerDownWith: import("../../element/src/types").PointerType;
108
+ lastPointerDownWith: import("@excalidraw/element/types").PointerType;
103
109
  selectedElementIds: Readonly<{
104
110
  [id: string]: true;
105
111
  }>;
@@ -113,56 +119,29 @@ export declare const actionToggleViewMode: {
113
119
  shouldCacheIgnoreZoom: boolean;
114
120
  toast: {
115
121
  message: string;
116
- closable?: boolean | undefined;
117
- duration?: number | undefined;
122
+ closable?: boolean;
123
+ duration?: number;
118
124
  } | null;
119
125
  zenModeEnabled: boolean;
120
- theme: import("../../element/src/types").Theme;
126
+ theme: import("@excalidraw/element/types").Theme;
121
127
  gridSize: number;
122
128
  gridStep: number;
123
129
  gridModeEnabled: boolean;
124
130
  selectedGroupIds: {
125
131
  [groupId: string]: boolean;
126
132
  };
127
- editingGroupId: string | null;
133
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
128
134
  width: number;
129
135
  height: number;
130
136
  offsetTop: number;
131
137
  offsetLeft: number;
132
138
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
133
- collaborators: Map<import("../types").SocketId, Readonly<{
134
- pointer?: import("../types").CollaboratorPointer | undefined;
135
- button?: "up" | "down" | undefined;
136
- selectedElementIds?: Readonly<{
137
- [id: string]: true;
138
- }> | undefined;
139
- username?: string | null | undefined;
140
- userState?: import("@excalidraw/common").UserIdleState | undefined;
141
- color?: {
142
- background: string;
143
- stroke: string;
144
- } | undefined;
145
- avatarUrl?: string | undefined;
146
- id?: string | undefined;
147
- socketId?: import("../types").SocketId | undefined;
148
- isCurrentUser?: boolean | undefined;
149
- isInCall?: boolean | undefined;
150
- isSpeaking?: boolean | undefined;
151
- isMuted?: boolean | undefined;
152
- }>>;
139
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
153
140
  stats: {
154
141
  open: boolean;
155
142
  panels: number;
156
143
  };
157
- currentChartType: import("../../element/src/types").ChartType;
158
- pasteDialog: {
159
- shown: false;
160
- data: null;
161
- } | {
162
- shown: true;
163
- data: import("../charts").Spreadsheet;
164
- };
165
- showHyperlinkPopup: false | "editor" | "info";
144
+ showHyperlinkPopup: false | "info" | "editor";
166
145
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
167
146
  snapLines: readonly import("../snapping").SnapLine[];
168
147
  originSnapOffset: {
@@ -173,21 +152,21 @@ export declare const actionToggleViewMode: {
173
152
  userToFollow: import("../types").UserToFollow | null;
174
153
  followedBy: Set<import("../types").SocketId>;
175
154
  isCropping: boolean;
176
- croppingElementId: string | null;
155
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
177
156
  searchMatches: Readonly<{
178
- focusedId: string | null;
157
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
179
158
  matches: readonly import("../types").SearchMatch[];
180
159
  }> | null;
181
160
  activeLockedId: string | null;
182
161
  lockedMultiSelections: {
183
162
  [groupId: string]: true;
184
163
  };
185
- stylesPanelMode: "compact" | "full" | "mobile";
164
+ bindMode: import("@excalidraw/element/types").BindMode;
186
165
  };
187
166
  captureUpdate: "EVENTUALLY";
188
167
  };
189
168
  checked: (appState: Readonly<import("../types").AppState>) => boolean;
190
- predicate: (elements: readonly import("../../element/src/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps) => boolean;
169
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps) => boolean;
191
170
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
192
171
  } & {
193
172
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const actionToggleZenMode: {
3
2
  name: "zenMode";
4
3
  label: string;
@@ -8,7 +7,7 @@ export declare const actionToggleZenMode: {
8
7
  category: "canvas";
9
8
  predicate: (appState: Readonly<import("../types").AppState>) => boolean;
10
9
  };
11
- perform(elements: readonly import("../../element/src/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>): {
10
+ perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>): {
12
11
  appState: {
13
12
  zenModeEnabled: boolean;
14
13
  contextMenu: {
@@ -18,19 +17,22 @@ export declare const actionToggleZenMode: {
18
17
  } | null;
19
18
  showWelcomeScreen: boolean;
20
19
  isLoading: boolean;
21
- errorMessage: import("react").ReactNode;
20
+ errorMessage: React.ReactNode;
22
21
  activeEmbeddable: {
23
- element: import("../../element/src/types").NonDeletedExcalidrawElement;
24
- state: "active" | "hover";
22
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
23
+ state: "hover" | "active";
25
24
  } | null;
26
- newElement: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawNonSelectionElement> | null;
27
- resizingElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
28
- multiElement: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawLinearElement> | null;
29
- selectionElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
25
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
26
+ resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
27
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
28
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
30
29
  isBindingEnabled: boolean;
31
- startBoundElement: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawBindableElement> | null;
32
- suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
33
- frameToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawFrameLikeElement> | null;
30
+ startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
31
+ suggestedBinding: {
32
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
33
+ midPoint?: import("@excalidraw/math").GlobalPoint;
34
+ } | null;
35
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
34
36
  frameRendering: {
35
37
  enabled: boolean;
36
38
  name: boolean;
@@ -38,8 +40,8 @@ export declare const actionToggleZenMode: {
38
40
  clip: boolean;
39
41
  };
40
42
  editingFrame: string | null;
41
- elementsToHighlight: import("../../element/src/types").NonDeleted<import("../../element/src/types").ExcalidrawElement>[] | null;
42
- editingTextElement: import("../../element/src/types").NonDeletedExcalidrawElement | null;
43
+ elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
44
+ editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
43
45
  activeTool: {
44
46
  lastActiveTool: import("../types").ActiveTool | null;
45
47
  locked: boolean;
@@ -57,19 +59,19 @@ export declare const actionToggleZenMode: {
57
59
  exportScale: number;
58
60
  currentItemStrokeColor: string;
59
61
  currentItemBackgroundColor: string;
60
- currentItemFillStyle: import("../../element/src/types").FillStyle;
62
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
61
63
  currentItemStrokeWidth: number;
62
- currentItemStrokeStyle: import("../../element/src/types").StrokeStyle;
64
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
63
65
  currentItemRoughness: number;
64
66
  currentItemOpacity: number;
65
- currentItemFontFamily: number;
67
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
66
68
  currentItemFontSize: number;
67
- currentItemTextAlign: string;
68
- currentItemStartArrowhead: import("../../element/src/types").Arrowhead | null;
69
- currentItemEndArrowhead: import("../../element/src/types").Arrowhead | null;
70
- currentHoveredFontFamily: number | null;
71
- currentItemRoundness: import("../../element/src/types").StrokeRoundness;
72
- currentItemArrowType: "round" | "sharp" | "elbow";
69
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
70
+ currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
71
+ currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
72
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
73
+ currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
74
+ currentItemArrowType: "sharp" | "round" | "elbow";
73
75
  viewBackgroundColor: string;
74
76
  scrollX: number;
75
77
  scrollY: number;
@@ -78,28 +80,32 @@ export declare const actionToggleZenMode: {
78
80
  name: string | null;
79
81
  isResizing: boolean;
80
82
  isRotating: boolean;
81
- zoom: Readonly<{
82
- value: import("../types").NormalizedZoomValue;
83
- }>;
83
+ zoom: import("../types").Zoom;
84
84
  openMenu: "canvas" | null;
85
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
85
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
86
86
  openSidebar: {
87
- name: string;
88
- tab?: string | undefined;
87
+ name: import("../types").SidebarName;
88
+ tab?: import("../types").SidebarTabName;
89
89
  } | null;
90
- openDialog: {
90
+ openDialog: null | {
91
91
  name: "imageExport" | "help" | "jsonExport";
92
92
  } | {
93
93
  name: "ttd";
94
- tab: "mermaid" | "text-to-diagram";
94
+ tab: "text-to-diagram" | "mermaid";
95
95
  } | {
96
96
  name: "commandPalette";
97
+ } | {
98
+ name: "settings";
97
99
  } | {
98
100
  name: "elementLinkSelector";
99
- sourceElementId: string;
100
- } | null;
101
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
102
+ } | {
103
+ name: "charts";
104
+ data: import("../charts").Spreadsheet;
105
+ rawText: string;
106
+ };
101
107
  defaultSidebarDockedPreference: boolean;
102
- lastPointerDownWith: import("../../element/src/types").PointerType;
108
+ lastPointerDownWith: import("@excalidraw/element/types").PointerType;
103
109
  selectedElementIds: Readonly<{
104
110
  [id: string]: true;
105
111
  }>;
@@ -113,10 +119,10 @@ export declare const actionToggleZenMode: {
113
119
  shouldCacheIgnoreZoom: boolean;
114
120
  toast: {
115
121
  message: string;
116
- closable?: boolean | undefined;
117
- duration?: number | undefined;
122
+ closable?: boolean;
123
+ duration?: number;
118
124
  } | null;
119
- theme: import("../../element/src/types").Theme;
125
+ theme: import("@excalidraw/element/types").Theme;
120
126
  gridSize: number;
121
127
  gridStep: number;
122
128
  gridModeEnabled: boolean;
@@ -124,45 +130,18 @@ export declare const actionToggleZenMode: {
124
130
  selectedGroupIds: {
125
131
  [groupId: string]: boolean;
126
132
  };
127
- editingGroupId: string | null;
133
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
128
134
  width: number;
129
135
  height: number;
130
136
  offsetTop: number;
131
137
  offsetLeft: number;
132
138
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
133
- collaborators: Map<import("../types").SocketId, Readonly<{
134
- pointer?: import("../types").CollaboratorPointer | undefined;
135
- button?: "up" | "down" | undefined;
136
- selectedElementIds?: Readonly<{
137
- [id: string]: true;
138
- }> | undefined;
139
- username?: string | null | undefined;
140
- userState?: import("@excalidraw/common").UserIdleState | undefined;
141
- color?: {
142
- background: string;
143
- stroke: string;
144
- } | undefined;
145
- avatarUrl?: string | undefined;
146
- id?: string | undefined;
147
- socketId?: import("../types").SocketId | undefined;
148
- isCurrentUser?: boolean | undefined;
149
- isInCall?: boolean | undefined;
150
- isSpeaking?: boolean | undefined;
151
- isMuted?: boolean | undefined;
152
- }>>;
139
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
153
140
  stats: {
154
141
  open: boolean;
155
142
  panels: number;
156
143
  };
157
- currentChartType: import("../../element/src/types").ChartType;
158
- pasteDialog: {
159
- shown: false;
160
- data: null;
161
- } | {
162
- shown: true;
163
- data: import("../charts").Spreadsheet;
164
- };
165
- showHyperlinkPopup: false | "editor" | "info";
144
+ showHyperlinkPopup: false | "info" | "editor";
166
145
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
167
146
  snapLines: readonly import("../snapping").SnapLine[];
168
147
  originSnapOffset: {
@@ -173,21 +152,21 @@ export declare const actionToggleZenMode: {
173
152
  userToFollow: import("../types").UserToFollow | null;
174
153
  followedBy: Set<import("../types").SocketId>;
175
154
  isCropping: boolean;
176
- croppingElementId: string | null;
155
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
177
156
  searchMatches: Readonly<{
178
- focusedId: string | null;
157
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
179
158
  matches: readonly import("../types").SearchMatch[];
180
159
  }> | null;
181
160
  activeLockedId: string | null;
182
161
  lockedMultiSelections: {
183
162
  [groupId: string]: true;
184
163
  };
185
- stylesPanelMode: "compact" | "full" | "mobile";
164
+ bindMode: import("@excalidraw/element/types").BindMode;
186
165
  };
187
166
  captureUpdate: "EVENTUALLY";
188
167
  };
189
168
  checked: (appState: Readonly<import("../types").AppState>) => boolean;
190
- predicate: (elements: readonly import("../../element/src/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps) => boolean;
169
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
191
170
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
192
171
  } & {
193
172
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare const actionSendBackward: {
3
2
  name: "sendBackward";
4
3
  label: string;
@@ -7,8 +6,8 @@ export declare const actionSendBackward: {
7
6
  trackEvent: {
8
7
  category: "element";
9
8
  };
10
- perform: (elements: readonly import("../../element/src/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => {
11
- elements: readonly import("../../element/src/types").ExcalidrawElement[];
9
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: unknown, app: import("../types").AppClassProperties) => {
10
+ elements: readonly import("@excalidraw/element/types").ExcalidrawElement[];
12
11
  appState: Readonly<import("../types").AppState>;
13
12
  captureUpdate: "IMMEDIATELY";
14
13
  };
@@ -26,8 +25,8 @@ export declare const actionBringForward: {
26
25
  trackEvent: {
27
26
  category: "element";
28
27
  };
29
- perform: (elements: readonly import("../../element/src/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: any, app: import("../types").AppClassProperties) => {
30
- elements: readonly import("../../element/src/types").ExcalidrawElement[];
28
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, value: unknown, app: import("../types").AppClassProperties) => {
29
+ elements: readonly import("@excalidraw/element/types").ExcalidrawElement[];
31
30
  appState: Readonly<import("../types").AppState>;
32
31
  captureUpdate: "IMMEDIATELY";
33
32
  };
@@ -45,8 +44,8 @@ export declare const actionSendToBack: {
45
44
  trackEvent: {
46
45
  category: "element";
47
46
  };
48
- perform: (elements: readonly import("../../element/src/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
49
- elements: readonly import("../../element/src/types").ExcalidrawElement[] | import("../../element/src/types").ExcalidrawElement[];
47
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
48
+ elements: readonly import("@excalidraw/element/types").ExcalidrawElement[] | import("@excalidraw/element/types").ExcalidrawElement[];
50
49
  appState: Readonly<import("../types").AppState>;
51
50
  captureUpdate: "IMMEDIATELY";
52
51
  };
@@ -63,8 +62,8 @@ export declare const actionBringToFront: {
63
62
  trackEvent: {
64
63
  category: "element";
65
64
  };
66
- perform: (elements: readonly import("../../element/src/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
67
- elements: readonly import("../../element/src/types").ExcalidrawElement[] | import("../../element/src/types").ExcalidrawElement[];
65
+ perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
66
+ elements: readonly import("@excalidraw/element/types").ExcalidrawElement[] | import("@excalidraw/element/types").ExcalidrawElement[];
68
67
  appState: Readonly<import("../types").AppState>;
69
68
  captureUpdate: "IMMEDIATELY";
70
69
  };
@@ -1,5 +1,5 @@
1
1
  import type { Action } from "./types";
2
2
  export declare let actions: readonly Action[];
3
- export declare const register: <T extends Action>(action: T) => T & {
4
- keyTest?: (unknown extends T["keyTest"] ? never : T["keyTest"]) | undefined;
3
+ export declare const register: <TData extends any, T extends Action<TData> = Action<TData>>(action: T) => T & {
4
+ keyTest?: unknown extends T["keyTest"] ? never : T["keyTest"];
5
5
  };
@@ -1,4 +1,4 @@
1
1
  import type { SubtypeOf } from "@excalidraw/common/utility-types";
2
2
  import type { ActionName } from "./types";
3
- export type ShortcutName = SubtypeOf<ActionName, "toggleTheme" | "loadScene" | "clearCanvas" | "cut" | "copy" | "paste" | "copyStyles" | "pasteStyles" | "selectAll" | "deleteSelectedElements" | "duplicateSelection" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyAsPng" | "group" | "ungroup" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "addToLibrary" | "viewMode" | "flipHorizontal" | "flipVertical" | "hyperlink" | "toggleElementLock" | "resetZoom" | "zoomOut" | "zoomIn" | "zoomToFit" | "zoomToFitSelectionInViewport" | "zoomToFitSelection" | "toggleEraserTool" | "toggleHandTool" | "setFrameAsActiveTool" | "saveFileToDisk" | "saveToActiveFile" | "toggleShortcuts" | "wrapSelectionInFrame"> | "saveScene" | "imageExport" | "commandPalette" | "searchMenu";
3
+ export type ShortcutName = SubtypeOf<ActionName, "toggleTheme" | "loadScene" | "clearCanvas" | "cut" | "copy" | "paste" | "copyStyles" | "pasteStyles" | "selectAll" | "deleteSelectedElements" | "duplicateSelection" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyAsPng" | "group" | "ungroup" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "addToLibrary" | "viewMode" | "flipHorizontal" | "flipVertical" | "hyperlink" | "toggleElementLock" | "resetZoom" | "zoomOut" | "zoomIn" | "zoomToFit" | "zoomToFitSelectionInViewport" | "zoomToFitSelection" | "toggleEraserTool" | "toggleHandTool" | "setFrameAsActiveTool" | "saveFileToDisk" | "saveToActiveFile" | "toggleShortcuts" | "wrapSelectionInFrame"> | "saveScene" | "imageExport" | "commandPalette" | "searchMenu" | "toolLock";
4
4
  export declare const getShortcutFromShortcutName: (name: ShortcutName, idx?: number) => string;
@@ -11,7 +11,7 @@ export type ActionResult = {
11
11
  captureUpdate: CaptureUpdateActionType;
12
12
  replaceFiles?: boolean;
13
13
  } | false;
14
- type ActionFn = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: any, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
14
+ type ActionFn<TData = any> = (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, formData: TData | undefined, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
15
15
  export type UpdaterFn = (res: ActionResult) => void;
16
16
  export type ActionFilterFn = (action: Action) => void;
17
17
  export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon";
@@ -24,13 +24,13 @@ export type PanelComponentProps = {
24
24
  app: AppClassProperties;
25
25
  renderAction: (name: ActionName, data?: PanelComponentProps["data"]) => React.JSX.Element | null;
26
26
  };
27
- export interface Action {
27
+ export interface Action<TData = any> {
28
28
  name: ActionName;
29
29
  label: string | ((elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, app: AppClassProperties) => string);
30
30
  keywords?: string[];
31
31
  icon?: React.ReactNode | ((appState: UIAppState, elements: readonly ExcalidrawElement[]) => React.ReactNode);
32
32
  PanelComponent?: React.FC<PanelComponentProps>;
33
- perform: ActionFn;
33
+ perform: ActionFn<TData>;
34
34
  keyPriority?: number;
35
35
  keyTest?: (event: React.KeyboardEvent | KeyboardEvent, appState: AppState, elements: readonly ExcalidrawElement[], app: AppClassProperties) => boolean;
36
36
  predicate?: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: ExcalidrawProps, app: AppClassProperties) => boolean;
@@ -2,6 +2,7 @@ import type { AppState, NormalizedZoomValue } from "./types";
2
2
  export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
3
3
  export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
4
4
  viewBackgroundColor?: string | undefined;
5
+ theme?: import("@excalidraw/element/types").Theme | undefined;
5
6
  name?: string | null | undefined;
6
7
  zoom?: Readonly<{
7
8
  value: NormalizedZoomValue;
@@ -12,18 +13,22 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
12
13
  selectedElementIds?: Readonly<{
13
14
  [id: string]: true;
14
15
  }> | undefined;
15
- theme?: import("../element/src/types").Theme | undefined;
16
- selectedGroupIds?: {
17
- [groupId: string]: boolean;
18
- } | undefined;
19
- selectedLinearElement?: import("../element/src").LinearElementEditor | null | undefined;
20
- zenModeEnabled?: boolean | undefined;
21
- showWelcomeScreen?: boolean | undefined;
22
16
  activeTool?: ({
23
17
  lastActiveTool: import("./types").ActiveTool | null;
24
18
  locked: boolean;
25
19
  fromSelection: boolean;
26
20
  } & import("./types").ActiveTool) | undefined;
21
+ selectedGroupIds?: {
22
+ [groupId: string]: boolean;
23
+ } | undefined;
24
+ selectedLinearElement?: import("@excalidraw/element").LinearElementEditor | null | undefined;
25
+ zenModeEnabled?: boolean | undefined;
26
+ shouldCacheIgnoreZoom?: boolean | undefined;
27
+ exportScale?: number | undefined;
28
+ currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
29
+ bindMode?: import("@excalidraw/element/types").BindMode | undefined;
30
+ gridSize?: number | undefined;
31
+ showWelcomeScreen?: boolean | undefined;
27
32
  preferredSelectionTool?: {
28
33
  type: "selection" | "lasso";
29
34
  initialized: boolean;
@@ -33,42 +38,37 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
33
38
  exportBackground?: boolean | undefined;
34
39
  exportEmbedScene?: boolean | undefined;
35
40
  exportWithDarkMode?: boolean | undefined;
36
- exportScale?: number | undefined;
37
41
  currentItemStrokeColor?: string | undefined;
38
42
  currentItemBackgroundColor?: string | undefined;
39
- currentItemFillStyle?: import("../element/src/types").FillStyle | undefined;
43
+ currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
40
44
  currentItemStrokeWidth?: number | undefined;
41
- currentItemStrokeStyle?: import("../element/src/types").StrokeStyle | undefined;
45
+ currentItemStrokeStyle?: import("@excalidraw/element/types").StrokeStyle | undefined;
42
46
  currentItemRoughness?: number | undefined;
43
47
  currentItemOpacity?: number | undefined;
44
48
  currentItemFontFamily?: number | undefined;
45
49
  currentItemFontSize?: number | undefined;
46
50
  currentItemTextAlign?: string | undefined;
47
- currentItemStartArrowhead?: import("../element/src/types").Arrowhead | null | undefined;
48
- currentItemEndArrowhead?: import("../element/src/types").Arrowhead | null | undefined;
49
- currentItemRoundness?: import("../element/src/types").StrokeRoundness | undefined;
50
- currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
51
+ currentItemStartArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
52
+ currentItemEndArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
53
+ currentItemRoundness?: import("@excalidraw/element/types").StrokeRoundness | undefined;
51
54
  cursorButton?: "up" | "down" | undefined;
52
55
  scrolledOutside?: boolean | undefined;
53
56
  openMenu?: "canvas" | null | undefined;
54
57
  openSidebar?: {
55
- name: string;
56
- tab?: string | undefined;
58
+ name: import("./types").SidebarName;
59
+ tab?: import("./types").SidebarTabName;
57
60
  } | null | undefined;
58
61
  defaultSidebarDockedPreference?: boolean | undefined;
59
- lastPointerDownWith?: import("../element/src/types").PointerType | undefined;
62
+ lastPointerDownWith?: import("@excalidraw/element/types").PointerType | undefined;
60
63
  previousSelectedElementIds?: {
61
64
  [id: string]: true;
62
65
  } | undefined;
63
- shouldCacheIgnoreZoom?: boolean | undefined;
64
- gridSize?: number | undefined;
65
66
  gridStep?: number | undefined;
66
67
  gridModeEnabled?: boolean | undefined;
67
68
  stats?: {
68
69
  open: boolean;
69
70
  panels: number;
70
71
  } | undefined;
71
- currentChartType?: import("../element/src/types").ChartType | undefined;
72
72
  objectsSnapModeEnabled?: boolean | undefined;
73
73
  lockedMultiSelections?: {
74
74
  [groupId: string]: true;