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

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/excalidraw.development.js +186 -186
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +1 -1
  4. package/types/actions/actionAddToLibrary.d.ts +372 -372
  5. package/types/actions/actionAlign.d.ts +91 -91
  6. package/types/actions/actionBoundText.d.ts +284 -284
  7. package/types/actions/actionCanvas.d.ts +1315 -1315
  8. package/types/actions/actionClipboard.d.ts +717 -717
  9. package/types/actions/actionDeleteSelected.d.ts +409 -409
  10. package/types/actions/actionDistribute.d.ts +33 -33
  11. package/types/actions/actionDuplicateSelection.d.ts +22 -22
  12. package/types/actions/actionExport.d.ts +1181 -1181
  13. package/types/actions/actionFinalize.d.ts +256 -256
  14. package/types/actions/actionFlip.d.ts +35 -35
  15. package/types/actions/actionGroup.d.ts +45 -45
  16. package/types/actions/actionHistory.d.ts +6 -6
  17. package/types/actions/actionLinearEditor.d.ts +135 -135
  18. package/types/actions/actionMenu.d.ts +410 -410
  19. package/types/actions/actionNavigate.d.ts +14 -14
  20. package/types/actions/actionProperties.d.ts +1714 -1714
  21. package/types/actions/actionSelectAll.d.ts +16 -16
  22. package/types/actions/actionStyles.d.ts +149 -149
  23. package/types/actions/actionToggleGridMode.d.ts +138 -138
  24. package/types/actions/actionToggleLock.d.ts +135 -135
  25. package/types/actions/actionToggleStats.d.ts +135 -135
  26. package/types/actions/actionToggleViewMode.d.ts +137 -137
  27. package/types/actions/actionToggleZenMode.d.ts +137 -137
  28. package/types/actions/actionZindex.d.ts +67 -67
  29. package/types/actions/index.d.ts +24 -24
  30. package/types/actions/manager.d.ts +21 -21
  31. package/types/actions/register.d.ts +5 -5
  32. package/types/actions/shortcuts.d.ts +4 -4
  33. package/types/actions/types.d.ts +44 -44
  34. package/types/align.d.ts +6 -6
  35. package/types/analytics.d.ts +1 -1
  36. package/types/appState.d.ts +78 -78
  37. package/types/bug-issue-template.d.ts +2 -0
  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/ActiveFile.d.ts +7 -0
  45. package/types/components/App.d.ts +248 -248
  46. package/types/components/Avatar.d.ts +11 -11
  47. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +4 -0
  48. package/types/components/BraveMeasureTextError.d.ts +2 -2
  49. package/types/components/Button.d.ts +15 -15
  50. package/types/components/ButtonIconSelect.d.ts +19 -11
  51. package/types/components/Card.d.ts +7 -7
  52. package/types/components/CheckboxItem.d.ts +8 -8
  53. package/types/components/ClearCanvas.d.ts +4 -0
  54. package/types/components/CollabButton.d.ts +7 -0
  55. package/types/components/ColorPicker.d.ts +19 -19
  56. package/types/components/ConfirmDialog.d.ts +10 -10
  57. package/types/components/ContextMenu.d.ts +15 -15
  58. package/types/components/DarkModeToggle.d.ts +7 -7
  59. package/types/components/Dialog.d.ts +14 -14
  60. package/types/components/DialogActionButton.d.ts +10 -10
  61. package/types/components/EncryptedIcon.d.ts +2 -0
  62. package/types/components/ErrorDialog.d.ts +5 -5
  63. package/types/components/FixedSideContainer.d.ts +9 -9
  64. package/types/components/Footer.d.ts +10 -0
  65. package/types/components/HandButton.d.ts +10 -10
  66. package/types/components/HelpButton.d.ts +7 -7
  67. package/types/components/HelpDialog.d.ts +4 -4
  68. package/types/components/HelpIcon.d.ts +8 -0
  69. package/types/components/HintViewer.d.ts +11 -11
  70. package/types/components/IconPicker.d.ts +13 -13
  71. package/types/components/ImageExportDialog.d.ts +18 -18
  72. package/types/components/InitializeApp.d.ts +10 -10
  73. package/types/components/Island.d.ts +10 -10
  74. package/types/components/JSONExportDialog.d.ts +15 -15
  75. package/types/components/LayerUI.d.ts +37 -37
  76. package/types/components/LibraryButton.d.ts +8 -8
  77. package/types/components/LibraryMenu.d.ts +25 -25
  78. package/types/components/LibraryMenuBrowseButton.d.ts +7 -7
  79. package/types/components/LibraryMenuHeaderContent.d.ts +35 -35
  80. package/types/components/LibraryMenuItems.d.ts +15 -15
  81. package/types/components/LibraryUnit.d.ts +11 -11
  82. package/types/components/LoadingMessage.d.ts +6 -6
  83. package/types/components/LockButton.d.ts +10 -10
  84. package/types/components/MenuItem.d.ts +11 -0
  85. package/types/components/MenuUtils.d.ts +2 -0
  86. package/types/components/MobileMenu.d.ts +26 -26
  87. package/types/components/Modal.d.ts +13 -13
  88. package/types/components/PasteChartDialog.d.ts +9 -9
  89. package/types/components/PenModeButton.d.ts +12 -12
  90. package/types/components/Popover.d.ts +15 -15
  91. package/types/components/ProjectName.d.ts +10 -10
  92. package/types/components/PublishLibrary.d.ts +16 -16
  93. package/types/components/Section.d.ts +6 -6
  94. package/types/components/Sidebar/Sidebar.d.ts +73 -73
  95. package/types/components/Sidebar/SidebarHeader.d.ts +20 -20
  96. package/types/components/Sidebar/common.d.ts +16 -16
  97. package/types/components/SidebarLockButton.d.ts +8 -0
  98. package/types/components/SingleLibraryItem.d.ts +10 -10
  99. package/types/components/Spinner.d.ts +6 -6
  100. package/types/components/Stack.d.ts +15 -15
  101. package/types/components/Stats.d.ts +11 -11
  102. package/types/components/Toast.d.ts +7 -7
  103. package/types/components/ToolButton.d.ts +46 -46
  104. package/types/components/Tooltip.d.ts +17 -17
  105. package/types/components/TopErrorBoundary.d.ts +15 -0
  106. package/types/components/UserList.d.ts +8 -8
  107. package/types/components/WelcomeScreen.d.ts +8 -0
  108. package/types/components/WelcomeScreenDecor.d.ts +6 -0
  109. package/types/components/context/tunnels.d.ts +16 -16
  110. package/types/components/dropdownMenu/DropdownMenu.d.ts +66 -66
  111. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  112. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  113. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -12
  114. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -6
  115. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -6
  116. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -13
  117. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  118. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +9 -9
  119. package/types/components/dropdownMenu/common.d.ts +6 -6
  120. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  121. package/types/components/footer/Footer.d.ts +12 -12
  122. package/types/components/footer/FooterCenter.d.ts +8 -8
  123. package/types/components/hoc/withInternalFallback.d.ts +4 -4
  124. package/types/components/hoc/withUpstreamOverride.d.ts +10 -10
  125. package/types/components/icons.d.ts +143 -142
  126. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
  127. package/types/components/main-menu/DefaultItems.d.ts +44 -44
  128. package/types/components/main-menu/MainMenu.d.ts +60 -60
  129. package/types/components/mainMenu/DefaultItems.d.ts +44 -0
  130. package/types/components/mainMenu/MainMenu.d.ts +63 -0
  131. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
  132. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  133. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -85
  134. package/types/constants.d.ts +170 -170
  135. package/types/data/blob.d.ts +48 -48
  136. package/types/data/encode.d.ts +53 -53
  137. package/types/data/encryption.d.ts +9 -9
  138. package/types/data/filesystem.d.ts +18 -18
  139. package/types/data/image.d.ts +15 -15
  140. package/types/data/index.d.ts +13 -13
  141. package/types/data/json.d.ts +16 -16
  142. package/types/data/library.d.ts +96 -96
  143. package/types/data/resave.d.ts +5 -5
  144. package/types/data/restore.d.ts +21 -21
  145. package/types/data/types.d.ts +47 -47
  146. package/types/distribute.d.ts +6 -6
  147. package/types/element/Hyperlink.d.ts +155 -155
  148. package/types/element/binding.d.ts +33 -33
  149. package/types/element/bounds.d.ts +28 -28
  150. package/types/element/collision.d.ts +21 -21
  151. package/types/element/dragElements.d.ts +5 -5
  152. package/types/element/image.d.ts +22 -22
  153. package/types/element/index.d.ts +20 -20
  154. package/types/element/linearElementEditor.d.ts +273 -273
  155. package/types/element/mutateElement.d.ts +12 -12
  156. package/types/element/newElement.d.ts +66 -65
  157. package/types/element/resizeElements.d.ts +8 -8
  158. package/types/element/resizeTest.d.ts +13 -13
  159. package/types/element/showSelectedShapeActions.d.ts +3 -3
  160. package/types/element/sizeHelpers.d.ts +21 -21
  161. package/types/element/sortElements.d.ts +2 -2
  162. package/types/element/textElement.d.ts +79 -73
  163. package/types/element/textWysiwyg.d.ts +21 -21
  164. package/types/element/transformHandles.d.ts +28 -28
  165. package/types/element/typeChecks.d.ts +27 -27
  166. package/types/element/types.d.ts +150 -149
  167. package/types/errors.d.ts +8 -8
  168. package/types/excalidraw-app/CustomStats.d.ts +9 -0
  169. package/types/excalidraw-app/app_constants.d.ts +32 -0
  170. package/types/excalidraw-app/collab/Collab.d.ts +163 -0
  171. package/types/excalidraw-app/collab/Portal.d.ts +28 -0
  172. package/types/excalidraw-app/collab/RoomDialog.d.ts +13 -0
  173. package/types/excalidraw-app/collab/reconciliation.d.ts +10 -0
  174. package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +9 -0
  175. package/types/excalidraw-app/components/LanguageList.d.ts +4 -0
  176. package/types/excalidraw-app/components/icons.d.ts +1 -0
  177. package/types/excalidraw-app/data/FileManager.d.ts +66 -0
  178. package/types/excalidraw-app/data/LocalData.d.ts +32 -0
  179. package/types/excalidraw-app/data/Locker.d.ts +8 -0
  180. package/types/excalidraw-app/data/firebase.d.ts +25 -0
  181. package/types/excalidraw-app/data/index.d.ts +190 -0
  182. package/types/excalidraw-app/data/localStorage.d.ts +116 -0
  183. package/types/excalidraw-app/data/tabSync.d.ts +9 -0
  184. package/types/excalidraw-app/index.d.ts +26 -0
  185. package/types/ga.d.ts +63 -63
  186. package/types/gadirections.d.ts +8 -8
  187. package/types/galines.d.ts +22 -22
  188. package/types/gapoints.d.ts +7 -7
  189. package/types/gatransforms.d.ts +10 -10
  190. package/types/gesture.d.ts +6 -6
  191. package/types/groups.d.ts +27 -27
  192. package/types/history.d.ts +52 -52
  193. package/types/hooks/useCallbackRefState.d.ts +1 -1
  194. package/types/hooks/useOutsideClick.d.ts +2 -2
  195. package/types/i18n.d.ts +21 -21
  196. package/types/jotai.d.ts +122 -122
  197. package/types/keys.d.ts +77 -77
  198. package/types/math.d.ts +29 -29
  199. package/types/packages/common.webpack.dev.config.d.ts +72 -72
  200. package/types/packages/common.webpack.prod.config.d.ts +84 -84
  201. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +4 -4
  202. package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  203. package/types/packages/excalidraw/entry.d.ts +1 -1
  204. package/types/packages/excalidraw/env.d.ts +1 -1
  205. package/types/packages/excalidraw/example/App.d.ts +14 -14
  206. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -5
  207. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -5
  208. package/types/packages/excalidraw/example/index.d.ts +1 -1
  209. package/types/packages/excalidraw/example/initialData.d.ts +172 -172
  210. package/types/packages/excalidraw/example/sidebar/ExampleSidebar.d.ts +5 -5
  211. package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +5 -0
  212. package/types/packages/excalidraw/index.d.ts +35 -35
  213. package/types/packages/excalidraw/main.d.ts +2 -2
  214. package/types/packages/excalidraw/publicPath.d.ts +1 -1
  215. package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
  216. package/types/packages/excalidraw/webpack.dev.config.d.ts +69 -69
  217. package/types/packages/excalidraw/webpack.prod.config.d.ts +78 -78
  218. package/types/packages/utils.d.ts +42 -42
  219. package/types/points.d.ts +7 -7
  220. package/types/polyfill.d.ts +2 -2
  221. package/types/random.d.ts +4 -4
  222. package/types/renderer/easingFunctions.d.ts +6 -6
  223. package/types/renderer/renderElement.d.ts +35 -35
  224. package/types/renderer/renderScene.d.ts +41 -41
  225. package/types/renderer/roundRect.d.ts +11 -11
  226. package/types/scene/Fonts.d.ts +21 -21
  227. package/types/scene/Scene.d.ts +40 -40
  228. package/types/scene/comparisons.d.ts +10 -10
  229. package/types/scene/export.d.ts +20 -20
  230. package/types/scene/index.d.ts +5 -5
  231. package/types/scene/scroll.d.ts +17 -17
  232. package/types/scene/scrollbars.d.ts +16 -16
  233. package/types/scene/selection.d.ts +11 -11
  234. package/types/scene/types.d.ts +59 -59
  235. package/types/scene/zoom.d.ts +13 -13
  236. package/types/shapes.d.ts +62 -62
  237. package/types/types.d.ts +442 -442
  238. package/types/utility-types.d.ts +22 -22
  239. package/types/utils.d.ts +162 -162
  240. package/types/zindex.d.ts +6 -6
  241. package/dist/.DS_Store +0 -0
