@excalidraw/math 0.18.0-51ad895 → 0.18.0-6135548

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 (197) hide show
  1. package/dist/dev/index.js +121 -107
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +1 -1
  4. package/dist/types/common/src/bounds.d.ts +10 -0
  5. package/dist/types/common/src/colors.d.ts +59 -39
  6. package/dist/types/common/src/constants.d.ts +13 -11
  7. package/dist/types/common/src/editorInterface.d.ts +1 -1
  8. package/dist/types/common/src/font-metadata.d.ts +1 -3
  9. package/dist/types/common/src/index.d.ts +1 -1
  10. package/dist/types/common/src/keys.d.ts +1 -1
  11. package/dist/types/common/src/utility-types.d.ts +0 -1
  12. package/dist/types/common/src/utils.d.ts +43 -34
  13. package/dist/types/element/src/Scene.d.ts +3 -3
  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 +5 -1
  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 +68 -136
  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 +167 -288
  54. package/dist/types/excalidraw/actions/actionGroup.d.ts +48 -99
  55. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +102 -160
  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 +33 -41
  76. package/dist/types/excalidraw/components/Card.d.ts +1 -3
  77. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -4
  78. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +0 -1
  79. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +0 -1
  80. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +0 -1
  81. package/dist/types/excalidraw/components/CommandPalette/types.d.ts +0 -1
  82. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -2
  83. package/dist/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  84. package/dist/types/excalidraw/components/DefaultSidebar.d.ts +9 -13
  85. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  86. package/dist/types/excalidraw/components/Ellipsify.d.ts +1 -2
  87. package/dist/types/excalidraw/components/ErrorDialog.d.ts +1 -1
  88. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -1
  89. package/dist/types/excalidraw/components/EyeDropper.d.ts +0 -1
  90. package/dist/types/excalidraw/components/FilledButton.d.ts +1 -0
  91. package/dist/types/excalidraw/components/FontPicker/keyboardNavHandlers.d.ts +0 -1
  92. package/dist/types/excalidraw/components/HelpDialog.d.ts +1 -1
  93. package/dist/types/excalidraw/components/InlineIcon.d.ts +2 -2
  94. package/dist/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  95. package/dist/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +1 -2
  96. package/dist/types/excalidraw/components/LibraryUnit.d.ts +2 -3
  97. package/dist/types/excalidraw/components/LoadingMessage.d.ts +0 -1
  98. package/dist/types/excalidraw/components/MobileToolBar.d.ts +0 -1
  99. package/dist/types/excalidraw/components/Modal.d.ts +0 -1
  100. package/dist/types/excalidraw/components/OverwriteConfirm/OverwriteConfirm.d.ts +1 -1
  101. package/dist/types/excalidraw/components/RadioGroup.d.ts +0 -1
  102. package/dist/types/excalidraw/components/RadioSelection.d.ts +4 -4
  103. package/dist/types/excalidraw/components/ScrollableList.d.ts +0 -1
  104. package/dist/types/excalidraw/components/Sidebar/Sidebar.d.ts +15 -21
  105. package/dist/types/excalidraw/components/Sidebar/SidebarHeader.d.ts +1 -1
  106. package/dist/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -2
  107. package/dist/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -2
  108. package/dist/types/excalidraw/components/Sidebar/SidebarTabTriggers.d.ts +1 -2
  109. package/dist/types/excalidraw/components/Sidebar/SidebarTabs.d.ts +1 -2
  110. package/dist/types/excalidraw/components/Spinner.d.ts +4 -4
  111. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +0 -1
  112. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +0 -1
  113. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +0 -1
  114. package/dist/types/excalidraw/components/Stats/index.d.ts +7 -8
  115. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatHistoryMenu.d.ts +15 -0
  116. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatInterface.d.ts +27 -0
  117. package/dist/types/excalidraw/components/TTDDialog/Chat/ChatMessage.d.ts +14 -0
  118. package/dist/types/excalidraw/components/TTDDialog/Chat/TTDChatPanel.d.ts +26 -0
  119. package/dist/types/excalidraw/components/TTDDialog/Chat/index.d.ts +3 -0
  120. package/dist/types/excalidraw/components/TTDDialog/Chat/useChatAgent.d.ts +8 -0
  121. package/dist/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +3 -2
  122. package/dist/types/excalidraw/components/TTDDialog/TTDContext.d.ts +13 -0
  123. package/dist/types/excalidraw/components/TTDDialog/TTDDialog.d.ts +4 -25
  124. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +2 -2
  125. package/dist/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +13 -9
  126. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTab.d.ts +1 -2
  127. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTrigger.d.ts +1 -2
  128. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTabTriggers.d.ts +1 -2
  129. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  130. package/dist/types/excalidraw/components/TTDDialog/TTDPreviewPanel.d.ts +9 -0
  131. package/dist/types/excalidraw/components/TTDDialog/TextToDiagram.d.ts +8 -0
  132. package/dist/types/excalidraw/components/TTDDialog/common.d.ts +16 -16
  133. package/dist/types/excalidraw/components/TTDDialog/hooks/useChatManagement.d.ts +13 -0
  134. package/dist/types/excalidraw/components/TTDDialog/hooks/useMermaidRenderer.d.ts +14 -0
  135. package/dist/types/excalidraw/components/TTDDialog/hooks/useTextGeneration.d.ts +7 -0
  136. package/dist/types/excalidraw/components/TTDDialog/types.d.ts +91 -0
  137. package/dist/types/excalidraw/components/TTDDialog/useTTDChatStorage.d.ts +22 -0
  138. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +24 -0
  139. package/dist/types/excalidraw/components/TTDDialog/utils/chat.d.ts +10 -0
  140. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidValidation.d.ts +1 -0
  141. package/dist/types/excalidraw/components/Toast.d.ts +3 -3
  142. package/dist/types/excalidraw/components/Trans.d.ts +2 -2
  143. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +30 -33
  144. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +5 -5
  145. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuGroup.d.ts +3 -3
  146. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItem.d.ts +12 -19
  147. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContent.d.ts +5 -4
  148. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +0 -1
  149. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemCustom.d.ts +2 -2
  150. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuItemLink.d.ts +6 -6
  151. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuTrigger.d.ts +3 -4
  152. package/dist/types/excalidraw/components/dropdownMenu/common.d.ts +1 -1
  153. package/dist/types/excalidraw/components/hoc/withInternalFallback.d.ts +1 -1
  154. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
  155. package/dist/types/excalidraw/components/icons.d.ts +16 -12
  156. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +2 -13
  157. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +2 -2
  158. package/dist/types/excalidraw/components/main-menu/MainMenu.d.ts +26 -29
  159. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +6 -6
  160. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +15 -16
  161. package/dist/types/excalidraw/data/blob.d.ts +321 -3
  162. package/dist/types/excalidraw/data/encode.d.ts +4 -4
  163. package/dist/types/excalidraw/data/encryption.d.ts +5 -5
  164. package/dist/types/excalidraw/data/filesystem.d.ts +2 -2
  165. package/dist/types/excalidraw/data/index.d.ts +3 -3
  166. package/dist/types/excalidraw/data/json.d.ts +159 -2
  167. package/dist/types/excalidraw/data/library.d.ts +24 -9
  168. package/dist/types/excalidraw/data/restore.d.ts +25 -10
  169. package/dist/types/excalidraw/editor-jotai.d.ts +11 -11
  170. package/dist/types/excalidraw/errors.d.ts +14 -0
  171. package/dist/types/excalidraw/hooks/useOutsideClick.d.ts +1 -2
  172. package/dist/types/excalidraw/hooks/useScrollPosition.d.ts +1 -2
  173. package/dist/types/excalidraw/i18n.d.ts +2 -2
  174. package/dist/types/excalidraw/index.d.ts +4 -4
  175. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -4
  176. package/dist/types/excalidraw/renderer/interactiveScene.d.ts +8 -6
  177. package/dist/types/excalidraw/scene/Renderer.d.ts +5 -2
  178. package/dist/types/excalidraw/scene/export.d.ts +2 -2
  179. package/dist/types/excalidraw/scene/scroll.d.ts +1 -6
  180. package/dist/types/excalidraw/scene/types.d.ts +7 -2
  181. package/dist/types/excalidraw/snapping.d.ts +5 -5
  182. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-bindings.d.ts +1 -1
  183. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-loader.d.ts +1 -1
  184. package/dist/types/excalidraw/subset/harfbuzz/harfbuzz-wasm.d.ts +1 -1
  185. package/dist/types/excalidraw/subset/woff2/woff2-loader.d.ts +2 -2
  186. package/dist/types/excalidraw/subset/woff2/woff2-wasm.d.ts +1 -1
  187. package/dist/types/excalidraw/types.d.ts +1 -2
  188. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +2 -2
  189. package/dist/types/math/src/polygon.d.ts +2 -2
  190. package/dist/types/math/src/range.d.ts +1 -3
  191. package/dist/types/math/src/segment.d.ts +3 -3
  192. package/dist/types/utils/src/bbox.d.ts +1 -1
  193. package/dist/types/utils/src/export.d.ts +5 -5
  194. package/dist/types/utils/src/shape.d.ts +6 -6
  195. package/dist/types/utils/src/withinBounds.d.ts +2 -2
  196. package/package.json +2 -2
  197. package/dist/types/common/src/visualdebug.d.ts +0 -41
