@excalidraw/excalidraw 0.18.0-58f7d33 → 0.18.0-5fffc47

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 (198) hide show
  1. package/dist/dev/chunk-CP5DND7P.js +7 -0
  2. package/dist/dev/chunk-CP5DND7P.js.map +7 -0
  3. package/dist/dev/{chunk-X3RYHLJU.js → chunk-PWQMCSHA.js} +26 -8
  4. package/dist/dev/chunk-PWQMCSHA.js.map +7 -0
  5. package/dist/dev/chunk-YMRX7R7U.js +5671 -0
  6. package/dist/dev/chunk-YMRX7R7U.js.map +7 -0
  7. package/dist/dev/data/{image-U2IPNUKJ.js → image-L23D26XS.js} +3 -3
  8. package/dist/dev/index.css +964 -501
  9. package/dist/dev/index.css.map +3 -3
  10. package/dist/dev/index.js +11915 -10771
  11. package/dist/dev/index.js.map +4 -4
  12. package/dist/dev/locales/{en-CKWC2GMK.js → en-V3NQTBPG.js} +2 -2
  13. package/dist/dev/subset-shared.chunk.js +1 -1
  14. package/dist/dev/subset-worker.chunk.js +1 -1
  15. package/dist/prod/chunk-A66AFZZU.js +7 -0
  16. package/dist/prod/chunk-GF46JCB3.js +12 -0
  17. package/dist/prod/chunk-HT4FKTIQ.js +4 -0
  18. package/dist/prod/data/image-NWF7UX55.js +1 -0
  19. package/dist/prod/index.css +1 -1
  20. package/dist/prod/index.js +25 -17
  21. package/dist/prod/locales/{en-SBO6ZHT2.js → en-LQE6K457.js} +1 -1
  22. package/dist/prod/subset-shared.chunk.js +1 -1
  23. package/dist/prod/subset-worker.chunk.js +1 -1
  24. package/dist/types/common/src/constants.d.ts +44 -7
  25. package/dist/types/{excalidraw → common/src}/emitter.d.ts +1 -1
  26. package/dist/types/common/src/font-metadata.d.ts +4 -2
  27. package/dist/types/common/src/index.d.ts +1 -0
  28. package/dist/types/common/src/utility-types.d.ts +5 -0
  29. package/dist/types/common/src/utils.d.ts +20 -4
  30. package/dist/types/{excalidraw/scene → element/src}/Scene.d.ts +16 -15
  31. package/dist/types/element/src/align.d.ts +4 -3
  32. package/dist/types/element/src/binding.d.ts +26 -16
  33. package/dist/types/element/src/bounds.d.ts +14 -6
  34. package/dist/types/element/src/collision.d.ts +18 -12
  35. package/dist/types/element/src/cropElement.d.ts +1 -1
  36. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +77 -40
  37. package/dist/types/element/src/distance.d.ts +2 -2
  38. package/dist/types/element/src/distribute.d.ts +2 -1
  39. package/dist/types/element/src/dragElements.d.ts +3 -2
  40. package/dist/types/element/src/duplicate.d.ts +10 -13
  41. package/dist/types/element/src/elbowArrow.d.ts +1 -1
  42. package/dist/types/element/src/flowchart.d.ts +3 -2
  43. package/dist/types/element/src/fractionalIndex.d.ts +9 -3
  44. package/dist/types/element/src/frame.d.ts +5 -4
  45. package/dist/types/element/src/groups.d.ts +1 -0
  46. package/dist/types/element/src/index.d.ts +44 -2
  47. package/dist/types/element/src/linearElementEditor.d.ts +23 -36
  48. package/dist/types/element/src/mutateElement.d.ts +11 -3
  49. package/dist/types/element/src/newElement.d.ts +4 -3
  50. package/dist/types/element/src/positionElementsOnGrid.d.ts +2 -0
  51. package/dist/types/element/src/renderElement.d.ts +4 -1
  52. package/dist/types/element/src/resizeElements.d.ts +5 -4
  53. package/dist/types/element/src/selection.d.ts +11 -5
  54. package/dist/types/element/src/shape.d.ts +42 -0
  55. package/dist/types/element/src/sizeHelpers.d.ts +2 -2
  56. package/dist/types/element/src/store.d.ts +237 -0
  57. package/dist/types/element/src/textElement.d.ts +4 -3
  58. package/dist/types/element/src/typeChecks.d.ts +19 -1
  59. package/dist/types/element/src/types.d.ts +15 -2
  60. package/dist/types/element/src/utils.d.ts +16 -6
  61. package/dist/types/element/src/zindex.d.ts +1 -1
  62. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +57 -54
  63. package/dist/types/excalidraw/actions/actionBoundText.d.ts +38 -36
  64. package/dist/types/excalidraw/actions/actionCanvas.d.ts +256 -242
  65. package/dist/types/excalidraw/actions/actionClipboard.d.ts +114 -106
  66. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +19 -18
  67. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +57 -53
  68. package/dist/types/excalidraw/actions/actionElementLink.d.ts +18 -17
  69. package/dist/types/excalidraw/actions/actionElementLock.d.ts +53 -52
  70. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +19 -18
  71. package/dist/types/excalidraw/actions/actionExport.d.ts +181 -172
  72. package/dist/types/excalidraw/actions/actionFinalize.d.ts +85 -42
  73. package/dist/types/excalidraw/actions/actionFrame.d.ts +123 -119
  74. package/dist/types/excalidraw/actions/actionGroup.d.ts +38 -36
  75. package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -2
  76. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +545 -20
  77. package/dist/types/excalidraw/actions/actionLink.d.ts +18 -17
  78. package/dist/types/excalidraw/actions/actionMenu.d.ts +18 -391
  79. package/dist/types/excalidraw/actions/actionNavigate.d.ts +38 -36
  80. package/dist/types/excalidraw/actions/actionProperties.d.ts +305 -273
  81. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +19 -18
  82. package/dist/types/excalidraw/actions/actionStyles.d.ts +19 -18
  83. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +19 -18
  84. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +19 -18
  85. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +18 -190
  86. package/dist/types/excalidraw/actions/actionToggleShapeSwitch.d.ts +19 -0
  87. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +19 -18
  88. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +19 -18
  89. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +19 -18
  90. package/dist/types/excalidraw/actions/index.d.ts +2 -2
  91. package/dist/types/excalidraw/actions/types.d.ts +4 -3
  92. package/dist/types/excalidraw/appState.d.ts +23 -10
  93. package/dist/types/excalidraw/clipboard.d.ts +64 -1
  94. package/dist/types/excalidraw/components/Actions.d.ts +17 -7
  95. package/dist/types/excalidraw/components/App.d.ts +35 -22
  96. package/dist/types/excalidraw/components/ButtonIcon.d.ts +1 -0
  97. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -1
  98. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +6 -1
  99. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +1 -1
  100. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +4 -3
  101. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +3 -3
  102. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +3 -2
  103. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  104. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  105. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  106. package/dist/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -0
  107. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +23 -0
  108. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +4 -3
  109. package/dist/types/excalidraw/components/Ellipsify.d.ts +4 -0
  110. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +1 -1
  111. package/dist/types/excalidraw/components/FontPicker/FontPicker.d.ts +2 -1
  112. package/dist/types/excalidraw/components/FontPicker/FontPickerTrigger.d.ts +3 -1
  113. package/dist/types/excalidraw/components/InlineIcon.d.ts +3 -1
  114. package/dist/types/excalidraw/components/LayerUI.d.ts +2 -1
  115. package/dist/types/excalidraw/components/LibraryMenuSection.d.ts +1 -1
  116. package/dist/types/excalidraw/components/MobileMenu.d.ts +3 -5
  117. package/dist/types/excalidraw/components/MobileToolBar.d.ts +11 -0
  118. package/dist/types/excalidraw/components/PropertiesPopover.d.ts +1 -0
  119. package/dist/types/excalidraw/components/{ButtonIconSelect.d.ts → RadioSelection.d.ts} +1 -1
  120. package/dist/types/excalidraw/components/Range.d.ts +3 -3
  121. package/dist/types/excalidraw/components/Stats/Angle.d.ts +1 -1
  122. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  123. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  124. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +1 -1
  125. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +12 -2
  126. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
  127. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +1 -1
  128. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +1 -1
  129. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
  130. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +1 -1
  131. package/dist/types/excalidraw/components/Stats/Position.d.ts +1 -1
  132. package/dist/types/excalidraw/components/Stats/utils.d.ts +4 -11
  133. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -2
  134. package/dist/types/excalidraw/components/TextField.d.ts +1 -0
  135. package/dist/types/excalidraw/components/ToolPopover.d.ts +25 -0
  136. package/dist/types/excalidraw/components/UnlockPopup.d.ts +8 -0
  137. package/dist/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +1 -0
  138. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenu.d.ts +4 -2
  139. package/dist/types/excalidraw/components/dropdownMenu/DropdownMenuContent.d.ts +2 -1
  140. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +3 -2
  141. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +2 -1
  142. package/dist/types/excalidraw/components/icons.d.ts +8 -0
  143. package/dist/types/excalidraw/components/shapes.d.ts +129 -1
  144. package/dist/types/excalidraw/data/blob.d.ts +3 -7
  145. package/dist/types/excalidraw/data/reconcile.d.ts +1 -0
  146. package/dist/types/excalidraw/data/restore.d.ts +6 -1
  147. package/dist/types/excalidraw/data/transform.d.ts +1 -1
  148. package/dist/types/excalidraw/data/types.d.ts +4 -1
  149. package/dist/types/excalidraw/editor-jotai.d.ts +6 -6
  150. package/dist/types/excalidraw/eraser/index.d.ts +0 -2
  151. package/dist/types/excalidraw/fonts/Fonts.d.ts +1 -1
  152. package/dist/types/excalidraw/history.d.ts +30 -22
  153. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  154. package/dist/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  155. package/dist/types/excalidraw/hooks/useTextEditorFocus.d.ts +14 -0
  156. package/dist/types/excalidraw/index.d.ts +11 -10
  157. package/dist/types/excalidraw/lasso/index.d.ts +1 -0
  158. package/dist/types/excalidraw/lasso/utils.d.ts +2 -1
  159. package/dist/types/excalidraw/renderer/helpers.d.ts +7 -2
  160. package/dist/types/excalidraw/renderer/staticScene.d.ts +4 -1
  161. package/dist/types/excalidraw/scene/Renderer.d.ts +1 -2
  162. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  163. package/dist/types/excalidraw/scene/scrollbars.d.ts +2 -3
  164. package/dist/types/excalidraw/scene/types.d.ts +2 -0
  165. package/dist/types/excalidraw/snapping.d.ts +2 -2
  166. package/dist/types/excalidraw/types.d.ts +46 -16
  167. package/dist/types/excalidraw/wysiwyg/textWysiwyg.d.ts +3 -1
  168. package/dist/types/math/src/angle.d.ts +2 -0
  169. package/dist/types/math/src/constants.d.ts +3 -0
  170. package/dist/types/math/src/curve.d.ts +34 -0
  171. package/dist/types/math/src/index.d.ts +1 -0
  172. package/dist/types/math/src/point.d.ts +1 -1
  173. package/dist/types/math/src/rectangle.d.ts +2 -0
  174. package/dist/types/math/src/segment.d.ts +1 -0
  175. package/dist/types/math/src/vector.d.ts +8 -2
  176. package/dist/types/utils/src/bbox.d.ts +1 -1
  177. package/dist/types/utils/src/index.d.ts +1 -1
  178. package/dist/types/utils/src/withinBounds.d.ts +1 -1
  179. package/history.ts +146 -109
  180. package/package.json +13 -10
  181. package/dist/dev/chunk-KKJLIRJU.js +0 -7
  182. package/dist/dev/chunk-KKJLIRJU.js.map +0 -7
  183. package/dist/dev/chunk-LEJJ2YZY.js +0 -18711
  184. package/dist/dev/chunk-LEJJ2YZY.js.map +0 -7
  185. package/dist/dev/chunk-X3RYHLJU.js.map +0 -7
  186. package/dist/prod/chunk-IUH5AXLB.js +0 -12
  187. package/dist/prod/chunk-QUX7WTVH.js +0 -7
  188. package/dist/prod/chunk-RQK6WG4F.js +0 -33
  189. package/dist/prod/data/image-UQDATCXC.js +0 -1
  190. package/dist/types/element/src/Shape.d.ts +0 -17
  191. package/dist/types/element/src/ShapeCache.d.ts +0 -25
  192. package/dist/types/element/src/shapes.d.ts +0 -23
  193. package/dist/types/excalidraw/components/ButtonSelect.d.ts +0 -9
  194. package/dist/types/excalidraw/store.d.ts +0 -129
  195. package/dist/types/excalidraw/visualdebug.d.ts +0 -41
  196. package/dist/types/utils/src/collision.d.ts +0 -8
  197. /package/dist/dev/data/{image-U2IPNUKJ.js.map → image-L23D26XS.js.map} +0 -0
  198. /package/dist/dev/locales/{en-CKWC2GMK.js.map → en-V3NQTBPG.js.map} +0 -0
