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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (241) hide show
  1. package/dist/excalidraw.development.js +186 -186
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +1 -1
  4. package/types/actions/actionAddToLibrary.d.ts +372 -372
  5. package/types/actions/actionAlign.d.ts +91 -91
  6. package/types/actions/actionBoundText.d.ts +284 -284
  7. package/types/actions/actionCanvas.d.ts +1315 -1315
  8. package/types/actions/actionClipboard.d.ts +717 -717
  9. package/types/actions/actionDeleteSelected.d.ts +409 -409
  10. package/types/actions/actionDistribute.d.ts +33 -33
  11. package/types/actions/actionDuplicateSelection.d.ts +22 -22
  12. package/types/actions/actionExport.d.ts +1181 -1181
  13. package/types/actions/actionFinalize.d.ts +256 -256
  14. package/types/actions/actionFlip.d.ts +35 -35
  15. package/types/actions/actionGroup.d.ts +45 -45
  16. package/types/actions/actionHistory.d.ts +6 -6
  17. package/types/actions/actionLinearEditor.d.ts +135 -135
  18. package/types/actions/actionMenu.d.ts +410 -410
  19. package/types/actions/actionNavigate.d.ts +14 -14
  20. package/types/actions/actionProperties.d.ts +1714 -1714
  21. package/types/actions/actionSelectAll.d.ts +16 -16
  22. package/types/actions/actionStyles.d.ts +149 -149
  23. package/types/actions/actionToggleGridMode.d.ts +138 -138
  24. package/types/actions/actionToggleLock.d.ts +135 -135
  25. package/types/actions/actionToggleStats.d.ts +135 -135
  26. package/types/actions/actionToggleViewMode.d.ts +137 -137
  27. package/types/actions/actionToggleZenMode.d.ts +137 -137
  28. package/types/actions/actionZindex.d.ts +67 -67
  29. package/types/actions/index.d.ts +24 -24
  30. package/types/actions/manager.d.ts +21 -21
  31. package/types/actions/register.d.ts +5 -5
  32. package/types/actions/shortcuts.d.ts +4 -4
  33. package/types/actions/types.d.ts +44 -44
  34. package/types/align.d.ts +6 -6
  35. package/types/analytics.d.ts +1 -1
  36. package/types/appState.d.ts +78 -78
  37. package/types/bug-issue-template.d.ts +2 -0
  38. package/types/charts.d.ts +27 -27
  39. package/types/clients.d.ts +6 -6
  40. package/types/clipboard.d.ts +25 -25
  41. package/types/colors.d.ts +6 -6
  42. package/types/components/Actions.d.ts +36 -36
  43. package/types/components/ActiveConfirmDialog.d.ts +24 -24
  44. package/types/components/ActiveFile.d.ts +7 -0
  45. package/types/components/App.d.ts +248 -248
  46. package/types/components/Avatar.d.ts +11 -11
  47. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +4 -0
  48. package/types/components/BraveMeasureTextError.d.ts +2 -2
  49. package/types/components/Button.d.ts +15 -15
  50. package/types/components/ButtonIconSelect.d.ts +19 -11
  51. package/types/components/Card.d.ts +7 -7
  52. package/types/components/CheckboxItem.d.ts +8 -8
  53. package/types/components/ClearCanvas.d.ts +4 -0
  54. package/types/components/CollabButton.d.ts +7 -0
  55. package/types/components/ColorPicker.d.ts +19 -19
  56. package/types/components/ConfirmDialog.d.ts +10 -10
  57. package/types/components/ContextMenu.d.ts +15 -15
  58. package/types/components/DarkModeToggle.d.ts +7 -7
  59. package/types/components/Dialog.d.ts +14 -14
  60. package/types/components/DialogActionButton.d.ts +10 -10
  61. package/types/components/EncryptedIcon.d.ts +2 -0
  62. package/types/components/ErrorDialog.d.ts +5 -5
  63. package/types/components/FixedSideContainer.d.ts +9 -9
  64. package/types/components/Footer.d.ts +10 -0
  65. package/types/components/HandButton.d.ts +10 -10
  66. package/types/components/HelpButton.d.ts +7 -7
  67. package/types/components/HelpDialog.d.ts +4 -4
  68. package/types/components/HelpIcon.d.ts +8 -0
  69. package/types/components/HintViewer.d.ts +11 -11
  70. package/types/components/IconPicker.d.ts +13 -13
  71. package/types/components/ImageExportDialog.d.ts +18 -18
  72. package/types/components/InitializeApp.d.ts +10 -10
  73. package/types/components/Island.d.ts +10 -10
  74. package/types/components/JSONExportDialog.d.ts +15 -15
  75. package/types/components/LayerUI.d.ts +37 -37
  76. package/types/components/LibraryButton.d.ts +8 -8
  77. package/types/components/LibraryMenu.d.ts +25 -25
  78. package/types/components/LibraryMenuBrowseButton.d.ts +7 -7
  79. package/types/components/LibraryMenuHeaderContent.d.ts +35 -35
  80. package/types/components/LibraryMenuItems.d.ts +15 -15
  81. package/types/components/LibraryUnit.d.ts +11 -11
  82. package/types/components/LoadingMessage.d.ts +6 -6
  83. package/types/components/LockButton.d.ts +10 -10
  84. package/types/components/MenuItem.d.ts +11 -0
  85. package/types/components/MenuUtils.d.ts +2 -0
  86. package/types/components/MobileMenu.d.ts +26 -26
  87. package/types/components/Modal.d.ts +13 -13
  88. package/types/components/PasteChartDialog.d.ts +9 -9
  89. package/types/components/PenModeButton.d.ts +12 -12
  90. package/types/components/Popover.d.ts +15 -15
  91. package/types/components/ProjectName.d.ts +10 -10
  92. package/types/components/PublishLibrary.d.ts +16 -16
  93. package/types/components/Section.d.ts +6 -6
  94. package/types/components/Sidebar/Sidebar.d.ts +73 -73
  95. package/types/components/Sidebar/SidebarHeader.d.ts +20 -20
  96. package/types/components/Sidebar/common.d.ts +16 -16
  97. package/types/components/SidebarLockButton.d.ts +8 -0
  98. package/types/components/SingleLibraryItem.d.ts +10 -10
  99. package/types/components/Spinner.d.ts +6 -6
  100. package/types/components/Stack.d.ts +15 -15
  101. package/types/components/Stats.d.ts +11 -11
  102. package/types/components/Toast.d.ts +7 -7
  103. package/types/components/ToolButton.d.ts +46 -46
  104. package/types/components/Tooltip.d.ts +17 -17
  105. package/types/components/TopErrorBoundary.d.ts +15 -0
  106. package/types/components/UserList.d.ts +8 -8
  107. package/types/components/WelcomeScreen.d.ts +8 -0
  108. package/types/components/WelcomeScreenDecor.d.ts +6 -0
  109. package/types/components/context/tunnels.d.ts +16 -16
  110. package/types/components/dropdownMenu/DropdownMenu.d.ts +66 -66
  111. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  112. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  113. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -12
  114. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -6
  115. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -6
  116. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -13
  117. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  118. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +9 -9
  119. package/types/components/dropdownMenu/common.d.ts +6 -6
  120. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  121. package/types/components/footer/Footer.d.ts +12 -12
  122. package/types/components/footer/FooterCenter.d.ts +8 -8
  123. package/types/components/hoc/withInternalFallback.d.ts +4 -4
  124. package/types/components/hoc/withUpstreamOverride.d.ts +10 -10
  125. package/types/components/icons.d.ts +143 -142
  126. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
  127. package/types/components/main-menu/DefaultItems.d.ts +44 -44
  128. package/types/components/main-menu/MainMenu.d.ts +60 -60
  129. package/types/components/mainMenu/DefaultItems.d.ts +44 -0
  130. package/types/components/mainMenu/MainMenu.d.ts +63 -0
  131. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
  132. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  133. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -85
  134. package/types/constants.d.ts +170 -170
  135. package/types/data/blob.d.ts +48 -48
  136. package/types/data/encode.d.ts +53 -53
  137. package/types/data/encryption.d.ts +9 -9
  138. package/types/data/filesystem.d.ts +18 -18
  139. package/types/data/image.d.ts +15 -15
  140. package/types/data/index.d.ts +13 -13
  141. package/types/data/json.d.ts +16 -16
  142. package/types/data/library.d.ts +96 -96
  143. package/types/data/resave.d.ts +5 -5
  144. package/types/data/restore.d.ts +21 -21
  145. package/types/data/types.d.ts +47 -47
  146. package/types/distribute.d.ts +6 -6
  147. package/types/element/Hyperlink.d.ts +155 -155
  148. package/types/element/binding.d.ts +33 -33
  149. package/types/element/bounds.d.ts +28 -28
  150. package/types/element/collision.d.ts +21 -21
  151. package/types/element/dragElements.d.ts +5 -5
  152. package/types/element/image.d.ts +22 -22
  153. package/types/element/index.d.ts +20 -20
  154. package/types/element/linearElementEditor.d.ts +273 -273
  155. package/types/element/mutateElement.d.ts +12 -12
  156. package/types/element/newElement.d.ts +66 -65
  157. package/types/element/resizeElements.d.ts +8 -8
  158. package/types/element/resizeTest.d.ts +13 -13
  159. package/types/element/showSelectedShapeActions.d.ts +3 -3
  160. package/types/element/sizeHelpers.d.ts +21 -21
  161. package/types/element/sortElements.d.ts +2 -2
  162. package/types/element/textElement.d.ts +79 -73
  163. package/types/element/textWysiwyg.d.ts +21 -21
  164. package/types/element/transformHandles.d.ts +28 -28
  165. package/types/element/typeChecks.d.ts +27 -27
  166. package/types/element/types.d.ts +150 -149
  167. package/types/errors.d.ts +8 -8
  168. package/types/excalidraw-app/CustomStats.d.ts +9 -0
  169. package/types/excalidraw-app/app_constants.d.ts +32 -0
  170. package/types/excalidraw-app/collab/Collab.d.ts +163 -0
  171. package/types/excalidraw-app/collab/Portal.d.ts +28 -0
  172. package/types/excalidraw-app/collab/RoomDialog.d.ts +13 -0
  173. package/types/excalidraw-app/collab/reconciliation.d.ts +10 -0
  174. package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +9 -0
  175. package/types/excalidraw-app/components/LanguageList.d.ts +4 -0
  176. package/types/excalidraw-app/components/icons.d.ts +1 -0
  177. package/types/excalidraw-app/data/FileManager.d.ts +66 -0
  178. package/types/excalidraw-app/data/LocalData.d.ts +32 -0
  179. package/types/excalidraw-app/data/Locker.d.ts +8 -0
  180. package/types/excalidraw-app/data/firebase.d.ts +25 -0
  181. package/types/excalidraw-app/data/index.d.ts +190 -0
  182. package/types/excalidraw-app/data/localStorage.d.ts +116 -0
  183. package/types/excalidraw-app/data/tabSync.d.ts +9 -0
  184. package/types/excalidraw-app/index.d.ts +26 -0
  185. package/types/ga.d.ts +63 -63
  186. package/types/gadirections.d.ts +8 -8
  187. package/types/galines.d.ts +22 -22
  188. package/types/gapoints.d.ts +7 -7
  189. package/types/gatransforms.d.ts +10 -10
  190. package/types/gesture.d.ts +6 -6
  191. package/types/groups.d.ts +27 -27
  192. package/types/history.d.ts +52 -52
  193. package/types/hooks/useCallbackRefState.d.ts +1 -1
  194. package/types/hooks/useOutsideClick.d.ts +2 -2
  195. package/types/i18n.d.ts +21 -21
  196. package/types/jotai.d.ts +122 -122
  197. package/types/keys.d.ts +77 -77
  198. package/types/math.d.ts +29 -29
  199. package/types/packages/common.webpack.dev.config.d.ts +72 -72
  200. package/types/packages/common.webpack.prod.config.d.ts +84 -84
  201. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +4 -4
  202. package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  203. package/types/packages/excalidraw/entry.d.ts +1 -1
  204. package/types/packages/excalidraw/env.d.ts +1 -1
  205. package/types/packages/excalidraw/example/App.d.ts +14 -14
  206. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -5
  207. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -5
  208. package/types/packages/excalidraw/example/index.d.ts +1 -1
  209. package/types/packages/excalidraw/example/initialData.d.ts +172 -172
  210. package/types/packages/excalidraw/example/sidebar/ExampleSidebar.d.ts +5 -5
  211. package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +5 -0
  212. package/types/packages/excalidraw/index.d.ts +35 -35
  213. package/types/packages/excalidraw/main.d.ts +2 -2
  214. package/types/packages/excalidraw/publicPath.d.ts +1 -1
  215. package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
  216. package/types/packages/excalidraw/webpack.dev.config.d.ts +69 -69
  217. package/types/packages/excalidraw/webpack.prod.config.d.ts +78 -78
  218. package/types/packages/utils.d.ts +42 -42
  219. package/types/points.d.ts +7 -7
  220. package/types/polyfill.d.ts +2 -2
  221. package/types/random.d.ts +4 -4
  222. package/types/renderer/easingFunctions.d.ts +6 -6
  223. package/types/renderer/renderElement.d.ts +35 -35
  224. package/types/renderer/renderScene.d.ts +41 -41
  225. package/types/renderer/roundRect.d.ts +11 -11
  226. package/types/scene/Fonts.d.ts +21 -21
  227. package/types/scene/Scene.d.ts +40 -40
  228. package/types/scene/comparisons.d.ts +10 -10
  229. package/types/scene/export.d.ts +20 -20
  230. package/types/scene/index.d.ts +5 -5
  231. package/types/scene/scroll.d.ts +17 -17
  232. package/types/scene/scrollbars.d.ts +16 -16
  233. package/types/scene/selection.d.ts +11 -11
  234. package/types/scene/types.d.ts +59 -59
  235. package/types/scene/zoom.d.ts +13 -13
  236. package/types/shapes.d.ts +62 -62
  237. package/types/types.d.ts +442 -442
  238. package/types/utility-types.d.ts +22 -22
  239. package/types/utils.d.ts +162 -162
  240. package/types/zindex.d.ts +6 -6
  241. package/dist/.DS_Store +0 -0