@@ -5,40 +5,37 @@ declare const MainMenu: React.FC<{
5
5
  /**
6
6
  * Called when any menu item is selected (clicked on).
7
7
  */
8
- onSelect?: ((event: Event) => void) | undefined;
8
+ onSelect?: (event: Event) => void;
9
9
  } & {
10
- __fallback?: boolean | undefined;
10
+ __fallback?: boolean;
11
11
  }> & {
12
12
  Trigger: {
13
13
  ({ className, children, onToggle, title, ...rest }: {
14
- className?: string | undefined;
14
+ className?: string;
15
15
  children: React.ReactNode;
16
16
  onToggle: () => void;
17
- title?: string | undefined;
17
+ title?: string;
18
18
  } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
19
19
  displayName: string;
20
20
  };
21
21
  Item: {
22
- ({ icon, value, order, children, shortcut, className, hovered, selected, textStyle, onSelect, onClick, ...rest }: {
23
- icon?: React.JSX.Element | undefined;
22
+ ({ icon, value, order, children, shortcut, className, hovered, selected, textStyle, onSelect, onClick, badge, ...rest }: {
23
+ icon?: React.JSX.Element;
24
24
  value?: string | number | undefined;
25
- order?: number | undefined;
26
- onSelect?: ((event: Event) => void) | undefined;
25
+ order?: number;
26
+ onSelect?: (event: Event) => void;
27
27
  children: React.ReactNode;
28
- shortcut?: string | undefined;
29
- hovered?: boolean | undefined;
30
- selected?: boolean | undefined;
31
- textStyle?: React.CSSProperties | undefined;
32
- className?: string | undefined;
28
+ shortcut?: string;
29
+ hovered?: boolean;
30
+ selected?: boolean;
31
+ textStyle?: React.CSSProperties;
32
+ className?: string;
33
+ badge?: React.ReactNode;
33
34
  } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onSelect">): import("react/jsx-runtime").JSX.Element;
34
35
  displayName: string;
35
36
  Badge: {
36
37
  ({ type, children, }: {
37
- type?: import("../../../common/src/utility-types").ValueOf<{
38
- readonly GREEN: "green";
39
- readonly RED: "red";
40
- readonly BLUE: "blue";
41
- }> | undefined;
38
+ type?: import("@excalidraw/common/utility-types").ValueOf<typeof import("../dropdownMenu/DropdownMenuItem").DropDownMenuItemBadgeType>;
42
39
  children: React.ReactNode;
43
40
  }): import("react/jsx-runtime").JSX.Element;
44
41
  displayName: string;
@@ -47,27 +44,27 @@ declare const MainMenu: React.FC<{
47
44
  ItemLink: {
48
45
  ({ icon, shortcut, href, children, onSelect, className, selected, rel, ...rest }: {
49
46
  href: string;
50
- icon?: React.JSX.Element | undefined;
47
+ icon?: React.JSX.Element;
51
48
  children: React.ReactNode;
52
- shortcut?: string | undefined;
53
- className?: string | undefined;
54
- selected?: boolean | undefined;
55
- onSelect?: ((event: Event) => void) | undefined;
56
- rel?: string | undefined;
49
+ shortcut?: string;
50
+ className?: string;
51
+ selected?: boolean;
52
+ onSelect?: (event: Event) => void;
53
+ rel?: string;
57
54
  } & React.AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
58
55
  displayName: string;
59
56
  };
60
57
  ItemCustom: ({ children, className, selected, ...rest }: {
61
58
  children: React.ReactNode;
62
- className?: string | undefined;
63
- selected?: boolean | undefined;
59
+ className?: string;
60
+ selected?: boolean;
64
61
  } & React.HTMLAttributes<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
65
62
  Group: {
66
63
  ({ children, className, style, title, }: {
67
64
  children: React.ReactNode;
68
- className?: string | undefined;
69
- style?: React.CSSProperties | undefined;
70
- title?: string | undefined;
65
+ className?: string;
66
+ style?: React.CSSProperties;
67
+ title?: string;
71
68
  }): import("react/jsx-runtime").JSX.Element;
72
69
  displayName: string;
73
70
  };
@@ -26,18 +26,18 @@ declare const Center: {
26
26
  ({ onSelect, children, icon, shortcut, className, ...props }: {
27
27
  onSelect: () => void;
28
28
  children: React.ReactNode;
29
- icon?: JSX.Element | undefined;
30
- shortcut?: string | null | undefined;
31
- } & import("react").ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
29
+ icon?: JSX.Element;
30
+ shortcut?: string | null;
31
+ } & React.ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
32
32
  displayName: string;
33
33
  };
34
34
  MenuItemLink: {
35
35
  ({ children, href, icon, shortcut, className, ...props }: {
36
36
  children: React.ReactNode;
37
37
  href: string;
38
- icon?: JSX.Element | undefined;
39
- shortcut?: string | null | undefined;
40
- } & import("react").AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
38
+ icon?: JSX.Element;
39
+ shortcut?: string | null;
40
+ } & React.AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
41
41
  displayName: string;
42
42
  };
43
43
  MenuItemHelp: {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import "./WelcomeScreen.scss";
3
2
  declare const WelcomeScreen: {
4
3
  (props: {
@@ -7,43 +6,43 @@ declare const WelcomeScreen: {
7
6
  displayName: string;
8
7
  Center: {
9
8
  ({ children }: {
10
- children?: import("react").ReactNode;
9
+ children?: React.ReactNode;
11
10
  }): import("react/jsx-runtime").JSX.Element;
12
11
  displayName: string;
13
12
  Logo: {
14
13
  ({ children }: {
15
- children?: import("react").ReactNode;
14
+ children?: React.ReactNode;
16
15
  }): import("react/jsx-runtime").JSX.Element;
17
16
  displayName: string;
18
17
  };
19
18
  Heading: {
20
19
  ({ children }: {
21
- children: import("react").ReactNode;
20
+ children: React.ReactNode;
22
21
  }): import("react/jsx-runtime").JSX.Element;
23
22
  displayName: string;
24
23
  };
25
24
  Menu: {
26
25
  ({ children }: {
27
- children?: import("react").ReactNode;
26
+ children?: React.ReactNode;
28
27
  }): import("react/jsx-runtime").JSX.Element;
29
28
  displayName: string;
30
29
  };
31
30
  MenuItem: {
32
31
  ({ onSelect, children, icon, shortcut, className, ...props }: {
33
32
  onSelect: () => void;
34
- children: import("react").ReactNode;
35
- icon?: import("react").JSX.Element | undefined;
36
- shortcut?: string | null | undefined;
37
- } & import("react").ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
33
+ children: React.ReactNode;
34
+ icon?: import("react").JSX.Element;
35
+ shortcut?: string | null;
36
+ } & React.ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
38
37
  displayName: string;
39
38
  };
40
39
  MenuItemLink: {
41
40
  ({ children, href, icon, shortcut, className, ...props }: {
42
- children: import("react").ReactNode;
41
+ children: React.ReactNode;
43
42
  href: string;
44
- icon?: import("react").JSX.Element | undefined;
45
- shortcut?: string | null | undefined;
46
- } & import("react").AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
43
+ icon?: import("react").JSX.Element;
44
+ shortcut?: string | null;
45
+ } & React.AnchorHTMLAttributes<HTMLAnchorElement>): import("react/jsx-runtime").JSX.Element;
47
46
  displayName: string;
48
47
  };
49
48
  MenuItemHelp: {
@@ -64,19 +63,19 @@ declare const WelcomeScreen: {
64
63
  Hints: {
65
64
  MenuHint: {
66
65
  ({ children }: {
67
- children?: import("react").ReactNode;
66
+ children?: React.ReactNode;
68
67
  }): import("react/jsx-runtime").JSX.Element;
69
68
  displayName: string;
70
69
  };
71
70
  ToolbarHint: {
72
71
  ({ children }: {
73
- children?: import("react").ReactNode;
72
+ children?: React.ReactNode;
74
73
  }): import("react/jsx-runtime").JSX.Element;
75
74
  displayName: string;
76
75
  };
77
76
  HelpHint: {
78
77
  ({ children }: {
79
- children?: import("react").ReactNode;
78
+ children?: React.ReactNode;
80
79
  }): import("react/jsx-runtime").JSX.Element;
81
80
  displayName: string;
82
81
  };
@@ -12,14 +12,332 @@ export declare const isSupportedImageFileType: (type: string | null | undefined)
12
12
  export declare const isSupportedImageFile: (blob: Blob | null | undefined) => blob is Blob & {
13
13
  type: ValueOf<typeof IMAGE_MIME_TYPES>;
14
14
  };
15
- export declare const loadSceneOrLibraryFromBlob: (blob: Blob | File, localAppState: AppState | null, localElements: readonly ExcalidrawElement[] | null, fileHandle?: FileSystemHandle | null) => Promise<{
15
+ export declare const loadSceneOrLibraryFromBlob: (blob: Blob | File,
16
+ /** @see restore.localAppState */
17
+ localAppState: AppState | null, localElements: readonly ExcalidrawElement[] | null,
18
+ /** FileSystemHandle. Defaults to `blob.handle` if defined, otherwise null. */
19
+ fileHandle?: FileSystemHandle | null) => Promise<{
16
20
  type: "application/vnd.excalidraw+json";
17
- data: import("./restore").RestoredDataState;
21
+ data: {
22
+ elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
23
+ appState: {
24
+ viewBackgroundColor: string;
25
+ theme: import("@excalidraw/element/types").Theme;
26
+ frameRendering: {
27
+ enabled: boolean;
28
+ name: boolean;
29
+ outline: boolean;
30
+ clip: boolean;
31
+ };
32
+ name: string | null;
33
+ zoom: import("../types").Zoom;
34
+ scrollX: number;
35
+ scrollY: number;
36
+ viewModeEnabled: boolean;
37
+ openDialog: null | {
38
+ name: "imageExport" | "help" | "jsonExport";
39
+ } | {
40
+ name: "ttd";
41
+ tab: "text-to-diagram" | "mermaid";
42
+ } | {
43
+ name: "commandPalette";
44
+ } | {
45
+ name: "settings";
46
+ } | {
47
+ name: "elementLinkSelector";
48
+ sourceElementId: ExcalidrawElement["id"];
49
+ };
50
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
51
+ selectedElementIds: Readonly<{
52
+ [id: string]: true;
53
+ }>;
54
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
55
+ activeEmbeddable: {
56
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
57
+ state: "hover" | "active";
58
+ } | null;
59
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
60
+ selectedGroupIds: {
61
+ [groupId: string]: boolean;
62
+ };
63
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
64
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
65
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
66
+ isBindingEnabled: boolean;
67
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
68
+ isRotating: boolean;
69
+ elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
70
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
71
+ snapLines: readonly import("../snapping").SnapLine[];
72
+ zenModeEnabled: boolean;
73
+ editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
74
+ isCropping: boolean;
75
+ croppingElementId: ExcalidrawElement["id"] | null;
76
+ searchMatches: Readonly<{
77
+ focusedId: ExcalidrawElement["id"] | null;
78
+ matches: readonly import("../types").SearchMatch[];
79
+ }> | null;
80
+ activeLockedId: string | null;
81
+ hoveredElementIds: Readonly<{
82
+ [id: string]: true;
83
+ }>;
84
+ shouldCacheIgnoreZoom: boolean;
85
+ exportScale: number;
86
+ bindMode: import("@excalidraw/element/types").BindMode;
87
+ gridSize: number;
88
+ contextMenu: {
89
+ items: import("../components/ContextMenu").ContextMenuItems;
90
+ top: number;
91
+ left: number;
92
+ } | null;
93
+ showWelcomeScreen: boolean;
94
+ isLoading: boolean;
95
+ errorMessage: React.ReactNode;
96
+ resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
97
+ startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
98
+ editingFrame: string | null;
99
+ activeTool: {
100
+ lastActiveTool: import("../types").ActiveTool | null;
101
+ locked: boolean;
102
+ fromSelection: boolean;
103
+ } & import("../types").ActiveTool;
104
+ preferredSelectionTool: {
105
+ type: "selection" | "lasso";
106
+ initialized: boolean;
107
+ };
108
+ penMode: boolean;
109
+ penDetected: boolean;
110
+ exportBackground: boolean;
111
+ exportEmbedScene: boolean;
112
+ exportWithDarkMode: boolean;
113
+ currentItemStrokeColor: string;
114
+ currentItemBackgroundColor: string;
115
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
116
+ currentItemStrokeWidth: number;
117
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
118
+ currentItemRoughness: number;
119
+ currentItemOpacity: number;
120
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
121
+ currentItemFontSize: number;
122
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
123
+ currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
124
+ currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
125
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
126
+ currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
127
+ currentItemArrowType: "sharp" | "round" | "elbow";
128
+ cursorButton: "up" | "down";
129
+ scrolledOutside: boolean;
130
+ isResizing: boolean;
131
+ openMenu: "canvas" | null;
132
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
133
+ openSidebar: {
134
+ name: import("../types").SidebarName;
135
+ tab?: import("../types").SidebarTabName;
136
+ } | null;
137
+ defaultSidebarDockedPreference: boolean;
138
+ lastPointerDownWith: import("@excalidraw/element/types").PointerType;
139
+ previousSelectedElementIds: {
140
+ [id: string]: true;
141
+ };
142
+ selectedElementsAreBeingDragged: boolean;
143
+ toast: {
144
+ message: string;
145
+ closable?: boolean;
146
+ duration?: number;
147
+ } | null;
148
+ gridStep: number;
149
+ gridModeEnabled: boolean;
150
+ fileHandle: FileSystemHandle | null;
151
+ stats: {
152
+ open: boolean;
153
+ panels: number;
154
+ };
155
+ currentChartType: import("@excalidraw/element/types").ChartType;
156
+ pasteDialog: {
157
+ shown: false;
158
+ data: null;
159
+ } | {
160
+ shown: true;
161
+ data: import("../charts").Spreadsheet;
162
+ };
163
+ showHyperlinkPopup: false | "info" | "editor";
164
+ originSnapOffset: {
165
+ x: number;
166
+ y: number;
167
+ } | null;
168
+ objectsSnapModeEnabled: boolean;
169
+ userToFollow: import("../types").UserToFollow | null;
170
+ followedBy: Set<import("../types").SocketId>;
171
+ lockedMultiSelections: {
172
+ [groupId: string]: true;
173
+ };
174
+ };
175
+ files: import("../types").BinaryFiles;
176
+ };
18
177
  } | {
19
178
  type: "application/vnd.excalidrawlib+json";
20
179
  data: ImportedLibraryData;
21
180
  }>;
22
- export declare const loadFromBlob: (blob: Blob, localAppState: AppState | null, localElements: readonly ExcalidrawElement[] | null, fileHandle?: FileSystemHandle | null) => Promise<import("./restore").RestoredDataState>;
181
+ export declare const loadFromBlob: (blob: Blob,
182
+ /** @see restore.localAppState */
183
+ localAppState: AppState | null, localElements: readonly ExcalidrawElement[] | null,
184
+ /** FileSystemHandle. Defaults to `blob.handle` if defined, otherwise null. */
185
+ fileHandle?: FileSystemHandle | null) => Promise<{
186
+ elements: import("@excalidraw/element/types").OrderedExcalidrawElement[];
187
+ appState: {
188
+ viewBackgroundColor: string;
189
+ theme: import("@excalidraw/element/types").Theme;
190
+ frameRendering: {
191
+ enabled: boolean;
192
+ name: boolean;
193
+ outline: boolean;
194
+ clip: boolean;
195
+ };
196
+ name: string | null;
197
+ zoom: import("../types").Zoom;
198
+ scrollX: number;
199
+ scrollY: number;
200
+ viewModeEnabled: boolean;
201
+ openDialog: null | {
202
+ name: "imageExport" | "help" | "jsonExport";
203
+ } | {
204
+ name: "ttd";
205
+ tab: "text-to-diagram" | "mermaid";
206
+ } | {
207
+ name: "commandPalette";
208
+ } | {
209
+ name: "settings";
210
+ } | {
211
+ name: "elementLinkSelector";
212
+ sourceElementId: ExcalidrawElement["id"];
213
+ };
214
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
215
+ selectedElementIds: Readonly<{
216
+ [id: string]: true;
217
+ }>;
218
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
219
+ activeEmbeddable: {
220
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
221
+ state: "hover" | "active";
222
+ } | null;
223
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
224
+ selectedGroupIds: {
225
+ [groupId: string]: boolean;
226
+ };
227
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
228
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
229
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
230
+ isBindingEnabled: boolean;
231
+ suggestedBinding: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
232
+ isRotating: boolean;
233
+ elementsToHighlight: import("@excalidraw/element/types").NonDeleted<ExcalidrawElement>[] | null;
234
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
235
+ snapLines: readonly import("../snapping").SnapLine[];
236
+ zenModeEnabled: boolean;
237
+ editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
238
+ isCropping: boolean;
239
+ croppingElementId: ExcalidrawElement["id"] | null;
240
+ searchMatches: Readonly<{
241
+ focusedId: ExcalidrawElement["id"] | null;
242
+ matches: readonly import("../types").SearchMatch[];
243
+ }> | null;
244
+ activeLockedId: string | null;
245
+ hoveredElementIds: Readonly<{
246
+ [id: string]: true;
247
+ }>;
248
+ shouldCacheIgnoreZoom: boolean;
249
+ exportScale: number;
250
+ bindMode: import("@excalidraw/element/types").BindMode;
251
+ gridSize: number;
252
+ contextMenu: {
253
+ items: import("../components/ContextMenu").ContextMenuItems;
254
+ top: number;
255
+ left: number;
256
+ } | null;
257
+ showWelcomeScreen: boolean;
258
+ isLoading: boolean;
259
+ errorMessage: React.ReactNode;
260
+ resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
261
+ startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
262
+ editingFrame: string | null;
263
+ activeTool: {
264
+ lastActiveTool: import("../types").ActiveTool | null;
265
+ locked: boolean;
266
+ fromSelection: boolean;
267
+ } & import("../types").ActiveTool;
268
+ preferredSelectionTool: {
269
+ type: "selection" | "lasso";
270
+ initialized: boolean;
271
+ };
272
+ penMode: boolean;
273
+ penDetected: boolean;
274
+ exportBackground: boolean;
275
+ exportEmbedScene: boolean;
276
+ exportWithDarkMode: boolean;
277
+ currentItemStrokeColor: string;
278
+ currentItemBackgroundColor: string;
279
+ currentItemFillStyle: ExcalidrawElement["fillStyle"];
280
+ currentItemStrokeWidth: number;
281
+ currentItemStrokeStyle: ExcalidrawElement["strokeStyle"];
282
+ currentItemRoughness: number;
283
+ currentItemOpacity: number;
284
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
285
+ currentItemFontSize: number;
286
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
287
+ currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
288
+ currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
289
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
290
+ currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
291
+ currentItemArrowType: "sharp" | "round" | "elbow";
292
+ cursorButton: "up" | "down";
293
+ scrolledOutside: boolean;
294
+ isResizing: boolean;
295
+ openMenu: "canvas" | null;
296
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
297
+ openSidebar: {
298
+ name: import("../types").SidebarName;
299
+ tab?: import("../types").SidebarTabName;
300
+ } | null;
301
+ defaultSidebarDockedPreference: boolean;
302
+ lastPointerDownWith: import("@excalidraw/element/types").PointerType;
303
+ previousSelectedElementIds: {
304
+ [id: string]: true;
305
+ };
306
+ selectedElementsAreBeingDragged: boolean;
307
+ toast: {
308
+ message: string;
309
+ closable?: boolean;
310
+ duration?: number;
311
+ } | null;
312
+ gridStep: number;
313
+ gridModeEnabled: boolean;
314
+ fileHandle: FileSystemHandle | null;
315
+ stats: {
316
+ open: boolean;
317
+ panels: number;
318
+ };
319
+ currentChartType: import("@excalidraw/element/types").ChartType;
320
+ pasteDialog: {
321
+ shown: false;
322
+ data: null;
323
+ } | {
324
+ shown: true;
325
+ data: import("../charts").Spreadsheet;
326
+ };
327
+ showHyperlinkPopup: false | "info" | "editor";
328
+ originSnapOffset: {
329
+ x: number;
330
+ y: number;
331
+ } | null;
332
+ objectsSnapModeEnabled: boolean;
333
+ userToFollow: import("../types").UserToFollow | null;
334
+ followedBy: Set<import("../types").SocketId>;
335
+ lockedMultiSelections: {
336
+ [groupId: string]: true;
337
+ };
338
+ };
339
+ files: import("../types").BinaryFiles;
340
+ }>;
23
341
  export declare const parseLibraryJSON: (json: string, defaultStatus?: LibraryItem["status"]) => LibraryItem[];
24
342
  export declare const loadLibraryFromBlob: (blob: Blob, defaultStatus?: LibraryItem["status"]) => Promise<LibraryItem[]>;
25
343
  export declare const canvasToBlob: (canvas: HTMLCanvasElement | Promise<HTMLCanvasElement>) => Promise<Blob>;
@@ -21,7 +21,7 @@ type EncodedData = {
21
21
  export declare const encode: ({ text, compress, }: {
22
22
  text: string;
23
23
  /** defaults to `true`. If compression fails, falls back to bstring alone. */
24
- compress?: boolean | undefined;
24
+ compress?: boolean;
25
25
  }) => EncodedData;
26
26
  export declare const decode: (data: EncodedData) => string;
27
27
  /**
@@ -40,16 +40,16 @@ export declare const decode: (data: EncodedData) => string;
40
40
  export declare const compressData: <T extends Record<string, any> = never>(dataBuffer: Uint8Array, options: {
41
41
  encryptionKey: string;
42
42
  } & ([T] extends [never] ? {
43
- metadata?: T | undefined;
43
+ metadata?: T;
44
44
  } : {
45
45
  metadata: T;
46
- })) => Promise<Uint8Array>;
46
+ })) => Promise<Uint8Array<ArrayBuffer>>;
47
47
  export declare const decompressData: <T extends Record<string, any>>(bufferView: Uint8Array, options: {
48
48
  decryptionKey: string;
49
49
  }) => Promise<{
50
50
  /** metadata source is always JSON so we can decode it here */
51
51
  metadata: T;
52
52
  /** data can be anything so the caller must decode it */
53
- data: Uint8Array;
53
+ data: Uint8Array<ArrayBuffer>;
54
54
  }>;
55
55
  export {};
@@ -1,9 +1,9 @@
1
1
  export declare const IV_LENGTH_BYTES = 12;
2
- export declare const createIV: () => Uint8Array;
3
- export declare const generateEncryptionKey: <T extends "string" | "cryptoKey" = "string">(returnAs?: T | undefined) => Promise<T extends "cryptoKey" ? CryptoKey : string>;
2
+ export declare const createIV: () => Uint8Array<ArrayBuffer>;
3
+ export declare const generateEncryptionKey: <T extends "string" | "cryptoKey" = "string">(returnAs?: T) => Promise<T extends "cryptoKey" ? CryptoKey : string>;
4
4
  export declare const getCryptoKey: (key: string, usage: KeyUsage) => Promise<CryptoKey>;
5
- export declare const encryptData: (key: string | CryptoKey, data: Uint8Array | ArrayBuffer | Blob | File | string) => Promise<{
5
+ export declare const encryptData: (key: string | CryptoKey, data: Uint8Array<ArrayBuffer> | ArrayBuffer | Blob | File | string) => Promise<{
6
6
  encryptedBuffer: ArrayBuffer;
7
- iv: Uint8Array;
7
+ iv: Uint8Array<ArrayBuffer>;
8
8
  }>;
9
- export declare const decryptData: (iv: Uint8Array, encrypted: Uint8Array | ArrayBuffer, privateKey: string) => Promise<ArrayBuffer>;
9
+ export declare const decryptData: (iv: Uint8Array<ArrayBuffer>, encrypted: Uint8Array<ArrayBuffer> | ArrayBuffer, privateKey: string) => Promise<ArrayBuffer>;
@@ -3,9 +3,9 @@ import { MIME_TYPES } from "@excalidraw/common";
3
3
  import type { FileSystemHandle } from "browser-fs-access";
4
4
  type FILE_EXTENSION = Exclude<keyof typeof MIME_TYPES, "binary">;
5
5
  export declare const fileOpen: <M extends boolean | undefined = false>(opts: {
6
- extensions?: FILE_EXTENSION[] | undefined;
6
+ extensions?: FILE_EXTENSION[];
7
7
  description: string;
8
- multiple?: M | undefined;
8
+ multiple?: M;
9
9
  }) => Promise<M extends false | undefined ? File : File[]>;
10
10
  export declare const fileSave: (blob: Blob | Promise<Blob>, opts: {
11
11
  /** supply without the extension */
@@ -13,10 +13,10 @@ export declare const prepareElementsForExport: (elements: readonly ExcalidrawEle
13
13
  };
14
14
  export declare const exportCanvas: (type: Omit<ExportType, "backend">, elements: ExportedElements, appState: AppState, files: BinaryFiles, { exportBackground, exportPadding, viewBackgroundColor, name, fileHandle, exportingFrame, }: {
15
15
  exportBackground: boolean;
16
- exportPadding?: number | undefined;
16
+ exportPadding?: number;
17
17
  viewBackgroundColor: string;
18
18
  /** filename, if applicable */
19
- name?: string | undefined;
20
- fileHandle?: FileSystemHandle | null | undefined;
19
+ name?: string;
20
+ fileHandle?: FileSystemHandle | null;
21
21
  exportingFrame: ExcalidrawFrameLikeElement | null;
22
22
  }) => Promise<FileSystemHandle | null | undefined>;