@zsviczian/excalidraw 0.15.2-obsidian-8 → 0.15.2-obsidian-10

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