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

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 (280) hide show
  1. package/dist/excalidraw.development.js +1710 -1849
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +2 -1
  4. package/types/actions/actionAddToLibrary.d.ts +440 -441
  5. package/types/actions/actionAlign.d.ts +96 -97
  6. package/types/actions/actionBoundText.d.ts +330 -331
  7. package/types/actions/actionCanvas.d.ts +1844 -1845
  8. package/types/actions/actionClipboard.d.ts +828 -829
  9. package/types/actions/actionDeleteSelected.d.ts +474 -475
  10. package/types/actions/actionDistribute.d.ts +32 -33
  11. package/types/actions/actionDuplicateSelection.d.ts +21 -22
  12. package/types/actions/actionElementLock.d.ts +315 -316
  13. package/types/actions/actionExport.d.ts +1388 -1389
  14. package/types/actions/actionFinalize.d.ts +298 -299
  15. package/types/actions/actionFlip.d.ts +32 -33
  16. package/types/actions/actionFrame.d.ts +489 -490
  17. package/types/actions/actionGroup.d.ts +44 -45
  18. package/types/actions/actionHistory.d.ts +6 -6
  19. package/types/actions/actionLinearEditor.d.ts +157 -158
  20. package/types/actions/actionMenu.d.ts +478 -479
  21. package/types/actions/actionNavigate.d.ts +14 -14
  22. package/types/actions/actionProperties.d.ts +2012 -2013
  23. package/types/actions/actionSelectAll.d.ts +15 -16
  24. package/types/actions/actionStyles.d.ts +171 -172
  25. package/types/actions/actionToggleGridMode.d.ts +160 -161
  26. package/types/actions/actionToggleLock.d.ts +139 -135
  27. package/types/actions/actionToggleStats.d.ts +157 -158
  28. package/types/actions/actionToggleViewMode.d.ts +159 -160
  29. package/types/actions/actionToggleZenMode.d.ts +159 -160
  30. package/types/actions/actionZindex.d.ts +67 -67
  31. package/types/actions/index.d.ts +24 -24
  32. package/types/actions/manager.d.ts +21 -21
  33. package/types/actions/register.d.ts +5 -5
  34. package/types/actions/shortcuts.d.ts +4 -4
  35. package/types/actions/types.d.ts +45 -45
  36. package/types/align.d.ts +6 -6
  37. package/types/analytics.d.ts +1 -1
  38. package/types/appState.d.ts +81 -81
  39. package/types/bug-issue-template.d.ts +2 -0
  40. package/types/charts.d.ts +27 -27
  41. package/types/clients.d.ts +5 -5
  42. package/types/clipboard.d.ts +25 -25
  43. package/types/colors.d.ts +61 -61
  44. package/types/components/Actions.d.ts +36 -36
  45. package/types/components/ActiveConfirmDialog.d.ts +4 -4
  46. package/types/components/ActiveFile.d.ts +7 -0
  47. package/types/components/App.d.ts +288 -288
  48. package/types/components/Avatar.d.ts +10 -10
  49. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +4 -0
  50. package/types/components/BraveMeasureTextError.d.ts +2 -2
  51. package/types/components/Button.d.ts +16 -17
  52. package/types/components/ButtonIconSelect.d.ts +19 -19
  53. package/types/components/Card.d.ts +6 -7
  54. package/types/components/CheckboxItem.d.ts +8 -8
  55. package/types/components/ClearCanvas.d.ts +4 -0
  56. package/types/components/CollabButton.d.ts +7 -0
  57. package/types/components/ColorPicker/ColorInput.d.ts +7 -7
  58. package/types/components/ColorPicker/ColorPicker.d.ts +19 -19
  59. package/types/components/ColorPicker/CustomColorList.d.ts +8 -8
  60. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -8
  61. package/types/components/ColorPicker/Picker.d.ts +18 -18
  62. package/types/components/ColorPicker/PickerColorList.d.ts +10 -10
  63. package/types/components/ColorPicker/PickerHeading.d.ts +5 -5
  64. package/types/components/ColorPicker/ShadeList.d.ts +8 -8
  65. package/types/components/ColorPicker/TopPicks.d.ts +9 -9
  66. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  67. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +20 -21
  68. package/types/components/ColorPicker.d.ts +19 -19
  69. package/types/components/ConfirmDialog.d.ts +10 -10
  70. package/types/components/ContextMenu.d.ts +15 -15
  71. package/types/components/DarkModeToggle.d.ts +7 -7
  72. package/types/components/DefaultSidebar.d.ts +29 -30
  73. package/types/components/Dialog.d.ts +13 -13
  74. package/types/components/DialogActionButton.d.ts +10 -10
  75. package/types/components/EncryptedIcon.d.ts +2 -0
  76. package/types/components/ErrorDialog.d.ts +5 -5
  77. package/types/components/EyeDropper.d.ts +17 -18
  78. package/types/components/FilledButton.d.ts +17 -17
  79. package/types/components/FixedSideContainer.d.ts +9 -9
  80. package/types/components/Footer.d.ts +10 -0
  81. package/types/components/HandButton.d.ts +10 -10
  82. package/types/components/HelpButton.d.ts +7 -7
  83. package/types/components/HelpDialog.d.ts +4 -4
  84. package/types/components/HelpIcon.d.ts +8 -0
  85. package/types/components/HintViewer.d.ts +10 -10
  86. package/types/components/IconPicker.d.ts +13 -13
  87. package/types/components/ImageExportDialog.d.ts +13 -13
  88. package/types/components/InitializeApp.d.ts +10 -10
  89. package/types/components/Island.d.ts +10 -10
  90. package/types/components/JSONExportDialog.d.ts +15 -15
  91. package/types/components/LayerUI.d.ts +32 -32
  92. package/types/components/LibraryButton.d.ts +8 -8
  93. package/types/components/LibraryMenu.d.ts +24 -24
  94. package/types/components/LibraryMenuBrowseButton.d.ts +7 -7
  95. package/types/components/LibraryMenuControlButtons.d.ts +9 -9
  96. package/types/components/LibraryMenuHeaderContent.d.ts +17 -18
  97. package/types/components/LibraryMenuItems.d.ts +14 -14
  98. package/types/components/LibraryMenuSection.d.ts +22 -22
  99. package/types/components/LibraryUnit.d.ts +14 -15
  100. package/types/components/LoadingMessage.d.ts +5 -6
  101. package/types/components/LockButton.d.ts +10 -10
  102. package/types/components/MenuItem.d.ts +11 -0
  103. package/types/components/MenuUtils.d.ts +2 -0
  104. package/types/components/MobileMenu.d.ts +27 -27
  105. package/types/components/Modal.d.ts +13 -13
  106. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  107. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  108. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  109. package/types/components/PasteChartDialog.d.ts +8 -8
  110. package/types/components/PenModeButton.d.ts +12 -12
  111. package/types/components/Popover.d.ts +15 -15
  112. package/types/components/ProjectName.d.ts +11 -11
  113. package/types/components/PublishLibrary.d.ts +16 -16
  114. package/types/components/RadioGroup.d.ts +12 -12
  115. package/types/components/Section.d.ts +6 -6
  116. package/types/components/Sidebar/Sidebar.d.ts +76 -76
  117. package/types/components/Sidebar/SidebarHeader.d.ts +7 -7
  118. package/types/components/Sidebar/SidebarTab.d.ts +8 -9
  119. package/types/components/Sidebar/SidebarTabTrigger.d.ts +9 -10
  120. package/types/components/Sidebar/SidebarTabTriggers.d.ts +6 -7
  121. package/types/components/Sidebar/SidebarTabs.d.ts +6 -7
  122. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -6
  123. package/types/components/Sidebar/common.d.ts +33 -33
  124. package/types/components/SidebarLockButton.d.ts +8 -0
  125. package/types/components/SingleLibraryItem.d.ts +10 -10
  126. package/types/components/Spinner.d.ts +7 -7
  127. package/types/components/Stack.d.ts +16 -16
  128. package/types/components/Stats.d.ts +11 -11
  129. package/types/components/Switch.d.ts +9 -9
  130. package/types/components/Toast.d.ts +7 -7
  131. package/types/components/ToolButton.d.ts +47 -47
  132. package/types/components/Tooltip.d.ts +17 -17
  133. package/types/components/TopErrorBoundary.d.ts +15 -0
  134. package/types/components/Trans.d.ts +9 -9
  135. package/types/components/UserList.d.ts +8 -8
  136. package/types/components/WelcomeScreen.d.ts +8 -0
  137. package/types/components/WelcomeScreenDecor.d.ts +6 -0
  138. package/types/components/context/tunnels.d.ts +16 -16
  139. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -67
  140. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  141. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  142. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -12
  143. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -6
  144. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -6
  145. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -13
  146. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  147. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +10 -11
  148. package/types/components/dropdownMenu/common.d.ts +6 -6
  149. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  150. package/types/components/footer/Footer.d.ts +12 -12
  151. package/types/components/footer/FooterCenter.d.ts +8 -8
  152. package/types/components/hoc/withInternalFallback.d.ts +4 -4
  153. package/types/components/hoc/withUpstreamOverride.d.ts +10 -10
  154. package/types/components/icons.d.ts +154 -154
  155. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +9 -10
  156. package/types/components/main-menu/DefaultItems.d.ts +44 -44
  157. package/types/components/main-menu/MainMenu.d.ts +61 -61
  158. package/types/components/mainMenu/DefaultItems.d.ts +44 -0
  159. package/types/components/mainMenu/MainMenu.d.ts +63 -0
  160. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +57 -58
  161. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  162. package/types/components/welcome-screen/WelcomeScreen.d.ts +84 -85
  163. package/types/constants.d.ts +229 -226
  164. package/types/context/tunnels.d.ts +19 -19
  165. package/types/context/ui-appState.d.ts +4 -4
  166. package/types/data/blob.d.ts +48 -48
  167. package/types/data/encode.d.ts +53 -53
  168. package/types/data/encryption.d.ts +9 -9
  169. package/types/data/filesystem.d.ts +19 -19
  170. package/types/data/image.d.ts +15 -15
  171. package/types/data/index.d.ts +13 -13
  172. package/types/data/json.d.ts +16 -16
  173. package/types/data/library.d.ts +54 -54
  174. package/types/data/resave.d.ts +5 -5
  175. package/types/data/restore.d.ts +21 -21
  176. package/types/data/types.d.ts +45 -45
  177. package/types/data/url.d.ts +7 -7
  178. package/types/distribute.d.ts +6 -6
  179. package/types/element/Hyperlink.d.ts +181 -182
  180. package/types/element/binding.d.ts +33 -33
  181. package/types/element/bounds.d.ts +53 -53
  182. package/types/element/collision.d.ts +21 -21
  183. package/types/element/dragElements.d.ts +6 -6
  184. package/types/element/embeddable.d.ts +175 -176
  185. package/types/element/iframe.d.ts +167 -0
  186. package/types/element/image.d.ts +32 -32
  187. package/types/element/index.d.ts +21 -21
  188. package/types/element/linearElementEditor.d.ts +292 -293
  189. package/types/element/mutateElement.d.ts +12 -12
  190. package/types/element/newElement.d.ts +95 -95
  191. package/types/element/resizeElements.d.ts +9 -9
  192. package/types/element/resizeTest.d.ts +13 -13
  193. package/types/element/showSelectedShapeActions.d.ts +3 -3
  194. package/types/element/sizeHelpers.d.ts +21 -21
  195. package/types/element/sortElements.d.ts +2 -2
  196. package/types/element/textElement.d.ts +76 -80
  197. package/types/element/textWysiwyg.d.ts +21 -21
  198. package/types/element/transformHandles.d.ts +35 -35
  199. package/types/element/typeChecks.d.ts +29 -29
  200. package/types/element/types.d.ts +166 -166
  201. package/types/errors.d.ts +8 -8
  202. package/types/excalidraw-app/CustomStats.d.ts +9 -0
  203. package/types/excalidraw-app/app_constants.d.ts +32 -0
  204. package/types/excalidraw-app/collab/Collab.d.ts +163 -0
  205. package/types/excalidraw-app/collab/Portal.d.ts +28 -0
  206. package/types/excalidraw-app/collab/RoomDialog.d.ts +13 -0
  207. package/types/excalidraw-app/collab/reconciliation.d.ts +10 -0
  208. package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +9 -0
  209. package/types/excalidraw-app/components/LanguageList.d.ts +4 -0
  210. package/types/excalidraw-app/components/icons.d.ts +1 -0
  211. package/types/excalidraw-app/data/FileManager.d.ts +66 -0
  212. package/types/excalidraw-app/data/LocalData.d.ts +32 -0
  213. package/types/excalidraw-app/data/Locker.d.ts +8 -0
  214. package/types/excalidraw-app/data/firebase.d.ts +25 -0
  215. package/types/excalidraw-app/data/index.d.ts +190 -0
  216. package/types/excalidraw-app/data/localStorage.d.ts +116 -0
  217. package/types/excalidraw-app/data/tabSync.d.ts +9 -0
  218. package/types/excalidraw-app/index.d.ts +26 -0
  219. package/types/frame.d.ts +40 -40
  220. package/types/ga.d.ts +63 -63
  221. package/types/gadirections.d.ts +8 -8
  222. package/types/galines.d.ts +22 -22
  223. package/types/gapoints.d.ts +7 -7
  224. package/types/gatransforms.d.ts +10 -10
  225. package/types/gesture.d.ts +6 -6
  226. package/types/groups.d.ts +31 -31
  227. package/types/history.d.ts +52 -52
  228. package/types/hooks/useCallbackRefState.d.ts +1 -1
  229. package/types/hooks/useCreatePortalContainer.d.ts +5 -5
  230. package/types/hooks/useLibraryItemSvg.d.ts +11 -11
  231. package/types/hooks/useOutsideClick.d.ts +19 -20
  232. package/types/hooks/useScrollPosition.d.ts +1 -2
  233. package/types/hooks/useTransition.d.ts +2 -2
  234. package/types/i18n.d.ts +24 -24
  235. package/types/jotai.d.ts +34 -34
  236. package/types/keys.d.ts +80 -80
  237. package/types/math.d.ts +30 -30
  238. package/types/packages/common.webpack.dev.config.d.ts +72 -72
  239. package/types/packages/common.webpack.prod.config.d.ts +84 -84
  240. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +2 -4
  241. package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  242. package/types/packages/excalidraw/entry.d.ts +1 -1
  243. package/types/packages/excalidraw/env.d.ts +1 -1
  244. package/types/packages/excalidraw/example/App.d.ts +14 -14
  245. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -5
  246. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -5
  247. package/types/packages/excalidraw/example/index.d.ts +1 -1
  248. package/types/packages/excalidraw/example/initialData.d.ts +178 -178
  249. package/types/packages/excalidraw/example/sidebar/ExampleSidebar.d.ts +5 -5
  250. package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +5 -0
  251. package/types/packages/excalidraw/index.d.ts +38 -37
  252. package/types/packages/excalidraw/main.d.ts +2 -2
  253. package/types/packages/excalidraw/publicPath.d.ts +1 -1
  254. package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
  255. package/types/packages/excalidraw/webpack.dev.config.d.ts +80 -69
  256. package/types/packages/excalidraw/webpack.prod.config.d.ts +95 -78
  257. package/types/packages/utils.d.ts +43 -43
  258. package/types/points.d.ts +7 -7
  259. package/types/polyfill.d.ts +2 -2
  260. package/types/random.d.ts +4 -4
  261. package/types/renderer/easingFunctions.d.ts +6 -6
  262. package/types/renderer/renderElement.d.ts +37 -37
  263. package/types/renderer/renderScene.d.ts +51 -51
  264. package/types/renderer/roundRect.d.ts +11 -11
  265. package/types/scene/Fonts.d.ts +21 -21
  266. package/types/scene/Scene.d.ts +60 -60
  267. package/types/scene/comparisons.d.ts +10 -10
  268. package/types/scene/export.d.ts +25 -25
  269. package/types/scene/index.d.ts +5 -5
  270. package/types/scene/scroll.d.ts +17 -17
  271. package/types/scene/scrollbars.d.ts +16 -16
  272. package/types/scene/selection.d.ts +31 -31
  273. package/types/scene/types.d.ts +59 -59
  274. package/types/scene/zoom.d.ts +13 -13
  275. package/types/shapes.d.ts +62 -62
  276. package/types/types.d.ts +501 -501
  277. package/types/utility-types.d.ts +24 -25
  278. package/types/utils.d.ts +192 -192
  279. package/types/zindex.d.ts +6 -6
  280. package/types/.DS_Store +0 -0
