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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/.DS_Store +0 -0
  2. package/dist/excalidraw.development.js +184 -184
  3. package/dist/excalidraw.production.min.js +1 -1
  4. package/package.json +1 -1
  5. package/types/actions/actionAddToLibrary.d.ts +372 -369
  6. package/types/actions/actionAlign.d.ts +91 -91
  7. package/types/actions/actionBoundText.d.ts +284 -164
  8. package/types/actions/actionCanvas.d.ts +1315 -1305
  9. package/types/actions/actionClipboard.d.ts +717 -712
  10. package/types/actions/actionDeleteSelected.d.ts +409 -406
  11. package/types/actions/actionDistribute.d.ts +33 -33
  12. package/types/actions/actionDuplicateSelection.d.ts +22 -22
  13. package/types/actions/actionExport.d.ts +1181 -1172
  14. package/types/actions/actionFinalize.d.ts +256 -254
  15. package/types/actions/actionFlip.d.ts +35 -35
  16. package/types/actions/actionGroup.d.ts +45 -45
  17. package/types/actions/actionHistory.d.ts +6 -6
  18. package/types/actions/actionLinearEditor.d.ts +135 -134
  19. package/types/actions/actionMenu.d.ts +410 -407
  20. package/types/actions/actionNavigate.d.ts +14 -14
  21. package/types/actions/actionProperties.d.ts +1714 -1701
  22. package/types/actions/actionSelectAll.d.ts +16 -16
  23. package/types/actions/actionStyles.d.ts +149 -148
  24. package/types/actions/actionToggleGridMode.d.ts +138 -137
  25. package/types/actions/actionToggleLock.d.ts +135 -134
  26. package/types/actions/actionToggleStats.d.ts +135 -134
  27. package/types/actions/actionToggleViewMode.d.ts +137 -136
  28. package/types/actions/actionToggleZenMode.d.ts +137 -136
  29. package/types/actions/actionZindex.d.ts +67 -67
  30. package/types/actions/index.d.ts +24 -24
  31. package/types/actions/manager.d.ts +21 -21
  32. package/types/actions/register.d.ts +5 -5
  33. package/types/actions/shortcuts.d.ts +4 -4
  34. package/types/actions/types.d.ts +44 -44
  35. package/types/align.d.ts +6 -6
  36. package/types/analytics.d.ts +1 -1
  37. package/types/appState.d.ts +78 -78
  38. package/types/charts.d.ts +27 -27
  39. package/types/clients.d.ts +6 -6
  40. package/types/clipboard.d.ts +25 -25
  41. package/types/colors.d.ts +6 -6
  42. package/types/components/Actions.d.ts +36 -36
  43. package/types/components/ActiveConfirmDialog.d.ts +24 -24
  44. package/types/components/App.d.ts +248 -248
  45. package/types/components/Avatar.d.ts +11 -11
  46. package/types/components/BraveMeasureTextError.d.ts +2 -2
  47. package/types/components/Button.d.ts +15 -15
  48. package/types/components/ButtonIconSelect.d.ts +11 -11
  49. package/types/components/Card.d.ts +7 -7
  50. package/types/components/CheckboxItem.d.ts +8 -8
  51. package/types/components/ColorPicker.d.ts +19 -19
  52. package/types/components/ConfirmDialog.d.ts +10 -10
  53. package/types/components/ContextMenu.d.ts +15 -15
  54. package/types/components/DarkModeToggle.d.ts +7 -7
  55. package/types/components/Dialog.d.ts +14 -14
  56. package/types/components/DialogActionButton.d.ts +10 -10
  57. package/types/components/ErrorDialog.d.ts +5 -5
  58. package/types/components/FixedSideContainer.d.ts +9 -9
  59. package/types/components/HandButton.d.ts +10 -10
  60. package/types/components/HelpButton.d.ts +7 -7
  61. package/types/components/HelpDialog.d.ts +4 -4
  62. package/types/components/HintViewer.d.ts +11 -11
  63. package/types/components/IconPicker.d.ts +13 -13
  64. package/types/components/ImageExportDialog.d.ts +18 -18
  65. package/types/components/InitializeApp.d.ts +10 -10
  66. package/types/components/Island.d.ts +10 -10
  67. package/types/components/JSONExportDialog.d.ts +15 -15
  68. package/types/components/LayerUI.d.ts +37 -37
  69. package/types/components/LibraryButton.d.ts +8 -8
  70. package/types/components/LibraryMenu.d.ts +25 -25
  71. package/types/components/LibraryMenuBrowseButton.d.ts +7 -7
  72. package/types/components/LibraryMenuHeaderContent.d.ts +35 -35
  73. package/types/components/LibraryMenuItems.d.ts +15 -15
  74. package/types/components/LibraryUnit.d.ts +11 -11
  75. package/types/components/LoadingMessage.d.ts +6 -6
  76. package/types/components/LockButton.d.ts +10 -10
  77. package/types/components/MobileMenu.d.ts +26 -26
  78. package/types/components/Modal.d.ts +13 -12
  79. package/types/components/PasteChartDialog.d.ts +9 -9
  80. package/types/components/PenModeButton.d.ts +12 -12
  81. package/types/components/Popover.d.ts +15 -15
  82. package/types/components/ProjectName.d.ts +10 -10
  83. package/types/components/PublishLibrary.d.ts +16 -16
  84. package/types/components/Section.d.ts +6 -6
  85. package/types/components/Sidebar/Sidebar.d.ts +73 -73
  86. package/types/components/Sidebar/SidebarHeader.d.ts +20 -20
  87. package/types/components/Sidebar/common.d.ts +16 -16
  88. package/types/components/SingleLibraryItem.d.ts +10 -10
  89. package/types/components/Spinner.d.ts +6 -6
  90. package/types/components/Stack.d.ts +15 -15
  91. package/types/components/Stats.d.ts +11 -11
  92. package/types/components/Toast.d.ts +7 -7
  93. package/types/components/ToolButton.d.ts +46 -46
  94. package/types/components/Tooltip.d.ts +17 -17
  95. package/types/components/UserList.d.ts +8 -8
  96. package/types/components/context/tunnels.d.ts +16 -16
  97. package/types/components/dropdownMenu/DropdownMenu.d.ts +66 -66
  98. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  99. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  100. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -12
  101. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -6
  102. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -6
  103. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -13
  104. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  105. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +9 -9
  106. package/types/components/dropdownMenu/common.d.ts +6 -6
  107. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  108. package/types/components/footer/Footer.d.ts +12 -12
  109. package/types/components/footer/FooterCenter.d.ts +8 -8
  110. package/types/components/hoc/withInternalFallback.d.ts +4 -4
  111. package/types/components/hoc/withUpstreamOverride.d.ts +10 -10
  112. package/types/components/icons.d.ts +142 -142
  113. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
  114. package/types/components/main-menu/DefaultItems.d.ts +44 -44
  115. package/types/components/main-menu/MainMenu.d.ts +60 -60
  116. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
  117. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  118. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -85
  119. package/types/constants.d.ts +170 -170
  120. package/types/data/blob.d.ts +48 -48
  121. package/types/data/encode.d.ts +53 -53
  122. package/types/data/encryption.d.ts +9 -9
  123. package/types/data/filesystem.d.ts +18 -18
  124. package/types/data/image.d.ts +15 -15
  125. package/types/data/index.d.ts +13 -13
  126. package/types/data/json.d.ts +16 -16
  127. package/types/data/library.d.ts +96 -96
  128. package/types/data/resave.d.ts +5 -5
  129. package/types/data/restore.d.ts +21 -21
  130. package/types/data/types.d.ts +47 -47
  131. package/types/distribute.d.ts +6 -6
  132. package/types/element/Hyperlink.d.ts +155 -154
  133. package/types/element/binding.d.ts +33 -33
  134. package/types/element/bounds.d.ts +28 -28
  135. package/types/element/collision.d.ts +21 -21
  136. package/types/element/dragElements.d.ts +5 -5
  137. package/types/element/image.d.ts +22 -22
  138. package/types/element/index.d.ts +20 -20
  139. package/types/element/linearElementEditor.d.ts +273 -272
  140. package/types/element/mutateElement.d.ts +12 -12
  141. package/types/element/newElement.d.ts +65 -65
  142. package/types/element/resizeElements.d.ts +8 -8
  143. package/types/element/resizeTest.d.ts +13 -13
  144. package/types/element/showSelectedShapeActions.d.ts +3 -3
  145. package/types/element/sizeHelpers.d.ts +21 -21
  146. package/types/element/sortElements.d.ts +2 -2
  147. package/types/element/textElement.d.ts +73 -73
  148. package/types/element/textWysiwyg.d.ts +21 -21
  149. package/types/element/transformHandles.d.ts +28 -28
  150. package/types/element/typeChecks.d.ts +27 -27
  151. package/types/element/types.d.ts +149 -149
  152. package/types/errors.d.ts +8 -8
  153. package/types/ga.d.ts +63 -63
  154. package/types/gadirections.d.ts +8 -8
  155. package/types/galines.d.ts +22 -22
  156. package/types/gapoints.d.ts +7 -7
  157. package/types/gatransforms.d.ts +10 -10
  158. package/types/gesture.d.ts +6 -6
  159. package/types/groups.d.ts +27 -27
  160. package/types/history.d.ts +52 -52
  161. package/types/hooks/useCallbackRefState.d.ts +1 -1
  162. package/types/hooks/useOutsideClick.d.ts +2 -2
  163. package/types/i18n.d.ts +21 -21
  164. package/types/jotai.d.ts +122 -122
  165. package/types/keys.d.ts +77 -77
  166. package/types/math.d.ts +29 -29
  167. package/types/packages/common.webpack.dev.config.d.ts +72 -71
  168. package/types/packages/common.webpack.prod.config.d.ts +84 -83
  169. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +4 -4
  170. package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  171. package/types/packages/excalidraw/entry.d.ts +1 -1
  172. package/types/packages/excalidraw/env.d.ts +1 -1
  173. package/types/packages/excalidraw/example/App.d.ts +14 -14
  174. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -5
  175. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -5
  176. package/types/packages/excalidraw/example/index.d.ts +1 -1
  177. package/types/packages/excalidraw/example/initialData.d.ts +172 -172
  178. package/types/packages/excalidraw/example/sidebar/ExampleSidebar.d.ts +5 -5
  179. package/types/packages/excalidraw/index.d.ts +35 -35
  180. package/types/packages/excalidraw/main.d.ts +2 -2
  181. package/types/packages/excalidraw/publicPath.d.ts +1 -1
  182. package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
  183. package/types/packages/excalidraw/webpack.dev.config.d.ts +69 -68
  184. package/types/packages/excalidraw/webpack.prod.config.d.ts +78 -77
  185. package/types/packages/utils.d.ts +42 -42
  186. package/types/points.d.ts +7 -7
  187. package/types/polyfill.d.ts +2 -2
  188. package/types/random.d.ts +4 -4
  189. package/types/renderer/easingFunctions.d.ts +6 -6
  190. package/types/renderer/renderElement.d.ts +35 -35
  191. package/types/renderer/renderScene.d.ts +41 -41
  192. package/types/renderer/roundRect.d.ts +11 -11
  193. package/types/scene/Fonts.d.ts +21 -21
  194. package/types/scene/Scene.d.ts +40 -40
  195. package/types/scene/comparisons.d.ts +10 -10
  196. package/types/scene/export.d.ts +20 -20
  197. package/types/scene/index.d.ts +5 -5
  198. package/types/scene/scroll.d.ts +17 -17
  199. package/types/scene/scrollbars.d.ts +16 -16
  200. package/types/scene/selection.d.ts +11 -11
  201. package/types/scene/types.d.ts +59 -59
  202. package/types/scene/zoom.d.ts +13 -13
  203. package/types/shapes.d.ts +62 -62
  204. package/types/types.d.ts +442 -441
  205. package/types/utility-types.d.ts +22 -22
  206. package/types/utils.d.ts +162 -163
  207. package/types/zindex.d.ts +6 -6
  208. package/types/bug-issue-template.d.ts +0 -2
  209. package/types/components/ActiveFile.d.ts +0 -7
  210. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -4
  211. package/types/components/ClearCanvas.d.ts +0 -4
  212. package/types/components/CollabButton.d.ts +0 -7
  213. package/types/components/EncryptedIcon.d.ts +0 -2
  214. package/types/components/Footer.d.ts +0 -10
  215. package/types/components/HelpIcon.d.ts +0 -8
  216. package/types/components/MenuItem.d.ts +0 -11
  217. package/types/components/MenuUtils.d.ts +0 -2
  218. package/types/components/SidebarLockButton.d.ts +0 -8
  219. package/types/components/TopErrorBoundary.d.ts +0 -15
  220. package/types/components/WelcomeScreen.d.ts +0 -8
  221. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  222. package/types/components/mainMenu/DefaultItems.d.ts +0 -44
  223. package/types/components/mainMenu/MainMenu.d.ts +0 -63
  224. package/types/excalidraw-app/CustomStats.d.ts +0 -9
  225. package/types/excalidraw-app/app_constants.d.ts +0 -32
  226. package/types/excalidraw-app/collab/Collab.d.ts +0 -163
  227. package/types/excalidraw-app/collab/Portal.d.ts +0 -28
  228. package/types/excalidraw-app/collab/RoomDialog.d.ts +0 -13
  229. package/types/excalidraw-app/collab/reconciliation.d.ts +0 -10
  230. package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +0 -9
  231. package/types/excalidraw-app/components/LanguageList.d.ts +0 -4
  232. package/types/excalidraw-app/components/icons.d.ts +0 -1
  233. package/types/excalidraw-app/data/FileManager.d.ts +0 -66
  234. package/types/excalidraw-app/data/LocalData.d.ts +0 -32
  235. package/types/excalidraw-app/data/Locker.d.ts +0 -8
  236. package/types/excalidraw-app/data/firebase.d.ts +0 -25
  237. package/types/excalidraw-app/data/index.d.ts +0 -190
  238. package/types/excalidraw-app/data/localStorage.d.ts +0 -116
  239. package/types/excalidraw-app/data/tabSync.d.ts +0 -9
  240. package/types/excalidraw-app/index.d.ts +0 -26
  241. package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +0 -5
