@excalidraw/common 0.18.0-c141960 → 0.18.0-c158187

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 (175) hide show
  1. package/dist/dev/index.js +1070 -10
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +3 -3
  4. package/dist/types/common/src/bounds.d.ts +10 -0
  5. package/dist/types/common/src/colors.d.ts +5 -2
  6. package/dist/types/common/src/constants.d.ts +14 -12
  7. package/dist/types/common/src/font-metadata.d.ts +1 -3
  8. package/dist/types/common/src/index.d.ts +1 -0
  9. package/dist/types/common/src/keys.d.ts +1 -1
  10. package/dist/types/common/src/utility-types.d.ts +0 -1
  11. package/dist/types/common/src/utils.d.ts +44 -34
  12. package/dist/types/common/src/visualdebug.d.ts +1 -1
  13. package/dist/types/element/src/Scene.d.ts +4 -4
  14. package/dist/types/element/src/binding.d.ts +6 -4
  15. package/dist/types/element/src/bounds.d.ts +2 -10
  16. package/dist/types/element/src/collision.d.ts +2 -2
  17. package/dist/types/element/src/comparisons.d.ts +7 -7
  18. package/dist/types/element/src/dragElements.d.ts +3 -3
  19. package/dist/types/element/src/duplicate.d.ts +3 -3
  20. package/dist/types/element/src/fractionalIndex.d.ts +2 -2
  21. package/dist/types/element/src/frame.d.ts +7 -3
  22. package/dist/types/element/src/heading.d.ts +2 -1
  23. package/dist/types/element/src/image.d.ts +1 -11
  24. package/dist/types/element/src/index.d.ts +1 -0
  25. package/dist/types/element/src/linearElementEditor.d.ts +1 -2
  26. package/dist/types/element/src/mutateElement.d.ts +3 -1
  27. package/dist/types/element/src/newElement.d.ts +6 -6
  28. package/dist/types/element/src/renderElement.d.ts +0 -6
  29. package/dist/types/element/src/resizeElements.d.ts +10 -10
  30. package/dist/types/element/src/resizeTest.d.ts +1 -1
  31. package/dist/types/element/src/selection.d.ts +3 -7
  32. package/dist/types/element/src/shape.d.ts +8 -7
  33. package/dist/types/element/src/textMeasurements.d.ts +1 -3
  34. package/dist/types/{excalidraw/data → element/src}/transform.d.ts +3 -3
  35. package/dist/types/element/src/transformHandles.d.ts +3 -23
  36. package/dist/types/element/src/typeChecks.d.ts +2 -4
  37. package/dist/types/element/src/utils.d.ts +3 -1
  38. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +114 -178
  39. package/dist/types/excalidraw/actions/actionAlign.d.ts +0 -1
  40. package/dist/types/excalidraw/actions/actionBoundText.d.ts +44 -87
  41. package/dist/types/excalidraw/actions/actionCanvas.d.ts +263 -510
  42. package/dist/types/excalidraw/actions/actionClipboard.d.ts +85 -128
  43. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +21 -43
  44. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +74 -142
  45. package/dist/types/excalidraw/actions/actionDistribute.d.ts +0 -1
  46. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -3
  47. package/dist/types/excalidraw/actions/actionElementLink.d.ts +41 -63
  48. package/dist/types/excalidraw/actions/actionElementLock.d.ts +45 -88
  49. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +41 -63
  50. package/dist/types/excalidraw/actions/actionExport.d.ts +85 -170
  51. package/dist/types/excalidraw/actions/actionFinalize.d.ts +1 -2
  52. package/dist/types/excalidraw/actions/actionFlip.d.ts +0 -1
  53. package/dist/types/excalidraw/actions/actionFrame.d.ts +208 -329
  54. package/dist/types/excalidraw/actions/actionGroup.d.ts +48 -99
  55. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +149 -207
  56. package/dist/types/excalidraw/actions/actionLink.d.ts +43 -65
  57. package/dist/types/excalidraw/actions/actionMenu.d.ts +35 -57
  58. package/dist/types/excalidraw/actions/actionNavigate.d.ts +14 -17
  59. package/dist/types/excalidraw/actions/actionProperties.d.ts +59 -102
  60. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +24 -50
  61. package/dist/types/excalidraw/actions/actionStyles.d.ts +20 -42
  62. package/dist/types/excalidraw/actions/actionTextAutoResize.d.ts +3 -3
  63. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +41 -63
  64. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +41 -63
  65. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +35 -57
  66. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +40 -62
  67. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +41 -63
  68. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +41 -63
  69. package/dist/types/excalidraw/actions/actionZindex.d.ts +8 -9
  70. package/dist/types/excalidraw/actions/manager.d.ts +1 -1
  71. package/dist/types/excalidraw/actions/register.d.ts +2 -2
  72. package/dist/types/excalidraw/appState.d.ts +12 -12
  73. package/dist/types/excalidraw/clipboard.d.ts +7 -31
  74. package/dist/types/excalidraw/components/Actions.d.ts +1 -1
  75. package/dist/types/excalidraw/components/App.d.ts +32 -40
  76. package/dist/types/excalidraw/components/Card.d.ts +0 -1
  77. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +7 -4
  78. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +0 -1
  79. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  80. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +0 -1
  81. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  82. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  83. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  84. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  85. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  86. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  87. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -1
  88. package/dist/types/excalidraw/components/EyeDropper.d.ts +0 -1
  89. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  90. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  91. package/dist/types/excalidraw/components/InlineIcon.d.ts +2 -2
  92. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  93. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  94. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  95. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  96. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -1
  97. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  98. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  99. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  100. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  101. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  102. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
  103. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  104. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  105. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  106. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  107. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  108. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  109. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  110. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  111. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
  112. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  113. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +1 -2
  114. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +0 -1
  115. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  116. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  117. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  118. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  119. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +2 -3
  120. package/dist/types/excalidraw/components/Toast.d.ts +3 -3
  121. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  122. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +28 -32
  123. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +5 -5
  124. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  125. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +10 -18
  126. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +3 -3
  127. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +0 -1
  128. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  129. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  130. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  131. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +1 -1
  132. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  133. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
  134. package/dist/types/excalidraw/components/icons.d.ts +11 -11
  135. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +2 -13
  136. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +2 -2
  137. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +26 -28
  138. package/dist/types/excalidraw/components/shapes.d.ts +1 -1
  139. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +6 -6
  140. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +15 -16
  141. package/dist/types/excalidraw/data/blob.d.ts +321 -3
  142. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  143. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  144. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  145. package/dist/types/excalidraw/data/index.d.ts +3 -3
  146. package/dist/types/excalidraw/data/json.d.ts +159 -2
  147. package/dist/types/excalidraw/data/library.d.ts +24 -9
  148. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  149. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  150. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +1 -2
  151. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  152. package/dist/types/excalidraw/i18n.d.ts +2 -2
  153. package/dist/types/excalidraw/index.d.ts +2 -4
  154. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -4
  155. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -6
  156. package/dist/types/excalidraw/scene/Renderer.d.ts +5 -2
  157. package/dist/types/excalidraw/scene/export.d.ts +2 -2
  158. package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
  159. package/dist/types/excalidraw/scene/types.d.ts +7 -2
  160. package/dist/types/excalidraw/snapping.d.ts +5 -5
  161. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  162. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  163. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  164. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  165. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  166. package/dist/types/excalidraw/types.d.ts +1 -1
  167. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -2
  168. package/dist/types/math/src/polygon.d.ts +2 -2
  169. package/dist/types/math/src/range.d.ts +1 -3
  170. package/dist/types/math/src/segment.d.ts +3 -3
  171. package/dist/types/utils/src/bbox.d.ts +1 -1
  172. package/dist/types/utils/src/export.d.ts +5 -5
  173. package/dist/types/utils/src/shape.d.ts +6 -6
  174. package/dist/types/utils/src/withinBounds.d.ts +2 -2
  175. package/package.json +7 -1