@@ -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 {};
@@ -0,0 +1,4 @@
1
+ import { ActionManager } from "../actions/manager";
2
+ export declare const BackgroundPickerAndDarkModeToggle: ({ actionManager, }: {
3
+ actionManager: ActionManager;
4
+ }) => JSX.Element;
@@ -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,19 @@
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>(props: {
2
+ options: {
3
+ value: T;
4
+ text: string;
5
+ icon: JSX.Element;
6
+ testId?: string | undefined;
7
+ /** if not supplied, defaults to value identity check */
8
+ active?: boolean | undefined;
9
+ }[];
10
+ value: T | null;
11
+ type?: "button" | "radio" | undefined;
12
+ } & ({
13
+ type?: "radio" | undefined;
14
+ group: string;
15
+ onChange: (value: T) => void;
16
+ } | {
17
+ type: "button";
18
+ onClick: (value: T, event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
19
+ })) => 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
+ }>;
@@ -0,0 +1,4 @@
1
+ declare const ClearCanvas: ({ onConfirm }: {
2
+ onConfirm: () => void;
3
+ }) => JSX.Element;
4
+ export default ClearCanvas;
@@ -0,0 +1,7 @@
1
+ import "./CollabButton.scss";
2
+ declare const CollabButton: ({ isCollaborating, collaboratorCount, onClick, }: {
3
+ isCollaborating: boolean;
4
+ collaboratorCount: number;
5
+ onClick: () => void;
6
+ }) => JSX.Element;
7
+ export default CollabButton;