@@ -1,288 +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 { 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
+ 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 {};
@@ -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,17 +1,16 @@
1
- /// <reference types="react" />
2
- import "./Button.scss";
3
- interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
4
- type?: "button" | "submit" | "reset";
5
- onSelect: () => any;
6
- /** whether button is in active state */
7
- selected?: boolean;
8
- children: React.ReactNode;
9
- className?: string;
10
- }
11
- /**
12
- * A generic button component that follows Excalidraw's design system.
13
- * Style can be customised using `className` or `style` prop.
14
- * Accepts all props that a regular `button` element accepts.
15
- */
16
- export declare const Button: ({ type, onSelect, selected, children, className, ...rest }: ButtonProps) => JSX.Element;
17
- export {};
1
+ import "./Button.scss";
2
+ interface ButtonProps extends React.HTMLAttributes<HTMLButtonElement> {
3
+ type?: "button" | "submit" | "reset";
4
+ onSelect: () => any;
5
+ /** whether button is in active state */
6
+ selected?: boolean;
7
+ children: React.ReactNode;
8
+ className?: string;
9
+ }
10
+ /**
11
+ * A generic button component that follows Excalidraw's design system.
12
+ * Style can be customised using `className` or `style` prop.
13
+ * Accepts all props that a regular `button` element accepts.
14
+ */
15
+ export declare const Button: ({ type, onSelect, selected, children, className, ...rest }: ButtonProps) => JSX.Element;
16
+ export {};