@@ -2,10 +2,167 @@ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { AppState, BinaryFiles, LibraryItems } from "../types";
3
3
  import type { ImportedDataState, ImportedLibraryData } from "./types";
4
4
  export declare const serializeAsJSON: (elements: readonly ExcalidrawElement[], appState: Partial<AppState>, files: BinaryFiles, type: "local" | "database") => string;
5
- export declare const saveAsJSON: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles, name?: string) => Promise<{
5
+ export declare const saveAsJSON: (elements: readonly ExcalidrawElement[], appState: AppState, files: BinaryFiles,
6
+ /** filename */
7
+ name?: string) => Promise<{
6
8
  fileHandle: import("browser-fs-access").FileSystemHandle | null;
7
9
  }>;
8
- export declare const loadFromJSON: (localAppState: AppState, localElements: readonly ExcalidrawElement[] | null) => Promise<import("./restore").RestoredDataState>;
10
+ export declare const loadFromJSON: (localAppState: AppState, localElements: readonly ExcalidrawElement[] | null) => Promise<{
11
+ elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
12
+ appState: {
13
+ viewBackgroundColor: string;
14
+ theme: import("@excalidraw/element/types").Theme;
15
+ frameRendering: {
16
+ enabled: boolean;
17
+ name: boolean;
18
+ outline: boolean;
19
+ clip: boolean;
20
+ };
21
+ name: string | null;
22
+ zoom: import("../types").Zoom;
23
+ scrollX: number;
24
+ scrollY: number;
25
+ viewModeEnabled: boolean;
26
+ openDialog: null | {
27
+ name: "imageExport" | "help" | "jsonExport";
28
+ } | {
29
+ name: "ttd";
30
+ tab: "text-to-diagram" | "mermaid";
31
+ } | {
32
+ name: "commandPalette";
33
+ } | {
34
+ name: "settings";
35
+ } | {
36
+ name: "elementLinkSelector";
37
+ sourceElementId: ExcalidrawElement["id"];
38
+ };
39
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
40
+ selectedElementIds: Readonly<{
41
+ [id: string]: true;
42
+ }>;
43
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
44
+ activeEmbeddable: {
45
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
46
+ state: "hover" | "active";
47
+ } | null;
48
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
49
+ selectedGroupIds: {
50
+ [groupId: string]: boolean;
51
+ };
52
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
53
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
54
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
55
+ isBindingEnabled: boolean;
56
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
57
+ isRotating: boolean;
58
+ elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
59
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
60
+ snapLines: readonly import("../snapping").SnapLine[];
61
+ zenModeEnabled: boolean;
62
+ editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
63
+ isCropping: boolean;
64
+ croppingElementId: ExcalidrawElement["id"] | null;
65
+ searchMatches: Readonly<{
66
+ focusedId: ExcalidrawElement["id"] | null;
67
+ matches: readonly import("../types").SearchMatch[];
68
+ }> | null;
69
+ activeLockedId: string | null;
70
+ hoveredElementIds: Readonly<{
71
+ [id: string]: true;
72
+ }>;
73
+ shouldCacheIgnoreZoom: boolean;
74
+ exportScale: number;
75
+ bindMode: import("@excalidraw/element/types").BindMode;
76
+ gridSize: number;
77
+ contextMenu: {
78
+ items: import("../components/ContextMenu").ContextMenuItems;
79
+ top: number;
80
+ left: number;
81
+ } | null;
82
+ showWelcomeScreen: boolean;
83
+ isLoading: boolean;
84
+ errorMessage: React.ReactNode;
85
+ resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
86
+ startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
87
+ editingFrame: string | null;
88
+ activeTool: {
89
+ lastActiveTool: import("../types").ActiveTool | null;
90
+ locked: boolean;
91
+ fromSelection: boolean;
92
+ } & import("../types").ActiveTool;
93
+ preferredSelectionTool: {
94
+ type: "selection" | "lasso";
95
+ initialized: boolean;
96
+ };
97
+ penMode: boolean;
98
+ penDetected: boolean;
99
+ exportBackground: boolean;
100
+ exportEmbedScene: boolean;
101
+ exportWithDarkMode: boolean;
102
+ currentItemStrokeColor: string;
103
+ currentItemBackgroundColor: string;
104
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
105
+ currentItemStrokeWidth: number;
106
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
107
+ currentItemRoughness: number;
108
+ currentItemOpacity: number;
109
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
110
+ currentItemFontSize: number;
111
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
112
+ currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
113
+ currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
114
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
115
+ currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
116
+ currentItemArrowType: "sharp" | "round" | "elbow";
117
+ cursorButton: "up" | "down";
118
+ scrolledOutside: boolean;
119
+ isResizing: boolean;
120
+ openMenu: "canvas" | null;
121
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
122
+ openSidebar: {
123
+ name: import("../types").SidebarName;
124
+ tab?: import("../types").SidebarTabName;
125
+ } | null;
126
+ defaultSidebarDockedPreference: boolean;
127
+ lastPointerDownWith: import("@excalidraw/element/types").PointerType;
128
+ previousSelectedElementIds: {
129
+ [id: string]: true;
130
+ };
131
+ selectedElementsAreBeingDragged: boolean;
132
+ toast: {
133
+ message: string;
134
+ closable?: boolean;
135
+ duration?: number;
136
+ } | null;
137
+ gridStep: number;
138
+ gridModeEnabled: boolean;
139
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
140
+ stats: {
141
+ open: boolean;
142
+ panels: number;
143
+ };
144
+ currentChartType: import("@excalidraw/element/types").ChartType;
145
+ pasteDialog: {
146
+ shown: false;
147
+ data: null;
148
+ } | {
149
+ shown: true;
150
+ data: import("../charts").Spreadsheet;
151
+ };
152
+ showHyperlinkPopup: false | "info" | "editor";
153
+ originSnapOffset: {
154
+ x: number;
155
+ y: number;
156
+ } | null;
157
+ objectsSnapModeEnabled: boolean;
158
+ userToFollow: import("../types").UserToFollow | null;
159
+ followedBy: Set<import("../types").SocketId>;
160
+ lockedMultiSelections: {
161
+ [groupId: string]: true;
162
+ };
163
+ };
164
+ files: BinaryFiles;
165
+ }>;
9
166
  export declare const isValidExcalidrawData: (data?: {
10
167
  type?: any;
11
168
  elements?: any;
@@ -74,16 +74,31 @@ declare class Library {
74
74
  getLatestLibrary: () => Promise<LibraryItems>;
75
75
  updateLibrary: ({ libraryItems, prompt, merge, openLibraryMenu, defaultStatus, }: {
76
76
  libraryItems: LibraryItemsSource;
77
- merge?: boolean | undefined;
78
- prompt?: boolean | undefined;
79
- openLibraryMenu?: boolean | undefined;
80
- defaultStatus?: "published" | "unpublished" | undefined;
77
+ merge?: boolean;
78
+ prompt?: boolean;
79
+ openLibraryMenu?: boolean;
80
+ defaultStatus?: "unpublished" | "published";
81
81
  }) => Promise<LibraryItems>;
82
- setLibrary: (libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
82
+ setLibrary: (
83
+ /**
84
+ * LibraryItems that will replace current items. Can be a function which
85
+ * will be invoked after all previous tasks are resolved
86
+ * (this is the prefered way to update the library to avoid race conditions,
87
+ * but you'll want to manually merge the library items in the callback
88
+ * - which is what we're doing in Library.importLibrary()).
89
+ *
90
+ * If supplied promise is rejected with AbortError, we swallow it and
91
+ * do not update the library.
92
+ */
93
+ libraryItems: LibraryItems | Promise<LibraryItems> | ((latestLibraryItems: LibraryItems) => LibraryItems | Promise<LibraryItems>)) => Promise<LibraryItems>;
83
94
  }
84
95
  export default Library;
85
96
  export declare const distributeLibraryItemsOnSquareGrid: (libraryItems: LibraryItems) => ExcalidrawElement[];
86
- export declare const validateLibraryUrl: (libraryUrl: string, validator?: string[] | ((libraryUrl: string) => boolean)) => true;
97
+ export declare const validateLibraryUrl: (libraryUrl: string,
98
+ /**
99
+ * @returns `true` if the URL is valid, throws otherwise.
100
+ */
101
+ validator?: ((libraryUrl: string) => boolean) | string[]) => true;
87
102
  export declare const parseLibraryTokensFromUrl: () => {
88
103
  libraryUrl: string;
89
104
  idToken: string | null;
@@ -95,10 +110,10 @@ export declare const useHandleLibrary: (opts: {
95
110
  * Return `true` if the library install url should be allowed.
96
111
  * If not supplied, only the excalidraw.com base domain is allowed.
97
112
  */
98
- validateLibraryUrl?: ((libraryUrl: string) => boolean) | undefined;
113
+ validateLibraryUrl?: (libraryUrl: string) => boolean;
99
114
  } & ({
100
115
  /** @deprecated we recommend using `opts.adapter` instead */
101
- getInitialLibraryItems?: (() => MaybePromise<LibraryItemsSource>) | undefined;
116
+ getInitialLibraryItems?: () => MaybePromise<LibraryItemsSource>;
102
117
  } | {
103
118
  adapter: LibraryPersistenceAdapter;
104
119
  /**
@@ -108,5 +123,5 @@ export declare const useHandleLibrary: (opts: {
108
123
  *
109
124
  * Can be a different LibraryPersistenceAdapter.
110
125
  */
111
- migrationAdapter?: LibraryMigrationAdapter | undefined;
126
+ migrationAdapter?: LibraryMigrationAdapter;
112
127
  })) => void;
@@ -1,4 +1,5 @@
1
- import type { ElementsMap, ExcalidrawArrowElement, ExcalidrawElement, ExcalidrawLinearElement, ExcalidrawSelectionElement, ExcalidrawTextElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
1
+ import { type CombineBrandsIfNeeded } from "@excalidraw/common";
2
+ import type { ElementsMap, ElementsMapOrArray, ExcalidrawElement, ExcalidrawSelectionElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
3
  import type { AppState, BinaryFiles, LibraryItem } from "../types";
3
4
  import type { ImportedDataState } from "./types";
4
5
  type RestoredAppState = Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
@@ -8,19 +9,33 @@ export type RestoredDataState = {
8
9
  appState: RestoredAppState;
9
10
  files: BinaryFiles;
10
11
  };
11
- export declare const restoreElement: (element: Exclude<ExcalidrawElement, ExcalidrawSelectionElement>, elementsMap: Readonly<ElementsMap>, opts?: {
12
+ export declare const restoreElement: (
13
+ /** element to be restored */
14
+ element: Exclude<ExcalidrawElement, ExcalidrawSelectionElement>,
15
+ /** all elements to be restored */
16
+ targetElementsMap: Readonly<ElementsMap>,
17
+ /** used for additional context */
18
+ existingElementsMap: Readonly<ElementsMap> | null | undefined, opts?: {
12
19
  deleteInvisibleElements?: boolean;
13
- }) => ExcalidrawTextElement | import("@excalidraw/element/types").ExcalidrawRectangleElement | import("@excalidraw/element/types").ExcalidrawDiamondElement | import("@excalidraw/element/types").ExcalidrawFrameElement | import("@excalidraw/element/types").ExcalidrawMagicFrameElement | import("@excalidraw/element/types").ExcalidrawEmbeddableElement | import("@excalidraw/element/types").ExcalidrawImageElement | import("@excalidraw/element/types").ExcalidrawIframeElement | import("@excalidraw/element/types").ExcalidrawEllipseElement | ExcalidrawLinearElement | ExcalidrawArrowElement | import("@excalidraw/element/types").ExcalidrawFreeDrawElement | null;
14
- export declare const restoreElements: (targetElements: ImportedDataState["elements"], localElements: readonly ExcalidrawElement[] | null | undefined, opts?: {
20
+ }) => typeof element | null;
21
+ export declare const restoreElements: <T extends ExcalidrawElement>(targetElements: readonly T[] | undefined | null,
22
+ /** used for additional context (e.g. repairing arrow bindings) */
23
+ existingElements: Readonly<ElementsMapOrArray> | null | undefined, opts?: {
15
24
  refreshDimensions?: boolean;
16
25
  repairBindings?: boolean;
17
26
  deleteInvisibleElements?: boolean;
18
- } | undefined) => OrderedExcalidrawElement[];
27
+ } | undefined) => CombineBrandsIfNeeded<T, OrderedExcalidrawElement>;
28
+ /**
29
+ * When replacing elements that may exist locally, this bumps their versions
30
+ * to the local version + 1. Mainly for later reconciliation to work properly.
31
+ *
32
+ * See https://github.com/excalidraw/excalidraw/issues/3795
33
+ *
34
+ * Generally use this on editor boundaries (importing from file etc.), though
35
+ * it does not apply universally (e.g. we don't want to do this for collab
36
+ * updates).
37
+ */
38
+ export declare const bumpElementVersions: <T extends ExcalidrawElement>(targetElements: readonly T[], localElements: Readonly<ElementsMapOrArray> | null | undefined) => T[];
19
39
  export declare const restoreAppState: (appState: ImportedDataState["appState"], localAppState: Partial<AppState> | null | undefined) => RestoredAppState;
20
- export declare const restore: (data: Pick<ImportedDataState, "appState" | "elements" | "files"> | null, localAppState: Partial<AppState> | null | undefined, localElements: readonly ExcalidrawElement[] | null | undefined, elementsConfig?: {
21
- refreshDimensions?: boolean;
22
- repairBindings?: boolean;
23
- deleteInvisibleElements?: boolean;
24
- }) => RestoredDataState;
25
40
  export declare const restoreLibraryItems: (libraryItems: ImportedDataState["libraryItems"], defaultStatus: LibraryItem["status"]) => LibraryItem[];
26
41
  export {};
@@ -7,8 +7,8 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
7
7
  set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
8
8
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
9
9
  } | ({
10
- get: <Value_2>(atom: import("jotai").Atom<Value_2>) => Value_2;
11
- set: <Value_1_1, Args_1 extends unknown[], Result_1>(atom: WritableAtom<Value_1_1, Args_1, Result_1>, ...args: Args_1) => Result_1;
10
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
11
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
12
12
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
13
13
  } & {
14
14
  dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
@@ -19,21 +19,21 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
19
19
  readonly l: Set<() => void>;
20
20
  readonly d: Set<import("jotai").Atom<unknown>>;
21
21
  readonly t: Set<import("jotai").Atom<unknown>>;
22
- u?: (() => void) | undefined;
23
- } | undefined;
22
+ u?: () => void;
23
+ };
24
24
  v?: unknown;
25
25
  e?: unknown;
26
26
  }>;
27
27
  dev4_get_mounted_atoms: () => Set<import("jotai").Atom<unknown>>;
28
28
  dev4_restore_atoms: (values: Iterable<readonly [import("jotai").Atom<unknown>, unknown]>) => void;
29
- }) | undefined;
29
+ });
30
30
  } | undefined) => {
31
- get: <Value_3>(atom: import("jotai").Atom<Value_3>) => Value_3;
32
- set: <Value_1_2, Args_2 extends unknown[], Result_2>(atom: WritableAtom<Value_1_2, Args_2, Result_2>, ...args: Args_2) => Result_2;
31
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
32
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
33
33
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
34
34
  } | ({
35
- get: <Value_4>(atom: import("jotai").Atom<Value_4>) => Value_4;
36
- set: <Value_1_3, Args_3 extends unknown[], Result_3>(atom: WritableAtom<Value_1_3, Args_3, Result_3>, ...args: Args_3) => Result_3;
35
+ get: <Value>(atom: import("jotai").Atom<Value>) => Value;
36
+ set: <Value_1, Args extends unknown[], Result>(atom: WritableAtom<Value_1, Args, Result>, ...args: Args) => Result;
37
37
  sub: (atom: import("jotai").Atom<unknown>, listener: () => void) => () => void;
38
38
  } & {
39
39
  dev4_get_internal_weak_map: () => WeakMap<import("jotai").Atom<unknown>, {
@@ -44,8 +44,8 @@ export declare const useAtom: typeof import("jotai").useAtom, useSetAtom: typeof
44
44
  readonly l: Set<() => void>;
45
45
  readonly d: Set<import("jotai").Atom<unknown>>;
46
46
  readonly t: Set<import("jotai").Atom<unknown>>;
47
- u?: (() => void) | undefined;
48
- } | undefined;
47
+ u?: () => void;
48
+ };
49
49
  v?: unknown;
50
50
  e?: unknown;
51
51
  }>;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  export declare function useOutsideClick<T extends HTMLElement>(ref: React.RefObject<T | null>,
3
2
  /** if performance is of concern, memoize the callback */
4
3
  callback: (event: Event & {
@@ -16,7 +15,7 @@ callback: (event: Event & {
16
15
  * Returning `undefined` will fallback to the default behavior.
17
16
  */
18
17
  isInside?: (event: Event & {
19
- target: HTMLElement;
18
+ target: T;
20
19
  },
21
20
  /** the element of the passed ref */
22
21
  container: T) => boolean | undefined): void;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
- export declare const useScrollPosition: <T extends HTMLElement>(elementRef: import("react").RefObject<T | null>) => number;
1
+ export declare const useScrollPosition: <T extends HTMLElement>(elementRef: React.RefObject<T | null>) => number;
@@ -15,10 +15,10 @@ export declare const setLanguage: (lang: Language) => Promise<void>;
15
15
  export declare const getLanguage: () => Language;
16
16
  export declare const t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
17
17
  [key: string]: string | number;
18
- } | null | undefined, fallback?: string) => string;
18
+ } | null, fallback?: string) => string;
19
19
  export declare const useI18n: () => {
20
20
  t: (path: NestedKeyOf<typeof fallbackLangData>, replacement?: {
21
21
  [key: string]: string | number;
22
- } | null | undefined, fallback?: string) => string;
22
+ } | null, fallback?: string) => string;
23
23
  langCode: string;
