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

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 (281) hide show
  1. package/dist/excalidraw.development.js +1147 -1007
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/excalidraw.production.min.js.LICENSE.txt +9 -0
  4. package/package.json +6 -2
  5. package/types/.DS_Store +0 -0
  6. package/types/actions/actionAddToLibrary.d.ts +441 -441
  7. package/types/actions/actionAlign.d.ts +97 -97
  8. package/types/actions/actionBoundText.d.ts +331 -331
  9. package/types/actions/actionCanvas.d.ts +1845 -1845
  10. package/types/actions/actionClipboard.d.ts +829 -829
  11. package/types/actions/actionDeleteSelected.d.ts +475 -475
  12. package/types/actions/actionDistribute.d.ts +33 -33
  13. package/types/actions/actionDuplicateSelection.d.ts +22 -22
  14. package/types/actions/actionElementLock.d.ts +316 -316
  15. package/types/actions/actionExport.d.ts +1389 -1388
  16. package/types/actions/actionFinalize.d.ts +299 -302
  17. package/types/actions/actionFlip.d.ts +33 -33
  18. package/types/actions/actionFrame.d.ts +490 -490
  19. package/types/actions/actionGroup.d.ts +45 -45
  20. package/types/actions/actionHistory.d.ts +6 -6
  21. package/types/actions/actionLinearEditor.d.ts +158 -158
  22. package/types/actions/actionMenu.d.ts +479 -479
  23. package/types/actions/actionNavigate.d.ts +14 -14
  24. package/types/actions/actionProperties.d.ts +2013 -2013
  25. package/types/actions/actionSelectAll.d.ts +16 -16
  26. package/types/actions/actionStyles.d.ts +172 -172
  27. package/types/actions/actionToggleGridMode.d.ts +161 -161
  28. package/types/actions/actionToggleLock.d.ts +135 -139
  29. package/types/actions/actionToggleStats.d.ts +158 -158
  30. package/types/actions/actionToggleViewMode.d.ts +160 -160
  31. package/types/actions/actionToggleZenMode.d.ts +160 -160
  32. package/types/actions/actionZindex.d.ts +67 -67
  33. package/types/actions/index.d.ts +24 -24
  34. package/types/actions/manager.d.ts +21 -21
  35. package/types/actions/register.d.ts +5 -5
  36. package/types/actions/shortcuts.d.ts +4 -4
  37. package/types/actions/types.d.ts +45 -44
  38. package/types/align.d.ts +6 -6
  39. package/types/analytics.d.ts +1 -1
  40. package/types/appState.d.ts +81 -81
  41. package/types/charts.d.ts +27 -27
  42. package/types/clients.d.ts +5 -5
  43. package/types/clipboard.d.ts +25 -25
  44. package/types/colors.d.ts +61 -61
  45. package/types/components/Actions.d.ts +36 -36
  46. package/types/components/ActiveConfirmDialog.d.ts +4 -4
  47. package/types/components/App.d.ts +288 -291
  48. package/types/components/Avatar.d.ts +10 -10
  49. package/types/components/BraveMeasureTextError.d.ts +2 -2
  50. package/types/components/Button.d.ts +17 -17
  51. package/types/components/ButtonIconSelect.d.ts +19 -19
  52. package/types/components/Card.d.ts +7 -7
  53. package/types/components/CheckboxItem.d.ts +8 -8
  54. package/types/components/ColorPicker/ColorInput.d.ts +7 -7
  55. package/types/components/ColorPicker/ColorPicker.d.ts +19 -19
  56. package/types/components/ColorPicker/CustomColorList.d.ts +8 -8
  57. package/types/components/ColorPicker/HotkeyLabel.d.ts +8 -8
  58. package/types/components/ColorPicker/Picker.d.ts +18 -18
  59. package/types/components/ColorPicker/PickerColorList.d.ts +10 -10
  60. package/types/components/ColorPicker/PickerHeading.d.ts +5 -5
  61. package/types/components/ColorPicker/ShadeList.d.ts +8 -8
  62. package/types/components/ColorPicker/TopPicks.d.ts +9 -9
  63. package/types/components/ColorPicker/colorPickerUtils.d.ts +21 -21
  64. package/types/components/ColorPicker/keyboardNavHandlers.d.ts +21 -21
  65. package/types/components/ColorPicker.d.ts +19 -19
  66. package/types/components/ConfirmDialog.d.ts +10 -10
  67. package/types/components/ContextMenu.d.ts +15 -15
  68. package/types/components/DarkModeToggle.d.ts +7 -7
  69. package/types/components/DefaultSidebar.d.ts +30 -30
  70. package/types/components/Dialog.d.ts +13 -13
  71. package/types/components/DialogActionButton.d.ts +10 -10
  72. package/types/components/ErrorDialog.d.ts +5 -5
  73. package/types/components/EyeDropper.d.ts +18 -18
  74. package/types/components/FilledButton.d.ts +17 -17
  75. package/types/components/FixedSideContainer.d.ts +9 -9
  76. package/types/components/HandButton.d.ts +10 -10
  77. package/types/components/HelpButton.d.ts +7 -7
  78. package/types/components/HelpDialog.d.ts +4 -4
  79. package/types/components/HintViewer.d.ts +10 -11
  80. package/types/components/IconPicker.d.ts +13 -13
  81. package/types/components/ImageExportDialog.d.ts +13 -13
  82. package/types/components/InitializeApp.d.ts +10 -10
  83. package/types/components/Island.d.ts +10 -10
  84. package/types/components/JSONExportDialog.d.ts +15 -15
  85. package/types/components/LayerUI.d.ts +32 -31
  86. package/types/components/LibraryButton.d.ts +8 -8
  87. package/types/components/LibraryMenu.d.ts +24 -24
  88. package/types/components/LibraryMenuBrowseButton.d.ts +7 -7
  89. package/types/components/LibraryMenuControlButtons.d.ts +9 -9
  90. package/types/components/LibraryMenuHeaderContent.d.ts +18 -18
  91. package/types/components/LibraryMenuItems.d.ts +14 -14
  92. package/types/components/LibraryMenuSection.d.ts +22 -22
  93. package/types/components/LibraryUnit.d.ts +15 -15
  94. package/types/components/LoadingMessage.d.ts +6 -6
  95. package/types/components/LockButton.d.ts +10 -10
  96. package/types/components/MobileMenu.d.ts +27 -26
  97. package/types/components/Modal.d.ts +13 -13
  98. package/types/components/OverwriteConfirm/OverwriteConfirm.d.ts +17 -17
  99. package/types/components/OverwriteConfirm/OverwriteConfirmActions.d.ts +17 -17
  100. package/types/components/OverwriteConfirm/OverwriteConfirmState.d.ts +22 -22
  101. package/types/components/PasteChartDialog.d.ts +8 -8
  102. package/types/components/PenModeButton.d.ts +12 -12
  103. package/types/components/Popover.d.ts +15 -15
  104. package/types/components/ProjectName.d.ts +11 -11
  105. package/types/components/PublishLibrary.d.ts +16 -16
  106. package/types/components/RadioGroup.d.ts +12 -12
  107. package/types/components/Section.d.ts +6 -6
  108. package/types/components/Sidebar/Sidebar.d.ts +76 -76
  109. package/types/components/Sidebar/SidebarHeader.d.ts +7 -7
  110. package/types/components/Sidebar/SidebarTab.d.ts +9 -9
  111. package/types/components/Sidebar/SidebarTabTrigger.d.ts +10 -10
  112. package/types/components/Sidebar/SidebarTabTriggers.d.ts +7 -7
  113. package/types/components/Sidebar/SidebarTabs.d.ts +7 -7
  114. package/types/components/Sidebar/SidebarTrigger.d.ts +6 -6
  115. package/types/components/Sidebar/common.d.ts +33 -33
  116. package/types/components/SingleLibraryItem.d.ts +10 -10
  117. package/types/components/Spinner.d.ts +7 -7
  118. package/types/components/Stack.d.ts +16 -16
  119. package/types/components/Stats.d.ts +11 -11
  120. package/types/components/Switch.d.ts +9 -9
  121. package/types/components/Toast.d.ts +7 -7
  122. package/types/components/ToolButton.d.ts +47 -47
  123. package/types/components/Tooltip.d.ts +17 -17
  124. package/types/components/Trans.d.ts +9 -8
  125. package/types/components/UserList.d.ts +8 -8
  126. package/types/components/context/tunnels.d.ts +16 -16
  127. package/types/components/dropdownMenu/DropdownMenu.d.ts +67 -67
  128. package/types/components/dropdownMenu/DropdownMenuContent.d.ts +15 -15
  129. package/types/components/dropdownMenu/DropdownMenuGroup.d.ts +11 -11
  130. package/types/components/dropdownMenu/DropdownMenuItem.d.ts +12 -12
  131. package/types/components/dropdownMenu/DropdownMenuItemContent.d.ts +6 -6
  132. package/types/components/dropdownMenu/DropdownMenuItemCustom.d.ts +6 -6
  133. package/types/components/dropdownMenu/DropdownMenuItemLink.d.ts +13 -13
  134. package/types/components/dropdownMenu/DropdownMenuSeparator.d.ts +5 -5
  135. package/types/components/dropdownMenu/DropdownMenuTrigger.d.ts +11 -11
  136. package/types/components/dropdownMenu/common.d.ts +6 -6
  137. package/types/components/dropdownMenu/dropdownMenuUtils.d.ts +3 -3
  138. package/types/components/footer/Footer.d.ts +12 -12
  139. package/types/components/footer/FooterCenter.d.ts +8 -8
  140. package/types/components/hoc/withInternalFallback.d.ts +4 -4
  141. package/types/components/hoc/withUpstreamOverride.d.ts +10 -10
  142. package/types/components/icons.d.ts +154 -154
  143. package/types/components/live-collaboration/LiveCollaborationTrigger.d.ts +10 -10
  144. package/types/components/main-menu/DefaultItems.d.ts +44 -44
  145. package/types/components/main-menu/MainMenu.d.ts +61 -61
  146. package/types/components/welcome-screen/WelcomeScreen.Center.d.ts +58 -58
  147. package/types/components/welcome-screen/WelcomeScreen.Hints.d.ts +19 -19
  148. package/types/components/welcome-screen/WelcomeScreen.d.ts +85 -85
  149. package/types/constants.d.ts +226 -225
  150. package/types/context/tunnels.d.ts +19 -19
  151. package/types/context/ui-appState.d.ts +4 -4
  152. package/types/data/blob.d.ts +48 -48
  153. package/types/data/encode.d.ts +53 -53
  154. package/types/data/encryption.d.ts +9 -9
  155. package/types/data/filesystem.d.ts +19 -19
  156. package/types/data/image.d.ts +15 -15
  157. package/types/data/index.d.ts +13 -13
  158. package/types/data/json.d.ts +16 -16
  159. package/types/data/library.d.ts +54 -54
  160. package/types/data/resave.d.ts +5 -5
  161. package/types/data/restore.d.ts +21 -21
  162. package/types/data/types.d.ts +45 -45
  163. package/types/data/url.d.ts +7 -2
  164. package/types/distribute.d.ts +6 -6
  165. package/types/element/Hyperlink.d.ts +182 -182
  166. package/types/element/binding.d.ts +33 -33
  167. package/types/element/bounds.d.ts +53 -53
  168. package/types/element/collision.d.ts +21 -21
  169. package/types/element/dragElements.d.ts +6 -6
  170. package/types/element/embeddable.d.ts +176 -171
  171. package/types/element/image.d.ts +32 -32
  172. package/types/element/index.d.ts +21 -21
  173. package/types/element/linearElementEditor.d.ts +293 -293
  174. package/types/element/mutateElement.d.ts +12 -12
  175. package/types/element/newElement.d.ts +95 -95
  176. package/types/element/resizeElements.d.ts +9 -9
  177. package/types/element/resizeTest.d.ts +13 -13
  178. package/types/element/showSelectedShapeActions.d.ts +3 -3
  179. package/types/element/sizeHelpers.d.ts +21 -21
  180. package/types/element/sortElements.d.ts +2 -2
  181. package/types/element/textElement.d.ts +80 -80
  182. package/types/element/textWysiwyg.d.ts +21 -21
  183. package/types/element/transformHandles.d.ts +35 -35
  184. package/types/element/typeChecks.d.ts +29 -29
  185. package/types/element/types.d.ts +166 -166
  186. package/types/errors.d.ts +8 -8
  187. package/types/frame.d.ts +40 -40
  188. package/types/ga.d.ts +63 -63
  189. package/types/gadirections.d.ts +8 -8
  190. package/types/galines.d.ts +22 -22
  191. package/types/gapoints.d.ts +7 -7
  192. package/types/gatransforms.d.ts +10 -10
  193. package/types/gesture.d.ts +6 -6
  194. package/types/groups.d.ts +31 -31
  195. package/types/history.d.ts +52 -52
  196. package/types/hooks/useCallbackRefState.d.ts +1 -1
  197. package/types/hooks/useCreatePortalContainer.d.ts +5 -5
  198. package/types/hooks/useLibraryItemSvg.d.ts +11 -11
  199. package/types/hooks/useOutsideClick.d.ts +20 -20
  200. package/types/hooks/useScrollPosition.d.ts +2 -2
  201. package/types/hooks/useTransition.d.ts +2 -2
  202. package/types/i18n.d.ts +24 -21
  203. package/types/jotai.d.ts +34 -34
  204. package/types/keys.d.ts +80 -80
  205. package/types/math.d.ts +30 -30
  206. package/types/packages/common.webpack.dev.config.d.ts +72 -72
  207. package/types/packages/common.webpack.prod.config.d.ts +84 -84
  208. package/types/packages/excalidraw/dist/excalidraw.development.d.ts +4 -4
  209. package/types/packages/excalidraw/dist/excalidraw.production.min.d.ts +1 -1
  210. package/types/packages/excalidraw/entry.d.ts +1 -1
  211. package/types/packages/excalidraw/env.d.ts +1 -1
  212. package/types/packages/excalidraw/example/App.d.ts +14 -14
  213. package/types/packages/excalidraw/example/CustomFooter.d.ts +5 -5
  214. package/types/packages/excalidraw/example/MobileFooter.d.ts +5 -5
  215. package/types/packages/excalidraw/example/index.d.ts +1 -1
  216. package/types/packages/excalidraw/example/initialData.d.ts +178 -178
  217. package/types/packages/excalidraw/example/sidebar/ExampleSidebar.d.ts +5 -5
  218. package/types/packages/excalidraw/index.d.ts +37 -37
  219. package/types/packages/excalidraw/main.d.ts +2 -2
  220. package/types/packages/excalidraw/publicPath.d.ts +1 -1
  221. package/types/packages/excalidraw/webpack.dev-server.config.d.ts +19 -19
  222. package/types/packages/excalidraw/webpack.dev.config.d.ts +69 -69
  223. package/types/packages/excalidraw/webpack.prod.config.d.ts +78 -78
  224. package/types/packages/utils.d.ts +43 -42
  225. package/types/points.d.ts +7 -7
  226. package/types/polyfill.d.ts +2 -2
  227. package/types/random.d.ts +4 -4
  228. package/types/renderer/easingFunctions.d.ts +6 -6
  229. package/types/renderer/renderElement.d.ts +37 -37
  230. package/types/renderer/renderScene.d.ts +51 -50
  231. package/types/renderer/roundRect.d.ts +11 -11
  232. package/types/scene/Fonts.d.ts +21 -21
  233. package/types/scene/Scene.d.ts +60 -47
  234. package/types/scene/comparisons.d.ts +10 -10
  235. package/types/scene/export.d.ts +25 -24
  236. package/types/scene/index.d.ts +5 -5
  237. package/types/scene/scroll.d.ts +17 -17
  238. package/types/scene/scrollbars.d.ts +16 -16
  239. package/types/scene/selection.d.ts +31 -31
  240. package/types/scene/types.d.ts +59 -59
  241. package/types/scene/zoom.d.ts +13 -13
  242. package/types/shapes.d.ts +62 -62
  243. package/types/types.d.ts +501 -503
  244. package/types/utility-types.d.ts +25 -22
  245. package/types/utils.d.ts +192 -192
  246. package/types/zindex.d.ts +6 -6
  247. package/types/bug-issue-template.d.ts +0 -2
  248. package/types/components/ActiveFile.d.ts +0 -7
  249. package/types/components/BackgroundPickerAndDarkModeToggle.d.ts +0 -4
  250. package/types/components/ClearCanvas.d.ts +0 -4
  251. package/types/components/CollabButton.d.ts +0 -7
  252. package/types/components/EncryptedIcon.d.ts +0 -2
  253. package/types/components/Footer.d.ts +0 -10
  254. package/types/components/HelpIcon.d.ts +0 -8
  255. package/types/components/MenuItem.d.ts +0 -11
  256. package/types/components/MenuUtils.d.ts +0 -2
  257. package/types/components/SidebarLockButton.d.ts +0 -8
  258. package/types/components/TopErrorBoundary.d.ts +0 -15
  259. package/types/components/WelcomeScreen.d.ts +0 -8
  260. package/types/components/WelcomeScreenDecor.d.ts +0 -6
  261. package/types/components/mainMenu/DefaultItems.d.ts +0 -44
  262. package/types/components/mainMenu/MainMenu.d.ts +0 -63
  263. package/types/element/iframe.d.ts +0 -167
  264. package/types/excalidraw-app/CustomStats.d.ts +0 -9
  265. package/types/excalidraw-app/app_constants.d.ts +0 -32
  266. package/types/excalidraw-app/collab/Collab.d.ts +0 -163
  267. package/types/excalidraw-app/collab/Portal.d.ts +0 -28
  268. package/types/excalidraw-app/collab/RoomDialog.d.ts +0 -13
  269. package/types/excalidraw-app/collab/reconciliation.d.ts +0 -10
  270. package/types/excalidraw-app/components/ExportToExcalidrawPlus.d.ts +0 -9
  271. package/types/excalidraw-app/components/LanguageList.d.ts +0 -4
  272. package/types/excalidraw-app/components/icons.d.ts +0 -1
  273. package/types/excalidraw-app/data/FileManager.d.ts +0 -66
  274. package/types/excalidraw-app/data/LocalData.d.ts +0 -32
  275. package/types/excalidraw-app/data/Locker.d.ts +0 -8
  276. package/types/excalidraw-app/data/firebase.d.ts +0 -25
  277. package/types/excalidraw-app/data/index.d.ts +0 -190
  278. package/types/excalidraw-app/data/localStorage.d.ts +0 -116
  279. package/types/excalidraw-app/data/tabSync.d.ts +0 -9
  280. package/types/excalidraw-app/index.d.ts +0 -26
  281. package/types/packages/excalidraw/example/sidebar/Sidebar.d.ts +0 -5