@@ -1,22 +1,22 @@
1
- /// <reference types="react" />
2
- export declare type Mutable<T> = {
3
- -readonly [P in keyof T]: T[P];
4
- };
5
- export declare type ValueOf<T> = T[keyof T];
6
- export declare type Merge<M, N> = Omit<M, keyof N> & N;
7
- /** utility type to assert that the second type is a subtype of the first type.
8
- * Returns the subtype. */
9
- export declare type SubtypeOf<Supertype, Subtype extends Supertype> = Subtype;
10
- export declare type ResolutionType<T extends (...args: any) => any> = T extends (...args: any) => Promise<infer R> ? R : any;
11
- export declare type MarkOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
12
- export declare type MarkRequired<T, RK extends keyof T> = Exclude<T, RK> & Required<Pick<T, RK>>;
13
- export declare type MarkNonNullable<T, K extends keyof T> = {
14
- [P in K]-?: P extends K ? NonNullable<T[P]> : T[P];
15
- } & {
16
- [P in keyof T]: T[P];
17
- };
18
- export declare type NonOptional<T> = Exclude<T, undefined>;
19
- export declare type SignatureType<T> = T extends (...args: infer R) => any ? R : never;
20
- export declare type CallableType<T extends (...args: any[]) => any> = (...args: SignatureType<T>) => ReturnType<T>;
21
- export declare type ForwardRef<T, P = any> = Parameters<CallableType<React.ForwardRefRenderFunction<T, P>>>[1];
22
- export declare type ExtractSetType<T extends Set<any>> = T extends Set<infer U> ? U : never;
1
+ /// <reference types="react" />
2
+ export declare type Mutable<T> = {
3
+ -readonly [P in keyof T]: T[P];
4
+ };
5
+ export declare type ValueOf<T> = T[keyof T];
6
+ export declare type Merge<M, N> = Omit<M, keyof N> & N;
7
+ /** utility type to assert that the second type is a subtype of the first type.
8
+ * Returns the subtype. */
9
+ export declare type SubtypeOf<Supertype, Subtype extends Supertype> = Subtype;
10
+ export declare type ResolutionType<T extends (...args: any) => any> = T extends (...args: any) => Promise<infer R> ? R : any;
11
+ export declare type MarkOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
12
+ export declare type MarkRequired<T, RK extends keyof T> = Exclude<T, RK> & Required<Pick<T, RK>>;
13
+ export declare type MarkNonNullable<T, K extends keyof T> = {
14
+ [P in K]-?: P extends K ? NonNullable<T[P]> : T[P];
15
+ } & {
16
+ [P in keyof T]: T[P];
17
+ };
18
+ export declare type NonOptional<T> = Exclude<T, undefined>;
19
+ export declare type SignatureType<T> = T extends (...args: infer R) => any ? R : never;
20
+ export declare type CallableType<T extends (...args: any[]) => any> = (...args: SignatureType<T>) => ReturnType<T>;
21
+ export declare type ForwardRef<T, P = any> = Parameters<CallableType<React.ForwardRefRenderFunction<T, P>>>[1];
22
+ export declare type ExtractSetType<T extends Set<any>> = T extends Set<infer U> ? U : never;
package/types/utils.d.ts CHANGED
@@ -1,163 +1,162 @@
1
- import { EVENT } from "./constants";
2
- import { FontFamilyValues, FontString } from "./element/types";
3
- import { AppState, LastActiveTool, Zoom } from "./types";
4
- import { SHAPES } from "./shapes";
5
- export declare const setDateTimeForTests: (dateTime: string) => void;
6
- export declare const getDateTime: () => string;
7
- export declare const capitalizeString: (str: string) => string;
8
- export declare const isToolIcon: (target: Element | EventTarget | null) => target is HTMLElement;
9
- export declare const isInputLike: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
10
- export declare const isWritableElement: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLTextAreaElement;
11
- export declare const getFontFamilyString: ({ fontFamily, }: {
12
- fontFamily: FontFamilyValues;
13
- }) => string;
14
- /** returns fontSize+fontFamily string for assignment to DOM elements */
15
- export declare const getFontString: ({ fontSize, fontFamily, }: {
16
- fontSize: number;
17
- fontFamily: FontFamilyValues;
18
- }) => FontString;
19
- export declare const debounce: <T extends any[]>(fn: (...args: T) => void, timeout: number) => {
20
- (...args: T): void;
21
- flush(): void;
22
- cancel(): void;
23
- };
24
- export declare const throttleRAF: <T extends any[]>(fn: (...args: T) => void, opts?: {
25
- trailing?: boolean;
26
- }) => {
27
- (...args: T): void;
28
- flush(): void;
29
- cancel(): void;
30
- };
31
- /**
32
- * Compute new values based on the same ease function and trigger the
33
- * callback through a requestAnimationFrame call
34
- *
35
- * use `opts` to define a duration and/or an easeFn
36
- *
37
- * for example:
38
- * ```ts
39
- * easeToValuesRAF([10, 20, 10], [0, 0, 0], (a, b, c) => setState(a,b, c))
40
- * ```
41
- *
42
- * @param fromValues The initial values, must be numeric
43
- * @param toValues The destination values, must also be numeric
44
- * @param callback The callback receiving the values
45
- * @param opts default to 250ms duration and the easeOut function
46
- */
47
- export declare const easeToValuesRAF: (fromValues: number[], toValues: number[], callback: (...values: number[]) => void, opts?: {
48
- duration?: number | undefined;
49
- easeFn?: ((value: number) => number) | undefined;
50
- } | undefined) => () => void;
51
- export declare const chunk: <T extends unknown>(array: readonly T[], size: number) => T[][];
52
- export declare const selectNode: (node: Element) => void;
53
- export declare const removeSelection: () => void;
54
- export declare const distance: (x: number, y: number) => number;
55
- export declare const updateActiveTool: (appState: Pick<AppState, "activeTool">, data: ({
56
- type: (typeof SHAPES)[number]["value"] | "eraser" | "hand";
57
- } | {
58
- type: "custom";
59
- customType: string;
60
- }) & {
61
- lastActiveToolBeforeEraser?: LastActiveTool;
62
- }) => AppState["activeTool"];
63
- export declare const resetCursor: (canvas: HTMLCanvasElement | null) => void;
64
- export declare const setCursor: (canvas: HTMLCanvasElement | null, cursor: string) => void;
65
- export declare const setEraserCursor: (canvas: HTMLCanvasElement | null, theme: AppState["theme"]) => void;
66
- export declare const setCursorForShape: (canvas: HTMLCanvasElement | null, appState: AppState) => void;
67
- export declare const isFullScreen: () => boolean;
68
- export declare const allowFullScreen: () => Promise<void>;
69
- export declare const exitFullScreen: () => Promise<void>;
70
- export declare const getShortcutKey: (shortcut: string) => string;
71
- export declare const viewportCoordsToSceneCoords: ({ clientX, clientY }: {
72
- clientX: number;
73
- clientY: number;
74
- }, { zoom, offsetLeft, offsetTop, scrollX, scrollY, }: {
75
- zoom: Zoom;
76
- offsetLeft: number;
77
- offsetTop: number;
78
- scrollX: number;
79
- scrollY: number;
80
- }) => {
81
- x: number;
82
- y: number;
83
- };
84
- export declare const sceneCoordsToViewportCoords: ({ sceneX, sceneY }: {
85
- sceneX: number;
86
- sceneY: number;
87
- }, { zoom, offsetLeft, offsetTop, scrollX, scrollY, }: {
88
- zoom: Zoom;
89
- offsetLeft: number;
90
- offsetTop: number;
91
- scrollX: number;
92
- scrollY: number;
93
- }) => {
94
- x: number;
95
- y: number;
96
- };
97
- export declare const getGlobalCSSVariable: (name: string) => string;
98
- /**
99
- * Checks whether first directional character is RTL. Meaning whether it starts
100
- * with RTL characters, or indeterminate (numbers etc.) characters followed by
101
- * RTL.
102
- * See https://github.com/excalidraw/excalidraw/pull/1722#discussion_r436340171
103
- */
104
- export declare const isRTL: (text: string) => boolean;
105
- export declare const tupleToCoors: (xyTuple: readonly [number, number]) => {
106
- x: number;
107
- y: number;
108
- };
109
- /** use as a rejectionHandler to mute filesystem Abort errors */
110
- export declare const muteFSAbortError: (error?: Error) => void;
111
- export declare const findIndex: <T>(array: readonly T[], cb: (element: T, index: number, array: readonly T[]) => boolean, fromIndex?: number) => number;
112
- export declare const findLastIndex: <T>(array: readonly T[], cb: (element: T, index: number, array: readonly T[]) => boolean, fromIndex?: number) => number;
113
- export declare const isTransparent: (color: string) => boolean;
114
- export declare type ResolvablePromise<T> = Promise<T> & {
115
- resolve: [T] extends [undefined] ? (value?: T) => void : (value: T) => void;
116
- reject: (error: Error) => void;
117
- };
118
- export declare const resolvablePromise: <T>() => ResolvablePromise<T>;
119
- /**
120
- * @param func handler taking at most single parameter (event).
121
- */
122
- export declare const withBatchedUpdates: <TFunction extends ((event: any) => void) | (() => void)>(func: Parameters<TFunction>["length"] extends 0 | 1 ? TFunction : never) => TFunction;
123
- /**
124
- * barches React state updates and throttles the calls to a single call per
125
- * animation frame
126
- */
127
- export declare const withBatchedUpdatesThrottled: <TFunction extends ((event: any) => void) | (() => void)>(func: Parameters<TFunction>["length"] extends 0 | 1 ? TFunction : never) => {
128
- (...args: Parameters<TFunction>): void;
129
- flush(): void;
130
- cancel(): void;
131
- };
132
- export declare const nFormatter: (num: number, digits: number) => string;
133
- export declare const getVersion: () => string;
134
- export declare const supportsEmoji: () => boolean;
135
- export declare const getNearestScrollableContainer: (element: HTMLElement) => HTMLElement | Document;
136
- export declare const focusNearestParent: (element: HTMLInputElement) => void;
137
- export declare const preventUnload: (event: BeforeUnloadEvent) => void;
138
- export declare const bytesToHexString: (bytes: Uint8Array) => string;
139
- export declare const getUpdatedTimestamp: () => number;
140
- /**
141
- * Transforms array of objects containing `id` attribute,
142
- * or array of ids (strings), into a Map, keyd by `id`.
143
- */
144
- export declare const arrayToMap: <T extends string | {
145
- id: string;
146
- }>(items: readonly T[]) => Map<string, T>;
147
- export declare const arrayToMapWithIndex: <T extends {
148
- id: string;
149
- }>(elements: readonly T[]) => Map<string, [element: T, index: number]>;
150
- export declare const isTestEnv: () => boolean;
151
- export declare const isProdEnv: () => boolean;
152
- export declare const wrapEvent: <T extends Event>(name: EVENT, nativeEvent: T) => CustomEvent<{
153
- nativeEvent: T;
154
- }>;
155
- export declare const updateObject: <T extends Record<string, any>>(obj: T, updates: Partial<T>) => T;
156
- export declare const isPrimitive: (val: any) => boolean;
157
- export declare const getFrame: () => "top" | "iframe";
158
- export declare const isPromiseLike: (value: any) => value is Promise<any>;
159
- export declare const queryFocusableElements: (container: HTMLElement | null) => HTMLElement[];
160
- export declare const isShallowEqual: <T extends Record<string, any>>(objA: T, objB: T) => boolean;
161
- export declare const composeEventHandlers: <E>(originalEventHandler?: ((event: E) => void) | undefined, ourEventHandler?: ((event: E) => void) | undefined, { checkForDefaultPrevented }?: {
162
- checkForDefaultPrevented?: boolean | undefined;
163
- }) => (event: E) => void;
1
+ import { EVENT } from "./constants";
2
+ import { FontFamilyValues, FontString } from "./element/types";
3
+ import { AppState, LastActiveTool, Zoom } from "./types";
4
+ import { SHAPES } from "./shapes";
5
+ export declare const setDateTimeForTests: (dateTime: string) => void;
6
+ export declare const getDateTime: () => string;
7
+ export declare const capitalizeString: (str: string) => string;
8
+ export declare const isToolIcon: (target: Element | EventTarget | null) => target is HTMLElement;
9
+ export declare const isInputLike: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
10
+ export declare const isWritableElement: (target: Element | EventTarget | null) => target is HTMLBRElement | HTMLDivElement | HTMLInputElement | HTMLTextAreaElement;
11
+ export declare const getFontFamilyString: ({ fontFamily, }: {
12
+ fontFamily: FontFamilyValues;
13
+ }) => string;
14
+ /** returns fontSize+fontFamily string for assignment to DOM elements */
15
+ export declare const getFontString: ({ fontSize, fontFamily, }: {
16
+ fontSize: number;
17
+ fontFamily: FontFamilyValues;
18
+ }) => FontString;
19
+ export declare const debounce: <T extends any[]>(fn: (...args: T) => void, timeout: number) => {
20
+ (...args: T): void;
21
+ flush(): void;
22
+ cancel(): void;
23
+ };
24
+ export declare const throttleRAF: <T extends any[]>(fn: (...args: T) => void, opts?: {
25
+ trailing?: boolean;
26
+ }) => {
27
+ (...args: T): void;
28
+ flush(): void;
29
+ cancel(): void;
30
+ };
31
+ /**
32
+ * Compute new values based on the same ease function and trigger the
33
+ * callback through a requestAnimationFrame call
34
+ *
35
+ * use `opts` to define a duration and/or an easeFn
36
+ *
37
+ * for example:
38
+ * ```ts
39
+ * easeToValuesRAF([10, 20, 10], [0, 0, 0], (a, b, c) => setState(a,b, c))
40
+ * ```
41
+ *
42
+ * @param fromValues The initial values, must be numeric
43
+ * @param toValues The destination values, must also be numeric
44
+ * @param callback The callback receiving the values
45
+ * @param opts default to 250ms duration and the easeOut function
46
+ */
47
+ export declare const easeToValuesRAF: (fromValues: number[], toValues: number[], callback: (...values: number[]) => void, opts?: {
48
+ duration?: number | undefined;
49
+ easeFn?: ((value: number) => number) | undefined;
50
+ } | undefined) => () => void;
51
+ export declare const chunk: <T extends unknown>(array: readonly T[], size: number) => T[][];
52
+ export declare const selectNode: (node: Element) => void;
53
+ export declare const removeSelection: () => void;
54
+ export declare const distance: (x: number, y: number) => number;
55
+ export declare const updateActiveTool: (appState: Pick<AppState, "activeTool">, data: ({
56
+ type: (typeof SHAPES)[number]["value"] | "eraser" | "hand";
57
+ } | {
58
+ type: "custom";
59
+ customType: string;
60
+ }) & {
61
+ lastActiveToolBeforeEraser?: LastActiveTool;
62
+ }) => AppState["activeTool"];
63
+ export declare const resetCursor: (canvas: HTMLCanvasElement | null) => void;
64
+ export declare const setCursor: (canvas: HTMLCanvasElement | null, cursor: string) => void;
65
+ export declare const setEraserCursor: (canvas: HTMLCanvasElement | null, theme: AppState["theme"]) => void;
66
+ export declare const setCursorForShape: (canvas: HTMLCanvasElement | null, appState: AppState) => void;
67
+ export declare const isFullScreen: () => boolean;
68
+ export declare const allowFullScreen: () => Promise<void>;
69
+ export declare const exitFullScreen: () => Promise<void>;
70
+ export declare const getShortcutKey: (shortcut: string) => string;
71
+ export declare const viewportCoordsToSceneCoords: ({ clientX, clientY }: {
72
+ clientX: number;
73
+ clientY: number;
74
+ }, { zoom, offsetLeft, offsetTop, scrollX, scrollY, }: {
75
+ zoom: Zoom;
76
+ offsetLeft: number;
77
+ offsetTop: number;
78
+ scrollX: number;
79
+ scrollY: number;
80
+ }) => {
81
+ x: number;
82
+ y: number;
83
+ };
84
+ export declare const sceneCoordsToViewportCoords: ({ sceneX, sceneY }: {
85
+ sceneX: number;
86
+ sceneY: number;
87
+ }, { zoom, offsetLeft, offsetTop, scrollX, scrollY, }: {
88
+ zoom: Zoom;
89
+ offsetLeft: number;
90
+ offsetTop: number;
91
+ scrollX: number;
92
+ scrollY: number;
93
+ }) => {
94
+ x: number;
95
+ y: number;
96
+ };
97
+ export declare const getGlobalCSSVariable: (name: string) => string;
98
+ /**
99
+ * Checks whether first directional character is RTL. Meaning whether it starts
100
+ * with RTL characters, or indeterminate (numbers etc.) characters followed by
101
+ * RTL.
102
+ * See https://github.com/excalidraw/excalidraw/pull/1722#discussion_r436340171
103
+ */
104
+ export declare const isRTL: (text: string) => boolean;
105
+ export declare const tupleToCoors: (xyTuple: readonly [number, number]) => {
106
+ x: number;
107
+ y: number;
108
+ };
109
+ /** use as a rejectionHandler to mute filesystem Abort errors */
110
+ export declare const muteFSAbortError: (error?: Error) => void;
111
+ export declare const findIndex: <T>(array: readonly T[], cb: (element: T, index: number, array: readonly T[]) => boolean, fromIndex?: number) => number;
112
+ export declare const findLastIndex: <T>(array: readonly T[], cb: (element: T, index: number, array: readonly T[]) => boolean, fromIndex?: number) => number;
113
+ export declare const isTransparent: (color: string) => boolean;
114
+ export declare type ResolvablePromise<T> = Promise<T> & {
115
+ resolve: [T] extends [undefined] ? (value?: T) => void : (value: T) => void;
116
+ reject: (error: Error) => void;
117
+ };
118
+ export declare const resolvablePromise: <T>() => ResolvablePromise<T>;
119
+ /**
120
+ * @param func handler taking at most single parameter (event).
121
+ */
122
+ export declare const withBatchedUpdates: <TFunction extends ((event: any) => void) | (() => void)>(func: Parameters<TFunction>["length"] extends 0 | 1 ? TFunction : never) => TFunction;
123
+ /**
124
+ * barches React state updates and throttles the calls to a single call per
125
+ * animation frame
126
+ */
127
+ export declare const withBatchedUpdatesThrottled: <TFunction extends ((event: any) => void) | (() => void)>(func: Parameters<TFunction>["length"] extends 0 | 1 ? TFunction : never) => {
128
+ (...args: Parameters<TFunction>): void;
129
+ flush(): void;
130
+ cancel(): void;
131
+ };
132
+ export declare const nFormatter: (num: number, digits: number) => string;
133
+ export declare const getVersion: () => string;
134
+ export declare const supportsEmoji: () => boolean;
135
+ export declare const getNearestScrollableContainer: (element: HTMLElement) => HTMLElement | Document;
136
+ export declare const focusNearestParent: (element: HTMLInputElement) => void;
137
+ export declare const preventUnload: (event: BeforeUnloadEvent) => void;
138
+ export declare const bytesToHexString: (bytes: Uint8Array) => string;
139
+ export declare const getUpdatedTimestamp: () => number;
140
+ /**
141
+ * Transforms array of objects containing `id` attribute,
142
+ * or array of ids (strings), into a Map, keyd by `id`.
143
+ */
144
+ export declare const arrayToMap: <T extends string | {
145
+ id: string;
146
+ }>(items: readonly T[]) => Map<string, T>;
147
+ export declare const arrayToMapWithIndex: <T extends {
148
+ id: string;
149
+ }>(elements: readonly T[]) => Map<string, [element: T, index: number]>;
150
+ export declare const isTestEnv: () => boolean;
151
+ export declare const wrapEvent: <T extends Event>(name: EVENT, nativeEvent: T) => CustomEvent<{
152
+ nativeEvent: T;
153
+ }>;
154
+ export declare const updateObject: <T extends Record<string, any>>(obj: T, updates: Partial<T>) => T;
155
+ export declare const isPrimitive: (val: any) => boolean;
156
+ export declare const getFrame: () => "top" | "iframe";
157
+ export declare const isPromiseLike: (value: any) => value is Promise<any>;
158
+ export declare const queryFocusableElements: (container: HTMLElement | null) => HTMLElement[];
159
+ export declare const isShallowEqual: <T extends Record<string, any>>(objA: T, objB: T) => boolean;
160
+ export declare const composeEventHandlers: <E>(originalEventHandler?: ((event: E) => void) | undefined, ourEventHandler?: ((event: E) => void) | undefined, { checkForDefaultPrevented }?: {
161
+ checkForDefaultPrevented?: boolean | undefined;
162
+ }) => (event: E) => void;
package/types/zindex.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { ExcalidrawElement } from "./element/types";
2
- import { AppState } from "./types";
3
- export declare const moveOneLeft: (elements: readonly ExcalidrawElement[], appState: AppState) => (import("./element/types").ExcalidrawLinearElement | import("./element/types").ExcalidrawSelectionElement | import("./element/types").ExcalidrawRectangleElement | import("./element/types").ExcalidrawDiamondElement | import("./element/types").ExcalidrawEllipseElement | import("./element/types").ExcalidrawImageElement | import("./element/types").ExcalidrawTextElement | import("./element/types").ExcalidrawFreeDrawElement)[];
4
- export declare const moveOneRight: (elements: readonly ExcalidrawElement[], appState: AppState) => (import("./element/types").ExcalidrawLinearElement | import("./element/types").ExcalidrawSelectionElement | import("./element/types").ExcalidrawRectangleElement | import("./element/types").ExcalidrawDiamondElement | import("./element/types").ExcalidrawEllipseElement | import("./element/types").ExcalidrawImageElement | import("./element/types").ExcalidrawTextElement | import("./element/types").ExcalidrawFreeDrawElement)[];
5
- export declare const moveAllLeft: (elements: readonly ExcalidrawElement[], appState: AppState) => readonly ExcalidrawElement[];
6
- export declare const moveAllRight: (elements: readonly ExcalidrawElement[], appState: AppState) => readonly ExcalidrawElement[];
1
+ import { ExcalidrawElement } from "./element/types";
2
+ import { AppState } from "./types";
3
+ export declare const moveOneLeft: (elements: readonly ExcalidrawElement[], appState: AppState) => (import("./element/types").ExcalidrawLinearElement | import("./element/types").ExcalidrawSelectionElement | import("./element/types").ExcalidrawRectangleElement | import("./element/types").ExcalidrawDiamondElement | import("./element/types").ExcalidrawEllipseElement | import("./element/types").ExcalidrawImageElement | import("./element/types").ExcalidrawTextElement | import("./element/types").ExcalidrawFreeDrawElement)[];
4
+ export declare const moveOneRight: (elements: readonly ExcalidrawElement[], appState: AppState) => (import("./element/types").ExcalidrawLinearElement | import("./element/types").ExcalidrawSelectionElement | import("./element/types").ExcalidrawRectangleElement | import("./element/types").ExcalidrawDiamondElement | import("./element/types").ExcalidrawEllipseElement | import("./element/types").ExcalidrawImageElement | import("./element/types").ExcalidrawTextElement | import("./element/types").ExcalidrawFreeDrawElement)[];
5
+ export declare const moveAllLeft: (elements: readonly ExcalidrawElement[], appState: AppState) => readonly ExcalidrawElement[];
6
+ export declare const moveAllRight: (elements: readonly ExcalidrawElement[], appState: AppState) => readonly ExcalidrawElement[];
@@ -1,2 +0,0 @@
1
- declare function _default(sentryErrorId: any): string;
2
- export default _default;
@@ -1,7 +0,0 @@
1
- import "./ActiveFile.scss";
2
- declare type ActiveFileProps = {
3
- fileName?: string;
4
- onSave: () => void;
5
- };
6
- export declare const ActiveFile: ({ fileName, onSave }: ActiveFileProps) => JSX.Element;
7
- export {};
@@ -1,4 +0,0 @@
1
- import { ActionManager } from "../actions/manager";
2
- export declare const BackgroundPickerAndDarkModeToggle: ({ actionManager, }: {
3
- actionManager: ActionManager;
4
- }) => JSX.Element;
@@ -1,4 +0,0 @@
1
- declare const ClearCanvas: ({ onConfirm }: {
2
- onConfirm: () => void;
3
- }) => JSX.Element;
4
- export default ClearCanvas;
@@ -1,7 +0,0 @@
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;
@@ -1,2 +0,0 @@
1
- declare const EncryptedIcon: () => JSX.Element;
2
- export default EncryptedIcon;
@@ -1,10 +0,0 @@
1
- import { ActionManager } from "../actions/manager";
2
- import { AppState, ExcalidrawProps } from "../types";
3
- declare const Footer: ({ appState, actionManager, renderCustomFooter, showExitZenModeBtn, renderWelcomeScreen, }: {
4
- appState: AppState;
5
- actionManager: ActionManager;
6
- renderCustomFooter?: ExcalidrawProps["renderFooter"];
7
- showExitZenModeBtn: boolean;
8
- renderWelcomeScreen: boolean;
9
- }) => JSX.Element;
10
- export default Footer;
@@ -1,8 +0,0 @@
1
- declare type HelpIconProps = {
2
- title?: string;
3
- name?: string;
4
- id?: string;
5
- onClick?(): void;
6
- };
7
- export declare const HelpIcon: (props: HelpIconProps) => JSX.Element;
8
- export {};
@@ -1,11 +0,0 @@
1
- import "./Menu.scss";
2
- interface MenuProps {
3
- icon: JSX.Element;
4
- onClick: () => void;
5
- label: string;
6
- dataTestId: string;
7
- shortcut?: string;
8
- isCollaborating?: boolean;
9
- }
10
- declare const MenuItem: ({ icon, onClick, label, dataTestId, shortcut, isCollaborating, }: MenuProps) => JSX.Element;
11
- export default MenuItem;
@@ -1,2 +0,0 @@
1
- export declare const MenuLinks: () => JSX.Element;
2
- export declare const Separator: () => JSX.Element;
@@ -1,8 +0,0 @@
1
- import "./ToolIcon.scss";
2
- import "./SidebarLockButton.scss";
3
- declare type SidebarLockIconProps = {
4
- checked: boolean;
5
- onChange?(): void;
6
- };
7
- export declare const SidebarLockButton: (props: SidebarLockIconProps) => JSX.Element;
8
- export {};
@@ -1,15 +0,0 @@
1
- import React from "react";
2
- interface TopErrorBoundaryState {
3
- hasError: boolean;
4
- sentryEventId: string;
5
- localStorage: string;
6
- }
7
- export declare class TopErrorBoundary extends React.Component<any, TopErrorBoundaryState> {
8
- state: TopErrorBoundaryState;
9
- render(): any;
10
- componentDidCatch(error: Error, errorInfo: any): void;
11
- private selectTextArea;
12
- private createGithubIssue;
13
- private errorSplash;
14
- }
15
- export {};
@@ -1,8 +0,0 @@
1
- import { ActionManager } from "../actions/manager";
2
- import { AppState } from "../types";
3
- import "./WelcomeScreen.scss";
4
- declare const WelcomeScreen: ({ appState, actionManager, }: {
5
- appState: AppState;
6
- actionManager: ActionManager;
7
- }) => JSX.Element;
8
- export default WelcomeScreen;
@@ -1,6 +0,0 @@
1
- import { ReactNode } from "react";
2
- declare const WelcomeScreenDecor: ({ children, shouldRender, }: {
3
- children: ReactNode;
4
- shouldRender: boolean;
5
- }) => JSX.Element | null;
6
- export default WelcomeScreenDecor;
@@ -1,44 +0,0 @@
1
- import "./DefaultItems.scss";
2
- export declare const LoadScene: {
3
- (): JSX.Element | null;
4
- displayName: string;
5
- };
6
- export declare const SaveToActiveFile: {
7
- (): JSX.Element | null;
8
- displayName: string;
9
- };
10
- export declare const SaveAsImage: {
11
- (): JSX.Element;
12
- displayName: string;
13
- };
14
- export declare const Help: {
15
- (): JSX.Element;
16
- displayName: string;
17
- };
18
- export declare const ClearCanvas: {
19
- (): JSX.Element | null;
20
- displayName: string;
21
- };
22
- export declare const ToggleTheme: {
23
- (): JSX.Element | null;
24
- displayName: string;
25
- };
26
- export declare const ChangeCanvasBackground: {
27
- (): JSX.Element | null;
28
- displayName: string;
29
- };
30
- export declare const Export: {
31
- (): JSX.Element;
32
- displayName: string;
33
- };
34
- export declare const Socials: {
35
- (): JSX.Element;
36
- displayName: string;
37
- };
38
- export declare const LiveCollaboration: {
39
- ({ onSelect, isCollaborating, }: {
40
- onSelect: () => void;
41
- isCollaborating: boolean;
42
- }): JSX.Element;
43
- displayName: string;
44
- };
@@ -1,63 +0,0 @@
1
- import React from "react";
2
- import * as DefaultItems from "./DefaultItems";
3
- declare const MainMenu: {
4
- ({ children }: {
5
- children?: React.ReactNode;
6
- }): JSX.Element;
7
- Trigger: {
8
- ({ className, children, onToggle, }: {
9
- className?: string | undefined;
10
- children: React.ReactNode;
11
- onToggle: () => void;
12
- }): JSX.Element;
13
- displayName: string;
14
- };
15
- Item: {
16
- ({ icon, onSelect, children, dataTestId, shortcut, className, style, ariaLabel, }: {
17
- icon?: JSX.Element | undefined;
18
- onSelect: () => void;
19
- children: React.ReactNode;
20
- dataTestId?: string | undefined;
21
- shortcut?: string | undefined;
22
- className?: string | undefined;
23
- style?: React.CSSProperties | undefined;
24
- ariaLabel?: string | undefined;
25
- }): JSX.Element;
26
- displayName: string;
27
- };
28
- ItemLink: {
29
- ({ icon, dataTestId, shortcut, href, children, className, style, ariaLabel, }: {
30
- icon?: JSX.Element | undefined;
31
- children: React.ReactNode;
32
- dataTestId?: string | undefined;
33
- shortcut?: string | undefined;
34
- className?: string | undefined;
35
- href: string;
36
- style?: React.CSSProperties | undefined;
37
- ariaLabel?: string | undefined;
38
- }): JSX.Element;
39
- displayName: string;
40
- };
41
- ItemCustom: ({ children, className, style, dataTestId, }: {
42
- children: React.ReactNode;
43
- className?: string | undefined;
44
- style?: React.CSSProperties | undefined;
45
- dataTestId?: string | undefined;
46
- }) => JSX.Element;
47
- Group: {
48
- ({ children, className, style, title, }: {
49
- children: React.ReactNode;
50
- className?: string | undefined;
51
- style?: React.CSSProperties | undefined;
52
- title?: string | undefined;
53
- }): JSX.Element;
54
- displayName: string;
55
- };
56
- Separator: {
57
- (): JSX.Element;
58
- displayName: string;
59
- };
60
- DefaultItems: typeof DefaultItems;
61
- displayName: string;
62
- };
63
- export default MainMenu;
@@ -1,9 +0,0 @@
1
- import { AppState } from "../types";
2
- import { NonDeletedExcalidrawElement } from "../element/types";
3
- declare type Props = {
4
- setToast: (message: string) => void;
5
- elements: readonly NonDeletedExcalidrawElement[];
6
- appState: AppState;
7
- };
8
- declare const CustomStats: (props: Props) => JSX.Element;
9
- export default CustomStats;