24
24
  };
@@ -12,12 +12,11 @@ export { getSceneVersion, hashElementsVersion, hashString, getNonDeletedElements
12
12
  export { getTextFromElements } from "@excalidraw/element";
13
13
  export { isInvisiblySmallElement } from "@excalidraw/element";
14
14
  export { defaultLang, useI18n, languages } from "./i18n";
15
- export { restore, restoreAppState, restoreElement, restoreElements, restoreLibraryItems, } from "./data/restore";
15
+ export { restoreAppState, restoreElement, restoreElements, restoreLibraryItems, } from "./data/restore";
16
16
  export { reconcileElements } from "./data/reconcile";
17
17
  export { exportToCanvas, exportToBlob, exportToSvg, exportToClipboard, } from "@excalidraw/utils/export";
18
18
  export { serializeAsJSON, serializeLibraryAsJSON } from "./data/json";
19
19
  export { loadFromBlob, loadSceneOrLibraryFromBlob, loadLibraryFromBlob, } from "./data/blob";
20
- export { getFreeDrawSvgPath } from "@excalidraw/element";
21
20
  export { mergeLibraryItems, getLibraryItemsHash } from "./data/library";
22
21
  export { isLinearElement } from "@excalidraw/element";
23
22
  export { FONT_FAMILY, THEME, MIME_TYPES, ROUNDNESS, DEFAULT_LASER_COLOR, UserIdleState, normalizeLink, sceneCoordsToViewportCoords, viewportCoordsToSceneCoords, getFormFactor, } from "@excalidraw/common";
@@ -37,8 +36,7 @@ export { DefaultSidebar } from "./components/DefaultSidebar";
37
36
  export { TTDDialog } from "./components/TTDDialog/TTDDialog";
38
37
  export { TTDDialogTrigger } from "./components/TTDDialog/TTDDialogTrigger";
39
38
  export { zoomToFitBounds } from "./actions/actionCanvas";
40
- export { convertToExcalidrawElements } from "./data/transform";
41
- export { getCommonBounds, getVisibleSceneBounds } from "@excalidraw/element";
39
+ export { getCommonBounds, getVisibleSceneBounds, convertToExcalidrawElements, } from "@excalidraw/element";
42
40
  export { elementsOverlappingBBox, isElementInsideBBox, elementPartiallyOverlapsWithOrContainsBBox, } from "@excalidraw/utils/withinBounds";
43
41
  export { DiagramToCodePlugin } from "./components/DiagramToCodePlugin/DiagramToCodePlugin";
44
42
  export { getDataURL } from "./data/blob";
@@ -7,8 +7,10 @@ export declare const bootstrapCanvas: ({ canvas, scale, normalizedWidth, normali
7
7
  scale: number;
8
8
  normalizedWidth: number;
9
9
  normalizedHeight: number;
10
- theme?: import("../../element/src/types").Theme | undefined;
11
- isExporting?: boolean | undefined;
12
- viewBackgroundColor?: string | null | undefined;
10
+ theme?: AppState["theme"];
11
+ isExporting?: StaticCanvasRenderConfig["isExporting"];
12
+ viewBackgroundColor?: StaticCanvasAppState["viewBackgroundColor"];
13
13
  }) => CanvasRenderingContext2D;
14
- export declare const strokeRectWithRotation_simple: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean, radius?: number) => void;
14
+ export declare const strokeRectWithRotation_simple: (context: CanvasRenderingContext2D, x: number, y: number, width: number, height: number, cx: number, cy: number, angle: number, fill?: boolean,
15
+ /** should account for zoom */
16
+ radius?: number) => void;
@@ -1,12 +1,14 @@
1
1
  import { getScrollBars } from "../scene/scrollbars";
