@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,182 +1,182 @@
1
- /// <reference types="react" />
2
- import { AppState, ExcalidrawProps, UIAppState } from "../types";
3
- import { NonDeletedExcalidrawElement } from "./types";
4
- import { Bounds } from "./bounds";
5
- import "./Hyperlink.scss";
6
- export declare const EXTERNAL_LINK_IMG: HTMLImageElement;
7
- export declare const Hyperlink: ({ element, setAppState, onLinkOpen, setToast, }: {
8
- element: NonDeletedExcalidrawElement;
9
- setAppState: React.Component<any, AppState>["setState"];
10
- onLinkOpen: ExcalidrawProps["onLinkOpen"];
11
- setToast: (toast: {
12
- message: string;
13
- closable?: boolean;
14
- duration?: number;
15
- } | null) => void;
16
- }) => JSX.Element | null;
17
- export declare const actionLink: {
18
- name: "hyperlink";
19
- perform: (elements: readonly import("./types").ExcalidrawElement[], appState: Readonly<AppState>) => false | {
20
- elements: readonly import("./types").ExcalidrawElement[];
21
- appState: {
22
- showHyperlinkPopup: "editor";
23
- openMenu: null;
24
- contextMenu: {
25
- items: import("../components/ContextMenu").ContextMenuItems;
26
- top: number;
27
- left: number;
28
- } | null;
29
- showWelcomeScreen: boolean;
30
- isLoading: boolean;
31
- errorMessage: import("react").ReactNode;
32
- activeEmbeddable: {
33
- element: NonDeletedExcalidrawElement;
34
- state: "active" | "hover";
35
- } | null;
36
- draggingElement: NonDeletedExcalidrawElement | null;
37
- resizingElement: NonDeletedExcalidrawElement | null;
38
- multiElement: import("./types").NonDeleted<import("./types").ExcalidrawLinearElement> | null;
39
- selectionElement: NonDeletedExcalidrawElement | null;
40
- isBindingEnabled: boolean;
41
- startBoundElement: import("./types").NonDeleted<import("./types").ExcalidrawBindableElement> | null;
42
- suggestedBindings: import("./binding").SuggestedBinding[];
43
- frameToHighlight: import("./types").NonDeleted<import("./types").ExcalidrawFrameElement> | null;
44
- frameRendering: {
45
- enabled: boolean;
46
- name: boolean;
47
- outline: boolean;
48
- clip: boolean;
49
- };
50
- editingFrame: string | null;
51
- elementsToHighlight: import("./types").NonDeleted<import("./types").ExcalidrawElement>[] | null;
52
- editingElement: NonDeletedExcalidrawElement | null;
53
- editingLinearElement: import("./linearElementEditor").LinearElementEditor | null;
54
- activeTool: {
55
- lastActiveTool: import("../types").LastActiveTool;
56
- locked: boolean;
57
- } & ({
58
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
59
- customType: null;
60
- } | {
61
- type: "custom";
62
- customType: string;
63
- });
64
- penMode: boolean;
65
- penDetected: boolean;
66
- exportBackground: boolean;
67
- exportEmbedScene: boolean;
68
- exportWithDarkMode: boolean;
69
- exportScale: number;
70
- currentItemStrokeColor: string;
71
- currentItemBackgroundColor: string;
72
- currentItemFillStyle: import("./types").FillStyle;
73
- currentItemStrokeWidth: number;
74
- currentItemStrokeStyle: import("./types").StrokeStyle;
75
- currentItemRoughness: number;
76
- currentItemOpacity: number;
77
- currentItemFontFamily: number;
78
- currentItemFontSize: number;
79
- currentItemTextAlign: string;
80
- currentItemStartArrowhead: import("./types").Arrowhead | null;
81
- currentItemEndArrowhead: import("./types").Arrowhead | null;
82
- currentItemRoundness: import("./types").StrokeRoundness;
83
- viewBackgroundColor: string;
84
- scrollX: number;
85
- scrollY: number;
86
- cursorButton: "up" | "down";
87
- scrolledOutside: boolean;
88
- name: string;
89
- isResizing: boolean;
90
- isRotating: boolean;
91
- zoom: Readonly<{
92
- value: import("../types").NormalizedZoomValue;
93
- }>;
94
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
95
- openSidebar: {
96
- name: string;
97
- tab?: string | undefined;
98
- } | null;
99
- openDialog: "imageExport" | "help" | "jsonExport" | null;
100
- defaultSidebarDockedPreference: boolean;
101
- lastPointerDownWith: import("./types").PointerType;
102
- selectedElementIds: Readonly<{
103
- [id: string]: true;
104
- }>;
105
- previousSelectedElementIds: {
106
- [id: string]: true;
107
- };
108
- selectedElementsAreBeingDragged: boolean;
109
- shouldCacheIgnoreZoom: boolean;
110
- toast: {
111
- message: string;
112
- closable?: boolean | undefined;
113
- duration?: number | undefined;
114
- } | null;
115
- zenModeEnabled: boolean;
116
- theme: string;
117
- gridSize: number | null;
118
- previousGridSize: number | null;
119
- viewModeEnabled: boolean;
120
- selectedGroupIds: {
121
- [groupId: string]: boolean;
122
- };
123
- editingGroupId: string | null;
124
- width: number;
125
- height: number;
126
- offsetTop: number;
127
- offsetLeft: number;
128
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
129
- collaborators: Map<string, import("../types").Collaborator>;
130
- showStats: boolean;
131
- currentChartType: import("./types").ChartType;
132
- pasteDialog: {
133
- shown: false;
134
- data: null;
135
- } | {
136
- shown: true;
137
- data: import("../charts").Spreadsheet;
138
- };
139
- pendingImageElementId: string | null;
140
- linkOpacity: number;
141
- trayModeEnabled: boolean;
142
- colorPalette?: {
143
- canvasBackground: import("../colors").ColorPaletteCustom;
144
- elementBackground: import("../colors").ColorPaletteCustom;
145
- elementStroke: import("../colors").ColorPaletteCustom;
146
- topPicks: {
147
- canvasBackground: [string, string, string, string, string];
148
- elementStroke: [string, string, string, string, string];
149
- elementBackground: [string, string, string, string, string];
150
- };
151
- } | undefined;
152
- allowWheelZoom?: boolean | undefined;
153
- allowPinchZoom?: boolean | undefined;
154
- pinnedScripts?: string[] | undefined;
155
- customPens?: any[] | undefined;
156
- currentStrokeOptions?: any;
157
- resetCustomPen?: any;
158
- gridColor: string;
159
- dynamicStyle: string;
160
- invertBindingBehaviour: boolean;
161
- selectedLinearElement: import("./linearElementEditor").LinearElementEditor | null;
162
- };
163
- commitToHistory: true;
164
- };
165
- trackEvent: {
166
- category: "hyperlink";
167
- action: string;
168
- };
169
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
170
- contextItemLabel: (elements: readonly import("./types").ExcalidrawElement[], appState: Readonly<AppState>) => "labels.link.editEmbed" | "labels.link.edit" | "labels.link.createEmbed" | "labels.link.create";
171
- predicate: (elements: readonly import("./types").ExcalidrawElement[], appState: AppState) => boolean;
172
- PanelComponent: ({ elements, appState, updateData }: import("../actions/types").PanelComponentProps) => JSX.Element;
173
- } & {
174
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
175
- };
176
- export declare const getContextMenuLabel: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState) => "labels.link.editEmbed" | "labels.link.edit" | "labels.link.createEmbed" | "labels.link.create";
177
- export declare const getLinkHandleFromCoords: ([x1, y1, x2, y2]: Bounds, angle: number, appState: UIAppState) => [x: number, y: number, width: number, height: number];
178
- export declare const isPointHittingLinkIcon: (element: NonDeletedExcalidrawElement, appState: AppState, [x, y]: readonly [number, number]) => boolean;
179
- export declare const isPointHittingLink: (element: NonDeletedExcalidrawElement, appState: AppState, [x, y]: readonly [number, number], isMobile: boolean) => boolean;
180
- export declare const showHyperlinkTooltip: (element: NonDeletedExcalidrawElement, appState: AppState) => void;
181
- export declare const hideHyperlinkToolip: () => void;
182
- export declare const shouldHideLinkPopup: (element: NonDeletedExcalidrawElement, appState: AppState, [clientX, clientY]: readonly [number, number]) => Boolean;
1
+ /// <reference types="react" />
2
+ import { AppState, ExcalidrawProps, UIAppState } from "../types";
3
+ import { NonDeletedExcalidrawElement } from "./types";
4
+ import { Bounds } from "./bounds";
5
+ import "./Hyperlink.scss";
6
+ export declare const EXTERNAL_LINK_IMG: HTMLImageElement;
7
+ export declare const Hyperlink: ({ element, setAppState, onLinkOpen, setToast, }: {
8
+ element: NonDeletedExcalidrawElement;
9
+ setAppState: React.Component<any, AppState>["setState"];
10
+ onLinkOpen: ExcalidrawProps["onLinkOpen"];
11
+ setToast: (toast: {
12
+ message: string;
13
+ closable?: boolean;
14
+ duration?: number;
15
+ } | null) => void;
16
+ }) => JSX.Element | null;
17
+ export declare const actionLink: {
18
+ name: "hyperlink";
19
+ perform: (elements: readonly import("./types").ExcalidrawElement[], appState: Readonly<AppState>) => false | {
20
+ elements: readonly import("./types").ExcalidrawElement[];
21
+ appState: {
22
+ showHyperlinkPopup: "editor";
23
+ openMenu: null;
24
+ contextMenu: {
25
+ items: import("../components/ContextMenu").ContextMenuItems;
26
+ top: number;
27
+ left: number;
28
+ } | null;
29
+ showWelcomeScreen: boolean;
30
+ isLoading: boolean;
31
+ errorMessage: import("react").ReactNode;
32
+ activeEmbeddable: {
33
+ element: NonDeletedExcalidrawElement;
34
+ state: "active" | "hover";
35
+ } | null;
36
+ draggingElement: NonDeletedExcalidrawElement | null;
37
+ resizingElement: NonDeletedExcalidrawElement | null;
38
+ multiElement: import("./types").NonDeleted<import("./types").ExcalidrawLinearElement> | null;
39
+ selectionElement: NonDeletedExcalidrawElement | null;
40
+ isBindingEnabled: boolean;
41
+ startBoundElement: import("./types").NonDeleted<import("./types").ExcalidrawBindableElement> | null;
42
+ suggestedBindings: import("./binding").SuggestedBinding[];
43
+ frameToHighlight: import("./types").NonDeleted<import("./types").ExcalidrawFrameElement> | null;
44
+ frameRendering: {
45
+ enabled: boolean;
46
+ name: boolean;
47
+ outline: boolean;
48
+ clip: boolean;
49
+ };
50
+ editingFrame: string | null;
51
+ elementsToHighlight: import("./types").NonDeleted<import("./types").ExcalidrawElement>[] | null;
52
+ editingElement: NonDeletedExcalidrawElement | null;
53
+ editingLinearElement: import("./linearElementEditor").LinearElementEditor | null;
54
+ activeTool: {
55
+ lastActiveTool: import("../types").LastActiveTool;
56
+ locked: boolean;
57
+ } & ({
58
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
59
+ customType: null;
60
+ } | {
61
+ type: "custom";
62
+ customType: string;
63
+ });
64
+ penMode: boolean;
65
+ penDetected: boolean;
66
+ exportBackground: boolean;
67
+ exportEmbedScene: boolean;
68
+ exportWithDarkMode: boolean;
69
+ exportScale: number;
70
+ currentItemStrokeColor: string;
71
+ currentItemBackgroundColor: string;
72
+ currentItemFillStyle: import("./types").FillStyle;
73
+ currentItemStrokeWidth: number;
74
+ currentItemStrokeStyle: import("./types").StrokeStyle;
75
+ currentItemRoughness: number;
76
+ currentItemOpacity: number;
77
+ currentItemFontFamily: number;
78
+ currentItemFontSize: number;
79
+ currentItemTextAlign: string;
80
+ currentItemStartArrowhead: import("./types").Arrowhead | null;
81
+ currentItemEndArrowhead: import("./types").Arrowhead | null;
82
+ currentItemRoundness: import("./types").StrokeRoundness;
83
+ viewBackgroundColor: string;
84
+ scrollX: number;
85
+ scrollY: number;
86
+ cursorButton: "up" | "down";
87
+ scrolledOutside: boolean;
88
+ name: string;
89
+ isResizing: boolean;
90
+ isRotating: boolean;
91
+ zoom: Readonly<{
92
+ value: import("../types").NormalizedZoomValue;
93
+ }>;
94
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
95
+ openSidebar: {
96
+ name: string;
97
+ tab?: string | undefined;
98
+ } | null;
99
+ openDialog: "imageExport" | "help" | "jsonExport" | null;
100
+ defaultSidebarDockedPreference: boolean;
101
+ lastPointerDownWith: import("./types").PointerType;
102
+ selectedElementIds: Readonly<{
103
+ [id: string]: true;
104
+ }>;
105
+ previousSelectedElementIds: {
106
+ [id: string]: true;
107
+ };
108
+ selectedElementsAreBeingDragged: boolean;
109
+ shouldCacheIgnoreZoom: boolean;
110
+ toast: {
111
+ message: string;
112
+ closable?: boolean | undefined;
113
+ duration?: number | undefined;
114
+ } | null;
115
+ zenModeEnabled: boolean;
116
+ theme: import("./types").Theme;
117
+ gridSize: number | null;
118
+ previousGridSize: number | null;
119
+ viewModeEnabled: boolean;
120
+ selectedGroupIds: {
121
+ [groupId: string]: boolean;
122
+ };
123
+ editingGroupId: string | null;
124
+ width: number;
125
+ height: number;
126
+ offsetTop: number;
127
+ offsetLeft: number;
128
+ fileHandle: import("browser-fs-access").FileSystemHandle | null;
129
+ collaborators: Map<string, import("../types").Collaborator>;
130
+ showStats: boolean;
131
+ currentChartType: import("./types").ChartType;
132
+ pasteDialog: {
133
+ shown: false;
134
+ data: null;
135
+ } | {
136
+ shown: true;
137
+ data: import("../charts").Spreadsheet;
138
+ };
139
+ pendingImageElementId: string | null;
140
+ linkOpacity: number;
141
+ trayModeEnabled: boolean;
142
+ colorPalette?: {
143
+ canvasBackground: import("../colors").ColorPaletteCustom;
144
+ elementBackground: import("../colors").ColorPaletteCustom;
145
+ elementStroke: import("../colors").ColorPaletteCustom;
146
+ topPicks: {
147
+ canvasBackground: [string, string, string, string, string];
148
+ elementStroke: [string, string, string, string, string];
149
+ elementBackground: [string, string, string, string, string];
150
+ };
151
+ } | undefined;
152
+ allowWheelZoom?: boolean | undefined;
153
+ allowPinchZoom?: boolean | undefined;
154
+ pinnedScripts?: string[] | undefined;
155
+ customPens?: any[] | undefined;
156
+ currentStrokeOptions?: any;
157
+ resetCustomPen?: any;
158
+ gridColor: string;
159
+ dynamicStyle: string;
160
+ invertBindingBehaviour: boolean;
161
+ selectedLinearElement: import("./linearElementEditor").LinearElementEditor | null;
162
+ };
163
+ commitToHistory: true;
164
+ };
165
+ trackEvent: {
166
+ category: "hyperlink";
167
+ action: string;
168
+ };
169
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
170
+ contextItemLabel: (elements: readonly import("./types").ExcalidrawElement[], appState: Readonly<AppState>) => "labels.link.editEmbed" | "labels.link.edit" | "labels.link.createEmbed" | "labels.link.create";
171
+ predicate: (elements: readonly import("./types").ExcalidrawElement[], appState: AppState) => boolean;
172
+ PanelComponent: ({ elements, appState, updateData }: import("../actions/types").PanelComponentProps) => JSX.Element;
173
+ } & {
174
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
175
+ };
176
+ export declare const getContextMenuLabel: (elements: readonly NonDeletedExcalidrawElement[], appState: AppState) => "labels.link.editEmbed" | "labels.link.edit" | "labels.link.createEmbed" | "labels.link.create";
177
+ export declare const getLinkHandleFromCoords: ([x1, y1, x2, y2]: Bounds, angle: number, appState: UIAppState) => [x: number, y: number, width: number, height: number];
178
+ export declare const isPointHittingLinkIcon: (element: NonDeletedExcalidrawElement, appState: AppState, [x, y]: readonly [number, number]) => boolean;
179
+ export declare const isPointHittingLink: (element: NonDeletedExcalidrawElement, appState: AppState, [x, y]: readonly [number, number], isMobile: boolean) => boolean;
180
+ export declare const showHyperlinkTooltip: (element: NonDeletedExcalidrawElement, appState: AppState) => void;
181
+ export declare const hideHyperlinkToolip: () => void;
182
+ export declare const shouldHideLinkPopup: (element: NonDeletedExcalidrawElement, appState: AppState, [clientX, clientY]: readonly [number, number]) => Boolean;
@@ -1,33 +1,33 @@
1
- import { ExcalidrawLinearElement, ExcalidrawBindableElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawElement } from "./types";
2
- import { AppState } from "../types";
3
- import Scene from "../scene/Scene";
4
- export type SuggestedBinding = NonDeleted<ExcalidrawBindableElement> | SuggestedPointBinding;
5
- export type SuggestedPointBinding = [
6
- NonDeleted<ExcalidrawLinearElement>,
7
- "start" | "end" | "both",
8
- NonDeleted<ExcalidrawBindableElement>
9
- ];
10
- export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent<HTMLElement>) => boolean;
11
- export declare const isBindingEnabled: (appState: AppState) => boolean;
12
- export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep") => void;
13
- export declare const bindOrUnbindSelectedElements: (elements: NonDeleted<ExcalidrawElement>[]) => void;
14
- export declare const maybeBindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, appState: AppState, scene: Scene, pointerCoords: {
15
- x: number;
16
- y: number;
17
- }) => void;
18
- export declare const isLinearElementSimpleAndAlreadyBound: (linearElement: NonDeleted<ExcalidrawLinearElement>, alreadyBoundToId: ExcalidrawBindableElement["id"] | undefined, bindableElement: ExcalidrawBindableElement) => boolean;
19
- export declare const unbindLinearElements: (elements: NonDeleted<ExcalidrawElement>[]) => void;
20
- export declare const getHoveredElementForBinding: (pointerCoords: {
21
- x: number;
22
- y: number;
23
- }, scene: Scene) => NonDeleted<ExcalidrawBindableElement> | null;
24
- export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, options?: {
25
- simultaneouslyUpdated?: readonly ExcalidrawElement[];
26
- newSize?: {
27
- width: number;
28
- height: number;
29
- };
30
- }) => void;
31
- export declare const getEligibleElementsForBinding: (elements: NonDeleted<ExcalidrawElement>[]) => SuggestedBinding[];
32
- export declare const fixBindingsAfterDuplication: (sceneElements: readonly ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>, duplicatesServeAsOld?: "duplicatesServeAsOld" | undefined) => void;
33
- export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;
1
+ import { ExcalidrawLinearElement, ExcalidrawBindableElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawElement } from "./types";
2
+ import { AppState } from "../types";
3
+ import Scene from "../scene/Scene";
4
+ export type SuggestedBinding = NonDeleted<ExcalidrawBindableElement> | SuggestedPointBinding;
5
+ export type SuggestedPointBinding = [
6
+ NonDeleted<ExcalidrawLinearElement>,
7
+ "start" | "end" | "both",
8
+ NonDeleted<ExcalidrawBindableElement>
9
+ ];
10
+ export declare const shouldEnableBindingForPointerEvent: (event: React.PointerEvent<HTMLElement>) => boolean;
11
+ export declare const isBindingEnabled: (appState: AppState) => boolean;
12
+ export declare const bindOrUnbindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, startBindingElement: ExcalidrawBindableElement | null | "keep", endBindingElement: ExcalidrawBindableElement | null | "keep") => void;
13
+ export declare const bindOrUnbindSelectedElements: (elements: NonDeleted<ExcalidrawElement>[]) => void;
14
+ export declare const maybeBindLinearElement: (linearElement: NonDeleted<ExcalidrawLinearElement>, appState: AppState, scene: Scene, pointerCoords: {
15
+ x: number;
16
+ y: number;
17
+ }) => void;
18
+ export declare const isLinearElementSimpleAndAlreadyBound: (linearElement: NonDeleted<ExcalidrawLinearElement>, alreadyBoundToId: ExcalidrawBindableElement["id"] | undefined, bindableElement: ExcalidrawBindableElement) => boolean;
19
+ export declare const unbindLinearElements: (elements: NonDeleted<ExcalidrawElement>[]) => void;
20
+ export declare const getHoveredElementForBinding: (pointerCoords: {
21
+ x: number;
22
+ y: number;
23
+ }, scene: Scene) => NonDeleted<ExcalidrawBindableElement> | null;
24
+ export declare const updateBoundElements: (changedElement: NonDeletedExcalidrawElement, options?: {
25
+ simultaneouslyUpdated?: readonly ExcalidrawElement[];
26
+ newSize?: {
27
+ width: number;
28
+ height: number;
29
+ };
30
+ }) => void;
31
+ export declare const getEligibleElementsForBinding: (elements: NonDeleted<ExcalidrawElement>[]) => SuggestedBinding[];
32
+ export declare const fixBindingsAfterDuplication: (sceneElements: readonly ExcalidrawElement[], oldElements: readonly ExcalidrawElement[], oldIdToDuplicatedId: Map<ExcalidrawElement["id"], ExcalidrawElement["id"]>, duplicatesServeAsOld?: "duplicatesServeAsOld" | undefined) => void;
33
+ export declare const fixBindingsAfterDeletion: (sceneElements: readonly ExcalidrawElement[], deletedElements: readonly ExcalidrawElement[]) => void;
@@ -1,53 +1,53 @@
1
- import { ExcalidrawElement, ExcalidrawLinearElement, Arrowhead, NonDeleted } from "./types";
2
- import { Drawable, Op } from "roughjs/bin/core";
3
- import { Point } from "../types";
4
- export type RectangleBox = {
5
- x: number;
6
- y: number;
7
- width: number;
8
- height: number;
9
- angle: number;
10
- };
11
- export type Bounds = readonly [x1: number, y1: number, x2: number, y2: number];
12
- export declare class ElementBounds {
13
- private static boundsCache;
14
- static getBounds(element: ExcalidrawElement): Bounds;
15
- private static calculateBounds;
16
- }
17
- export declare const getElementAbsoluteCoords: (element: ExcalidrawElement, includeBoundText?: boolean) => [number, number, number, number, number, number];
18
- /**
19
- * for a given element, `getElementLineSegments` returns line segments
20
- * that can be used for visual collision detection (useful for frames)
21
- * as opposed to bounding box collision detection
22
- */
23
- export declare const getElementLineSegments: (element: ExcalidrawElement) => [Point, Point][];
24
- /**
25
- * Scene -> Scene coords, but in x1,x2,y1,y2 format.
26
- *
27
- * Rectangle here means any rectangular frame, not an excalidraw element.
28
- */
29
- export declare const getRectangleBoxAbsoluteCoords: (boxSceneCoords: RectangleBox) => number[];
30
- export declare const pointRelativeTo: (element: ExcalidrawElement, absoluteCoords: readonly [number, number]) => readonly [number, number];
31
- export declare const getDiamondPoints: (element: ExcalidrawElement) => number[];
32
- export declare const getCurvePathOps: (shape: Drawable) => Op[];
33
- export declare const getMinMaxXYFromCurvePathOps: (ops: Op[], transformXY?: ((x: number, y: number) => [number, number]) | undefined) => [number, number, number, number];
34
- export declare const getArrowheadPoints: (element: ExcalidrawLinearElement, shape: Drawable[], position: "start" | "end", arrowhead: Arrowhead) => number[] | null;
35
- export declare const getElementBounds: (element: ExcalidrawElement) => Bounds;
36
- export declare const getCommonBounds: (elements: readonly ExcalidrawElement[]) => Bounds;
37
- export declare const getResizedElementAbsoluteCoords: (element: ExcalidrawElement, nextWidth: number, nextHeight: number, normalizePoints: boolean) => [number, number, number, number];
38
- export declare const getElementPointsCoords: (element: ExcalidrawLinearElement, points: readonly (readonly [number, number])[]) => [number, number, number, number];
39
- export declare const getClosestElementBounds: (elements: readonly ExcalidrawElement[], from: {
40
- x: number;
41
- y: number;
42
- }) => Bounds;
43
- export interface BoundingBox {
44
- minX: number;
45
- minY: number;
46
- maxX: number;
47
- maxY: number;
48
- midX: number;
49
- midY: number;
50
- width: number;
51
- height: number;
52
- }
53
- export declare const getCommonBoundingBox: (elements: ExcalidrawElement[] | readonly NonDeleted<ExcalidrawElement>[]) => BoundingBox;
1
+ import { ExcalidrawElement, ExcalidrawLinearElement, Arrowhead, NonDeleted } from "./types";
2
+ import { Drawable, Op } from "roughjs/bin/core";
3
+ import { Point } from "../types";
4
+ export type RectangleBox = {
5
+ x: number;
6
+ y: number;
7
+ width: number;
8
+ height: number;
9
+ angle: number;
10
+ };
11
+ export type Bounds = readonly [x1: number, y1: number, x2: number, y2: number];
12
+ export declare class ElementBounds {
13
+ private static boundsCache;
14
+ static getBounds(element: ExcalidrawElement): Bounds;
15
+ private static calculateBounds;
16
+ }
17
+ export declare const getElementAbsoluteCoords: (element: ExcalidrawElement, includeBoundText?: boolean) => [number, number, number, number, number, number];
18
+ /**
19
+ * for a given element, `getElementLineSegments` returns line segments
20
+ * that can be used for visual collision detection (useful for frames)
21
+ * as opposed to bounding box collision detection
22
+ */
23
+ export declare const getElementLineSegments: (element: ExcalidrawElement) => [Point, Point][];
24
+ /**
25
+ * Scene -> Scene coords, but in x1,x2,y1,y2 format.
26
+ *
27
+ * Rectangle here means any rectangular frame, not an excalidraw element.
28
+ */
29
+ export declare const getRectangleBoxAbsoluteCoords: (boxSceneCoords: RectangleBox) => number[];
30
+ export declare const pointRelativeTo: (element: ExcalidrawElement, absoluteCoords: readonly [number, number]) => readonly [number, number];
31
+ export declare const getDiamondPoints: (element: ExcalidrawElement) => number[];
32
+ export declare const getCurvePathOps: (shape: Drawable) => Op[];
33
+ export declare const getMinMaxXYFromCurvePathOps: (ops: Op[], transformXY?: ((x: number, y: number) => [number, number]) | undefined) => [number, number, number, number];
34
+ export declare const getArrowheadPoints: (element: ExcalidrawLinearElement, shape: Drawable[], position: "start" | "end", arrowhead: Arrowhead) => number[] | null;
35
+ export declare const getElementBounds: (element: ExcalidrawElement) => Bounds;
36
+ export declare const getCommonBounds: (elements: readonly ExcalidrawElement[]) => Bounds;
37
+ export declare const getResizedElementAbsoluteCoords: (element: ExcalidrawElement, nextWidth: number, nextHeight: number, normalizePoints: boolean) => [number, number, number, number];
38
+ export declare const getElementPointsCoords: (element: ExcalidrawLinearElement, points: readonly (readonly [number, number])[]) => [number, number, number, number];
39
+ export declare const getClosestElementBounds: (elements: readonly ExcalidrawElement[], from: {
40
+ x: number;
41
+ y: number;
42
+ }) => Bounds;
43
+ export interface BoundingBox {
44
+ minX: number;
45
+ minY: number;
46
+ maxX: number;
47
+ maxY: number;
48
+ midX: number;
49
+ midY: number;
50
+ width: number;
51
+ height: number;
52
+ }
53
+ export declare const getCommonBoundingBox: (elements: ExcalidrawElement[] | readonly NonDeleted<ExcalidrawElement>[]) => BoundingBox;
@@ -1,21 +1,21 @@
1
- import * as GA from "../ga";
2
- import { NonDeletedExcalidrawElement, ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawRectangleElement, ExcalidrawEmbeddableElement, ExcalidrawDiamondElement, ExcalidrawTextElement, ExcalidrawEllipseElement, NonDeleted, ExcalidrawImageElement, ExcalidrawFrameElement } from "./types";
3
- import { FrameNameBoundsCache, Point } from "../types";
4
- import { AppState } from "../types";
5
- export declare const hitTest: (element: NonDeletedExcalidrawElement, appState: AppState, frameNameBoundsCache: FrameNameBoundsCache, x: number, y: number) => boolean;
6
- export declare const isHittingElementBoundingBoxWithoutHittingElement: (element: NonDeletedExcalidrawElement, appState: AppState, frameNameBoundsCache: FrameNameBoundsCache, x: number, y: number) => boolean;
7
- export declare const isHittingElementNotConsideringBoundingBox: (element: NonDeletedExcalidrawElement, appState: AppState, frameNameBoundsCache: FrameNameBoundsCache | null, point: readonly [number, number]) => boolean;
8
- export declare const isPointHittingElementBoundingBox: (element: NonDeleted<ExcalidrawElement>, [x, y]: readonly [number, number], threshold: number, frameNameBoundsCache: FrameNameBoundsCache | null) => boolean;
9
- export declare const bindingBorderTest: (element: NonDeleted<ExcalidrawBindableElement>, { x, y }: {
10
- x: number;
11
- y: number;
12
- }) => boolean;
13
- export declare const maxBindingGap: (element: ExcalidrawElement, elementWidth: number, elementHeight: number) => number;
14
- export declare const distanceToBindableElement: (element: ExcalidrawBindableElement, point: readonly [number, number]) => number;
15
- export declare const pointInAbsoluteCoords: (element: ExcalidrawElement, point: readonly [number, number]) => readonly [number, number];
16
- export declare const determineFocusDistance: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number]) => number;
17
- export declare const determineFocusPoint: (element: ExcalidrawBindableElement, focus: number, adjecentPoint: readonly [number, number]) => readonly [number, number];
18
- export declare const intersectElementWithLine: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number) => Point[];
19
- export declare const getCircleIntersections: (center: readonly [number, number, number, number, number, number, number, number], radius: number, line: readonly [number, number, number, number, number, number, number, number]) => GA.Point[];
20
- export declare const findFocusPointForEllipse: (ellipse: ExcalidrawEllipseElement, relativeDistance: number, point: readonly [number, number, number, number, number, number, number, number]) => readonly [number, number, number, number, number, number, number, number];
21
- export declare const findFocusPointForRectangulars: (element: ExcalidrawRectangleElement | ExcalidrawImageElement | ExcalidrawDiamondElement | ExcalidrawTextElement | ExcalidrawEmbeddableElement | ExcalidrawFrameElement, relativeDistance: number, point: readonly [number, number, number, number, number, number, number, number]) => readonly [number, number, number, number, number, number, number, number];
1
+ import * as GA from "../ga";
2
+ import { NonDeletedExcalidrawElement, ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawRectangleElement, ExcalidrawEmbeddableElement, ExcalidrawDiamondElement, ExcalidrawTextElement, ExcalidrawEllipseElement, NonDeleted, ExcalidrawImageElement, ExcalidrawFrameElement } from "./types";
3
+ import { FrameNameBoundsCache, Point } from "../types";
4
+ import { AppState } from "../types";
5
+ export declare const hitTest: (element: NonDeletedExcalidrawElement, appState: AppState, frameNameBoundsCache: FrameNameBoundsCache, x: number, y: number) => boolean;
6
+ export declare const isHittingElementBoundingBoxWithoutHittingElement: (element: NonDeletedExcalidrawElement, appState: AppState, frameNameBoundsCache: FrameNameBoundsCache, x: number, y: number) => boolean;
7
+ export declare const isHittingElementNotConsideringBoundingBox: (element: NonDeletedExcalidrawElement, appState: AppState, frameNameBoundsCache: FrameNameBoundsCache | null, point: readonly [number, number]) => boolean;
8
+ export declare const isPointHittingElementBoundingBox: (element: NonDeleted<ExcalidrawElement>, [x, y]: readonly [number, number], threshold: number, frameNameBoundsCache: FrameNameBoundsCache | null) => boolean;
9
+ export declare const bindingBorderTest: (element: NonDeleted<ExcalidrawBindableElement>, { x, y }: {
10
+ x: number;
11
+ y: number;
12
+ }) => boolean;
13
+ export declare const maxBindingGap: (element: ExcalidrawElement, elementWidth: number, elementHeight: number) => number;
14
+ export declare const distanceToBindableElement: (element: ExcalidrawBindableElement, point: readonly [number, number]) => number;
15
+ export declare const pointInAbsoluteCoords: (element: ExcalidrawElement, point: readonly [number, number]) => readonly [number, number];
16
+ export declare const determineFocusDistance: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number]) => number;
17
+ export declare const determineFocusPoint: (element: ExcalidrawBindableElement, focus: number, adjecentPoint: readonly [number, number]) => readonly [number, number];
18
+ export declare const intersectElementWithLine: (element: ExcalidrawBindableElement, a: readonly [number, number], b: readonly [number, number], gap?: number) => Point[];
19
+ export declare const getCircleIntersections: (center: readonly [number, number, number, number, number, number, number, number], radius: number, line: readonly [number, number, number, number, number, number, number, number]) => GA.Point[];
20
+ export declare const findFocusPointForEllipse: (ellipse: ExcalidrawEllipseElement, relativeDistance: number, point: readonly [number, number, number, number, number, number, number, number]) => readonly [number, number, number, number, number, number, number, number];
21
+ export declare const findFocusPointForRectangulars: (element: ExcalidrawRectangleElement | ExcalidrawImageElement | ExcalidrawDiamondElement | ExcalidrawTextElement | ExcalidrawEmbeddableElement | ExcalidrawFrameElement, relativeDistance: number, point: readonly [number, number, number, number, number, number, number, number]) => readonly [number, number, number, number, number, number, number, number];
@@ -1,6 +1,6 @@
1
- import { NonDeletedExcalidrawElement } from "./types";
2
- import { AppState, PointerDownState } from "../types";
3
- import Scene from "../scene/Scene";
4
- export declare const dragSelectedElements: (pointerDownState: PointerDownState, selectedElements: NonDeletedExcalidrawElement[], pointerX: number, pointerY: number, lockDirection: boolean | undefined, distanceX: number | undefined, distanceY: number | undefined, appState: AppState, scene: Scene) => void;
5
- export declare const getDragOffsetXY: (selectedElements: NonDeletedExcalidrawElement[], x: number, y: number) => [number, number];
6
- export declare const dragNewElement: (draggingElement: NonDeletedExcalidrawElement, elementType: AppState["activeTool"]["type"], originX: number, originY: number, x: number, y: number, width: number, height: number, shouldMaintainAspectRatio: boolean, shouldResizeFromCenter: boolean, widthAspectRatio?: number | null) => void;
1
+ import { NonDeletedExcalidrawElement } from "./types";
2
+ import { AppState, PointerDownState } from "../types";
3
+ import Scene from "../scene/Scene";
4
+ export declare const dragSelectedElements: (pointerDownState: PointerDownState, selectedElements: NonDeletedExcalidrawElement[], pointerX: number, pointerY: number, lockDirection: boolean | undefined, distanceX: number | undefined, distanceY: number | undefined, appState: AppState, scene: Scene) => void;
5
+ export declare const getDragOffsetXY: (selectedElements: NonDeletedExcalidrawElement[], x: number, y: number) => [number, number];
6
+ export declare const dragNewElement: (draggingElement: NonDeletedExcalidrawElement, elementType: AppState["activeTool"]["type"], originX: number, originY: number, x: number, y: number, width: number, height: number, shouldMaintainAspectRatio: boolean, shouldResizeFromCenter: boolean, widthAspectRatio?: number | null) => void;