@zsviczian/excalidraw 0.14.2-obsidian-3 → 0.14.2-obsidian-4

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 (241) hide show
  1. package/dist/.DS_Store +0 -0
  2. package/dist/excalidraw.development.js +184 -184
  3. package/dist/excalidraw.production.min.js +1 -1
  4. package/package.json +1 -1
  5. package/types/actions/actionAddToLibrary.d.ts +372 -369
  6. package/types/actions/actionAlign.d.ts +91 -91
  7. package/types/actions/actionBoundText.d.ts +284 -164
  8. package/types/actions/actionCanvas.d.ts +1315 -1305
  9. package/types/actions/actionClipboard.d.ts +717 -712
  10. package/types/actions/actionDeleteSelected.d.ts +409 -406
  11. package/types/actions/actionDistribute.d.ts +33 -33
  12. package/types/actions/actionDuplicateSelection.d.ts +22 -22
  13. package/types/actions/actionExport.d.ts +1181 -1172
  14. package/types/actions/actionFinalize.d.ts +256 -254
  15. package/types/actions/actionFlip.d.ts +35 -35
  16. package/types/actions/actionGroup.d.ts +45 -45
  17. package/types/actions/actionHistory.d.ts +6 -6
  18. package/types/actions/actionLinearEditor.d.ts +135 -134
  19. package/types/actions/actionMenu.d.ts +410 -407
  20. package/types/actions/actionNavigate.d.ts +14 -14
  21. package/types/actions/actionProperties.d.ts +1714 -1701
  22. package/types/actions/actionSelectAll.d.ts +16 -16
  23. package/types/actions/actionStyles.d.ts +149 -148
  24. package/types/actions/actionToggleGridMode.d.ts +138 -137
  25. package/types/actions/actionToggleLock.d.ts +135 -134
  26. package/types/actions/actionToggleStats.d.ts +135 -134
  27. package/types/actions/actionToggleViewMode.d.ts +137 -136
  28. package/types/actions/actionToggleZenMode.d.ts +137 -136
  29. package/types/actions/actionZindex.d.ts +67 -67
  30. package/types/actions/index.d.ts +24 -24
  31. package/types/actions/manager.d.ts +21 -21
  32. package/types/actions/register.d.ts +5 -5
  33. package/types/actions/shortcuts.d.ts +4 -4
  34. package/types/actions/types.d.ts +44 -44
  35. package/types/align.d.ts +6 -6
  36. package/types/analytics.d.ts +1 -1
  37. package/types/appState.d.ts +78 -78
  38. package/types/charts.d.ts +27 -27
  39. package/types/clients.d.ts +6 -6
  40. package/types/clipboard.d.ts +25 -25
  41. package/types/colors.d.ts +6 -6
  42. package/types/components/Actions.d.ts +36 -36
  43. package/types/components/ActiveConfirmDialog.d.ts +24 -24
  44. package/types/components/App.d.ts +248 -248
  45. package/types/components/Avatar.d.ts +11 -11
  46. package/types/components/BraveMeasureTextError.d.ts +2 -2
  47. package/types/components/Button.d.ts +15 -15
  48. package/types/components/ButtonIconSelect.d.ts +11 -11
  49. package/types/components/Card.d.ts +7 -7
  50. package/types/components/CheckboxItem.d.ts +8 -8
  51. package/types/components/ColorPicker.d.ts +19 -19
  52. package/types/components/ConfirmDialog.d.ts +10 -10
  53. package/types/components/ContextMenu.d.ts +15 -15
  54. package/types/components/DarkModeToggle.d.ts +7 -7
  55. package/types/components/Dialog.d.ts +14 -14
  56. package/types/components/DialogActionButton.d.ts +10 -10
  57. package/types/components/ErrorDialog.d.ts +5 -5
  58. package/types/components/FixedSideContainer.d.ts +9 -9
  59. package/types/components/HandButton.d.ts +10 -10
  60. package/types/components/HelpButton.d.ts +7 -7
  61. package/types/components/HelpDialog.d.ts +4 -4
  62. package/types/components/HintViewer.d.ts +11 -11
  63. package/types/components/IconPicker.d.ts +13 -13
  64. package/types/components/ImageExportDialog.d.ts +18 -18
  65. package/types/components/InitializeApp.d.ts +10 -10
  66. package/types/components/Island.d.ts +10 -10
  67. package/types/components/JSONExportDialog.d.ts +15 -15
  68. package/types/components/LayerUI.d.ts +37 -37
  69. package/types/components/LibraryButton.d.ts +8 -8
  70. package/types/components/LibraryMenu.d.ts +25 -25
  71. package/types/components/LibraryMenuBrowseButton.d.ts +7 -7
  72. package/types/components/LibraryMenuHeaderContent.d.ts +35 -35
  73. package/types/components/LibraryMenuItems.d.ts +15 -15
  74. package/types/components/LibraryUnit.d.ts +11 -11
  75. package/types/components/LoadingMessage.d.ts +6 -6
  76. package/types/components/LockButton.d.ts +10 -10
  77. package/types/components/MobileMenu.d.ts +26 -26
  78. package/types/components/Modal.d.ts +13 -12
  79. package/types/components/PasteChartDialog.d.ts +9 -9
  80. package/types/components/PenModeButton.d.ts +12 -12
  81. package/types/components/Popover.d.ts +15 -15
  82. package/types/components/ProjectName.d.ts +10 -10
  83. package/types/components/PublishLibrary.d.ts +16 -16
  84. package/types/components/Section.d.ts +6 -6
  85. package/types/components/Sidebar/Sidebar.d.ts +73 -73
  86. package/types/components/Sidebar/SidebarHeader.d.ts +20 -20
  87. package/types/components/Sidebar/common.d.ts +16 -16
  88. package/types/components/SingleLibraryItem.d.ts +10 -10
  89. package/types/components/Spinner.d.ts +6 -6
  90. package/types/components/Stack.d.ts +15 -15
  91. package/types/components/Stats.d.ts +11 -11
  92. package/types/components/Toast.d.ts +7 -7
  93. package/types/components/ToolButton.d.ts +46 -46
  94. package/types/components/Tooltip.d.ts +17 -17
  95. package/types/components/UserList.d.ts +8 -8
  96. package/types/components/context/tunnels.d.ts +16 -16
  97. package/types/components/dropdownMenu/DropdownMenu.d.ts +66 -66
  98. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  99. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  100. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -12
  101. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -6
  102. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -6
  103. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -13
  104. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  105. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +9 -9
  106. package/types/components/dropdownMenu/common.d.ts +6 -6
  107. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  108. package/types/components/footer/Footer.d.ts +12 -12
  109. package/types/components/footer/FooterCenter.d.ts +8 -8
  110. package/types/components/hoc/withInternalFallback.d.ts +4 -4
  111. package/types/components/hoc/withUpstreamOverride.d.ts +10 -10
  112. package/types/components/icons.d.ts +142 -142
  113. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
  114. package/types/components/main-menu/DefaultItems.d.ts +44 -44
  115. package/types/components/main-menu/MainMenu.d.ts +60 -60
  116. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
  117. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  118. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -85
  119. package/types/constants.d.ts +170 -170
  120. package/types/data/blob.d.ts +48 -48
  121. package/types/data/encode.d.ts +53 -53
  122. package/types/data/encryption.d.ts +9 -9
  123. package/types/data/filesystem.d.ts +18 -18
  124. package/types/data/image.d.ts +15 -15
  125. package/types/data/index.d.ts +13 -13
  126. package/types/data/json.d.ts +16 -16
  127. package/types/data/library.d.ts +96 -96
  128. package/types/data/resave.d.ts +5 -5
  129. package/types/data/restore.d.ts +21 -21
  130. package/types/data/types.d.ts +47 -47
  131. package/types/distribute.d.ts +6 -6
  132. package/types/element/Hyperlink.d.ts +155 -154
  133. package/types/element/binding.d.ts +33 -33
  134. package/types/element/bounds.d.ts +28 -28
  135. package/types/element/collision.d.ts +21 -21
  136. package/types/element/dragElements.d.ts +5 -5
  137. package/types/element/image.d.ts +22 -22
  138. package/types/element/index.d.ts +20 -20
  139. package/types/element/linearElementEditor.d.ts +273 -272
  140. package/types/element/mutateElement.d.ts +12 -12
  141. package/types/element/newElement.d.ts +65 -65
  142. package/types/element/resizeElements.d.ts +8 -8
  143. package/types/element/resizeTest.d.ts +13 -13
  144. package/types/element/showSelectedShapeActions.d.ts +3 -3
  145. package/types/element/sizeHelpers.d.ts +21 -21
  146. package/types/element/sortElements.d.ts +2 -2
  147. package/types/element/textElement.d.ts +73 -73
  148. package/types/element/textWysiwyg.d.ts +21 -21
  149. package/types/element/transformHandles.d.ts +28 -28
  150. package/types/element/typeChecks.d.ts +27 -27
  151. package/types/element/types.d.ts +149 -149
  152. package/types/errors.d.ts +8 -8
  153. package/types/ga.d.ts +63 -63
  154. package/types/gadirections.d.ts +8 -8
  155. package/types/galines.d.ts +22 -22
  156. package/types/gapoints.d.ts +7 -7
  157. package/types/gatransforms.d.ts +10 -10
  158. package/types/gesture.d.ts +6 -6
  159. package/types/groups.d.ts +27 -27
  160. package/types/history.d.ts +52 -52
  161. package/types/hooks/useCallbackRefState.d.ts +1 -1
  162. package/types/hooks/useOutsideClick.d.ts +2 -2
  163. package/types/i18n.d.ts +21 -21
  164. package/types/jotai.d.ts +122 -122
  165. package/types/keys.d.ts +77 -77
  166. package/types/math.d.ts +29 -29
  167. package/types/packages/common.webpack.dev.config.d.ts +72 -71
  168. package/types/packages/common.webpack.prod.config.d.ts +84 -83
  169. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +4 -4
  170. package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  171. package/types/packages/excalidraw/entry.d.ts +1 -1
  172. package/types/packages/excalidraw/env.d.ts +1 -1
  173. package/types/packages/excalidraw/example/App.d.ts +14 -14
  174. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -5
  175. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -5
  176. package/types/packages/excalidraw/example/index.d.ts +1 -1
  177. package/types/packages/excalidraw/example/initialData.d.ts +172 -172
  178. package/types/packages/excalidraw/example/sidebar/ExampleSidebar.d.ts +5 -5
  179. package/types/packages/excalidraw/index.d.ts +35 -35
  180. package/types/packages/excalidraw/main.d.ts +2 -2
  181. package/types/packages/excalidraw/publicPath.d.ts +1 -1
  182. package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
  183. package/types/packages/excalidraw/webpack.dev.config.d.ts +69 -68
  184. package/types/packages/excalidraw/webpack.prod.config.d.ts +78 -77
  185. package/types/packages/utils.d.ts +42 -42
  186. package/types/points.d.ts +7 -7
  187. package/types/polyfill.d.ts +2 -2
  188. package/types/random.d.ts +4 -4
  189. package/types/renderer/easingFunctions.d.ts +6 -6
  190. package/types/renderer/renderElement.d.ts +35 -35
  191. package/types/renderer/renderScene.d.ts +41 -41
  192. package/types/renderer/roundRect.d.ts +11 -11
  193. package/types/scene/Fonts.d.ts +21 -21
  194. package/types/scene/Scene.d.ts +40 -40
  195. package/types/scene/comparisons.d.ts +10 -10
  196. package/types/scene/export.d.ts +20 -20
  197. package/types/scene/index.d.ts +5 -5
  198. package/types/scene/scroll.d.ts +17 -17
  199. package/types/scene/scrollbars.d.ts +16 -16
  200. package/types/scene/selection.d.ts +11 -11
  201. package/types/scene/types.d.ts +59 -59
  202. package/types/scene/zoom.d.ts +13 -13
  203. package/types/shapes.d.ts +62 -62
  204. package/types/types.d.ts +442 -441
  205. package/types/utility-types.d.ts +22 -22
  206. package/types/utils.d.ts +162 -163
  207. package/types/zindex.d.ts +6 -6
  208. package/types/bug-issue-template.d.ts +0 -2
  209. package/types/components/ActiveFile.d.ts +0 -7
  210. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -4
  211. package/types/components/ClearCanvas.d.ts +0 -4
  212. package/types/components/CollabButton.d.ts +0 -7
  213. package/types/components/EncryptedIcon.d.ts +0 -2
  214. package/types/components/Footer.d.ts +0 -10
  215. package/types/components/HelpIcon.d.ts +0 -8
  216. package/types/components/MenuItem.d.ts +0 -11
  217. package/types/components/MenuUtils.d.ts +0 -2
  218. package/types/components/SidebarLockButton.d.ts +0 -8
  219. package/types/components/TopErrorBoundary.d.ts +0 -15
  220. package/types/components/WelcomeScreen.d.ts +0 -8
  221. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  222. package/types/components/mainMenu/DefaultItems.d.ts +0 -44
  223. package/types/components/mainMenu/MainMenu.d.ts +0 -63
  224. package/types/excalidraw-app/CustomStats.d.ts +0 -9
  225. package/types/excalidraw-app/app_constants.d.ts +0 -32
  226. package/types/excalidraw-app/collab/Collab.d.ts +0 -163
  227. package/types/excalidraw-app/collab/Portal.d.ts +0 -28
  228. package/types/excalidraw-app/collab/RoomDialog.d.ts +0 -13
  229. package/types/excalidraw-app/collab/reconciliation.d.ts +0 -10
  230. package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +0 -9
  231. package/types/excalidraw-app/components/LanguageList.d.ts +0 -4
  232. package/types/excalidraw-app/components/icons.d.ts +0 -1
  233. package/types/excalidraw-app/data/FileManager.d.ts +0 -66
  234. package/types/excalidraw-app/data/LocalData.d.ts +0 -32
  235. package/types/excalidraw-app/data/Locker.d.ts +0 -8
  236. package/types/excalidraw-app/data/firebase.d.ts +0 -25
  237. package/types/excalidraw-app/data/index.d.ts +0 -190
  238. package/types/excalidraw-app/data/localStorage.d.ts +0 -116
  239. package/types/excalidraw-app/data/tabSync.d.ts +0 -9
  240. package/types/excalidraw-app/index.d.ts +0 -26
  241. package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +0 -5
