@excalidraw/math 0.18.0-7b8a5f54c → 0.18.0-7ea3229

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 (239) hide show
  1. package/dist/dev/index.js +60 -63
  2. package/dist/dev/index.js.map +3 -3
  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 +37 -26
  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 +52 -38
  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 +3 -11
  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/delta.d.ts +4 -4
  22. package/dist/types/element/src/distribute.d.ts +2 -1
  23. package/dist/types/element/src/dragElements.d.ts +3 -3
  24. package/dist/types/element/src/duplicate.d.ts +3 -3
  25. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  26. package/dist/types/element/src/frame.d.ts +5 -1
  27. package/dist/types/element/src/heading.d.ts +2 -1
  28. package/dist/types/element/src/image.d.ts +1 -11
  29. package/dist/types/element/src/index.d.ts +4 -3
  30. package/dist/types/element/src/linearElementEditor.d.ts +18 -20
  31. package/dist/types/element/src/mutateElement.d.ts +3 -1
  32. package/dist/types/element/src/newElement.d.ts +6 -6
  33. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  34. package/dist/types/element/src/renderElement.d.ts +4 -7
  35. package/dist/types/element/src/resizeElements.d.ts +10 -10
  36. package/dist/types/element/src/resizeTest.d.ts +6 -5
  37. package/dist/types/element/src/selection.d.ts +3 -7
  38. package/dist/types/element/src/shape.d.ts +8 -7
  39. package/dist/types/element/src/store.d.ts +3 -2
  40. package/dist/types/element/src/textElement.d.ts +1 -1
  41. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  42. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  43. package/dist/types/element/src/transformHandles.d.ts +8 -27
  44. package/dist/types/element/src/typeChecks.d.ts +4 -7
  45. package/dist/types/element/src/types.d.ts +7 -11
  46. package/dist/types/element/src/utils.d.ts +8 -3
  47. package/dist/types/element/src/zindex.d.ts +7 -1
  48. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +147 -181
  49. package/dist/types/excalidraw/actions/actionAlign.d.ts +6 -7
  50. package/dist/types/excalidraw/actions/actionBoundText.d.ts +73 -96
  51. package/dist/types/excalidraw/actions/actionCanvas.d.ts +438 -758
  52. package/dist/types/excalidraw/actions/actionClipboard.d.ts +109 -873
  53. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +35 -47
  54. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +118 -156
  55. package/dist/types/excalidraw/actions/actionDistribute.d.ts +2 -3
  56. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +3 -4
  57. package/dist/types/excalidraw/actions/actionElementLink.d.ts +50 -64
  58. package/dist/types/excalidraw/actions/actionElementLock.d.ts +72 -95
  59. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +52 -64
  60. package/dist/types/excalidraw/actions/actionExport.d.ts +161 -1109
  61. package/dist/types/excalidraw/actions/actionFinalize.d.ts +10 -394
  62. package/dist/types/excalidraw/actions/actionFlip.d.ts +2 -3
  63. package/dist/types/excalidraw/actions/actionFrame.d.ts +225 -308
  64. package/dist/types/excalidraw/actions/actionGroup.d.ts +76 -107
  65. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +128 -178
  66. package/dist/types/excalidraw/actions/actionLink.d.ts +52 -64
  67. package/dist/types/excalidraw/actions/actionMenu.d.ts +45 -425
  68. package/dist/types/excalidraw/actions/actionNavigate.d.ts +18 -359
  69. package/dist/types/excalidraw/actions/actionProperties.d.ts +135 -2488
  70. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +38 -54
  71. package/dist/types/excalidraw/actions/actionStyles.d.ts +35 -47
  72. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  73. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +52 -64
  74. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +52 -64
  75. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +44 -58
  76. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +1 -1
  77. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +51 -63
  78. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +52 -64
  79. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +52 -64
  80. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  81. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  82. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  83. package/dist/types/excalidraw/actions/shortcuts.d.ts +1 -1
  84. package/dist/types/excalidraw/actions/types.d.ts +4 -4
  85. package/dist/types/excalidraw/appState.d.ts +25 -20
  86. package/dist/types/excalidraw/clipboard.d.ts +58 -17
  87. package/dist/types/excalidraw/components/Actions.d.ts +22 -5
  88. package/dist/types/excalidraw/components/App.d.ts +77 -68
  89. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  90. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  91. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +0 -1
  92. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -0
  93. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -1
  94. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -1
  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/CommandPalette.d.ts +1 -0
  98. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +2 -4
  99. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  100. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  101. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  102. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  103. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  104. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  105. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +1 -2
  106. package/dist/types/excalidraw/components/EyeDropper.d.ts +0 -1
  107. package/dist/types/excalidraw/components/FilledButton.d.ts +2 -1
  108. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  109. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  110. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  111. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  112. package/dist/types/excalidraw/components/HintViewer.d.ts +4 -3
  113. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  114. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  115. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  116. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  117. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  118. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  119. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  120. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  121. package/dist/types/excalidraw/components/MobileToolBar.d.ts +10 -0
  122. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  123. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  124. package/dist/types/excalidraw/components/Popover.d.ts +2 -1
  125. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +2 -1
  126. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  127. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  128. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  129. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
  130. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  131. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  132. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  133. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  134. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  135. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  136. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  137. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  138. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
  139. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  140. package/dist/types/excalidraw/components/Stats/utils.d.ts +1 -1
  141. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  142. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +23 -0
  143. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  144. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +27 -0
  145. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  146. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  147. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  148. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  149. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +12 -29
  150. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +2 -2
  151. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  152. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  153. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  154. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  155. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +2 -3
  156. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  157. package/dist/types/excalidraw/components/TTDDialog/TTDWelcomeMessage.d.ts +1 -0
  158. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +9 -0
  159. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  160. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  161. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  162. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  163. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +95 -0
  164. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  165. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +24 -0
  166. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  167. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  168. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  169. package/dist/types/excalidraw/components/Toast.d.ts +3 -3
  170. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  171. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  172. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +6 -3
  173. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +47 -35
  174. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +7 -5
  175. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  176. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +13 -22
  177. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCheckbox.d.ts +5 -0
  178. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  179. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +0 -1
  180. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  181. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  182. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSub.d.ts +23 -0
  183. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubContent.d.ts +8 -0
  184. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuSubTrigger.d.ts +12 -0
  185. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  186. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +2 -2
  187. package/dist/types/excalidraw/components/dropdownMenu/dropdownMenuUtils.d.ts +2 -0
  188. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  189. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
  190. package/dist/types/excalidraw/components/icons.d.ts +32 -13
  191. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +4 -3
  192. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +17 -2
  193. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +39 -35
  194. package/dist/types/excalidraw/components/shapes.d.ts +202 -1
  195. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +6 -6
  196. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +15 -16
  197. package/dist/types/excalidraw/data/blob.d.ts +330 -10
  198. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  199. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  200. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  201. package/dist/types/excalidraw/data/index.d.ts +3 -3
  202. package/dist/types/excalidraw/data/json.d.ts +162 -2
  203. package/dist/types/excalidraw/data/library.d.ts +24 -9
  204. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  205. package/dist/types/excalidraw/data/types.d.ts +4 -1
  206. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  207. package/dist/types/excalidraw/errors.d.ts +14 -0
  208. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  209. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +4 -3
  210. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  211. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  212. package/dist/types/excalidraw/i18n.d.ts +2 -2
  213. package/dist/types/excalidraw/index.d.ts +7 -7
  214. package/dist/types/excalidraw/renderer/animation.d.ts +12 -0
  215. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -8
  216. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -14
  217. package/dist/types/excalidraw/scene/Renderer.d.ts +5 -2
  218. package/dist/types/excalidraw/scene/export.d.ts +2 -2
  219. package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
  220. package/dist/types/excalidraw/scene/types.d.ts +22 -5
  221. package/dist/types/excalidraw/shortcut.d.ts +1 -0
  222. package/dist/types/excalidraw/snapping.d.ts +5 -5
  223. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  224. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  225. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  226. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  227. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  228. package/dist/types/excalidraw/types.d.ts +38 -21
  229. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -2
  230. package/dist/types/math/src/point.d.ts +6 -1
  231. package/dist/types/math/src/polygon.d.ts +2 -2
  232. package/dist/types/math/src/range.d.ts +1 -3
  233. package/dist/types/math/src/segment.d.ts +4 -3
  234. package/dist/types/math/src/types.d.ts +25 -1
  235. package/dist/types/utils/src/bbox.d.ts +1 -1
  236. package/dist/types/utils/src/export.d.ts +5 -5
  237. package/dist/types/utils/src/shape.d.ts +6 -6
  238. package/dist/types/utils/src/withinBounds.d.ts +2 -2
  239. package/package.json +2 -2
