@zsviczian/excalidraw 0.14.2-obsidian-4 → 0.15.2-obsidian-1

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