@@ -1,248 +1,248 @@
1
- import React from "react";
2
- import { RoughCanvas } from "roughjs/bin/canvas";
3
- import { ActionManager } from "../actions/manager";
4
- import { RestoredDataState } from "../data/restore";
5
- import { LinearElementEditor } from "../element/linearElementEditor";
6
- import { ExcalidrawElement, ExcalidrawLinearElement, NonDeletedExcalidrawElement } from "../element/types";
7
- import History from "../history";
8
- import Scene from "../scene/Scene";
9
- import { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device } from "../types";
10
- import { FileSystemHandle } from "../data/filesystem";
11
- import { ImportedDataState } from "../data/types";
12
- export declare let showFourthFont: boolean;
13
- export declare const ExcalidrawContainerContext: React.Context<{
14
- container: HTMLDivElement | null;
15
- id: string | null;
16
- }>;
17
- export declare const useDevice: () => Readonly<{
18
- isSmScreen: boolean;
19
- isMobile: boolean;
20
- isTouchScreen: boolean;
21
- canDeviceFitSidebar: boolean;
22
- }>;
23
- export declare const useExcalidrawContainer: () => {
24
- container: HTMLDivElement | null;
25
- id: string | null;
26
- };
27
- export declare const useExcalidrawElements: () => readonly NonDeletedExcalidrawElement[];
28
- export declare const useExcalidrawAppState: () => AppState;
29
- export declare const useExcalidrawSetAppState: () => <K extends keyof AppState>(state: AppState | ((prevState: Readonly<AppState>, props: Readonly<any>) => AppState | Pick<AppState, K> | null) | Pick<AppState, K> | null, callback?: (() => void) | undefined) => void;
30
- export declare const useExcalidrawActionManager: () => ActionManager;
31
- declare class App extends React.Component<AppProps, AppState> {
32
- canvas: AppClassProperties["canvas"];
33
- rc: RoughCanvas | null;
34
- unmounted: boolean;
35
- actionManager: ActionManager;
36
- device: Device;
37
- detachIsMobileMqHandler?: () => void;
38
- private excalidrawContainerRef;
39
- static defaultProps: Partial<AppProps>;
40
- scene: Scene;
41
- private fonts;
42
- private resizeObserver;
43
- private nearestScrollableContainer;
44
- library: AppClassProperties["library"];
45
- libraryItemsFromStorage: LibraryItems | undefined;
46
- private id;
47
- private history;
48
- private excalidrawContainerValue;
49
- files: BinaryFiles;
50
- imageCache: AppClassProperties["imageCache"];
51
- hitLinkElement?: NonDeletedExcalidrawElement;
52
- lastPointerDown: React.PointerEvent<HTMLCanvasElement> | null;
53
- lastPointerUp: React.PointerEvent<HTMLElement> | PointerEvent | null;
54
- lastScenePointer: {
55
- x: number;
56
- y: number;
57
- } | null;
58
- allowMobileMode: boolean;
59
- constructor(props: AppProps);
60
- private renderCanvas;
61
- render(): JSX.Element;
62
- focusContainer: AppClassProperties["focusContainer"];
63
- getSceneElementsIncludingDeleted: () => readonly ExcalidrawElement[];
64
- getSceneElements: () => readonly NonDeletedExcalidrawElement[];
65
- private syncActionResult;
66
- private onBlur;
67
- private onUnload;
68
- private disableEvent;
69
- private resetHistory;
70
- /**
71
- * Resets scene & history.
72
- * ! Do not use to clear scene user action !
73
- */
74
- private resetScene;
75
- private initializeScene;
76
- private refreshDeviceState;
77
- componentDidMount(): Promise<void>;
78
- componentWillUnmount(): void;
79
- private onResize;
80
- private removeEventListeners;
81
- private addEventListeners;
82
- componentDidUpdate(prevProps: AppProps, prevState: AppState): void;
83
- private renderScene;
84
- private onScroll;
85
- private onCut;
86
- private onCopy;
87
- private cutAll;
88
- private copyAll;
89
- private static resetTapTwice;
90
- private onTapStart;
91
- private onTapEnd;
92
- pasteFromClipboard: (event: ClipboardEvent | null) => Promise<void>;
93
- private addElementsFromPasteOrLibrary;
94
- private addTextFromPaste;
95
- setAppState: React.Component<any, AppState>["setState"];
96
- removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
97
- toggleLock: (source?: "keyboard" | "ui") => void;
98
- togglePenMode: () => void;
99
- onHandToolToggle: () => void;
100
- /**
101
- * Zooms on canvas viewport center
102
- */
103
- zoomCanvas: (value: number) => void;
104
- private cancelInProgresAnimation;
105
- scrollToContent: (target?: ExcalidrawElement | readonly ExcalidrawElement[], opts?: {
106
- fitToContent?: boolean;
107
- animate?: boolean;
108
- duration?: number;
109
- }) => void;
110
- /** use when changing scrollX/scrollY/zoom based on user interaction */
111
- private translateCanvas;
112
- zoomToFit: (target?: readonly ExcalidrawElement[], maxZoom?: number, margin?: number) => void;
113
- startLineEditor: (el: ExcalidrawLinearElement, selectedPointsIndices?: number[] | null) => void;
114
- updateContainerSize: (containers: NonDeletedExcalidrawElement[]) => void;
115
- restore: (data: ImportedDataState) => RestoredDataState;
116
- setToast: (toast: {
117
- message: string;
118
- closable?: boolean;
119
- duration?: number;
120
- } | null) => void;
121
- restoreFileFromShare: () => Promise<void>;
122
- /** adds supplied files to existing files in the appState */
123
- addFiles: ExcalidrawImperativeAPI["addFiles"];
124
- setMobileModeAllowed: ExcalidrawImperativeAPI["setMobileModeAllowed"];
125
- setLocalFont: ExcalidrawImperativeAPI["setLocalFont"];
126
- selectElements: ExcalidrawImperativeAPI["selectElements"];
127
- bringToFront: ExcalidrawImperativeAPI["bringToFront"];
128
- bringForward: ExcalidrawImperativeAPI["bringForward"];
129
- sendToBack: ExcalidrawImperativeAPI["sendToBack"];
130
- sendBackward: ExcalidrawImperativeAPI["sendBackward"];
131
- updateScene: <K extends keyof AppState>(sceneData: {
132
- elements?: SceneData["elements"];
133
- appState?: Pick<AppState, K> | null | undefined;
134
- collaborators?: SceneData["collaborators"];
135
- commitToHistory?: SceneData["commitToHistory"];
136
- }) => void;
137
- private onSceneUpdated;
138
- /**
139
- * @returns whether the menu was toggled on or off
140
- */
141
- toggleMenu: (type: "library" | "customSidebar", force?: boolean) => boolean;
142
- private updateCurrentCursorPosition;
143
- private onKeyDown;
144
- private onWheel;
145
- private onKeyUp;
146
- private setActiveTool;
147
- private setCursor;
148
- private resetCursor;
149
- /**
150
- * returns whether user is making a gesture with >= 2 fingers (points)
151
- * on o touch screen (not on a trackpad). Currently only relates to Darwin
152
- * (iOS/iPadOS,MacOS), but may work on other devices in the future if
153
- * GestureEvent is standardized.
154
- */
155
- private isTouchScreenMultiTouchGesture;
156
- private onGestureStart;
157
- private onGestureChange;
158
- private onGestureEnd;
159
- private handleTextWysiwyg;
160
- private deselectElements;
161
- private getTextElementAtPosition;
162
- private getElementAtPosition;
163
- private getElementsAtPosition;
164
- private startTextEditing;
165
- private handleCanvasDoubleClick;
166
- private getElementLinkAtPosition;
167
- private redirectToLink;
168
- private handleCanvasPointerMove;
169
- private handleEraser;
170
- private handleTouchMove;
171
- handleHoverSelectedLinearElement(linearElementEditor: LinearElementEditor, scenePointerX: number, scenePointerY: number): void;
172
- private handleCanvasPointerDown;
173
- private handleCanvasPointerUp;
174
- private maybeOpenContextMenuAfterPointerDownOnTouchDevices;
175
- private resetContextMenuTimer;
176
- private maybeCleanupAfterMissingPointerUp;
177
- private handleCanvasPanUsingWheelOrSpaceDrag;
178
- private updateGestureOnPointerDown;
179
- private initialPointerDownState;
180
- private handleDraggingScrollBar;
181
- private clearSelectionIfNotUsingSelection;
182
- /**
183
- * @returns whether the pointer event has been completely handled
184
- */
185
- private handleSelectionOnPointerDown;
186
- private isASelectedElement;
187
- private isHittingCommonBoundingBoxOfSelectedElements;
188
- private handleTextOnPointerDown;
189
- private handleFreeDrawElementOnPointerDown;
190
- private createImageElement;
191
- private handleLinearElementOnPointerDown;
192
- private createGenericElementOnPointerDown;
193
- private onKeyDownFromPointerDownHandler;
194
- private onKeyUpFromPointerDownHandler;
195
- private onPointerMoveFromPointerDownHandler;
196
- private handlePointerMoveOverScrollbars;
197
- private onPointerUpFromPointerDownHandler;
198
- private restoreReadyToEraseElements;
199
- private eraseElements;
200
- private initializeImage;
201
- /**
202
- * inserts image into elements array and rerenders
203
- */
204
- private insertImageElement;
205
- private setImagePreviewCursor;
206
- private onImageAction;
207
- private initializeImageDimensions;
208
- /** updates image cache, refreshing updated elements and/or setting status
209
- to error for images that fail during <img> element creation */
210
- private updateImageCache;
211
- /** adds new images to imageCache and re-renders if needed */
212
- private addNewImagesToImageCache;
213
- /** generally you should use `addNewImagesToImageCache()` directly if you need
214
- * to render new images. This is just a failsafe */
215
- private scheduleImageRefresh;
216
- private updateBindingEnabledOnPointerMove;
217
- private maybeSuggestBindingAtCursor;
218
- private maybeSuggestBindingsForLinearElementAtCoords;
219
- private maybeSuggestBindingForAll;
220
- private clearSelection;
221
- private handleCanvasRef;
222
- private handleAppOnDrop;
223
- loadFileToCanvas: (file: File, fileHandle: FileSystemHandle | null) => Promise<void>;
224
- private handleCanvasContextMenu;
225
- private maybeDragNewGenericElement;
226
- private maybeHandleResize;
227
- private getContextMenuItems;
228
- private handleWheel;
229
- private getTextWysiwygSnappedToCenterPosition;
230
- private savePointer;
231
- private resetShouldCacheIgnoreZoomDebounced;
232
- private updateDOMRect;
233
- refresh: () => void;
234
- private getCanvasOffsets;
235
- private updateLanguage;
236
- }
237
- declare global {
238
- interface Window {
239
- h: {
240
- elements: readonly ExcalidrawElement[];
241
- state: AppState;
242
- setState: React.Component<any, AppState>["setState"];
243
- app: InstanceType<typeof App>;
244
- history: History;
245
- };
246
- }
247
- }
248
- export default App;
1
+ import React from "react";
2
+ import { RoughCanvas } from "roughjs/bin/canvas";
3
+ import { ActionManager } from "../actions/manager";
4
+ import { RestoredDataState } from "../data/restore";
5
+ import { LinearElementEditor } from "../element/linearElementEditor";
6
+ import { ExcalidrawElement, ExcalidrawLinearElement, NonDeletedExcalidrawElement } from "../element/types";
7
+ import History from "../history";
8
+ import Scene from "../scene/Scene";
9
+ import { AppClassProperties, AppProps, AppState, ExcalidrawImperativeAPI, BinaryFiles, LibraryItems, SceneData, Device } from "../types";
10
+ import { FileSystemHandle } from "../data/filesystem";
11
+ import { ImportedDataState } from "../data/types";
12
+ export declare let showFourthFont: boolean;
13
+ export declare const ExcalidrawContainerContext: React.Context<{
14
+ container: HTMLDivElement | null;
15
+ id: string | null;
16
+ }>;
17
+ export declare const useDevice: () => Readonly<{
18
+ isSmScreen: boolean;
19
+ isMobile: boolean;
20
+ isTouchScreen: boolean;
21
+ canDeviceFitSidebar: boolean;
22
+ }>;
23
+ export declare const useExcalidrawContainer: () => {
24
+ container: HTMLDivElement | null;
25
+ id: string | null;
26
+ };
27
+ export declare const useExcalidrawElements: () => readonly NonDeletedExcalidrawElement[];
28
+ export declare const useExcalidrawAppState: () => AppState;
29
+ export declare const useExcalidrawSetAppState: () => <K extends keyof AppState>(state: AppState | ((prevState: Readonly<AppState>, props: Readonly<any>) => AppState | Pick<AppState, K> | null) | Pick<AppState, K> | null, callback?: (() => void) | undefined) => void;
30
+ export declare const useExcalidrawActionManager: () => ActionManager;
31
+ declare class App extends React.Component<AppProps, AppState> {
32
+ canvas: AppClassProperties["canvas"];
33
+ rc: RoughCanvas | null;
34
+ unmounted: boolean;
35
+ actionManager: ActionManager;
36
+ device: Device;
37
+ detachIsMobileMqHandler?: () => void;
38
+ private excalidrawContainerRef;
39
+ static defaultProps: Partial<AppProps>;
40
+ scene: Scene;
41
+ private fonts;
42
+ private resizeObserver;
43
+ private nearestScrollableContainer;
44
+ library: AppClassProperties["library"];
45
+ libraryItemsFromStorage: LibraryItems | undefined;
46
+ private id;
47
+ private history;
48
+ private excalidrawContainerValue;
49
+ files: BinaryFiles;
50
+ imageCache: AppClassProperties["imageCache"];
51
+ hitLinkElement?: NonDeletedExcalidrawElement;
52
+ lastPointerDown: React.PointerEvent<HTMLCanvasElement> | null;
53
+ lastPointerUp: React.PointerEvent<HTMLElement> | PointerEvent | null;
54
+ lastScenePointer: {
55
+ x: number;
56
+ y: number;
57
+ } | null;
58
+ allowMobileMode: boolean;
59
+ constructor(props: AppProps);
60
+ private renderCanvas;
61
+ render(): JSX.Element;
62
+ focusContainer: AppClassProperties["focusContainer"];
63
+ getSceneElementsIncludingDeleted: () => readonly ExcalidrawElement[];
64
+ getSceneElements: () => readonly NonDeletedExcalidrawElement[];
65
+ private syncActionResult;
66
+ private onBlur;
67
+ private onUnload;
68
+ private disableEvent;
69
+ private resetHistory;
70
+ /**
71
+ * Resets scene & history.
72
+ * ! Do not use to clear scene user action !
73
+ */
74
+ private resetScene;
75
+ private initializeScene;
76
+ private refreshDeviceState;
77
+ componentDidMount(): Promise<void>;
78
+ componentWillUnmount(): void;
79
+ private onResize;
80
+ private removeEventListeners;
81
+ private addEventListeners;
82
+ componentDidUpdate(prevProps: AppProps, prevState: AppState): void;
83
+ private renderScene;
84
+ private onScroll;
85
+ private onCut;
86
+ private onCopy;
87
+ private cutAll;
88
+ private copyAll;
89
+ private static resetTapTwice;
90
+ private onTapStart;
91
+ private onTapEnd;
92
+ pasteFromClipboard: (event: ClipboardEvent | null) => Promise<void>;
93
+ private addElementsFromPasteOrLibrary;
94
+ private addTextFromPaste;
95
+ setAppState: React.Component<any, AppState>["setState"];
96
+ removePointer: (event: React.PointerEvent<HTMLElement> | PointerEvent) => void;
97
+ toggleLock: (source?: "keyboard" | "ui") => void;
98
+ togglePenMode: () => void;
99
+ onHandToolToggle: () => void;
100
+ /**
101
+ * Zooms on canvas viewport center
102
+ */
103
+ zoomCanvas: (value: number) => void;
104
+ private cancelInProgresAnimation;
105
+ scrollToContent: (target?: ExcalidrawElement | readonly ExcalidrawElement[], opts?: {
106
+ fitToContent?: boolean;
107
+ animate?: boolean;
108
+ duration?: number;
109
+ }) => void;
110
+ /** use when changing scrollX/scrollY/zoom based on user interaction */
111
+ private translateCanvas;
112
+ zoomToFit: (target?: readonly ExcalidrawElement[], maxZoom?: number, margin?: number) => void;
113
+ startLineEditor: (el: ExcalidrawLinearElement, selectedPointsIndices?: number[] | null) => void;
114
+ updateContainerSize: (containers: NonDeletedExcalidrawElement[]) => void;
115
+ restore: (data: ImportedDataState) => RestoredDataState;
116
+ setToast: (toast: {
117
+ message: string;
118
+ closable?: boolean;
119
+ duration?: number;
120
+ } | null) => void;
121
+ restoreFileFromShare: () => Promise<void>;
122
+ /** adds supplied files to existing files in the appState */
123
+ addFiles: ExcalidrawImperativeAPI["addFiles"];
124
+ setMobileModeAllowed: ExcalidrawImperativeAPI["setMobileModeAllowed"];
125
+ setLocalFont: ExcalidrawImperativeAPI["setLocalFont"];
126
+ selectElements: ExcalidrawImperativeAPI["selectElements"];
127
+ bringToFront: ExcalidrawImperativeAPI["bringToFront"];
128
+ bringForward: ExcalidrawImperativeAPI["bringForward"];
129
+ sendToBack: ExcalidrawImperativeAPI["sendToBack"];
130
+ sendBackward: ExcalidrawImperativeAPI["sendBackward"];
131
+ updateScene: <K extends keyof AppState>(sceneData: {
132
+ elements?: SceneData["elements"];
133
+ appState?: Pick<AppState, K> | null | undefined;
134
+ collaborators?: SceneData["collaborators"];
135
+ commitToHistory?: SceneData["commitToHistory"];
136
+ }) => void;
137
+ private onSceneUpdated;
138
+ /**
139
+ * @returns whether the menu was toggled on or off
140
+ */
141
+ toggleMenu: (type: "library" | "customSidebar", force?: boolean) => boolean;
142
+ private updateCurrentCursorPosition;
143
+ private onKeyDown;
144
+ private onWheel;
145
+ private onKeyUp;
146
+ private setActiveTool;
147
+ private setCursor;
148
+ private resetCursor;
149
+ /**
150
+ * returns whether user is making a gesture with >= 2 fingers (points)
151
+ * on o touch screen (not on a trackpad). Currently only relates to Darwin
152
+ * (iOS/iPadOS,MacOS), but may work on other devices in the future if
153
+ * GestureEvent is standardized.
154
+ */
155
+ private isTouchScreenMultiTouchGesture;
156
+ private onGestureStart;
157
+ private onGestureChange;
158
+ private onGestureEnd;
159
+ private handleTextWysiwyg;
160
+ private deselectElements;
161
+ private getTextElementAtPosition;
162
+ private getElementAtPosition;
163
+ private getElementsAtPosition;
164
+ private startTextEditing;
165
+ private handleCanvasDoubleClick;
166
+ private getElementLinkAtPosition;
167
+ private redirectToLink;
168
+ private handleCanvasPointerMove;
169
+ private handleEraser;
170
+ private handleTouchMove;
171
+ handleHoverSelectedLinearElement(linearElementEditor: LinearElementEditor, scenePointerX: number, scenePointerY: number): void;
172
+ private handleCanvasPointerDown;
173
+ private handleCanvasPointerUp;
174
+ private maybeOpenContextMenuAfterPointerDownOnTouchDevices;
175
+ private resetContextMenuTimer;
176
+ private maybeCleanupAfterMissingPointerUp;
177
+ private handleCanvasPanUsingWheelOrSpaceDrag;
178
+ private updateGestureOnPointerDown;
179
+ private initialPointerDownState;
180
+ private handleDraggingScrollBar;
181
+ private clearSelectionIfNotUsingSelection;
182
+ /**
183
+ * @returns whether the pointer event has been completely handled
184
+ */
185
+ private handleSelectionOnPointerDown;
186
+ private isASelectedElement;
187
+ private isHittingCommonBoundingBoxOfSelectedElements;
188
+ private handleTextOnPointerDown;
189
+ private handleFreeDrawElementOnPointerDown;
190
+ private createImageElement;
191
+ private handleLinearElementOnPointerDown;
192
+ private createGenericElementOnPointerDown;
193
+ private onKeyDownFromPointerDownHandler;
194
+ private onKeyUpFromPointerDownHandler;
195
+ private onPointerMoveFromPointerDownHandler;
196
+ private handlePointerMoveOverScrollbars;
197
+ private onPointerUpFromPointerDownHandler;
198
+ private restoreReadyToEraseElements;
199
+ private eraseElements;
200
+ private initializeImage;
201
+ /**
202
+ * inserts image into elements array and rerenders
203
+ */
204
+ private insertImageElement;
205
+ private setImagePreviewCursor;
206
+ private onImageAction;
207
+ private initializeImageDimensions;
208
+ /** updates image cache, refreshing updated elements and/or setting status
209
+ to error for images that fail during <img> element creation */
210
+ private updateImageCache;
211
+ /** adds new images to imageCache and re-renders if needed */
212
+ private addNewImagesToImageCache;
213
+ /** generally you should use `addNewImagesToImageCache()` directly if you need
214
+ * to render new images. This is just a failsafe */
215
+ private scheduleImageRefresh;
216
+ private updateBindingEnabledOnPointerMove;
217
+ private maybeSuggestBindingAtCursor;
218
+ private maybeSuggestBindingsForLinearElementAtCoords;
219
+ private maybeSuggestBindingForAll;
220
+ private clearSelection;
221
+ private handleCanvasRef;
222
+ private handleAppOnDrop;
223
+ loadFileToCanvas: (file: File, fileHandle: FileSystemHandle | null) => Promise<void>;
224
+ private handleCanvasContextMenu;
225
+ private maybeDragNewGenericElement;
226
+ private maybeHandleResize;
227
+ private getContextMenuItems;
228
+ private handleWheel;
229
+ private getTextWysiwygSnappedToCenterPosition;
230
+ private savePointer;
231
+ private resetShouldCacheIgnoreZoomDebounced;
232
+ private updateDOMRect;
233
+ refresh: () => void;
234
+ private getCanvasOffsets;
235
+ private updateLanguage;
236
+ }
237
+ declare global {
238
+ interface Window {
239
+ h: {
240
+ elements: readonly ExcalidrawElement[];
241
+ state: AppState;
242
+ setState: React.Component<any, AppState>["setState"];
243
+ app: InstanceType<typeof App>;
244
+ history: History;
245
+ };
246
+ }
247
+ }
248
+ export default App;
@@ -1,11 +1,11 @@
1
- import "./Avatar.scss";
2
- import React from "react";
3
- declare type AvatarProps = {
4
- onClick: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
5
- color: string;
6
- border: string;
7
- name: string;
8
- src?: string;
9
- };
10
- export declare const Avatar: ({ color, onClick, name, src }: AvatarProps) => JSX.Element;
11
- export {};
1
+ import "./Avatar.scss";
2
+ import React from "react";
3
+ declare type AvatarProps = {
4
+ onClick: (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
5
+ color: string;
6
+ border: string;
7
+ name: string;
8
+ src?: string;
9
+ };
10
+ export declare const Avatar: ({ color, onClick, name, src }: AvatarProps) => JSX.Element;
11
+ export {};
@@ -1,2 +1,2 @@
1
- declare const BraveMeasureTextError: () => JSX.Element;
2
- export default BraveMeasureTextError;
1
+ declare const BraveMeasureTextError: () => JSX.Element;
2
+ export default BraveMeasureTextError;
@@ -1,15 +1,15 @@
1
- /// <reference types="react" />
2
- import "./Button.scss";
3
- interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
4
- type?: "button" | "submit" | "reset";
5
- onSelect: () => any;
6
- children: React.ReactNode;
7
- className?: string;
8
- }
9
- /**
10
- * A generic button component that follows Excalidraw's design system.
11
- * Style can be customised using `className` or `style` prop.
12
- * Accepts all props that a regular `button` element accepts.
13
- */
14
- export declare const Button: ({ type, onSelect, children, className, ...rest }: ButtonProps) => JSX.Element;
15
- export {};
1
+ /// <reference types="react" />
2
+ import "./Button.scss";
3
+ interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
4
+ type?: "button" | "submit" | "reset";
5
+ onSelect: () => any;
6
+ children: React.ReactNode;
7
+ className?: string;
8
+ }
9
+ /**
10
+ * A generic button component that follows Excalidraw's design system.
11
+ * Style can be customised using `className` or `style` prop.
12
+ * Accepts all props that a regular `button` element accepts.
13
+ */
14
+ export declare const Button: ({ type, onSelect, children, className, ...rest }: ButtonProps) => JSX.Element;
15
+ export {};
@@ -1,11 +1,11 @@
1
- export declare const ButtonIconSelect: <T extends Object>({ options, value, onChange, group, }: {
2
- options: {
3
- value: T;
4
- text: string;
5
- icon: JSX.Element;
6
- testId?: string | undefined;
7
- }[];
8
- value: T | null;
9
- onChange: (value: T) => void;
10
- group: string;
11
- }) => JSX.Element;
1
+ export declare const ButtonIconSelect: <T extends Object>({ options, value, onChange, group, }: {
2
+ options: {
3
+ value: T;
4
+ text: string;
5
+ icon: JSX.Element;
6
+ testId?: string | undefined;
7
+ }[];
8
+ value: T | null;
9
+ onChange: (value: T) => void;
10
+ group: string;
11
+ }) => JSX.Element;
@@ -1,7 +1,7 @@
1
- /// <reference types="react" />
2
- import OpenColor from "open-color";
3
- import "./Card.scss";
4
- export declare const Card: React.FC<{
5
- color: keyof OpenColor | "primary";
6
- children?: React.ReactNode;
7
- }>;
1
+ /// <reference types="react" />
2
+ import OpenColor from "open-color";
3
+ import "./Card.scss";
4
+ export declare const Card: React.FC<{
5
+ color: keyof OpenColor | "primary";
6
+ children?: React.ReactNode;
7
+ }>;
@@ -1,8 +1,8 @@
1
- import React from "react";
2
- import "./CheckboxItem.scss";
3
- export declare const CheckboxItem: React.FC<{
4
- checked: boolean;
5
- onChange: (checked: boolean, event: React.MouseEvent) => void;
6
- className?: string;
7
- children?: React.ReactNode;
8
- }>;
1
+ import React from "react";
2
+ import "./CheckboxItem.scss";
3
+ export declare const CheckboxItem: React.FC<{
4
+ checked: boolean;
5
+ onChange: (checked: boolean, event: React.MouseEvent) => void;
6
+ className?: string;
7
+ children?: React.ReactNode;
8
+ }>;
@@ -1,19 +1,19 @@
1
- import "./ColorPicker.scss";
2
- import { ExcalidrawElement } from "../element/types";
3
- import { AppState } from "../types";
4
- export declare const getCustomColors: (elements: readonly ExcalidrawElement[], type: "elementBackground" | "elementStroke", colors: string[]) => string[];
5
- export declare const ColorPicker: ({ type, color, onChange, label, isActive, setActive, colorPalette, elements, appState, }: {
6
- type: "canvasBackground" | "elementBackground" | "elementStroke";
7
- color: string | null;
8
- onChange: (color: string) => void;
9
- label: string;
10
- isActive: boolean;
11
- setActive: (active: boolean) => void;
12
- colorPalette: {
13
- canvasBackground?: string[];
14
- elementBackground?: string[];
15
- elementStroke?: string[];
16
- };
17
- elements: readonly ExcalidrawElement[];
18
- appState: AppState;
19
- }) => JSX.Element;
1
+ import "./ColorPicker.scss";
2
+ import { ExcalidrawElement } from "../element/types";
3
+ import { AppState } from "../types";
4
+ export declare const getCustomColors: (elements: readonly ExcalidrawElement[], type: "elementBackground" | "elementStroke", colors: string[]) => string[];
5
+ export declare const ColorPicker: ({ type, color, onChange, label, isActive, setActive, colorPalette, elements, appState, }: {
6
+ type: "canvasBackground" | "elementBackground" | "elementStroke";
7
+ color: string | null;
8
+ onChange: (color: string) => void;
9
+ label: string;
10
+ isActive: boolean;
11
+ setActive: (active: boolean) => void;
12
+ colorPalette: {
13
+ canvasBackground?: string[];
14
+ elementBackground?: string[];
15
+ elementStroke?: string[];
16
+ };
17
+ elements: readonly ExcalidrawElement[];
18
+ appState: AppState;
19
+ }) => JSX.Element;