2
2
  import type { InteractiveSceneRenderConfig, RenderableElementsMap } from "../scene/types";
3
+ declare const _renderInteractiveScene: ({ app, canvas, elementsMap, visibleElements, selectedElements, allElementsMap, scale, appState, renderConfig, editorInterface, animationState, deltaTime, }: InteractiveSceneRenderConfig) => {
4
+ scrollBars?: ReturnType<typeof getScrollBars>;
5
+ atLeastOneVisibleElement: boolean;
6
+ elementsMap: RenderableElementsMap;
7
+ animationState?: typeof animationState;
8
+ };
3
9
  /**
4
10
  * Interactive scene is the ui-canvas where we render bounding boxes, selections
5
11
  * and other ui stuff.
6
12
  */
7
- export declare const renderInteractiveScene: <U extends ({ app, canvas, elementsMap, visibleElements, selectedElements, allElementsMap, scale, appState, renderConfig, editorInterface, animationState, deltaTime, }: InteractiveSceneRenderConfig) => {
8
- scrollBars?: import("../scene/types").ScrollBars | undefined;
9
- atLeastOneVisibleElement: boolean;
10
- elementsMap: RenderableElementsMap;
11
- animationState?: import("../scene/types").InteractiveSceneRenderAnimationState | undefined;
12
- }>(renderConfig: InteractiveSceneRenderConfig) => ReturnType<U>;
13
+ export declare const renderInteractiveScene: <U extends typeof _renderInteractiveScene>(renderConfig: InteractiveSceneRenderConfig) => ReturnType<U>;
14
+ export {};
@@ -1,11 +1,14 @@
1
1
  import type { ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { Scene } from "@excalidraw/element";
3
+ import type { RenderableElementsMap } from "./types";
3
4
  import type { AppState } from "../types";
4
5
  export declare class Renderer {
5
6
  private scene;
6
7
  constructor(scene: Scene);
7
8
  getRenderableElements: ((opts: {
8
- zoom: AppState["zoom"];
9
+ zoom: Readonly<{
10
+ value: import("../types").NormalizedZoomValue;
11
+ }>;
9
12
  offsetLeft: AppState["offsetLeft"];
10
13
  offsetTop: AppState["offsetTop"];
11
14
  scrollX: AppState["scrollX"];
@@ -18,7 +21,7 @@ export declare class Renderer {
18
21
  newElementId: ExcalidrawElement["id"] | undefined;
19
22
  sceneNonce: ReturnType<InstanceType<typeof Scene>["getSceneNonce"]>;
20
23
  }) => {
21
- elementsMap: Map<string, NonDeletedExcalidrawElement> & import("@excalidraw/common/utility-types").MakeBrand<"NonDeletedElementsMap"> & import("@excalidraw/common/utility-types").MakeBrand<"RenderableElementsMap">;
24
+ elementsMap: RenderableElementsMap;
22
25
  visibleElements: readonly NonDeletedExcalidrawElement[];
23
26
  }) & {
24
27
  clear: () => void;
@@ -2,9 +2,9 @@ import type { ExcalidrawFrameLikeElement, NonDeletedExcalidrawElement } from "@e
2
2
  import type { AppState, BinaryFiles } from "../types";
3
3
  export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, exportingFrame, }: {
4
4
  exportBackground: boolean;
5
- exportPadding?: number | undefined;
5
+ exportPadding?: number;
6
6
  viewBackgroundColor: string;
7
- exportingFrame?: ExcalidrawFrameLikeElement | null | undefined;
7
+ exportingFrame?: ExcalidrawFrameLikeElement | null;
8
8
  }, createCanvas?: (width: number, height: number) => {
9
9
  canvas: HTMLCanvasElement;
10
10
  scale: number;
@@ -7,12 +7,7 @@ export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, of
7
7
  width: number;
8
8
  };
9
9
  zoom: Zoom;
10
- offsets?: Partial<{
11
- top: number;
12
- right: number;
13
- bottom: number;
14
- left: number;
15
- }> | undefined;
10
+ offsets?: Offsets;
16
11
  }) => {
17
12
  scrollX: number;
18
13
  scrollY: number;
@@ -15,6 +15,7 @@ export type StaticCanvasRenderConfig = {
15
15
  embedsValidationStatus: EmbedsValidationStatus;
16
16
  elementsPendingErasure: ElementsPendingErasure;
17
17
  pendingFlowchartNodes: PendingExcalidrawElements | null;
18
+ theme: AppState["theme"];
18
19
  };
19
20
  export type SVGRenderConfig = {
20
21
  offsetX: number;
@@ -32,6 +33,7 @@ export type SVGRenderConfig = {
32
33
  * @default true
33
34
  */
34
35
  reuseImages: boolean;
36
+ theme: AppState["theme"];
35
37
  };
36
38
  export type InteractiveCanvasRenderConfig = {
37
39
  remoteSelectedElementIds: Map<ExcalidrawElement["id"], SocketId[]>;
@@ -115,14 +117,17 @@ export type ScrollBars = {
115
117
  deltaMultiplier: number;
116
118
  } | null;
117
119
  };
118
- export type ElementShape = Drawable | Drawable[] | null;
120
+ export type SVGPathString = string & {
121
+ __brand: "SVGPathString";
122
+ };
123
+ export type ElementShape = Drawable | Drawable[] | Path2D | (Drawable | SVGPathString)[] | null;
119
124
  export type ElementShapes = {
120
125
  rectangle: Drawable;
121
126
  ellipse: Drawable;
122
127
  diamond: Drawable;
123
128
  iframe: Drawable;
124
129
  embeddable: Drawable;
125
- freedraw: Drawable | null;
130
+ freedraw: (Drawable | SVGPathString)[];
126
131
  arrow: Drawable[];
127
132
  line: Drawable[];
128
133
  text: null;
@@ -1,6 +1,6 @@
1
1
  import { type GlobalPoint } from "@excalidraw/math";
2
2
  import type { InclusiveRange } from "@excalidraw/math";
3
- import type { Bounds } from "@excalidraw/element";
3
+ import type { Bounds } from "@excalidraw/common";
4
4
  import type { MaybeTransformHandleType } from "@excalidraw/element";
5
5
  import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
6
6
  import type { AppClassProperties, AppState, KeyboardModifiersObject } from "./types";
@@ -70,9 +70,9 @@ export declare const isSnappingEnabled: ({ event, app, selectedElements, }: {
70
70
  }) => boolean;
71
71
  export declare const areRoughlyEqual: (a: number, b: number, precision?: number) => boolean;
72
72
  export declare const getElementsCorners: (elements: ExcalidrawElement[], elementsMap: ElementsMap, { omitCenter, boundingBoxCorners, dragOffset, }?: {
73
- omitCenter?: boolean | undefined;
74
- boundingBoxCorners?: boolean | undefined;
75
- dragOffset?: Vector2D | undefined;
73
+ omitCenter?: boolean;
74
+ boundingBoxCorners?: boolean;
75
+ dragOffset?: Vector2D;
76
76
  }) => GlobalPoint[];
77
77
  export declare const getVisibleGaps: (elements: readonly NonDeletedExcalidrawElement[], selectedElements: ExcalidrawElement[], appState: AppState, elementsMap: ElementsMap) => {
78
78
  horizontalGaps: Gap[];
@@ -107,5 +107,5 @@ export declare const getSnapLinesAtPointer: (elements: readonly ExcalidrawElemen
107
107
  };
108
108
  snapLines: PointerSnapLine[];
109
109
  };
110
- export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => boolean;
110
+ export declare const isActiveToolNonLinearSnappable: (activeToolType: AppState["activeTool"]["type"]) => activeToolType is "text" | "rectangle" | "diamond" | "ellipse" | "image" | "frame" | "magicframe";
111
111
  export {};
@@ -38,7 +38,7 @@ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
38
38
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
39
39
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40
40
  */
41
- declare function subset(hbSubsetWasm: any, heapu8: Uint8Array, font: ArrayBuffer, codePoints: ReadonlySet<number>): Uint8Array;
41
+ declare function subset(hbSubsetWasm: any, heapu8: Uint8Array, font: ArrayBuffer, codePoints: ReadonlySet<number>): Uint8Array<ArrayBuffer>;
42
42
  declare const _default: {
43
43
  subset: typeof subset;
44
44
  };
@@ -7,7 +7,7 @@
7
7
  * In the future consider separating common utils into a separate shared chunk.
8
8
  */
9
9
  declare const load: () => Promise<{
10
- subset: (fontBuffer: ArrayBuffer, codePoints: ReadonlySet<number>) => Uint8Array;
10
+ subset: (fontBuffer: ArrayBuffer, codePoints: ReadonlySet<number>) => Uint8Array<ArrayBuffer>;
11
11
  }>;
12
12
  declare const _default: () => ReturnType<typeof load>;
13
13
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: Uint8Array;
1
+ declare const _default: Uint8Array<ArrayBuffer>;
2
2
  export default _default;
@@ -7,8 +7,8 @@
7
7
  * In the future consider separating common utils into a separate shared chunk.
8
8
  */
9
9
  declare const load: () => Promise<{
10
- compress: (buffer: ArrayBuffer) => Uint8Array;
11
- decompress: (buffer: ArrayBuffer) => Uint8Array;
10
+ compress: (buffer: ArrayBuffer) => Uint8Array<ArrayBuffer>;
11
+ decompress: (buffer: ArrayBuffer) => Uint8Array<ArrayBuffer>;
12
12
  }>;
13
13
  declare const _default: () => ReturnType<typeof load>;
14
14
  export default _default;
@@ -1,2 +1,2 @@
1
- declare const _default: Uint8Array;
1
+ declare const _default: Uint8Array<ArrayBuffer>;
2
2
  export default _default;
@@ -375,7 +375,7 @@ export type SearchMatch = {
375
375
  showOnCanvas: boolean;
376
376
  }[];
377
377
  };
378
- export type UIAppState = Omit<AppState, "suggestedBinding" | "startBoundElement" | "cursorButton" | "scrollX" | "scrollY">;
378
+ export type UIAppState = Omit<AppState, "startBoundElement" | "cursorButton" | "scrollX" | "scrollY">;
379
379
  export type NormalizedZoomValue = number & {
380
380
  _brand: "normalizedZoom";
381
381
  };
@@ -9,7 +9,7 @@ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords,
9
9
  * Note: `text`, which can be wrapped and therefore different from `originalText`,
10
10
  * is derived from `originalText`
11
11
  */
12
- onChange?: ((nextOriginalText: string) => void) | undefined;
12
+ onChange?: (nextOriginalText: string) => void;
13
13
  onSubmit: (data: {
14
14
  viaKeyboard: boolean;
15
15
  nextOriginalText: string;
@@ -19,6 +19,6 @@ export declare const textWysiwyg: ({ id, onChange, onSubmit, getViewportCoords,
19
19
  canvas: HTMLCanvasElement;
20
20
  excalidrawContainer: HTMLDivElement | null;
21
21
  app: App;
22
- autoSelect?: boolean | undefined;
22
+ autoSelect?: boolean;
23
23
  }) => SubmitHandler;
24
24
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { GlobalPoint, LocalPoint, Polygon } from "./types";
2
2
  export declare function polygon<Point extends GlobalPoint | LocalPoint>(...points: Point[]): Polygon<Point>;
3
3
  export declare function polygonFromPoints<Point extends GlobalPoint | LocalPoint>(points: Point[]): Polygon<Point>;
4
- export declare const polygonIncludesPoint: <Point extends GlobalPoint | LocalPoint>(point: Point, polygon: Polygon<Point>) => boolean;
4
+ export declare const polygonIncludesPoint: <Point extends LocalPoint | GlobalPoint>(point: Point, polygon: Polygon<Point>) => boolean;
5
5
  export declare const polygonIncludesPointNonZero: <Point extends [number, number]>(point: Point, polygon: Point[]) => boolean;
6
- export declare const pointOnPolygon: <Point extends GlobalPoint | LocalPoint>(p: Point, poly: Polygon<Point>, threshold?: number) => boolean;
6
+ export declare const pointOnPolygon: <Point extends LocalPoint | GlobalPoint>(p: Point, poly: Polygon<Point>, threshold?: number) => boolean;