@@ -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,13 +40,17 @@ 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;
46
48
  fromSelection: boolean;
47
49
  } & import("../types").ActiveTool;
50
+ preferredSelectionTool: {
51
+ type: "selection" | "lasso";
52
+ initialized: boolean;
53
+ };
48
54
  penMode: boolean;
49
55
  penDetected: boolean;
50
56
  exportBackground: boolean;
@@ -53,19 +59,19 @@ export declare const actionToggleZenMode: {
53
59
  exportScale: number;
54
60
  currentItemStrokeColor: string;
55
61
  currentItemBackgroundColor: string;
56
- currentItemFillStyle: import("../../element/src/types").FillStyle;
62
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
57
63
  currentItemStrokeWidth: number;
58
- currentItemStrokeStyle: import("../../element/src/types").StrokeStyle;
64
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
59
65
  currentItemRoughness: number;
60
66
  currentItemOpacity: number;
61
- currentItemFontFamily: number;
67
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
62
68
  currentItemFontSize: number;
63
- currentItemTextAlign: string;
64
- currentItemStartArrowhead: import("../../element/src/types").Arrowhead | null;
65
- currentItemEndArrowhead: import("../../element/src/types").Arrowhead | null;
66
- currentHoveredFontFamily: number | null;
67
- currentItemRoundness: import("../../element/src/types").StrokeRoundness;
68
- 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";
69
75
  viewBackgroundColor: string;
70
76
  scrollX: number;
71
77
  scrollY: number;
@@ -74,28 +80,28 @@ export declare const actionToggleZenMode: {
74
80
  name: string | null;
75
81
  isResizing: boolean;
76
82
  isRotating: boolean;
77
- zoom: Readonly<{
78
- value: import("../types").NormalizedZoomValue;
79
- }>;
80
- openMenu: "canvas" | "shape" | null;
81
- openPopup: "fontFamily" | "canvasBackground" | "elementBackground" | "elementStroke" | null;
83
+ zoom: import("../types").Zoom;
84
+ openMenu: "canvas" | null;
85
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
82
86
  openSidebar: {
83
- name: string;
84
- tab?: string | undefined;
87
+ name: import("../types").SidebarName;
88
+ tab?: import("../types").SidebarTabName;
85
89
  } | null;
86
- openDialog: {
90
+ openDialog: null | {
87
91
  name: "imageExport" | "help" | "jsonExport";
88
92
  } | {
89
93
  name: "ttd";
90
- tab: "mermaid" | "text-to-diagram";
94
+ tab: "text-to-diagram" | "mermaid";
91
95
  } | {
92
96
  name: "commandPalette";
97
+ } | {
98
+ name: "settings";
93
99
  } | {
94
100
  name: "elementLinkSelector";
95
- sourceElementId: string;
96
- } | null;
101
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
102
+ };
97
103
  defaultSidebarDockedPreference: boolean;
98
- lastPointerDownWith: import("../../element/src/types").PointerType;
104
+ lastPointerDownWith: import("@excalidraw/element/types").PointerType;
99
105
  selectedElementIds: Readonly<{
100
106
  [id: string]: true;
101
107
  }>;
@@ -109,10 +115,10 @@ export declare const actionToggleZenMode: {
109
115
  shouldCacheIgnoreZoom: boolean;
110
116
  toast: {
111
117
  message: string;
112
- closable?: boolean | undefined;
113
- duration?: number | undefined;
118
+ closable?: boolean;
119
+ duration?: number;
114
120
  } | null;
115
- theme: import("../../element/src/types").Theme;
121
+ theme: import("@excalidraw/element/types").Theme;
116
122
  gridSize: number;
117
123
  gridStep: number;
118
124
  gridModeEnabled: boolean;
@@ -120,37 +126,18 @@ export declare const actionToggleZenMode: {
120
126
  selectedGroupIds: {
121
127
  [groupId: string]: boolean;
122
128
  };
123
- editingGroupId: string | null;
129
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
124
130
  width: number;
125
131
  height: number;
126
132
  offsetTop: number;
127
133
  offsetLeft: number;
128
134
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
129
- collaborators: Map<import("../types").SocketId, Readonly<{
130
- pointer?: import("../types").CollaboratorPointer | undefined;
131
- button?: "up" | "down" | undefined;
132
- selectedElementIds?: Readonly<{
133
- [id: string]: true;
134
- }> | undefined;
135
- username?: string | null | undefined;
136
- userState?: import("@excalidraw/common").UserIdleState | undefined;
137
- color?: {
138
- background: string;
139
- stroke: string;
140
- } | undefined;
141
- avatarUrl?: string | undefined;
142
- id?: string | undefined;
143
- socketId?: import("../types").SocketId | undefined;
144
- isCurrentUser?: boolean | undefined;
145
- isInCall?: boolean | undefined;
146
- isSpeaking?: boolean | undefined;
147
- isMuted?: boolean | undefined;
148
- }>>;
135
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
149
136
  stats: {
150
137
  open: boolean;
151
138
  panels: number;
152
139
  };
153
- currentChartType: import("../../element/src/types").ChartType;
140
+ currentChartType: import("@excalidraw/element/types").ChartType;
154
141
  pasteDialog: {
155
142
  shown: false;
156
143
  data: null;
@@ -158,7 +145,7 @@ export declare const actionToggleZenMode: {
158
145
  shown: true;
159
146
  data: import("../charts").Spreadsheet;
160
147
  };
161
- showHyperlinkPopup: false | "editor" | "info";
148
+ showHyperlinkPopup: false | "info" | "editor";
162
149
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
163
150
  snapLines: readonly import("../snapping").SnapLine[];
164
151
  originSnapOffset: {
@@ -169,20 +156,21 @@ export declare const actionToggleZenMode: {
169
156
  userToFollow: import("../types").UserToFollow | null;
170
157
  followedBy: Set<import("../types").SocketId>;
171
158
  isCropping: boolean;
172
- croppingElementId: string | null;
159
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
173
160
  searchMatches: Readonly<{
174
- focusedId: string | null;
161
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
175
162
  matches: readonly import("../types").SearchMatch[];
176
163
  }> | null;
177
164
  activeLockedId: string | null;
178
165
  lockedMultiSelections: {
179
166
  [groupId: string]: true;
180
167
  };
168
+ bindMode: import("@excalidraw/element/types").BindMode;
181
169
  };
182
170
  captureUpdate: "EVENTUALLY";
183
171
  };
184
172
  checked: (appState: Readonly<import("../types").AppState>) => boolean;
185
- predicate: (elements: readonly import("../../element/src/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps) => boolean;
173
+ predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
186
174
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
187
175
  } & {
188
176
  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
  };
@@ -2,13 +2,13 @@ export { actionDeleteSelected } from "./actionDeleteSelected";
2
2
  export { actionBringForward, actionBringToFront, actionSendBackward, actionSendToBack, } from "./actionZindex";
3
3
  export { actionSelectAll } from "./actionSelectAll";
4
4
  export { actionDuplicateSelection } from "./actionDuplicateSelection";
5
- export { actionChangeStrokeColor, actionChangeBackgroundColor, actionChangeStrokeWidth, actionChangeFillStyle, actionChangeSloppiness, actionChangeOpacity, actionChangeFontSize, actionChangeFontFamily, actionChangeTextAlign, actionChangeVerticalAlign, } from "./actionProperties";
5
+ export { actionChangeStrokeColor, actionChangeBackgroundColor, actionChangeStrokeWidth, actionChangeFillStyle, actionChangeSloppiness, actionChangeOpacity, actionChangeFontSize, actionChangeFontFamily, actionChangeTextAlign, actionChangeVerticalAlign, actionChangeArrowProperties, } from "./actionProperties";
6
6
  export { actionChangeViewBackgroundColor, actionClearCanvas, actionZoomIn, actionZoomOut, actionResetZoom, actionZoomToFit, actionToggleTheme, } from "./actionCanvas";
7
7
  export { actionSetEmbeddableAsActiveTool } from "./actionEmbeddable";
8
8
  export { actionFinalize } from "./actionFinalize";
9
9
  export { actionChangeProjectName, actionChangeExportBackground, actionSaveToActiveFile, actionSaveFileToDisk, actionLoadScene, } from "./actionExport";
10
10
  export { actionCopyStyles, actionPasteStyles } from "./actionStyles";
11
- export { actionToggleCanvasMenu, actionToggleEditMenu, actionShortcuts, } from "./actionMenu";
11
+ export { actionShortcuts } from "./actionMenu";
12
12
  export { actionGroup, actionUngroup } from "./actionGroup";
13
13
  export { actionGoToCollaborator } from "./actionNavigate";
14
14
  export { actionAddToLibrary } from "./actionAddToLibrary";
@@ -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,10 +11,10 @@ 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
- 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" | "changeOpacity" | "changeFontSize" | "toggleCanvasMenu" | "toggleEditMenu" | "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";
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";
18
18
  export type PanelComponentProps = {
19
19
  elements: readonly ExcalidrawElement[];
20
20
  appState: AppState;
@@ -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,59 +13,63 @@ 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
+ bindMode?: import("@excalidraw/element/types").BindMode | undefined;
29
+ gridSize?: number | undefined;
30
+ showWelcomeScreen?: boolean | undefined;
31
+ preferredSelectionTool?: {
32
+ type: "selection" | "lasso";
33
+ initialized: boolean;
34
+ } | undefined;
27
35
  penMode?: boolean | undefined;
28
36
  penDetected?: boolean | undefined;
29
37
  exportBackground?: boolean | undefined;
30
38
  exportEmbedScene?: boolean | undefined;
31
39
  exportWithDarkMode?: boolean | undefined;
32
- exportScale?: number | undefined;
33
40
  currentItemStrokeColor?: string | undefined;
34
41
  currentItemBackgroundColor?: string | undefined;
35
- currentItemFillStyle?: import("../element/src/types").FillStyle | undefined;
42
+ currentItemFillStyle?: import("@excalidraw/element/types").FillStyle | undefined;
36
43
  currentItemStrokeWidth?: number | undefined;
37
- currentItemStrokeStyle?: import("../element/src/types").StrokeStyle | undefined;
44
+ currentItemStrokeStyle?: import("@excalidraw/element/types").StrokeStyle | undefined;
38
45
  currentItemRoughness?: number | undefined;
39
46
  currentItemOpacity?: number | undefined;
40
47
  currentItemFontFamily?: number | undefined;
41
48
  currentItemFontSize?: number | undefined;
42
49
  currentItemTextAlign?: string | undefined;
43
- currentItemStartArrowhead?: import("../element/src/types").Arrowhead | null | undefined;
44
- currentItemEndArrowhead?: import("../element/src/types").Arrowhead | null | undefined;
45
- currentItemRoundness?: import("../element/src/types").StrokeRoundness | undefined;
50
+ currentItemStartArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
51
+ currentItemEndArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
52
+ currentItemRoundness?: import("@excalidraw/element/types").StrokeRoundness | undefined;
46
53
  currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
47
54
  cursorButton?: "up" | "down" | undefined;
48
55
  scrolledOutside?: boolean | undefined;
49
- openMenu?: "canvas" | "shape" | null | undefined;
56
+ openMenu?: "canvas" | null | undefined;
50
57
  openSidebar?: {
51
- name: string;
52
- tab?: string | undefined;
58
+ name: import("./types").SidebarName;
59
+ tab?: import("./types").SidebarTabName;
53
60
  } | null | undefined;
54
61
  defaultSidebarDockedPreference?: boolean | undefined;
55
- lastPointerDownWith?: import("../element/src/types").PointerType | undefined;
62
+ lastPointerDownWith?: import("@excalidraw/element/types").PointerType | undefined;
56
63
  previousSelectedElementIds?: {
57
64
  [id: string]: true;
58
65
  } | undefined;
59
- shouldCacheIgnoreZoom?: boolean | undefined;
60
- gridSize?: number | undefined;
61
66
  gridStep?: number | undefined;
62
67
  gridModeEnabled?: boolean | undefined;
63
68
  stats?: {
64
69
  open: boolean;
65
70
  panels: number;
66
71
  } | undefined;
67
- currentChartType?: import("../element/src/types").ChartType | undefined;
72
+ currentChartType?: import("@excalidraw/element/types").ChartType | undefined;
68
73
  objectsSnapModeEnabled?: boolean | undefined;
69
74
  lockedMultiSelections?: {
70
75
  [groupId: string]: true;
@@ -1,5 +1,8 @@
1
1
  import { ALLOWED_PASTE_MIME_TYPES } from "@excalidraw/common";
2
+ import type { ValueOf } from "@excalidraw/common/utility-types";
3
+ import type { IMAGE_MIME_TYPES, STRING_MIME_TYPES } from "@excalidraw/common";
2
4
  import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
5
+ import type { FileSystemHandle } from "./data/filesystem";
3
6
  import type { Spreadsheet } from "./charts";
4
7
  import type { BinaryFiles } from "./types";
5
8
  export type PastedMixedContent = {
@@ -20,26 +23,16 @@ export declare const probablySupportsClipboardReadText: boolean;
20
23
  export declare const probablySupportsClipboardWriteText: boolean;
21
24
  export declare const probablySupportsClipboardBlob: boolean;
22
25
  export declare const createPasteEvent: ({ types, files, }: {
23
- types?: {
24
- "text/plain"?: string | File | undefined;
25
- "text/html"?: string | File | undefined;
26
- "image/svg+xml"?: string | File | undefined;
27
- "image/png"?: string | File | undefined;
28
- "image/jpeg"?: string | File | undefined;
29
- "image/gif"?: string | File | undefined;
30
- "image/webp"?: string | File | undefined;
31
- "image/bmp"?: string | File | undefined;
32
- "image/x-icon"?: string | File | undefined;
33
- "image/avif"?: string | File | undefined;
34
- "image/jfif"?: string | File | undefined;
35
- } | undefined;
36
- files?: File[] | undefined;
26
+ types?: { [key in AllowedPasteMimeTypes]?: string | File; };
27
+ files?: File[];
37
28
  }) => ClipboardEvent;
38
29
  export declare const serializeAsClipboardJSON: ({ elements, files, }: {
39
30
  elements: readonly NonDeletedExcalidrawElement[];
40
31
  files: BinaryFiles | null;
41
32
  }) => string;
42
- export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawElement[], files: BinaryFiles | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
33
+ export declare const copyToClipboard: (elements: readonly NonDeletedExcalidrawElement[], files: BinaryFiles | null,
34
+ /** supply if available to make the operation more certain to succeed */
35
+ clipboardEvent?: ClipboardEvent | null) => Promise<void>;
43
36
  /**
44
37
  * Reads OS clipboard programmatically. May not work on all browsers.
45
38
  * Will prompt user for permission if not granted.
@@ -57,10 +50,58 @@ export declare const readSystemClipboard: () => Promise<{
57
50
  "image/avif"?: string | File | undefined;
58
51
  "image/jfif"?: string | File | undefined;
59
52
  }>;
53
+ type AllowedParsedDataTransferItem = {
54
+ type: ValueOf<typeof IMAGE_MIME_TYPES>;
55
+ kind: "file";
56
+ file: File;
57
+ fileHandle: FileSystemHandle | null;
58
+ } | {
59
+ type: ValueOf<typeof STRING_MIME_TYPES>;
60
+ kind: "string";
61
+ value: string;
62
+ };
63
+ type ParsedDataTransferItem = {
64
+ type: string;
65
+ kind: "file";
66
+ file: File;
67
+ fileHandle: FileSystemHandle | null;
68
+ } | {
69
+ type: string;
70
+ kind: "string";
71
+ value: string;
72
+ };
73
+ type ParsedDataTransferItemType<T extends AllowedParsedDataTransferItem["type"]> = AllowedParsedDataTransferItem & {
74
+ type: T;
75
+ };
76
+ export type ParsedDataTransferFile = Extract<AllowedParsedDataTransferItem, {
77
+ kind: "file";
78
+ }>;
79
+ export type ParsedDataTranferList = ParsedDataTransferItem[] & {
80
+ /**
81
+ * Only allows filtering by known `string` data types, since `file`
82
+ * types can have multiple items of the same type (e.g. multiple image files)
83
+ * unlike `string` data transfer items.
84
+ */
85
+ findByType: typeof findDataTransferItemType;
86
+ /**
87
+ * Only allows filtering by known `string` data types, since `file`
88
+ * types can have multiple items of the same type (e.g. multiple image files)
89
+ * unlike `string` data transfer items.
90
+ */
91
+ getData: typeof getDataTransferItemData;
92
+ getFiles: typeof getDataTransferFiles;
93
+ };
94
+ declare const findDataTransferItemType: <T extends ValueOf<typeof STRING_MIME_TYPES>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<T> | null;
95
+ declare const getDataTransferItemData: <T extends ValueOf<typeof STRING_MIME_TYPES>>(this: ParsedDataTranferList, type: T) => ParsedDataTransferItemType<ValueOf<typeof STRING_MIME_TYPES>>["value"] | null;
96
+ declare const getDataTransferFiles: (this: ParsedDataTranferList) => ParsedDataTransferFile[];
97
+ /** @returns list of MIME types, synchronously */
98
+ export declare const parseDataTransferEventMimeTypes: (event: ClipboardEvent | DragEvent | React.DragEvent<HTMLDivElement>) => Set<string>;
99
+ export declare const parseDataTransferEvent: (event: ClipboardEvent | DragEvent | React.DragEvent<HTMLDivElement>) => Promise<ParsedDataTranferList>;
60
100
  /**
61
101
  * Attempts to parse clipboard event.
62
102
  */
63
- export declare const parseClipboard: (event: ClipboardEvent, isPlainPaste?: boolean) => Promise<ClipboardData>;
103
+ export declare const parseClipboard: (dataList: ParsedDataTranferList, isPlainPaste?: boolean) => Promise<ClipboardData>;
64
104
  export declare const copyBlobToClipboardAsPng: (blob: Blob | Promise<Blob>) => Promise<void>;
65
- export declare const copyTextToSystemClipboard: (text: string | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
105
+ export declare const copyTextToSystemClipboard: <MimeType extends ValueOf<typeof STRING_MIME_TYPES>>(text: string | { [K in MimeType]: string; } | null, clipboardEvent?: ClipboardEvent | null) => Promise<void>;
106
+ export declare const isClipboardEvent: (event: React.SyntheticEvent | Event) => event is ClipboardEvent;
66
107
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { ExcalidrawElement, NonDeletedElementsMap, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
2
  import "./Actions.scss";
3
- import type { AppClassProperties, AppProps, UIAppState, Zoom } from "../types";
3
+ import type { AppClassProperties, AppProps, UIAppState, Zoom, AppState } from "../types";
4
4
  import type { ActionManager } from "../actions/manager";
5
5
  export declare const canChangeStrokeColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
6
6
  export declare const canChangeBackgroundColor: (appState: UIAppState, targetElements: ExcalidrawElement[]) => boolean;
@@ -10,9 +10,23 @@ export declare const SelectedShapeActions: ({ appState, elementsMap, renderActio
10
10
  renderAction: ActionManager["renderAction"];
11
11
  app: AppClassProperties;
12
12
  }) => import("react/jsx-runtime").JSX.Element;
13
- export declare const ShapesSwitcher: ({ activeTool, appState, app, UIOptions, }: {
14
- activeTool: UIAppState["activeTool"];
13
+ export declare const CompactShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
15
14
  appState: UIAppState;
15
+ elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
16
+ renderAction: ActionManager["renderAction"];
17
+ app: AppClassProperties;
18
+ setAppState: React.Component<any, AppState>["setState"];
19
+ }) => import("react/jsx-runtime").JSX.Element;
20
+ export declare const MobileShapeActions: ({ appState, elementsMap, renderAction, app, setAppState, }: {
21
+ appState: UIAppState;
22
+ elementsMap: NonDeletedElementsMap | NonDeletedSceneElementsMap;
23
+ renderAction: ActionManager["renderAction"];
24
+ app: AppClassProperties;
25
+ setAppState: React.Component<any, AppState>["setState"];
26
+ }) => import("react/jsx-runtime").JSX.Element;
27
+ export declare const ShapesSwitcher: ({ activeTool, setAppState, app, UIOptions, }: {
28
+ activeTool: UIAppState["activeTool"];
29
+ setAppState: React.Component<any, AppState>["setState"];
16
30
  app: AppClassProperties;
17
31
  UIOptions: AppProps["UIOptions"];
18
32
  }) => import("react/jsx-runtime").JSX.Element;
@@ -22,9 +36,12 @@ export declare const ZoomActions: ({ renderAction, zoom, }: {
22
36
  }) => import("react/jsx-runtime").JSX.Element;
23
37
  export declare const UndoRedoActions: ({ renderAction, className, }: {
24
38
  renderAction: ActionManager["renderAction"];
25
- className?: string | undefined;
39
+ className?: string;
26
40
  }) => import("react/jsx-runtime").JSX.Element;
27
- export declare const ExitZenModeAction: ({ actionManager, showExitZenModeBtn, }: {
41
+ export declare const ExitZenModeButton: ({ actionManager, showExitZenModeBtn, }: {
28
42
  actionManager: ActionManager;
29
43
  showExitZenModeBtn: boolean;
30
44
  }) => import("react/jsx-runtime").JSX.Element;
45
+ export declare const ExitViewModeButton: ({ actionManager, }: {
46
+ actionManager: ActionManager;
47
+ }) => import("react/jsx-runtime").JSX.Element;