@@ -1,47 +1,60 @@
1
- import { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ExcalidrawFrameElement } from "../element/types";
2
- import { LinearElementEditor } from "../element/linearElementEditor";
3
- type ElementIdKey = InstanceType<typeof LinearElementEditor>["elementId"];
4
- type ElementKey = ExcalidrawElement | ElementIdKey;
5
- type SceneStateCallback = () => void;
6
- type SceneStateCallbackRemover = () => void;
7
- export type ExcalidrawElementsIncludingDeleted = readonly ExcalidrawElement[];
8
- declare class Scene {
9
- private static sceneMapByElement;
10
- private static sceneMapById;
11
- static mapElementToScene(elementKey: ElementKey, scene: Scene): void;
12
- static getScene(elementKey: ElementKey): Scene | null;
13
- private callbacks;
14
- private nonDeletedElements;
15
- private elements;
16
- private nonDeletedFrames;
17
- private frames;
18
- private elementsMap;
19
- getElementsIncludingDeleted(): readonly ExcalidrawElement[];
20
- getNonDeletedElements(): readonly NonDeletedExcalidrawElement[];
21
- getFramesIncludingDeleted(): readonly ExcalidrawFrameElement[];
22
- getNonDeletedFrames(): readonly NonDeleted<ExcalidrawFrameElement>[];
23
- getElement<T extends ExcalidrawElement>(id: T["id"]): T | null;
24
- getNonDeletedElement(id: ExcalidrawElement["id"]): NonDeleted<ExcalidrawElement> | null;
25
- /**
26
- * A utility method to help with updating all scene elements, with the added
27
- * performance optimization of not renewing the array if no change is made.
28
- *
29
- * Maps all current excalidraw elements, invoking the callback for each
30
- * element. The callback should either return a new mapped element, or the
31
- * original element if no changes are made. If no changes are made to any
32
- * element, this results in a no-op. Otherwise, the newly mapped elements
33
- * are set as the next scene's elements.
34
- *
35
- * @returns whether a change was made
36
- */
37
- mapElements(iteratee: (element: ExcalidrawElement) => ExcalidrawElement): boolean;
38
- replaceAllElements(nextElements: readonly ExcalidrawElement[]): void;
39
- informMutation(): void;
40
- addCallback(cb: SceneStateCallback): SceneStateCallbackRemover;
41
- destroy(): void;
42
- insertElementAtIndex(element: ExcalidrawElement, index: number): void;
43
- insertElementsAtIndex(elements: ExcalidrawElement[], index: number): void;
44
- addNewElement: (element: ExcalidrawElement) => void;
45
- getElementIndex(elementId: string): number;
46
- }
47
- export default Scene;
1
+ import { ExcalidrawElement, NonDeletedExcalidrawElement, NonDeleted, ExcalidrawFrameElement } from "../element/types";
2
+ import { LinearElementEditor } from "../element/linearElementEditor";
3
+ import { AppState } from "../types";
4
+ type ElementIdKey = InstanceType<typeof LinearElementEditor>["elementId"];
5
+ type ElementKey = ExcalidrawElement | ElementIdKey;
6
+ type SceneStateCallback = () => void;
7
+ type SceneStateCallbackRemover = () => void;
8
+ export type ExcalidrawElementsIncludingDeleted = readonly ExcalidrawElement[];
9
+ declare class Scene {
10
+ private static sceneMapByElement;
11
+ private static sceneMapById;
12
+ static mapElementToScene(elementKey: ElementKey, scene: Scene): void;
13
+ static getScene(elementKey: ElementKey): Scene | null;
14
+ private callbacks;
15
+ private nonDeletedElements;
16
+ private elements;
17
+ private nonDeletedFrames;
18
+ private frames;
19
+ private elementsMap;
20
+ private selectedElementsCache;
21
+ getElementsIncludingDeleted(): readonly ExcalidrawElement[];
22
+ getNonDeletedElements(): readonly NonDeletedExcalidrawElement[];
23
+ getFramesIncludingDeleted(): readonly ExcalidrawFrameElement[];
24
+ getSelectedElements(opts: {
25
+ selectedElementIds: AppState["selectedElementIds"];
26
+ /**
27
+ * for specific cases where you need to use elements not from current
28
+ * scene state. This in effect will likely result in cache-miss, and
29
+ * the cache won't be updated in this case.
30
+ */
31
+ elements?: readonly ExcalidrawElement[];
32
+ includeBoundTextElement?: boolean;
33
+ includeElementsInFrames?: boolean;
34
+ }): NonDeleted<ExcalidrawElement>[];
35
+ getNonDeletedFrames(): readonly NonDeleted<ExcalidrawFrameElement>[];
36
+ getElement<T extends ExcalidrawElement>(id: T["id"]): T | null;
37
+ getNonDeletedElement(id: ExcalidrawElement["id"]): NonDeleted<ExcalidrawElement> | null;
38
+ /**
39
+ * A utility method to help with updating all scene elements, with the added
40
+ * performance optimization of not renewing the array if no change is made.
41
+ *
42
+ * Maps all current excalidraw elements, invoking the callback for each
43
+ * element. The callback should either return a new mapped element, or the
44
+ * original element if no changes are made. If no changes are made to any
45
+ * element, this results in a no-op. Otherwise, the newly mapped elements
46
+ * are set as the next scene's elements.
47
+ *
48
+ * @returns whether a change was made
49
+ */
50
+ mapElements(iteratee: (element: ExcalidrawElement) => ExcalidrawElement): boolean;
51
+ replaceAllElements(nextElements: readonly ExcalidrawElement[]): void;
52
+ informMutation(): void;
53
+ addCallback(cb: SceneStateCallback): SceneStateCallbackRemover;
54
+ destroy(): void;
55
+ insertElementAtIndex(element: ExcalidrawElement, index: number): void;
56
+ insertElementsAtIndex(elements: ExcalidrawElement[], index: number): void;
57
+ addNewElement: (element: ExcalidrawElement) => void;
58
+ getElementIndex(elementId: string): number;
59
+ }
60
+ export default Scene;
@@ -1,10 +1,10 @@
1
- import { NonDeletedExcalidrawElement } from "../element/types";
2
- export declare const hasBackground: (type: string) => boolean;
3
- export declare const hasStrokeColor: (type: string) => boolean;
4
- export declare const hasStrokeWidth: (type: string) => boolean;
5
- export declare const hasStrokeStyle: (type: string) => boolean;
6
- export declare const canChangeRoundness: (type: string) => boolean;
7
- export declare const hasText: (type: string) => boolean;
8
- export declare const canHaveArrowheads: (type: string) => boolean;
9
- export declare const getElementAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => NonDeletedExcalidrawElement | null;
10
- export declare const getElementsAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => NonDeletedExcalidrawElement[];
1
+ import { NonDeletedExcalidrawElement } from "../element/types";
2
+ export declare const hasBackground: (type: string) => boolean;
3
+ export declare const hasStrokeColor: (type: string) => boolean;
4
+ export declare const hasStrokeWidth: (type: string) => boolean;
5
+ export declare const hasStrokeStyle: (type: string) => boolean;
6
+ export declare const canChangeRoundness: (type: string) => boolean;
7
+ export declare const hasText: (type: string) => boolean;
8
+ export declare const canHaveArrowheads: (type: string) => boolean;
9
+ export declare const getElementAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => NonDeletedExcalidrawElement | null;
10
+ export declare const getElementsAtPosition: (elements: readonly NonDeletedExcalidrawElement[], isAtPositionFn: (element: NonDeletedExcalidrawElement) => boolean) => NonDeletedExcalidrawElement[];
@@ -1,24 +1,25 @@
1
- import { NonDeletedExcalidrawElement } from "../element/types";
2
- import { AppState, BinaryFiles } from "../types";
3
- import { serializeAsJSON } from "../data/json";
4
- export declare const SVG_EXPORT_TAG = "<!-- svg-source:excalidraw -->";
5
- export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, }: {
6
- exportBackground: boolean;
7
- exportPadding?: number | undefined;
8
- viewBackgroundColor: string;
9
- }, createCanvas?: (width: number, height: number) => {
10
- canvas: HTMLCanvasElement;
11
- scale: number;
12
- }) => Promise<HTMLCanvasElement>;
13
- export declare const exportToSvg: (elements: readonly NonDeletedExcalidrawElement[], appState: {
14
- exportBackground: boolean;
15
- exportPadding?: number;
16
- exportScale?: number;
17
- viewBackgroundColor: string;
18
- exportWithDarkMode?: boolean;
19
- exportEmbedScene?: boolean;
20
- renderFrame?: boolean;
21
- }, files: BinaryFiles | null, opts?: {
22
- serializeAsJSON?: () => string;
23
- }) => Promise<SVGSVGElement>;
24
- export declare const getExportSize: (elements: readonly NonDeletedExcalidrawElement[], exportPadding: number, scale: number) => [number, number];
1
+ import { NonDeletedExcalidrawElement } from "../element/types";
2
+ import { AppState, BinaryFiles } from "../types";
3
+ import { serializeAsJSON } from "../data/json";
4
+ export declare const SVG_EXPORT_TAG = "<!-- svg-source:excalidraw -->";
5
+ export declare const exportToCanvas: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, }: {
6
+ exportBackground: boolean;
7
+ exportPadding?: number | undefined;
8
+ viewBackgroundColor: string;
9
+ }, createCanvas?: (width: number, height: number) => {
10
+ canvas: HTMLCanvasElement;
11
+ scale: number;
12
+ }) => Promise<HTMLCanvasElement>;
13
+ export declare const exportToSvg: (elements: readonly NonDeletedExcalidrawElement[], appState: {
14
+ exportBackground: boolean;
15
+ exportPadding?: number;
16
+ exportScale?: number;
17
+ viewBackgroundColor: string;
18
+ exportWithDarkMode?: boolean;
19
+ exportEmbedScene?: boolean;
20
+ renderFrame?: boolean;
21
+ }, files: BinaryFiles | null, opts?: {
22
+ serializeAsJSON?: () => string;
23
+ renderEmbeddables?: boolean;
24
+ }) => Promise<SVGSVGElement>;
25
+ export declare const getExportSize: (elements: readonly NonDeletedExcalidrawElement[], exportPadding: number, scale: number) => [number, number];
@@ -1,5 +1,5 @@
1
- export { isOverScrollBars } from "./scrollbars";
2
- export { isSomeElementSelected, getElementsWithinSelection, getCommonAttributeOfSelectedElements, getSelectedElements, getTargetElements, } from "./selection";
3
- export { calculateScrollCenter } from "./scroll";
4
- export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, getElementAtPosition, hasText, getElementsAtPosition, } from "./comparisons";
5
- export { getNormalizedZoom } from "./zoom";
1
+ export { isOverScrollBars } from "./scrollbars";
2
+ export { isSomeElementSelected, getElementsWithinSelection, getCommonAttributeOfSelectedElements, getSelectedElements, getTargetElements, } from "./selection";
3
+ export { calculateScrollCenter } from "./scroll";
4
+ export { hasBackground, hasStrokeWidth, hasStrokeStyle, canHaveArrowheads, canChangeRoundness, getElementAtPosition, hasText, getElementsAtPosition, } from "./comparisons";
5
+ export { getNormalizedZoom } from "./zoom";
@@ -1,17 +1,17 @@
1
- import { AppState, PointerCoords, Zoom } from "../types";
2
- import { ExcalidrawElement } from "../element/types";
3
- export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, }: {
4
- scenePoint: PointerCoords;
5
- viewportDimensions: {
6
- height: number;
7
- width: number;
8
- };
9
- zoom: Zoom;
10
- }) => {
11
- scrollX: number;
12
- scrollY: number;
13
- };
14
- export declare const calculateScrollCenter: (elements: readonly ExcalidrawElement[], appState: AppState, canvas: HTMLCanvasElement | null) => {
15
- scrollX: number;
16
- scrollY: number;
17
- };
1
+ import { AppState, PointerCoords, Zoom } from "../types";
2
+ import { ExcalidrawElement } from "../element/types";
3
+ export declare const centerScrollOn: ({ scenePoint, viewportDimensions, zoom, }: {
4
+ scenePoint: PointerCoords;
5
+ viewportDimensions: {
6
+ height: number;
7
+ width: number;
8
+ };
9
+ zoom: Zoom;
10
+ }) => {
11
+ scrollX: number;
12
+ scrollY: number;
13
+ };
14
+ export declare const calculateScrollCenter: (elements: readonly ExcalidrawElement[], appState: AppState, canvas: HTMLCanvasElement | null) => {
15
+ scrollX: number;
16
+ scrollY: number;
17
+ };
@@ -1,16 +1,16 @@
1
- import { ExcalidrawElement } from "../element/types";
2
- import { Zoom } from "../types";
3
- import { ScrollBars } from "./types";
4
- export declare const SCROLLBAR_MARGIN = 4;
5
- export declare const SCROLLBAR_WIDTH = 6;
6
- export declare const SCROLLBAR_COLOR = "rgba(128,128,128,0.3)";
7
- export declare const getScrollBars: (elements: readonly ExcalidrawElement[], viewportWidth: number, viewportHeight: number, { scrollX, scrollY, zoom, }: {
8
- scrollX: number;
9
- scrollY: number;
10
- zoom: Zoom;
11
- }) => ScrollBars;
12
- export declare const isOverScrollBars: (scrollBars: ScrollBars, x: number, y: number) => {
13
- isOverEither: boolean;
14
- isOverHorizontal: boolean;
15
- isOverVertical: boolean;
16
- };
1
+ import { ExcalidrawElement } from "../element/types";
2
+ import { Zoom } from "../types";
3
+ import { ScrollBars } from "./types";
4
+ export declare const SCROLLBAR_MARGIN = 4;
5
+ export declare const SCROLLBAR_WIDTH = 6;
6
+ export declare const SCROLLBAR_COLOR = "rgba(128,128,128,0.3)";
7
+ export declare const getScrollBars: (elements: readonly ExcalidrawElement[], viewportWidth: number, viewportHeight: number, { scrollX, scrollY, zoom, }: {
8
+ scrollX: number;
9
+ scrollY: number;
10
+ zoom: Zoom;
11
+ }) => ScrollBars;
12
+ export declare const isOverScrollBars: (scrollBars: ScrollBars, x: number, y: number) => {
13
+ isOverEither: boolean;
14
+ isOverHorizontal: boolean;
15
+ isOverVertical: boolean;
16
+ };
@@ -1,31 +1,31 @@
1
- import { ExcalidrawElement, NonDeletedExcalidrawElement } from "../element/types";
2
- import { AppState } from "../types";
3
- /**
4
- * Frames and their containing elements are not to be selected at the same time.
5
- * Given an array of selected elements, if there are frames and their containing elements
6
- * we only keep the frames.
7
- * @param selectedElements
8
- */
9
- export declare const excludeElementsInFramesFromSelection: <T extends ExcalidrawElement>(selectedElements: readonly T[]) => T[];
10
- export declare const getElementsWithinSelection: (elements: readonly NonDeletedExcalidrawElement[], selection: NonDeletedExcalidrawElement, excludeElementsInFrames?: boolean) => NonDeletedExcalidrawElement[];
11
- export declare const isSomeElementSelected: {
12
- (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">): boolean;
13
- clearCache(): void;
14
- };
15
- /**
16
- * Returns common attribute (picked by `getAttribute` callback) of selected
17
- * elements. If elements don't share the same value, returns `null`.
18
- */
19
- export declare const getCommonAttributeOfSelectedElements: <T>(elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, getAttribute: (element: ExcalidrawElement) => T) => T | null;
20
- export declare const getSelectedElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, opts?: {
21
- includeBoundTextElement?: boolean;
22
- includeElementsInFrames?: boolean;
23
- }) => ExcalidrawElement[];
24
- export declare const getTargetElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds" | "editingElement">) => ExcalidrawElement[];
25
- /**
26
- * returns prevState's selectedElementids if no change from previous, so as to
27
- * retain reference identity for memoization
28
- */
29
- export declare const makeNextSelectedElementIds: (nextSelectedElementIds: AppState["selectedElementIds"], prevState: Pick<AppState, "selectedElementIds">) => Readonly<{
30
- [id: string]: true;
31
- }>;
1
+ import { ExcalidrawElement, NonDeletedExcalidrawElement } from "../element/types";
2
+ import { AppState } from "../types";
3
+ /**
4
+ * Frames and their containing elements are not to be selected at the same time.
5
+ * Given an array of selected elements, if there are frames and their containing elements
6
+ * we only keep the frames.
7
+ * @param selectedElements
8
+ */
9
+ export declare const excludeElementsInFramesFromSelection: <T extends ExcalidrawElement>(selectedElements: readonly T[]) => T[];
10
+ export declare const getElementsWithinSelection: (elements: readonly NonDeletedExcalidrawElement[], selection: NonDeletedExcalidrawElement, excludeElementsInFrames?: boolean) => NonDeletedExcalidrawElement[];
11
+ export declare const isSomeElementSelected: {
12
+ (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">): boolean;
13
+ clearCache(): void;
14
+ };
15
+ /**
16
+ * Returns common attribute (picked by `getAttribute` callback) of selected
17
+ * elements. If elements don't share the same value, returns `null`.
18
+ */
19
+ export declare const getCommonAttributeOfSelectedElements: <T>(elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, getAttribute: (element: ExcalidrawElement) => T) => T | null;
20
+ export declare const getSelectedElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds">, opts?: {
21
+ includeBoundTextElement?: boolean;
22
+ includeElementsInFrames?: boolean;
23
+ }) => ExcalidrawElement[];
24
+ export declare const getTargetElements: (elements: readonly NonDeletedExcalidrawElement[], appState: Pick<AppState, "selectedElementIds" | "editingElement">) => ExcalidrawElement[];
25
+ /**
26
+ * returns prevState's selectedElementids if no change from previous, so as to
27
+ * retain reference identity for memoization
28
+ */
29
+ export declare const makeNextSelectedElementIds: (nextSelectedElementIds: AppState["selectedElementIds"], prevState: Pick<AppState, "selectedElementIds">) => Readonly<{
30
+ [id: string]: true;
31
+ }>;
@@ -1,59 +1,59 @@
1
- import { ExcalidrawTextElement } from "../element/types";
2
- import { AppClassProperties, AppState } from "../types";
3
- export type RenderConfig = {
4
- scrollX: AppState["scrollX"];
5
- scrollY: AppState["scrollY"];
6
- /** null indicates transparent bg */
7
- viewBackgroundColor: AppState["viewBackgroundColor"] | null;
8
- zoom: AppState["zoom"];
9
- shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
10
- theme: AppState["theme"];
11
- remotePointerViewportCoords: {
12
- [id: string]: {
13
- x: number;
14
- y: number;
15
- };
16
- };
17
- remotePointerButton?: {
18
- [id: string]: string | undefined;
19
- };
20
- remoteSelectedElementIds: {
21
- [elementId: string]: string[];
22
- };
23
- remotePointerUsernames: {
24
- [id: string]: string;
25
- };
26
- remotePointerUserStates: {
27
- [id: string]: string;
28
- };
29
- imageCache: AppClassProperties["imageCache"];
30
- renderScrollbars?: boolean;
31
- renderSelection?: boolean;
32
- renderGrid?: boolean;
33
- /** when exporting the behavior is slightly different (e.g. we can't use
34
- CSS filters), and we disable render optimizations for best output */
35
- isExporting: boolean;
36
- selectionColor?: string;
37
- };
38
- export type SceneScroll = {
39
- scrollX: number;
40
- scrollY: number;
41
- };
42
- export interface Scene {
43
- elements: ExcalidrawTextElement[];
44
- }
45
- export type ExportType = "png" | "clipboard" | "clipboard-svg" | "backend" | "svg";
46
- export type ScrollBars = {
47
- horizontal: {
48
- x: number;
49
- y: number;
50
- width: number;
51
- height: number;
52
- } | null;
53
- vertical: {
54
- x: number;
55
- y: number;
56
- width: number;
57
- height: number;
58
- } | null;
59
- };
1
+ import { ExcalidrawTextElement } from "../element/types";
2
+ import { AppClassProperties, AppState } from "../types";
3
+ export type RenderConfig = {
4
+ scrollX: AppState["scrollX"];
5
+ scrollY: AppState["scrollY"];
6
+ /** null indicates transparent bg */
7
+ viewBackgroundColor: AppState["viewBackgroundColor"] | null;
8
+ zoom: AppState["zoom"];
9
+ shouldCacheIgnoreZoom: AppState["shouldCacheIgnoreZoom"];
10
+ theme: AppState["theme"];
11
+ remotePointerViewportCoords: {
12
+ [id: string]: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ };
17
+ remotePointerButton?: {
18
+ [id: string]: string | undefined;
19
+ };
20
+ remoteSelectedElementIds: {
21
+ [elementId: string]: string[];
22
+ };
23
+ remotePointerUsernames: {
24
+ [id: string]: string;
25
+ };
26
+ remotePointerUserStates: {
27
+ [id: string]: string;
28
+ };
29
+ imageCache: AppClassProperties["imageCache"];
30
+ renderScrollbars?: boolean;
31
+ renderSelection?: boolean;
32
+ renderGrid?: boolean;
33
+ /** when exporting the behavior is slightly different (e.g. we can't use
34
+ CSS filters), and we disable render optimizations for best output */
35
+ isExporting: boolean;
36
+ selectionColor?: string;
37
+ };
38
+ export type SceneScroll = {
39
+ scrollX: number;
40
+ scrollY: number;
41
+ };
42
+ export interface Scene {
43
+ elements: ExcalidrawTextElement[];
44
+ }
45
+ export type ExportType = "png" | "clipboard" | "clipboard-svg" | "backend" | "svg";
46
+ export type ScrollBars = {
47
+ horizontal: {
48
+ x: number;
49
+ y: number;
50
+ width: number;
51
+ height: number;
52
+ } | null;
53
+ vertical: {
54
+ x: number;
55
+ y: number;
56
+ width: number;
57
+ height: number;
58
+ } | null;
59
+ };
@@ -1,13 +1,13 @@
1
- import { AppState, NormalizedZoomValue } from "../types";
2
- export declare const getNormalizedZoom: (zoom: number) => NormalizedZoomValue;
3
- export declare const getStateForZoom: ({ viewportX, viewportY, nextZoom, }: {
4
- viewportX: number;
5
- viewportY: number;
6
- nextZoom: NormalizedZoomValue;
7
- }, appState: AppState) => {
8
- scrollX: number;
9
- scrollY: number;
10
- zoom: {
11
- value: NormalizedZoomValue;
12
- };
13
- };
1
+ import { AppState, NormalizedZoomValue } from "../types";
2
+ export declare const getNormalizedZoom: (zoom: number) => NormalizedZoomValue;
3
+ export declare const getStateForZoom: ({ viewportX, viewportY, nextZoom, }: {
4
+ viewportX: number;
5
+ viewportY: number;
6
+ nextZoom: NormalizedZoomValue;
7
+ }, appState: AppState) => {
8
+ scrollX: number;
9
+ scrollY: number;
10
+ zoom: {
11
+ value: NormalizedZoomValue;
12
+ };
13
+ };
package/types/shapes.d.ts CHANGED
@@ -1,62 +1,62 @@
1
- export declare const SHAPES: readonly [{
2
- readonly icon: JSX.Element;
3
- readonly value: "selection";
4
- readonly key: "v";
5
- readonly numericKey: "1";
6
- readonly fillable: true;
7
- }, {
8
- readonly icon: JSX.Element;
9
- readonly value: "rectangle";
10
- readonly key: "r";
11
- readonly numericKey: "2";
12
- readonly fillable: true;
13
- }, {
14
- readonly icon: JSX.Element;
15
- readonly value: "diamond";
16
- readonly key: "d";
17
- readonly numericKey: "3";
18
- readonly fillable: true;
19
- }, {
20
- readonly icon: JSX.Element;
21
- readonly value: "ellipse";
22
- readonly key: "o";
23
- readonly numericKey: "4";
24
- readonly fillable: true;
25
- }, {
26
- readonly icon: JSX.Element;
27
- readonly value: "arrow";
28
- readonly key: "a";
29
- readonly numericKey: "5";
30
- readonly fillable: true;
31
- }, {
32
- readonly icon: JSX.Element;
33
- readonly value: "line";
34
- readonly key: "l";
35
- readonly numericKey: "6";
36
- readonly fillable: true;
37
- }, {
38
- readonly icon: JSX.Element;
39
- readonly value: "freedraw";
40
- readonly key: readonly ["p", "x"];
41
- readonly numericKey: "7";
42
- readonly fillable: false;
43
- }, {
44
- readonly icon: JSX.Element;
45
- readonly value: "text";
46
- readonly key: "t";
47
- readonly numericKey: "8";
48
- readonly fillable: false;
49
- }, {
50
- readonly icon: JSX.Element;
51
- readonly value: "image";
52
- readonly key: null;
53
- readonly numericKey: "9";
54
- readonly fillable: false;
55
- }, {
56
- readonly icon: JSX.Element;
57
- readonly value: "eraser";
58
- readonly key: "e";
59
- readonly numericKey: "0";
60
- readonly fillable: false;
61
- }];
62
- export declare const findShapeByKey: (key: string) => "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | null;
1
+ export declare const SHAPES: readonly [{
2
+ readonly icon: JSX.Element;
3
+ readonly value: "selection";
4
+ readonly key: "v";
5
+ readonly numericKey: "1";
6
+ readonly fillable: true;
7
+ }, {
8
+ readonly icon: JSX.Element;
9
+ readonly value: "rectangle";
10
+ readonly key: "r";
11
+ readonly numericKey: "2";
12
+ readonly fillable: true;
13
+ }, {
14
+ readonly icon: JSX.Element;
15
+ readonly value: "diamond";
16
+ readonly key: "d";
17
+ readonly numericKey: "3";
18
+ readonly fillable: true;
19
+ }, {
20
+ readonly icon: JSX.Element;
21
+ readonly value: "ellipse";
22
+ readonly key: "o";
23
+ readonly numericKey: "4";
24
+ readonly fillable: true;
25
+ }, {
26
+ readonly icon: JSX.Element;
27
+ readonly value: "arrow";
28
+ readonly key: "a";
29
+ readonly numericKey: "5";
30
+ readonly fillable: true;
31
+ }, {
32
+ readonly icon: JSX.Element;
33
+ readonly value: "line";
34
+ readonly key: "l";
35
+ readonly numericKey: "6";
36
+ readonly fillable: true;
37
+ }, {
38
+ readonly icon: JSX.Element;
39
+ readonly value: "freedraw";
40
+ readonly key: readonly ["p", "x"];
41
+ readonly numericKey: "7";
42
+ readonly fillable: false;
43
+ }, {
44
+ readonly icon: JSX.Element;
45
+ readonly value: "text";
46
+ readonly key: "t";
47
+ readonly numericKey: "8";
48
+ readonly fillable: false;
49
+ }, {
50
+ readonly icon: JSX.Element;
51
+ readonly value: "image";
52
+ readonly key: null;
53
+ readonly numericKey: "9";
54
+ readonly fillable: false;
55
+ }, {
56
+ readonly icon: JSX.Element;
57
+ readonly value: "eraser";
58
+ readonly key: "e";
59
+ readonly numericKey: "0";
60
+ readonly fillable: false;
61
+ }];
62
+ export declare const findShapeByKey: (key: string) => "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "image" | "freedraw" | "eraser" | null;