@@ -1,155 +1,155 @@
1
- /// <reference types="react" />
2
- import { AppState, ExcalidrawProps } from "../types";
3
- import { NonDeletedExcalidrawElement } from "./types";
4
- import { Bounds } from "./bounds";
5
- import "./Hyperlink.scss";
6
- export declare const EXTERNAL_LINK_IMG: HTMLImageElement;
7
- export declare const Hyperlink: ({ element, setAppState, onLinkOpen, }: {
8
- element: NonDeletedExcalidrawElement;
9
- setAppState: React.Component<any, AppState>["setState"];
10
- onLinkOpen: ExcalidrawProps["onLinkOpen"];
11
- }) => JSX.Element | null;
12
- export declare const normalizeLink: (link: string) => string;
13
- export declare const isLocalLink: (link: string | null) => boolean;
14
- export declare const actionLink: {
15
- name: "hyperlink";
16
- perform: (elements: readonly import("./types").ExcalidrawElement[], appState: Readonly<AppState>) => false | {
17
- elements: readonly import("./types").ExcalidrawElement[];
18
- appState: {
19
- showHyperlinkPopup: "editor";
20
- openMenu: null;
21
- contextMenu: {
22
- items: import("../components/ContextMenu").ContextMenuItems;
23
- top: number;
24
- left: number;
25
- } | null;
26
- showWelcomeScreen: boolean;
27
- isLoading: boolean;
28
- errorMessage: import("react").ReactNode;
29
- draggingElement: NonDeletedExcalidrawElement | null;
30
- resizingElement: NonDeletedExcalidrawElement | null;
31
- multiElement: import("./types").NonDeleted<import("./types").ExcalidrawLinearElement> | null;
32
- selectionElement: NonDeletedExcalidrawElement | null;
33
- isBindingEnabled: boolean;
34
- startBoundElement: import("./types").NonDeleted<import("./types").ExcalidrawBindableElement> | null;
35
- suggestedBindings: import("./binding").SuggestedBinding[];
36
- editingElement: NonDeletedExcalidrawElement | null;
37
- editingLinearElement: import("./linearElementEditor").LinearElementEditor | null;
38
- activeTool: {
39
- lastActiveTool: import("../types").LastActiveTool;
40
- locked: boolean;
41
- } & ({
42
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
43
- customType: null;
44
- } | {
45
- type: "custom";
46
- customType: string;
47
- });
48
- penMode: boolean;
49
- penDetected: boolean;
50
- exportBackground: boolean;
51
- exportEmbedScene: boolean;
52
- exportWithDarkMode: boolean;
53
- exportScale: number;
54
- currentItemStrokeColor: string;
55
- currentItemBackgroundColor: string;
56
- currentItemFillStyle: import("./types").FillStyle;
57
- currentItemStrokeWidth: number;
58
- currentItemStrokeStyle: import("./types").StrokeStyle;
59
- currentItemRoughness: number;
60
- currentItemOpacity: number;
61
- currentItemFontFamily: number;
62
- currentItemFontSize: number;
63
- currentItemTextAlign: string;
64
- currentItemStartArrowhead: import("./types").Arrowhead | null;
65
- currentItemEndArrowhead: import("./types").Arrowhead | null;
66
- currentItemRoundness: import("./types").StrokeRoundness;
67
- viewBackgroundColor: string;
68
- scrollX: number;
69
- scrollY: number;
70
- cursorButton: "up" | "down";
71
- scrolledOutside: boolean;
72
- name: string;
73
- isResizing: boolean;
74
- isRotating: boolean;
75
- zoom: Readonly<{
76
- value: import("../types").NormalizedZoomValue;
77
- }>;
78
- openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
79
- openSidebar: "library" | "customSidebar" | null;
80
- openDialog: "imageExport" | "help" | "jsonExport" | null;
81
- isSidebarDocked: boolean;
82
- lastPointerDownWith: import("./types").PointerType;
83
- selectedElementIds: {
84
- [id: string]: boolean;
85
- };
86
- previousSelectedElementIds: {
87
- [id: string]: boolean;
88
- };
89
- shouldCacheIgnoreZoom: boolean;
90
- toast: {
91
- message: string;
92
- closable?: boolean | undefined;
93
- duration?: number | undefined;
94
- } | null;
95
- zenModeEnabled: boolean;
96
- theme: string;
97
- gridSize: number | null;
98
- previousGridSize: number | null;
99
- viewModeEnabled: boolean;
100
- selectedGroupIds: {
101
- [groupId: string]: boolean;
102
- };
103
- editingGroupId: string | null;
104
- width: number;
105
- height: number;
106
- offsetTop: number;
107
- offsetLeft: number;
108
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
109
- collaborators: Map<string, import("../types").Collaborator>;
110
- showStats: boolean;
111
- currentChartType: import("./types").ChartType;
112
- pasteDialog: {
113
- shown: false;
114
- data: null;
115
- } | {
116
- shown: true;
117
- data: import("../charts").Spreadsheet;
118
- };
119
- pendingImageElementId: string | null;
120
- linkOpacity: number;
121
- trayModeEnabled: boolean;
122
- colorPalette: {
123
- canvasBackground?: string[] | undefined;
124
- elementBackground?: string[] | undefined;
125
- elementStroke?: string[] | undefined;
126
- };
127
- allowWheelZoom?: boolean | undefined;
128
- allowPinchZoom?: boolean | undefined;
129
- pinnedScripts?: string[] | undefined;
130
- customPens?: any[] | undefined;
131
- currentStrokeOptions?: any;
132
- resetCustomPen?: any;
133
- gridColor: string;
134
- dynamicStyle: string;
135
- selectedLinearElement: import("./linearElementEditor").LinearElementEditor | null;
136
- };
137
- commitToHistory: true;
138
- };
139
- trackEvent: {
140
- category: "hyperlink";
141
- action: string;
142
- };
143
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
144
- contextItemLabel: (elements: readonly import("./types").ExcalidrawElement[], appState: Readonly<AppState>) => "labels.link.edit" | "labels.link.create";
145
- predicate: (elements: readonly import("./types").ExcalidrawElement[], appState: AppState) => boolean;
146
- PanelComponent: ({ elements, appState, updateData }: import("../actions/types").PanelComponentProps) => JSX.Element;
147
- } & {
148
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
149
- };
150
- export declare const getContextMenuLabel: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState) => "labels.link.edit" | "labels.link.create";
151
- export declare const getLinkHandleFromCoords: ([x1, y1, x2, y2]: Bounds, angle: number, appState: AppState) => [x: number, y: number, width: number, height: number];
152
- export declare const isPointHittingLinkIcon: (element: NonDeletedExcalidrawElement, appState: AppState, [x, y]: readonly [number, number], isMobile: boolean) => boolean;
153
- export declare const showHyperlinkTooltip: (element: NonDeletedExcalidrawElement, appState: AppState) => void;
154
- export declare const hideHyperlinkToolip: () => void;
155
- export declare const shouldHideLinkPopup: (element: NonDeletedExcalidrawElement, appState: AppState, [clientX, clientY]: readonly [number, number]) => Boolean;
1
+ /// <reference types="react" />
2
+ import { AppState, ExcalidrawProps } from "../types";
3
+ import { NonDeletedExcalidrawElement } from "./types";
4
+ import { Bounds } from "./bounds";
5
+ import "./Hyperlink.scss";
6
+ export declare const EXTERNAL_LINK_IMG: HTMLImageElement;
7
+ export declare const Hyperlink: ({ element, setAppState, onLinkOpen, }: {
8
+ element: NonDeletedExcalidrawElement;
9
+ setAppState: React.Component<any, AppState>["setState"];
10
+ onLinkOpen: ExcalidrawProps["onLinkOpen"];
11
+ }) => JSX.Element | null;
12
+ export declare const normalizeLink: (link: string) => string;
13
+ export declare const isLocalLink: (link: string | null) => boolean;
14
+ export declare const actionLink: {
15
+ name: "hyperlink";
16
+ perform: (elements: readonly import("./types").ExcalidrawElement[], appState: Readonly<AppState>) => false | {
17
+ elements: readonly import("./types").ExcalidrawElement[];
18
+ appState: {
19
+ showHyperlinkPopup: "editor";
20
+ openMenu: null;
21
+ contextMenu: {
22
+ items: import("../components/ContextMenu").ContextMenuItems;
23
+ top: number;
24
+ left: number;
25
+ } | null;
26
+ showWelcomeScreen: boolean;
27
+ isLoading: boolean;
28
+ errorMessage: import("react").ReactNode;
29
+ draggingElement: NonDeletedExcalidrawElement | null;
30
+ resizingElement: NonDeletedExcalidrawElement | null;
31
+ multiElement: import("./types").NonDeleted<import("./types").ExcalidrawLinearElement> | null;
32
+ selectionElement: NonDeletedExcalidrawElement | null;
33
+ isBindingEnabled: boolean;
34
+ startBoundElement: import("./types").NonDeleted<import("./types").ExcalidrawBindableElement> | null;
35
+ suggestedBindings: import("./binding").SuggestedBinding[];
36
+ editingElement: NonDeletedExcalidrawElement | null;
37
+ editingLinearElement: import("./linearElementEditor").LinearElementEditor | null;
38
+ activeTool: {
39
+ lastActiveTool: import("../types").LastActiveTool;
40
+ locked: boolean;
41
+ } & ({
42
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | "hand";
43
+ customType: null;
44
+ } | {
45
+ type: "custom";
46
+ customType: string;
47
+ });
48
+ penMode: boolean;
49
+ penDetected: boolean;
50
+ exportBackground: boolean;
51
+ exportEmbedScene: boolean;
52
+ exportWithDarkMode: boolean;
53
+ exportScale: number;
54
+ currentItemStrokeColor: string;
55
+ currentItemBackgroundColor: string;
56
+ currentItemFillStyle: import("./types").FillStyle;
57
+ currentItemStrokeWidth: number;
58
+ currentItemStrokeStyle: import("./types").StrokeStyle;
59
+ currentItemRoughness: number;
60
+ currentItemOpacity: number;
61
+ currentItemFontFamily: number;
62
+ currentItemFontSize: number;
63
+ currentItemTextAlign: string;
64
+ currentItemStartArrowhead: import("./types").Arrowhead | null;
65
+ currentItemEndArrowhead: import("./types").Arrowhead | null;
66
+ currentItemRoundness: import("./types").StrokeRoundness;
67
+ viewBackgroundColor: string;
68
+ scrollX: number;
69
+ scrollY: number;
70
+ cursorButton: "up" | "down";
71
+ scrolledOutside: boolean;
72
+ name: string;
73
+ isResizing: boolean;
74
+ isRotating: boolean;
75
+ zoom: Readonly<{
76
+ value: import("../types").NormalizedZoomValue;
77
+ }>;
78
+ openPopup: "canvasColorPicker" | "backgroundColorPicker" | "strokeColorPicker" | null;
79
+ openSidebar: "library" | "customSidebar" | null;
80
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
81
+ isSidebarDocked: boolean;
82
+ lastPointerDownWith: import("./types").PointerType;
83
+ selectedElementIds: {
84
+ [id: string]: boolean;
85
+ };
86
+ previousSelectedElementIds: {
87
+ [id: string]: boolean;
88
+ };
89
+ shouldCacheIgnoreZoom: boolean;
90
+ toast: {
91
+ message: string;
92
+ closable?: boolean | undefined;
93
+ duration?: number | undefined;
94
+ } | null;
95
+ zenModeEnabled: boolean;
96
+ theme: string;
97
+ gridSize: number | null;
98
+ previousGridSize: number | null;
99
+ viewModeEnabled: boolean;
100
+ selectedGroupIds: {
101
+ [groupId: string]: boolean;
102
+ };
103
+ editingGroupId: string | null;
104
+ width: number;
105
+ height: number;
106
+ offsetTop: number;
107
+ offsetLeft: number;
108
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
109
+ collaborators: Map<string, import("../types").Collaborator>;
110
+ showStats: boolean;
111
+ currentChartType: import("./types").ChartType;
112
+ pasteDialog: {
113
+ shown: false;
114
+ data: null;
115
+ } | {
116
+ shown: true;
117
+ data: import("../charts").Spreadsheet;
118
+ };
119
+ pendingImageElementId: string | null;
120
+ linkOpacity: number;
121
+ trayModeEnabled: boolean;
122
+ colorPalette: {
123
+ canvasBackground?: string[] | undefined;
124
+ elementBackground?: string[] | undefined;
125
+ elementStroke?: string[] | undefined;
126
+ };
127
+ allowWheelZoom?: boolean | undefined;
128
+ allowPinchZoom?: boolean | undefined;
129
+ pinnedScripts?: string[] | undefined;
130
+ customPens?: any[] | undefined;
131
+ currentStrokeOptions?: any;
132
+ resetCustomPen?: any;
133
+ gridColor: string;
134
+ dynamicStyle: string;
135
+ selectedLinearElement: import("./linearElementEditor").LinearElementEditor | null;
136
+ };
137
+ commitToHistory: true;
138
+ };
139
+ trackEvent: {
140
+ category: "hyperlink";
141
+ action: string;
142
+ };
143
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
144
+ contextItemLabel: (elements: readonly import("./types").ExcalidrawElement[], appState: Readonly<AppState>) => "labels.link.edit" | "labels.link.create";
145
+ predicate: (elements: readonly import("./types").ExcalidrawElement[], appState: AppState) => boolean;
146
+ PanelComponent: ({ elements, appState, updateData }: import("../actions/types").PanelComponentProps) => JSX.Element;
147
+ } & {
148
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
149
+ };
150
+ export declare const getContextMenuLabel: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState) => "labels.link.edit" | "labels.link.create";
151
+ export declare const getLinkHandleFromCoords: ([x1, y1, x2, y2]: Bounds, angle: number, appState: AppState) => [x: number, y: number, width: number, height: number];
152
+ export declare const isPointHittingLinkIcon: (element: NonDeletedExcalidrawElement, appState: AppState, [x, y]: readonly [number, number], isMobile: boolean) => boolean;
153
+ export declare const showHyperlinkTooltip: (element: NonDeletedExcalidrawElement, appState: AppState) => void;
154
+ export declare const hideHyperlinkToolip: () => void;
155
+ export declare const shouldHideLinkPopup: (element: NonDeletedExcalidrawElement, appState: AppState, [clientX, clientY]: readonly [number, number]) => Boolean;
@@ -1,33 +1,33 @@
1
- import { ExcalidrawLinearElement, ExcalidrawBindableElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawElement } from "./types";
2
- import { AppState } from "../types";
3
- import Scene from "../scene/Scene";
4
- export declare type SuggestedBinding = NonDeleted<ExcalidrawBindableElement> | SuggestedPointBinding;
5
- export declare type SuggestedPointBinding = [
6
- NonDeleted<ExcalidrawLinearElement>,
7
- "start" | "end" | "both",
8
- NonDeleted<ExcalidrawBindableElement>
9
- ];
10
- export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent<HTMLCanvasElement>) => boolean;
11
- export declare const isBindingEnabled: (appState: AppState) => boolean;
12
- export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep") => void;
13
- export declare const bindOrUnbindSelectedElements: (elements: NonDeleted<ExcalidrawElement>[]) => void;
14
- export declare const maybeBindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, appState: AppState, scene: Scene, pointerCoords: {
15
- x: number;
16
- y: number;
17
- }) => void;
18
- export declare const isLinearElementSimpleAndAlreadyBound: (linearElement: NonDeleted<ExcalidrawLinearElement>, alreadyBoundToId: ExcalidrawBindableElement["id"] | undefined, bindableElement: ExcalidrawBindableElement) => boolean;
19
- export declare const unbindLinearElements: (elements: NonDeleted<ExcalidrawElement>[]) => void;
20
- export declare const getHoveredElementForBinding: (pointerCoords: {
21
- x: number;
22
- y: number;
23
- }, scene: Scene) => NonDeleted<ExcalidrawBindableElement> | null;
24
- export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, options?: {
25
- simultaneouslyUpdated?: readonly ExcalidrawElement[];
26
- newSize?: {
27
- width: number;
28
- height: number;
29
- };
30
- }) => void;
31
- export declare const getEligibleElementsForBinding: (elements: NonDeleted<ExcalidrawElement>[]) => SuggestedBinding[];
32
- export declare const fixBindingsAfterDuplication: (sceneElements: readonly ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>, duplicatesServeAsOld?: "duplicatesServeAsOld" | undefined) => void;
33
- export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;
1
+ import { ExcalidrawLinearElement, ExcalidrawBindableElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawElement } from "./types";
2
+ import { AppState } from "../types";
3
+ import Scene from "../scene/Scene";
4
+ export declare type SuggestedBinding = NonDeleted<ExcalidrawBindableElement> | SuggestedPointBinding;
5
+ export declare type SuggestedPointBinding = [
6
+ NonDeleted<ExcalidrawLinearElement>,
7
+ "start" | "end" | "both",
8
+ NonDeleted<ExcalidrawBindableElement>
9
+ ];
10
+ export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent<HTMLCanvasElement>) => boolean;
11
+ export declare const isBindingEnabled: (appState: AppState) => boolean;
12
+ export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep") => void;
13
+ export declare const bindOrUnbindSelectedElements: (elements: NonDeleted<ExcalidrawElement>[]) => void;
14
+ export declare const maybeBindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, appState: AppState, scene: Scene, pointerCoords: {
15
+ x: number;
16
+ y: number;
17
+ }) => void;
18
+ export declare const isLinearElementSimpleAndAlreadyBound: (linearElement: NonDeleted<ExcalidrawLinearElement>, alreadyBoundToId: ExcalidrawBindableElement["id"] | undefined, bindableElement: ExcalidrawBindableElement) => boolean;
19
+ export declare const unbindLinearElements: (elements: NonDeleted<ExcalidrawElement>[]) => void;
20
+ export declare const getHoveredElementForBinding: (pointerCoords: {
21
+ x: number;
22
+ y: number;
23
+ }, scene: Scene) => NonDeleted<ExcalidrawBindableElement> | null;
24
+ export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, options?: {
25
+ simultaneouslyUpdated?: readonly ExcalidrawElement[];
26
+ newSize?: {
27
+ width: number;
28
+ height: number;
29
+ };
30
+ }) => void;
31
+ export declare const getEligibleElementsForBinding: (elements: NonDeleted<ExcalidrawElement>[]) => SuggestedBinding[];
32
+ export declare const fixBindingsAfterDuplication: (sceneElements: readonly ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>, duplicatesServeAsOld?: "duplicatesServeAsOld" | undefined) => void;
33
+ export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;
@@ -1,28 +1,28 @@
1
- import { ExcalidrawElement, ExcalidrawLinearElement, Arrowhead, NonDeleted } from "./types";
2
- import { Drawable, Op } from "roughjs/bin/core";
3
- export declare type Bounds = readonly [number, number, number, number];
4
- export declare const getElementAbsoluteCoords: (element: ExcalidrawElement, includeBoundText?: boolean) => [number, number, number, number, number, number];
5
- export declare const pointRelativeTo: (element: ExcalidrawElement, absoluteCoords: readonly [number, number]) => readonly [number, number];
6
- export declare const getDiamondPoints: (element: ExcalidrawElement) => number[];
7
- export declare const getCurvePathOps: (shape: Drawable) => Op[];
8
- export declare const getMinMaxXYFromCurvePathOps: (ops: Op[], transformXY?: ((x: number, y: number) => [number, number]) | undefined) => [number, number, number, number];
9
- export declare const getArrowheadPoints: (element: ExcalidrawLinearElement, shape: Drawable[], position: "start" | "end", arrowhead: Arrowhead) => number[] | null;
10
- export declare const getElementBounds: (element: ExcalidrawElement) => [number, number, number, number];
11
- export declare const getCommonBounds: (elements: readonly ExcalidrawElement[]) => [number, number, number, number];
12
- export declare const getResizedElementAbsoluteCoords: (element: ExcalidrawElement, nextWidth: number, nextHeight: number, normalizePoints: boolean) => [number, number, number, number];
13
- export declare const getElementPointsCoords: (element: ExcalidrawLinearElement, points: readonly (readonly [number, number])[]) => [number, number, number, number];
14
- export declare const getClosestElementBounds: (elements: readonly ExcalidrawElement[], from: {
15
- x: number;
16
- y: number;
17
- }) => [number, number, number, number];
18
- export interface Box {
19
- minX: number;
20
- minY: number;
21
- maxX: number;
22
- maxY: number;
23
- midX: number;
24
- midY: number;
25
- width: number;
26
- height: number;
27
- }
28
- export declare const getCommonBoundingBox: (elements: ExcalidrawElement[] | readonly NonDeleted<ExcalidrawElement>[]) => Box;
1
+ import { ExcalidrawElement, ExcalidrawLinearElement, Arrowhead, NonDeleted } from "./types";
2
+ import { Drawable, Op } from "roughjs/bin/core";
3
+ export declare type Bounds = readonly [number, number, number, number];
4
+ export declare const getElementAbsoluteCoords: (element: ExcalidrawElement, includeBoundText?: boolean) => [number, number, number, number, number, number];
5
+ export declare const pointRelativeTo: (element: ExcalidrawElement, absoluteCoords: readonly [number, number]) => readonly [number, number];
6
+ export declare const getDiamondPoints: (element: ExcalidrawElement) => number[];
7
+ export declare const getCurvePathOps: (shape: Drawable) => Op[];
8
+ export declare const getMinMaxXYFromCurvePathOps: (ops: Op[], transformXY?: ((x: number, y: number) => [number, number]) | undefined) => [number, number, number, number];
9
+ export declare const getArrowheadPoints: (element: ExcalidrawLinearElement, shape: Drawable[], position: "start" | "end", arrowhead: Arrowhead) => number[] | null;
10
+ export declare const getElementBounds: (element: ExcalidrawElement) => [number, number, number, number];
11
+ export declare const getCommonBounds: (elements: readonly ExcalidrawElement[]) => [number, number, number, number];
12
+ export declare const getResizedElementAbsoluteCoords: (element: ExcalidrawElement, nextWidth: number, nextHeight: number, normalizePoints: boolean) => [number, number, number, number];
13
+ export declare const getElementPointsCoords: (element: ExcalidrawLinearElement, points: readonly (readonly [number, number])[]) => [number, number, number, number];
14
+ export declare const getClosestElementBounds: (elements: readonly ExcalidrawElement[], from: {
15
+ x: number;
16
+ y: number;
17
+ }) => [number, number, number, number];
18
+ export interface Box {
19
+ minX: number;
20
+ minY: number;
21
+ maxX: number;
22
+ maxY: number;
23
+ midX: number;
24
+ midY: number;
25
+ width: number;
26
+ height: number;
27
+ }
28
+ export declare const getCommonBoundingBox: (elements: ExcalidrawElement[] | readonly NonDeleted<ExcalidrawElement>[]) => Box;
@@ -1,21 +1,21 @@
1
- import * as GA from "../ga";
2
- import { NonDeletedExcalidrawElement, ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawRectangleElement, ExcalidrawDiamondElement, ExcalidrawTextElement, ExcalidrawEllipseElement, NonDeleted, ExcalidrawImageElement } from "./types";
3
- import { Point } from "../types";
4
- import { AppState } from "../types";
5
- export declare const hitTest: (element: NonDeletedExcalidrawElement, appState: AppState, x: number, y: number) => boolean;
6
- export declare const isHittingElementBoundingBoxWithoutHittingElement: (element: NonDeletedExcalidrawElement, appState: AppState, x: number, y: number) => boolean;
7
- export declare const isHittingElementNotConsideringBoundingBox: (element: NonDeletedExcalidrawElement, appState: AppState, point: readonly [number, number]) => boolean;
8
- export declare const isPointHittingElementBoundingBox: (element: NonDeleted<ExcalidrawElement>, [x, y]: readonly [number, number], threshold: number) => boolean;
9
- export declare const bindingBorderTest: (element: NonDeleted<ExcalidrawBindableElement>, { x, y }: {
10
- x: number;
11
- y: number;
12
- }) => boolean;
13
- export declare const maxBindingGap: (element: ExcalidrawElement, elementWidth: number, elementHeight: number) => number;
14
- export declare const distanceToBindableElement: (element: ExcalidrawBindableElement, point: readonly [number, number]) => number;
15
- export declare const pointInAbsoluteCoords: (element: ExcalidrawElement, point: readonly [number, number]) => readonly [number, number];
16
- export declare const determineFocusDistance: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number]) => number;
17
- export declare const determineFocusPoint: (element: ExcalidrawBindableElement, focus: number, adjecentPoint: readonly [number, number]) => readonly [number, number];
18
- export declare const intersectElementWithLine: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number) => Point[];
19
- export declare const getCircleIntersections: (center: readonly [number, number, number, number, number, number, number, number], radius: number, line: readonly [number, number, number, number, number, number, number, number]) => GA.Point[];
20
- export declare const findFocusPointForEllipse: (ellipse: ExcalidrawEllipseElement, relativeDistance: number, point: readonly [number, number, number, number, number, number, number, number]) => readonly [number, number, number, number, number, number, number, number];
21
- export declare const findFocusPointForRectangulars: (element: ExcalidrawRectangleElement | ExcalidrawImageElement | ExcalidrawDiamondElement | ExcalidrawTextElement, relativeDistance: number, point: readonly [number, number, number, number, number, number, number, number]) => readonly [number, number, number, number, number, number, number, number];
1
+ import * as GA from "../ga";
2
+ import { NonDeletedExcalidrawElement, ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawRectangleElement, ExcalidrawDiamondElement, ExcalidrawTextElement, ExcalidrawEllipseElement, NonDeleted, ExcalidrawImageElement } from "./types";
3
+ import { Point } from "../types";
4
+ import { AppState } from "../types";
5
+ export declare const hitTest: (element: NonDeletedExcalidrawElement, appState: AppState, x: number, y: number) => boolean;
6
+ export declare const isHittingElementBoundingBoxWithoutHittingElement: (element: NonDeletedExcalidrawElement, appState: AppState, x: number, y: number) => boolean;
7
+ export declare const isHittingElementNotConsideringBoundingBox: (element: NonDeletedExcalidrawElement, appState: AppState, point: readonly [number, number]) => boolean;
8
+ export declare const isPointHittingElementBoundingBox: (element: NonDeleted<ExcalidrawElement>, [x, y]: readonly [number, number], threshold: number) => boolean;
9
+ export declare const bindingBorderTest: (element: NonDeleted<ExcalidrawBindableElement>, { x, y }: {
10
+ x: number;
11
+ y: number;
12
+ }) => boolean;
13
+ export declare const maxBindingGap: (element: ExcalidrawElement, elementWidth: number, elementHeight: number) => number;
14
+ export declare const distanceToBindableElement: (element: ExcalidrawBindableElement, point: readonly [number, number]) => number;
15
+ export declare const pointInAbsoluteCoords: (element: ExcalidrawElement, point: readonly [number, number]) => readonly [number, number];
16
+ export declare const determineFocusDistance: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number]) => number;
17
+ export declare const determineFocusPoint: (element: ExcalidrawBindableElement, focus: number, adjecentPoint: readonly [number, number]) => readonly [number, number];
18
+ export declare const intersectElementWithLine: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number) => Point[];
19
+ export declare const getCircleIntersections: (center: readonly [number, number, number, number, number, number, number, number], radius: number, line: readonly [number, number, number, number, number, number, number, number]) => GA.Point[];
20
+ export declare const findFocusPointForEllipse: (ellipse: ExcalidrawEllipseElement, relativeDistance: number, point: readonly [number, number, number, number, number, number, number, number]) => readonly [number, number, number, number, number, number, number, number];
21
+ export declare const findFocusPointForRectangulars: (element: ExcalidrawRectangleElement | ExcalidrawImageElement | ExcalidrawDiamondElement | ExcalidrawTextElement, relativeDistance: number, point: readonly [number, number, number, number, number, number, number, number]) => readonly [number, number, number, number, number, number, number, number];
@@ -1,5 +1,5 @@
1
- import { NonDeletedExcalidrawElement } from "./types";
2
- import { AppState, PointerDownState } from "../types";
3
- export declare const dragSelectedElements: (pointerDownState: PointerDownState, selectedElements: NonDeletedExcalidrawElement[], pointerX: number, pointerY: number, lockDirection: boolean | undefined, distanceX: number | undefined, distanceY: number | undefined, appState: AppState) => void;
4
- export declare const getDragOffsetXY: (selectedElements: NonDeletedExcalidrawElement[], x: number, y: number) => [number, number];
5
- export declare const dragNewElement: (draggingElement: NonDeletedExcalidrawElement, elementType: AppState["activeTool"]["type"], originX: number, originY: number, x: number, y: number, width: number, height: number, shouldMaintainAspectRatio: boolean, shouldResizeFromCenter: boolean, widthAspectRatio?: number | null) => void;
1
+ import { NonDeletedExcalidrawElement } from "./types";
2
+ import { AppState, PointerDownState } from "../types";
3
+ export declare const dragSelectedElements: (pointerDownState: PointerDownState, selectedElements: NonDeletedExcalidrawElement[], pointerX: number, pointerY: number, lockDirection: boolean | undefined, distanceX: number | undefined, distanceY: number | undefined, appState: AppState) => void;
4
+ export declare const getDragOffsetXY: (selectedElements: NonDeletedExcalidrawElement[], x: number, y: number) => [number, number];
5
+ export declare const dragNewElement: (draggingElement: NonDeletedExcalidrawElement, elementType: AppState["activeTool"]["type"], originX: number, originY: number, x: number, y: number, width: number, height: number, shouldMaintainAspectRatio: boolean, shouldResizeFromCenter: boolean, widthAspectRatio?: number | null) => void;
@@ -1,22 +1,22 @@
1
- import { AppClassProperties, DataURL, BinaryFiles } from "../types";
2
- import { ExcalidrawElement, FileId, InitializedExcalidrawImageElement } from "./types";
3
- export declare const loadHTMLImageElement: (dataURL: DataURL) => Promise<HTMLImageElement>;
4
- /** NOTE: updates cache even if already populated with given image. Thus,
5
- * you should filter out the images upstream if you want to optimize this. */
6
- export declare const updateImageCache: ({ fileIds, files, imageCache, }: {
7
- fileIds: FileId[];
8
- files: BinaryFiles;
9
- imageCache: AppClassProperties["imageCache"];
10
- }) => Promise<{
11
- imageCache: Map<FileId, {
12
- image: HTMLImageElement | Promise<HTMLImageElement>;
13
- mimeType: "image/svg+xml" | "image/png" | "image/jpeg" | "image/gif" | "image/webp" | "image/bmp" | "image/x-icon";
14
- }>;
15
- /** includes errored files because they cache was updated nonetheless */
16
- updatedFiles: Map<FileId, true>;
17
- /** files that failed when creating HTMLImageElement */
18
- erroredFiles: Map<FileId, true>;
19
- }>;
20
- export declare const getInitializedImageElements: (elements: readonly ExcalidrawElement[]) => InitializedExcalidrawImageElement[];
21
- export declare const isHTMLSVGElement: (node: Node | null) => node is SVGElement;
22
- export declare const normalizeSVG: (SVGString: string) => Promise<string>;
1
+ import { AppClassProperties, DataURL, BinaryFiles } from "../types";
2
+ import { ExcalidrawElement, FileId, InitializedExcalidrawImageElement } from "./types";
3
+ export declare const loadHTMLImageElement: (dataURL: DataURL) => Promise<HTMLImageElement>;
4
+ /** NOTE: updates cache even if already populated with given image. Thus,
5
+ * you should filter out the images upstream if you want to optimize this. */
6
+ export declare const updateImageCache: ({ fileIds, files, imageCache, }: {
7
+ fileIds: FileId[];
8
+ files: BinaryFiles;
9
+ imageCache: AppClassProperties["imageCache"];
10
+ }) => Promise<{
11
+ imageCache: Map<FileId, {
12
+ image: HTMLImageElement | Promise<HTMLImageElement>;
13
+ mimeType: "image/svg+xml" | "image/png" | "image/jpeg" | "image/gif" | "image/webp" | "image/bmp" | "image/x-icon";
14
+ }>;
15
+ /** includes errored files because they cache was updated nonetheless */
16
+ updatedFiles: Map<FileId, true>;
17
+ /** files that failed when creating HTMLImageElement */
18
+ erroredFiles: Map<FileId, true>;
19
+ }>;
20
+ export declare const getInitializedImageElements: (elements: readonly ExcalidrawElement[]) => InitializedExcalidrawImageElement[];
21
+ export declare const isHTMLSVGElement: (node: Node | null) => node is SVGElement;
22
+ export declare const normalizeSVG: (SVGString: string) => Promise<string>;
@@ -1,20 +1,20 @@
1
- import { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted } from "./types";
2
- export { newElement, newTextElement, updateTextElement, refreshTextDimensions, newLinearElement, newImageElement, duplicateElement, } from "./newElement";
3
- export { getElementAbsoluteCoords, getElementBounds, getCommonBounds, getDiamondPoints, getArrowheadPoints, getClosestElementBounds, } from "./bounds";
4
- export { OMIT_SIDES_FOR_MULTIPLE_ELEMENTS, getTransformHandlesFromCoords, getTransformHandles, } from "./transformHandles";
5
- export { hitTest, isHittingElementBoundingBoxWithoutHittingElement, } from "./collision";
6
- export { resizeTest, getCursorForResizingElement, getElementWithTransformHandleType, getTransformHandleTypeFromCoords, } from "./resizeTest";
7
- export { transformElements, getResizeOffsetXY, getResizeArrowDirection, } from "./resizeElements";
8
- export { dragSelectedElements, getDragOffsetXY, dragNewElement, } from "./dragElements";
9
- export { isTextElement, isExcalidrawElement } from "./typeChecks";
10
- export { textWysiwyg } from "./textWysiwyg";
11
- export { redrawTextBoundingBox } from "./textElement";
12
- export { getPerfectElementSize, getLockedLinearCursorAlignSize, isInvisiblySmallElement, resizePerfectLineForNWHandler, getNormalizedDimensions, } from "./sizeHelpers";
13
- export { showSelectedShapeActions } from "./showSelectedShapeActions";
14
- export declare const getSceneVersion: (elements: readonly ExcalidrawElement[]) => number;
15
- export declare const getVisibleElements: (elements: readonly ExcalidrawElement[]) => readonly NonDeletedExcalidrawElement[];
16
- export declare const getNonDeletedElements: (elements: readonly ExcalidrawElement[]) => readonly NonDeletedExcalidrawElement[];
17
- export declare const isNonDeletedElement: <T extends ExcalidrawElement>(element: T) => element is NonDeleted<T>;
18
- export declare const clearElementsForDatabase: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
19
- export declare const clearElementsForExport: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
20
- export declare const clearElementsForLocalStorage: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
1
+ import { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted } from "./types";
2
+ export { newElement, newTextElement, updateTextElement, refreshTextDimensions, newLinearElement, newImageElement, duplicateElement, } from "./newElement";
3
+ export { getElementAbsoluteCoords, getElementBounds, getCommonBounds, getDiamondPoints, getArrowheadPoints, getClosestElementBounds, } from "./bounds";
4
+ export { OMIT_SIDES_FOR_MULTIPLE_ELEMENTS, getTransformHandlesFromCoords, getTransformHandles, } from "./transformHandles";
5
+ export { hitTest, isHittingElementBoundingBoxWithoutHittingElement, } from "./collision";
6
+ export { resizeTest, getCursorForResizingElement, getElementWithTransformHandleType, getTransformHandleTypeFromCoords, } from "./resizeTest";
7
+ export { transformElements, getResizeOffsetXY, getResizeArrowDirection, } from "./resizeElements";
8
+ export { dragSelectedElements, getDragOffsetXY, dragNewElement, } from "./dragElements";
9
+ export { isTextElement, isExcalidrawElement } from "./typeChecks";
10
+ export { textWysiwyg } from "./textWysiwyg";
11
+ export { redrawTextBoundingBox } from "./textElement";
12
+ export { getPerfectElementSize, getLockedLinearCursorAlignSize, isInvisiblySmallElement, resizePerfectLineForNWHandler, getNormalizedDimensions, } from "./sizeHelpers";
13
+ export { showSelectedShapeActions } from "./showSelectedShapeActions";
14
+ export declare const getSceneVersion: (elements: readonly ExcalidrawElement[]) => number;
15
+ export declare const getVisibleElements: (elements: readonly ExcalidrawElement[]) => readonly NonDeletedExcalidrawElement[];
16
+ export declare const getNonDeletedElements: (elements: readonly ExcalidrawElement[]) => readonly NonDeletedExcalidrawElement[];
17
+ export declare const isNonDeletedElement: <T extends ExcalidrawElement>(element: T) => element is NonDeleted<T>;
18
+ export declare const clearElementsForDatabase: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
19
+ export declare const clearElementsForExport: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];
20
+ export declare const clearElementsForLocalStorage: (elements: readonly ExcalidrawElement[]) => ExcalidrawElement[];