@@ -1,16 +1,14 @@
1
1
  import React from "react";
2
- import { type EXPORT_IMAGE_TYPES } from "@excalidraw/common";
3
- import { LinearElementEditor } from "@excalidraw/element/linearElementEditor";
4
- import { FlowChartCreator } from "@excalidraw/element/flowchart";
5
- import type { ExcalidrawElement, NonDeleted, InitializedExcalidrawImageElement, ExcalidrawImageElement, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "@excalidraw/element/types";
2
+ import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
3
+ import { LinearElementEditor, FlowChartCreator, Scene, Store, type ElementUpdate, StoreDelta, type ApplyToOptions } from "@excalidraw/element";
4
+ import type { ExcalidrawElement, NonDeleted, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered, SceneElementsMap } from "@excalidraw/element/types";
5
+ import type { Mutable } from "@excalidraw/common/utility-types";
6
6
  import { ActionManager } from "../actions/manager";
7
7
  import { AnimationFrameHandler } from "../animation-frame-handler";
8
8
  import { History } from "../history";
9
- import Scene from "../scene/Scene";
10
9
  import { Fonts } from "../fonts";
10
+ import { type WritableAtom } from "../editor-jotai";
11
11
  import { Renderer } from "../scene/Renderer";
12
- import { Emitter } from "../emitter";
13
- import { Store } from "../store";
14
12
  import { LaserTrails } from "../laser-trails";
15
13
  import { LassoTrail } from "../lasso";
16
14
  import { EraserTrail } from "../eraser";
@@ -80,6 +78,7 @@ declare class App extends React.Component<AppProps, AppState> {
80
78
  /** embeds that have been inserted to DOM (as a perf optim, we don't want to
81
79
  * insert to DOM before user initially scrolls to them) */
82
80
  private initializedEmbeds;
81
+ private handleToastClose;
83
82
  private elementsPendingErasure;
84
83
  flowChartCreator: FlowChartCreator;
85
84
  private flowChartNavigator;
@@ -124,7 +123,7 @@ declare class App extends React.Component<AppProps, AppState> {
124
123
  };
125
124
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
126
125
  resize: {
127
- handleType: import("@excalidraw/element/transformHandles").MaybeTransformHandleType;
126
+ handleType: import("@excalidraw/element").MaybeTransformHandleType;
128
127
  isResizing: boolean;
129
128
  offset: {
130
129
  x: number;
@@ -150,6 +149,11 @@ declare class App extends React.Component<AppProps, AppState> {
150
149
  x: number;
151
150
  y: number;
152
151
  } | null;
152
+ origin: {
153
+ x: number;
154
+ y: number;
155
+ };
156
+ blockDragging: boolean;
153
157
  };
154
158
  eventListeners: {
155
159
  onMove: {
@@ -189,7 +193,7 @@ declare class App extends React.Component<AppProps, AppState> {
189
193
  };
190
194
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
191
195
  resize: {
192
- handleType: import("@excalidraw/element/transformHandles").MaybeTransformHandleType;
196
+ handleType: import("@excalidraw/element").MaybeTransformHandleType;
193
197
  isResizing: boolean;
194
198
  offset: {
195
199
  x: number;
@@ -215,6 +219,11 @@ declare class App extends React.Component<AppProps, AppState> {
215
219
  x: number;
216
220
  y: number;
217
221
  } | null;
222
+ origin: {
223
+ x: number;
224
+ y: number;
225
+ };
226
+ blockDragging: boolean;
218
227
  };
219
228
  eventListeners: {
220
229
  onMove: {
@@ -237,6 +246,7 @@ declare class App extends React.Component<AppProps, AppState> {
237
246
  missingPointerEventCleanupEmitter: Emitter<[event: PointerEvent | null]>;
238
247
  onRemoveEventListenersEmitter: Emitter<[]>;
239
248
  constructor(props: AppProps);
249
+ updateEditorAtom: <Value, Args extends unknown[], Result>(atom: WritableAtom<Value, Args, Result>, ...args: Args) => Result;
240
250
  private onWindowMessage;
241
251
  private cacheEmbeddableRef;
242
252
  /**
@@ -258,6 +268,7 @@ declare class App extends React.Component<AppProps, AppState> {
258
268
  render(): import("react/jsx-runtime").JSX.Element;
259
269
  focusContainer: AppClassProperties["focusContainer"];
260
270
  getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
271
+ getSceneElementsMapIncludingDeleted: () => Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
261
272
  getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
262
273
  onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
263
274
  onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
@@ -289,6 +300,7 @@ declare class App extends React.Component<AppProps, AppState> {
289
300
  private resetScene;
290
301
  private initializeScene;
291
302
  private isMobileBreakpoint;
303
+ private isTabletBreakpoint;
292
304
  private refreshViewportBreakpoints;
293
305
  private refreshEditorBreakpoints;
294
306
  private clearImageShapeCache;
@@ -307,6 +319,7 @@ declare class App extends React.Component<AppProps, AppState> {
307
319
  private static resetTapTwice;
308
320
  private onTouchStart;
309
321
  private onTouchEnd;
322
+ private insertClipboardContent;
310
323
  pasteFromClipboard: (event: ClipboardEvent) => Promise<void>;
311
324
  addElementsFromPasteOrLibrary: (opts: {
312
325
  elements: readonly ExcalidrawElement[];
@@ -388,6 +401,8 @@ declare class App extends React.Component<AppProps, AppState> {
388
401
  */
389
402
  captureUpdate?: SceneData["captureUpdate"];
390
403
  }) => void;
404
+ applyDeltas: (deltas: StoreDelta[], options?: ApplyToOptions) => [SceneElementsMap, AppState, boolean];
405
+ mutateElement: <TElement extends Mutable<ExcalidrawElement>>(element: TElement, updates: ElementUpdate<TElement>, informMutation?: boolean) => TElement;
391
406
  private triggerRender;
392
407
  /**
393
408
  * @returns whether the menu was toggled on or off
@@ -402,12 +417,9 @@ declare class App extends React.Component<AppProps, AppState> {
402
417
  private onKeyDown;
403
418
  private onKeyUp;
404
419
  private isToolSupported;
405
- setActiveTool: (tool: (({
406
- type: Exclude<ToolType, "image">;
420
+ setActiveTool: (tool: ({
421
+ type: ToolType;
407
422
  } | {
408
- type: Extract<ToolType, "image">;
409
- insertOnCanvasDirectly?: boolean;
410
- }) | {
411
423
  type: "custom";
412
424
  customType: string;
413
425
  }) & {
@@ -433,7 +445,7 @@ declare class App extends React.Component<AppProps, AppState> {
433
445
  private getTextElementAtPosition;
434
446
  private getElementAtPosition;
435
447
  private getElementsAtPosition;
436
- getElementHitThreshold(): number;
448
+ getElementHitThreshold(element: ExcalidrawElement): number;
437
449
  private hitElement;
438
450
  private getTextBindableContainerAtPosition;
439
451
  private startTextEditing;
@@ -481,7 +493,7 @@ declare class App extends React.Component<AppProps, AppState> {
481
493
  sceneY: number;
482
494
  link: string;
483
495
  }) => NonDeleted<ExcalidrawEmbeddableElement> | undefined;
484
- private createImageElement;
496
+ private newImagePlaceholder;
485
497
  private handleLinearElementOnPointerDown;
486
498
  private getCurrentItemRoundness;
487
499
  private createGenericElementOnPointerDown;
@@ -497,12 +509,13 @@ declare class App extends React.Component<AppProps, AppState> {
497
509
  private eraseElements;
498
510
  private initializeImage;
499
511
  /**
500
- * inserts image into elements array and rerenders
512
+ * use during async image initialization,
513
+ * when the placeholder image could have been modified in the meantime,
514
+ * and when you don't want to loose those modifications
501
515
  */
502
- insertImageElement: (imageElement: ExcalidrawImageElement, imageFile: File, showCursorImagePreview?: boolean) => Promise<NonDeleted<InitializedExcalidrawImageElement> | null | undefined>;
503
- private setImagePreviewCursor;
504
- private onImageAction;
505
- initializeImageDimensions: (imageElement: ExcalidrawImageElement, forceNaturalSize?: boolean) => void;
516
+ private getLatestInitializedImageElement;
517
+ private onImageToolbarButtonClick;
518
+ private getImageNaturalDimensions;
506
519
  /** updates image cache, refreshing updated elements and/or setting status
507
520
  to error for images that fail during <img> element creation */
508
521
  private updateImageCache;
@@ -513,9 +526,9 @@ declare class App extends React.Component<AppProps, AppState> {
513
526
  private scheduleImageRefresh;
514
527
  private updateBindingEnabledOnPointerMove;
515
528
  private maybeSuggestBindingAtCursor;
516
- private maybeSuggestBindingsForLinearElementAtCoords;
517
529
  private clearSelection;
518
530
  private handleInteractiveCanvasRef;
531
+ private insertImages;
519
532
  private handleAppOnDrop;
520
533
  loadFileToCanvas: (file: File, fileHandle: FileSystemHandle | null) => Promise<void>;
521
534
  private handleCanvasContextMenu;
@@ -10,6 +10,7 @@ interface ButtonIconProps {
10
10
  /** include standalone style (could interfere with parent styles) */
11
11
  standalone?: boolean;
12
12
  onClick: (event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
13
+ style?: React.CSSProperties;
13
14
  }
14
15
  export declare const ButtonIcon: import("react").ForwardRefExoticComponent<ButtonIconProps & import("react").RefAttributes<HTMLButtonElement>>;
15
16
  export {};
@@ -4,6 +4,7 @@ interface ColorInputProps {
4
4
  onChange: (color: string) => void;
5
5
  label: string;
6
6
  colorPickerType: ColorPickerType;
7
+ placeholder?: string;
7
8
  }
8
- export declare const ColorInput: ({ color, onChange, label, colorPickerType, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const ColorInput: ({ color, onChange, label, colorPickerType, placeholder, }: ColorInputProps) => import("react/jsx-runtime").JSX.Element;
9
10
  export {};
@@ -6,7 +6,11 @@ import type { AppState } from "../../types";
6
6
  export declare const getColor: (color: string) => string | null;
7
7
  interface ColorPickerProps {
8
8
  type: ColorPickerType;
9
- color: string;
9
+ /**
10
+ * null indicates no color should be displayed as active
11
+ * (e.g. when multiple shapes selected with different colors)
12
+ */
13
+ color: string | null;
10
14
  onChange: (color: string) => void;
11
15
  label: string;
12
16
  elements: readonly ExcalidrawElement[];
@@ -14,6 +18,7 @@ interface ColorPickerProps {
14
18
  palette?: ColorPaletteCustom | null;
15
19
  topPicks?: ColorTuple;
16
20
  updateData: (formData?: any) => void;
21
+ compactMode?: boolean;
17
22
  }
18
23
  export declare const ColorPicker: ({ type, color, onChange, label, elements, palette, topPicks, updateData, appState, }: ColorPickerProps) => import("react/jsx-runtime").JSX.Element;
19
24
  export {};
@@ -1,6 +1,6 @@
1
1
  interface CustomColorListProps {
2
2
  colors: string[];
3
- color: string;
3
+ color: string | null;
4
4
  onChange: (color: string) => void;
5
5
  label: string;
6
6
  }
@@ -3,16 +3,17 @@ import type { ExcalidrawElement } from "@excalidraw/element/types";
3
3
  import type { ColorPaletteCustom } from "@excalidraw/common";
4
4
  import type { ColorPickerType } from "./colorPickerUtils";
5
5
  interface PickerProps {
6
- color: string;
6
+ color: string | null;
7
7
  onChange: (color: string) => void;
8
- label: string;
9
8
  type: ColorPickerType;
10
9
  elements: readonly ExcalidrawElement[];
11
10
  palette: ColorPaletteCustom;
12
11
  updateData: (formData?: any) => void;
13
12
  children?: React.ReactNode;
13
+ showTitle?: boolean;
14
14
  onEyeDropperToggle: (force?: boolean) => void;
15
15
  onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
16
+ showHotKey?: boolean;
16
17
  }
17
- export declare const Picker: ({ color, onChange, label, type, elements, palette, updateData, children, onEyeDropperToggle, onEscape, }: PickerProps) => import("react/jsx-runtime").JSX.Element;
18
+ export declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>>;
18
19
  export {};
@@ -1,10 +1,10 @@
1
1
  import type { ColorPaletteCustom } from "@excalidraw/common";
2
2
  interface PickerColorListProps {
3
3
  palette: ColorPaletteCustom;
4
- color: string;
4
+ color: string | null;
5
5
  onChange: (color: string) => void;
6
- label: string;
7
6
  activeShade: number;
7
+ showHotKey?: boolean;
8
8
  }
9
- declare const PickerColorList: ({ palette, color, onChange, label, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const PickerColorList: ({ palette, color, onChange, activeShade, showHotKey, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
10
10
  export default PickerColorList;
@@ -1,8 +1,9 @@
1
1
  import type { ColorPaletteCustom } from "@excalidraw/common";
2
2
  interface ShadeListProps {
3
- hex: string;
3
+ color: string | null;
4
4
  onChange: (color: string) => void;
5
5
  palette: ColorPaletteCustom;
6
+ showHotKey?: boolean;
6
7
  }
7
- export declare const ShadeList: ({ hex, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const ShadeList: ({ color, onChange, palette, showHotKey, }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
8
9
  export {};
@@ -2,7 +2,7 @@ import type { ColorPickerType } from "./colorPickerUtils";
2
2
  interface TopPicksProps {
3
3
  onChange: (color: string) => void;
4
4
  type: ColorPickerType;
5
- activeColor: string;
5
+ activeColor: string | null;
6
6
  topPicks?: readonly string[];
7
7
  }
8
8
  export declare const TopPicks: ({ onChange, type, activeColor, topPicks, }: TopPicksProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -2,7 +2,7 @@ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
2
  import type { ColorPickerColor, ColorPaletteCustom } from "@excalidraw/common";
3
3
  export declare const getColorNameAndShadeFromColor: ({ palette, color, }: {
4
4
  palette: ColorPaletteCustom;
5
- color: string;
5
+ color: string | null;
6
6
  }) => {
7
7
  colorName: ColorPickerColor;
8
8
  shade: number | null;
@@ -5,7 +5,7 @@ interface ColorPickerKeyNavHandlerProps {
5
5
  event: React.KeyboardEvent;
6
6
  activeColorPickerSection: ActiveColorPickerSectionAtomType;
7
7
  palette: ColorPaletteCustom;
8
- color: string;
8
+ color: string | null;
9
9
  onChange: (color: string) => void;
10
10
  customColors: string[];
11
11
  setActiveColorPickerSection: (update: React.SetStateAction<ActiveColorPickerSectionAtomType>) => void;
@@ -8,6 +8,7 @@ export declare const DEFAULT_CATEGORIES: {
8
8
  editor: string;
9
9
  elements: string;
10
10
  links: string;
11
+ library: string;
11
12
  };
12
13
  type CommandPaletteProps = {
13
14
  customCommandPaletteItems?: CommandPaletteItem[];
@@ -0,0 +1,23 @@
1
+ import type { ConvertibleTypes, ExcalidrawElement, ExcalidrawTextContainer, ExcalidrawTextElementWithContainer } from "@excalidraw/element/types";
2
+ import type { Scene } from "@excalidraw/element";
3
+ import "./ConvertElementTypePopup.scss";
4
+ import type App from "./App";
5
+ export declare const convertElementTypePopupAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
6
+ type: "panel";
7
+ } | null> & {
8
+ init: {
9
+ type: "panel";
10
+ } | null;
11
+ };
12
+ declare const ConvertElementTypePopup: ({ app }: {
13
+ app: App;
14
+ }) => import("react/jsx-runtime").JSX.Element;
15
+ export declare const adjustBoundTextSize: (container: ExcalidrawTextContainer, boundText: ExcalidrawTextElementWithContainer, scene: Scene) => void;
16
+ type ConversionType = "generic" | "linear" | null;
17
+ export declare const convertElementTypes: (app: App, { conversionType, nextType, direction, }: {
18
+ conversionType: ConversionType;
19
+ nextType?: ConvertibleTypes | undefined;
20
+ direction?: "left" | "right" | undefined;
21
+ }) => boolean;
22
+ export declare const getConversionTypeFromElements: (elements: ExcalidrawElement[]) => ConversionType;
23
+ export default ConvertElementTypePopup;
@@ -1,10 +1,11 @@
1
- import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
1
+ import type { ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { Scene } from "@excalidraw/element";
2
3
  import "./ElementLinkDialog.scss";
3
4
  import type { AppProps, UIAppState } from "../types";
4
- declare const ElementLinkDialog: ({ sourceElementId, onClose, elementsMap, appState, generateLinkForSelection, }: {
5
+ declare const ElementLinkDialog: ({ sourceElementId, onClose, appState, scene, generateLinkForSelection, }: {
5
6
  sourceElementId: ExcalidrawElement["id"];
6
- elementsMap: ElementsMap;
7
7
  appState: UIAppState;
8
+ scene: Scene;
8
9
  onClose?: (() => void) | undefined;
9
10
  generateLinkForSelection: AppProps["generateLinkForSelection"];
10
11
  }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const Ellipsify: ({ children, ...rest }: {
3
+ children: React.ReactNode;
4
+ } & import("react").HTMLAttributes<HTMLSpanElement>) => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import "./ExcalidrawLogo.scss";
3
- type LogoSize = "xs" | "small" | "normal" | "large" | "custom";
3
+ type LogoSize = "xs" | "small" | "normal" | "large" | "custom" | "mobile";
4
4
  interface LogoProps {
5
5
  size?: LogoSize;
6
6
  withText?: boolean;
@@ -16,6 +16,7 @@ interface FontPickerProps {
16
16
  onHover: (fontFamily: FontFamilyValues) => void;
17
17
  onLeave: () => void;
18
18
  onPopupChange: (open: boolean) => void;
19
+ compactMode?: boolean;
19
20
  }
20
- export declare const FontPicker: React.MemoExoticComponent<({ isOpened, selectedFontFamily, hoveredFontFamily, onSelect, onHover, onLeave, onPopupChange, }: FontPickerProps) => import("react/jsx-runtime").JSX.Element>;
21
+ export declare const FontPicker: React.MemoExoticComponent<({ isOpened, selectedFontFamily, hoveredFontFamily, onSelect, onHover, onLeave, onPopupChange, compactMode, }: FontPickerProps) => import("react/jsx-runtime").JSX.Element>;
21
22
  export {};
@@ -1,6 +1,8 @@
1
1
  import type { FontFamilyValues } from "@excalidraw/element/types";
2
2
  interface FontPickerTriggerProps {
3
3
  selectedFontFamily: FontFamilyValues | null;
4
+ isOpened?: boolean;
5
+ compactMode?: boolean;
4
6
  }
5
- export declare const FontPickerTrigger: ({ selectedFontFamily, }: FontPickerTriggerProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const FontPickerTrigger: ({ selectedFontFamily, isOpened, compactMode, }: FontPickerTriggerProps) => import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -1,3 +1,5 @@
1
- export declare const InlineIcon: ({ icon }: {
1
+ export declare const InlineIcon: ({ className, icon, size, }: {
2
+ className?: string | undefined;
2
3
  icon: React.ReactNode;
4
+ size?: string | undefined;
3
5
  }) => import("react/jsx-runtime").JSX.Element;
@@ -17,6 +17,7 @@ interface LayerUIProps {
17
17
  onPenModeToggle: AppClassProperties["togglePenMode"];
18
18
  showExitZenModeBtn: boolean;
19
19
  langCode: Language["code"];
20
+ renderTopLeftUI?: ExcalidrawProps["renderTopLeftUI"];
20
21
  renderTopRightUI?: ExcalidrawProps["renderTopRightUI"];
21
22
  renderCustomStats?: ExcalidrawProps["renderCustomStats"];
22
23
  UIOptions: AppProps["UIOptions"];
@@ -27,5 +28,5 @@ interface LayerUIProps {
27
28
  isCollaborating: boolean;
28
29
  generateLinkForSelection?: AppProps["generateLinkForSelection"];
29
30
  }
30
- declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, elements, canvas, onLockToggle, onHandToolToggle, onPenModeToggle, showExitZenModeBtn, renderTopRightUI, renderCustomStats, UIOptions, onExportImage, renderWelcomeScreen, children, app, isCollaborating, generateLinkForSelection, }: LayerUIProps) => import("react/jsx-runtime").JSX.Element>;
31
+ declare const _default: React.MemoExoticComponent<({ actionManager, appState, files, setAppState, elements, canvas, onLockToggle, onHandToolToggle, onPenModeToggle, showExitZenModeBtn, renderTopLeftUI, renderTopRightUI, renderCustomStats, UIOptions, onExportImage, renderWelcomeScreen, children, app, isCollaborating, generateLinkForSelection, }: LayerUIProps) => import("react/jsx-runtime").JSX.Element>;
31
32
  export default _default;
@@ -3,7 +3,7 @@ import type { ExcalidrawElement, NonDeleted } from "@excalidraw/element/types";
3
3
  import type { SvgCache } from "../hooks/useLibraryItemSvg";
4
4
  import type { LibraryItem } from "../types";
5
5
  import type { ReactNode } from "react";
6
- type LibraryOrPendingItem = (LibraryItem | /* pending library item */ {
6
+ type LibraryOrPendingItem = readonly (LibraryItem | /* pending library item */ {
7
7
  id: null;
8
8
  elements: readonly NonDeleted<ExcalidrawElement>[];
9
9
  })[];
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import type { NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
3
  import type { ActionManager } from "../actions/manager";
4
- import type { AppClassProperties, AppProps, AppState, Device, ExcalidrawProps, UIAppState } from "../types";
4
+ import type { AppClassProperties, AppProps, AppState, UIAppState } from "../types";
5
5
  import type { JSX } from "react";
6
6
  type MobileMenuProps = {
7
7
  appState: UIAppState;
@@ -10,16 +10,14 @@ type MobileMenuProps = {
10
10
  renderImageExportDialog: () => React.ReactNode;
11
11
  setAppState: React.Component<any, AppState>["setState"];
12
12
  elements: readonly NonDeletedExcalidrawElement[];
13
- onLockToggle: () => void;
14
13
  onHandToolToggle: () => void;
15
14
  onPenModeToggle: AppClassProperties["togglePenMode"];
16
15
  renderTopRightUI?: (isMobile: boolean, appState: UIAppState) => JSX.Element | null;
17
- renderCustomStats?: ExcalidrawProps["renderCustomStats"];
16
+ renderTopLeftUI?: (isMobile: boolean, appState: UIAppState) => JSX.Element | null;
18
17
  renderSidebars: () => JSX.Element | null;
19
- device: Device;
20
18
  renderWelcomeScreen: boolean;
21
19
  UIOptions: AppProps["UIOptions"];
22
20
  app: AppClassProperties;
23
21
  };
24
- export declare const MobileMenu: ({ appState, elements, actionManager, setAppState, onLockToggle, onHandToolToggle, onPenModeToggle, renderTopRightUI, renderCustomStats, renderSidebars, device, renderWelcomeScreen, UIOptions, app, }: MobileMenuProps) => import("react/jsx-runtime").JSX.Element;
22
+ export declare const MobileMenu: ({ appState, elements, actionManager, setAppState, onHandToolToggle, renderTopLeftUI, renderTopRightUI, renderSidebars, renderWelcomeScreen, UIOptions, app, }: MobileMenuProps) => import("react/jsx-runtime").JSX.Element;
25
23
  export {};
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import "./ToolIcon.scss";
3
+ import "./MobileToolBar.scss";
4
+ import type { AppClassProperties, UIAppState } from "../types";
5
+ type MobileToolBarProps = {
6
+ app: AppClassProperties;
7
+ onHandToolToggle: () => void;
8
+ setAppState: React.Component<any, UIAppState>["setState"];
9
+ };
10
+ export declare const MobileToolBar: ({ app, onHandToolToggle, setAppState, }: MobileToolBarProps) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -10,6 +10,7 @@ interface PropertiesPopoverProps {
10
10
  onPointerLeave?: React.PointerEventHandler<HTMLDivElement>;
11
11
  onFocusOutside?: Popover.PopoverContentProps["onFocusOutside"];
12
12
  onPointerDownOutside?: Popover.PopoverContentProps["onPointerDownOutside"];
13
+ preventAutoFocusOnTouch?: boolean;
13
14
  }
14
15
  export declare const PropertiesPopover: React.ForwardRefExoticComponent<PropertiesPopoverProps & React.RefAttributes<HTMLDivElement>>;
15
16
  export {};
@@ -1,5 +1,5 @@
1
1
  import type { JSX } from "react";
2
- export declare const ButtonIconSelect: <T extends Object>(props: {
2
+ export declare const RadioSelection: <T extends Object>(props: {
3
3
  options: {
4
4
  value: T;
5
5
  text: string;
@@ -1,8 +1,8 @@
1
1
  import "./Range.scss";
2
+ import type { AppClassProperties } from "../types";
2
3
  export type RangeProps = {
3
4
  updateData: (value: number) => void;
4
- appState: any;
5
- elements: any;
5
+ app: AppClassProperties;
6
6
  testId?: string;
7
7
  };
8
- export declare const Range: ({ updateData, appState, elements, testId, }: RangeProps) => import("react/jsx-runtime").JSX.Element;
8
+ export declare const Range: ({ updateData, app, testId }: RangeProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  interface AngleProps {
5
5
  element: ExcalidrawElement;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import type Scene from "../../scene/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  interface PositionProps {
5
5
  property: "gridStep";
@@ -5,6 +5,7 @@ interface CollapsibleProps {
5
5
  openTrigger: () => void;
6
6
  children: React.ReactNode;
7
7
  className?: string;
8
+ showCollapsedIcon?: boolean;
8
9
  }
9
- declare const Collapsible: ({ label, open, openTrigger, children, className, }: CollapsibleProps) => import("react/jsx-runtime").JSX.Element;
10
+ declare const Collapsible: ({ label, open, openTrigger, children, className, showCollapsedIcon, }: CollapsibleProps) => import("react/jsx-runtime").JSX.Element;
10
11
  export default Collapsible;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  interface DimensionDragInputProps {
5
5
  property: "width" | "height";
@@ -1,8 +1,9 @@
1
1
  /// <reference types="react" />
2
2
  import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
3
+ import type { Scene } from "@excalidraw/element";
4
+ import { useApp, useExcalidrawSetAppState } from "../App";
3
5
  import "./DragInput.scss";
4
6
  import type { StatsInputProperty } from "./utils";
5
- import type Scene from "../../scene/Scene";
6
7
  import type { AppState } from "../../types";
7
8
  export type DragInputCallbackType<P extends StatsInputProperty, E = ExcalidrawElement> = (props: {
8
9
  accumulatedChange: number;
@@ -16,6 +17,14 @@ export type DragInputCallbackType<P extends StatsInputProperty, E = ExcalidrawEl
16
17
  property: P;
17
18
  originalAppState: AppState;
18
19
  setInputValue: (value: number) => void;
20
+ app: ReturnType<typeof useApp>;
21
+ setAppState: ReturnType<typeof useExcalidrawSetAppState>;
22
+ }) => void;
23
+ export type DragFinishedCallbackType<E = ExcalidrawElement> = (props: {
24
+ app: ReturnType<typeof useApp>;
25
+ setAppState: ReturnType<typeof useExcalidrawSetAppState>;
26
+ originalElements: readonly E[] | null;
27
+ originalAppState: AppState;
19
28
  }) => void;
20
29
  interface StatsDragInputProps<T extends StatsInputProperty, E = ExcalidrawElement> {
21
30
  label: string | React.ReactNode;
@@ -30,6 +39,7 @@ interface StatsDragInputProps<T extends StatsInputProperty, E = ExcalidrawElemen
30
39
  appState: AppState;
31
40
  /** how many px you need to drag to get 1 unit change */
32
41
  sensitivity?: number;
42
+ dragFinishedCallback?: DragFinishedCallbackType;
33
43
  }
34
- declare const StatsDragInput: <T extends StatsInputProperty, E extends ExcalidrawElement = ExcalidrawElement>({ label, icon, dragInputCallback, value, elements, editable, shouldKeepAspectRatio, property, scene, appState, sensitivity, }: StatsDragInputProps<T, E>) => import("react/jsx-runtime").JSX.Element | null;
44
+ declare const StatsDragInput: <T extends StatsInputProperty, E extends ExcalidrawElement = ExcalidrawElement>({ label, icon, dragInputCallback, value, elements, editable, shouldKeepAspectRatio, property, scene, appState, sensitivity, dragFinishedCallback, }: StatsDragInputProps<T, E>) => import("react/jsx-runtime").JSX.Element | null;
35
45
  export default StatsDragInput;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  interface FontSizeProps {
5
5
  element: ExcalidrawElement;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  interface MultiAngleProps {
5
5
  elements: readonly ExcalidrawElement[];
@@ -1,6 +1,6 @@
1
1
  import type { ExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
+ import type { Scene } from "@excalidraw/element";
2
3
  import type { AtomicUnit } from "./utils";
3
- import type Scene from "../../scene/Scene";
4
4
  import type { AppState } from "../../types";
5
5
  interface MultiDimensionProps {
6
6
  property: "width" | "height";
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  interface MultiFontSizeProps {
5
5
  elements: readonly ExcalidrawElement[];
@@ -1,6 +1,6 @@
1
1
  import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
2
+ import type { Scene } from "@excalidraw/element";
2
3
  import type { AtomicUnit } from "./utils";
3
- import type Scene from "../../scene/Scene";
4
4
  import type { AppState } from "../../types";
5
5
  interface MultiPositionProps {
6
6
  property: "x" | "y";
@@ -1,5 +1,5 @@
1
1
  import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "../../scene/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  interface PositionProps {
5
5
  property: "x" | "y";