@excalidraw/excalidraw 0.18.0-195a743 → 0.18.0-298812e

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 (139) hide show
  1. package/dist/dev/{chunk-T3M44BFV.js → chunk-JCUIYZXF.js} +7 -3
  2. package/dist/dev/chunk-JCUIYZXF.js.map +7 -0
  3. package/dist/dev/{chunk-WMGEUIQQ.js → chunk-RQWTCZLD.js} +2 -2
  4. package/dist/dev/{chunk-H3EW23X2.js → chunk-ZPGIVNNG.js} +14840 -9652
  5. package/dist/dev/chunk-ZPGIVNNG.js.map +7 -0
  6. package/dist/dev/data/{image-TTQKTTOH.js → image-CB4ZYE3A.js} +3 -3
  7. package/dist/dev/index.css +38 -2
  8. package/dist/dev/index.css.map +2 -2
  9. package/dist/dev/index.js +857 -5250
  10. package/dist/dev/index.js.map +4 -4
  11. package/dist/dev/locales/{en-I23TB6DJ.js → en-ZDTPSZNL.js} +2 -2
  12. package/dist/dev/subset-shared.chunk.js +1 -1
  13. package/dist/dev/subset-worker.chunk.js +1 -1
  14. package/dist/prod/{chunk-GK4XUKZB.js → chunk-7TMLMBQX.js} +1 -1
  15. package/dist/prod/{chunk-2Z7RPVPO.js → chunk-GCFVWREF.js} +3 -3
  16. package/dist/prod/chunk-WFJFO6F4.js +33 -0
  17. package/dist/prod/data/image-XJI4SWH2.js +1 -0
  18. package/dist/prod/index.css +1 -1
  19. package/dist/prod/index.js +18 -18
  20. package/dist/prod/locales/{en-TC3OFDA6.js → en-MHZ26NAR.js} +1 -1
  21. package/dist/prod/subset-shared.chunk.js +1 -1
  22. package/dist/prod/subset-worker.chunk.js +1 -1
  23. package/dist/types/common/src/constants.d.ts +1 -0
  24. package/dist/types/{excalidraw → common/src}/emitter.d.ts +1 -1
  25. package/dist/types/common/src/font-metadata.d.ts +4 -2
  26. package/dist/types/common/src/index.d.ts +1 -0
  27. package/dist/types/common/src/utility-types.d.ts +5 -0
  28. package/dist/types/common/src/utils.d.ts +16 -4
  29. package/dist/types/element/src/Scene.d.ts +4 -4
  30. package/dist/types/element/src/ShapeCache.d.ts +1 -1
  31. package/dist/types/element/src/align.d.ts +1 -1
  32. package/dist/types/element/src/binding.d.ts +1 -1
  33. package/dist/types/element/src/bounds.d.ts +1 -1
  34. package/dist/types/{excalidraw/change.d.ts → element/src/delta.d.ts} +40 -35
  35. package/dist/types/element/src/dragElements.d.ts +1 -1
  36. package/dist/types/element/src/flowchart.d.ts +1 -1
  37. package/dist/types/element/src/frame.d.ts +3 -2
  38. package/dist/types/element/src/index.d.ts +45 -2
  39. package/dist/types/element/src/linearElementEditor.d.ts +4 -8
  40. package/dist/types/element/src/newElement.d.ts +1 -1
  41. package/dist/types/element/src/resizeElements.d.ts +1 -1
  42. package/dist/types/element/src/selection.d.ts +1 -6
  43. package/dist/types/element/src/store.d.ts +227 -0
  44. package/dist/types/element/src/textElement.d.ts +1 -1
  45. package/dist/types/element/src/transformHandles.d.ts +4 -4
  46. package/dist/types/element/src/typeChecks.d.ts +2 -1
  47. package/dist/types/element/src/types.d.ts +6 -1
  48. package/dist/types/element/src/zindex.d.ts +3 -3
  49. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +24 -42
  50. package/dist/types/excalidraw/actions/actionAlign.d.ts +8 -8
  51. package/dist/types/excalidraw/actions/actionBoundText.d.ts +16 -28
  52. package/dist/types/excalidraw/actions/actionCanvas.d.ts +194 -272
  53. package/dist/types/excalidraw/actions/actionClipboard.d.ts +50 -86
  54. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +8 -14
  55. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +22 -40
  56. package/dist/types/excalidraw/actions/actionDistribute.d.ts +4 -4
  57. package/dist/types/excalidraw/actions/actionDuplicateSelection.d.ts +2 -2
  58. package/dist/types/excalidraw/actions/actionElementLink.d.ts +8 -14
  59. package/dist/types/excalidraw/actions/actionElementLock.d.ts +18 -30
  60. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +8 -14
  61. package/dist/types/excalidraw/actions/actionExport.d.ts +159 -213
  62. package/dist/types/excalidraw/actions/actionFinalize.d.ts +14 -26
  63. package/dist/types/excalidraw/actions/actionFlip.d.ts +4 -4
  64. package/dist/types/excalidraw/actions/actionFrame.d.ts +76 -100
  65. package/dist/types/excalidraw/actions/actionGroup.d.ts +22 -34
  66. package/dist/types/excalidraw/actions/actionHistory.d.ts +1 -2
  67. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +7 -13
  68. package/dist/types/excalidraw/actions/actionLink.d.ts +9 -15
  69. package/dist/types/excalidraw/actions/actionMenu.d.ts +26 -44
  70. package/dist/types/excalidraw/actions/actionNavigate.d.ts +16 -28
  71. package/dist/types/excalidraw/actions/actionProperties.d.ts +106 -196
  72. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +10 -16
  73. package/dist/types/excalidraw/actions/actionStyles.d.ts +12 -18
  74. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +10 -16
  75. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +10 -16
  76. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +10 -189
  77. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +10 -16
  78. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +10 -16
  79. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +10 -16
  80. package/dist/types/excalidraw/actions/actionZindex.d.ts +10 -10
  81. package/dist/types/excalidraw/actions/types.d.ts +1 -1
  82. package/dist/types/excalidraw/appState.d.ts +23 -23
  83. package/dist/types/excalidraw/components/App.d.ts +9 -9
  84. package/dist/types/excalidraw/components/ColorPicker/ColorInput.d.ts +2 -1
  85. package/dist/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +5 -1
  86. package/dist/types/excalidraw/components/ColorPicker/CustomColorList.d.ts +1 -1
  87. package/dist/types/excalidraw/components/ColorPicker/Picker.d.ts +2 -3
  88. package/dist/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +2 -3
  89. package/dist/types/excalidraw/components/ColorPicker/ShadeList.d.ts +2 -2
  90. package/dist/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  91. package/dist/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +1 -1
  92. package/dist/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +1 -1
  93. package/dist/types/excalidraw/components/ConvertElementTypePopup.d.ts +2 -28
  94. package/dist/types/excalidraw/components/ElementLinkDialog.d.ts +1 -1
  95. package/dist/types/excalidraw/components/Range.d.ts +3 -3
  96. package/dist/types/excalidraw/components/Stats/Angle.d.ts +1 -1
  97. package/dist/types/excalidraw/components/Stats/CanvasGrid.d.ts +1 -1
  98. package/dist/types/excalidraw/components/Stats/Collapsible.d.ts +2 -1
  99. package/dist/types/excalidraw/components/Stats/Dimension.d.ts +1 -1
  100. package/dist/types/excalidraw/components/Stats/DragInput.d.ts +1 -1
  101. package/dist/types/excalidraw/components/Stats/FontSize.d.ts +1 -1
  102. package/dist/types/excalidraw/components/Stats/MultiAngle.d.ts +1 -1
  103. package/dist/types/excalidraw/components/Stats/MultiDimension.d.ts +1 -1
  104. package/dist/types/excalidraw/components/Stats/MultiFontSize.d.ts +1 -1
  105. package/dist/types/excalidraw/components/Stats/MultiPosition.d.ts +1 -1
  106. package/dist/types/excalidraw/components/Stats/Position.d.ts +1 -1
  107. package/dist/types/excalidraw/components/Stats/utils.d.ts +2 -1
  108. package/dist/types/excalidraw/components/hyperlink/Hyperlink.d.ts +1 -1
  109. package/dist/types/excalidraw/components/hyperlink/helpers.d.ts +1 -1
  110. package/dist/types/excalidraw/components/icons.d.ts +1 -0
  111. package/dist/types/excalidraw/components/shapes.d.ts +1 -1
  112. package/dist/types/excalidraw/data/blob.d.ts +1 -1
  113. package/dist/types/excalidraw/data/transform.d.ts +1 -1
  114. package/dist/types/excalidraw/fonts/Fonts.d.ts +1 -1
  115. package/dist/types/excalidraw/history.d.ts +14 -22
  116. package/dist/types/excalidraw/hooks/useEmitter.d.ts +1 -1
  117. package/dist/types/excalidraw/index.d.ts +9 -9
  118. package/dist/types/excalidraw/lasso/index.d.ts +1 -0
  119. package/dist/types/excalidraw/renderer/helpers.d.ts +6 -1
  120. package/dist/types/excalidraw/scene/Renderer.d.ts +1 -1
  121. package/dist/types/excalidraw/scene/index.d.ts +2 -2
  122. package/dist/types/excalidraw/snapping.d.ts +2 -2
  123. package/dist/types/excalidraw/types.d.ts +13 -6
  124. package/dist/types/excalidraw/visualdebug.d.ts +1 -1
  125. package/dist/types/math/src/curve.d.ts +2 -0
  126. package/dist/types/math/src/vector.d.ts +4 -0
  127. package/dist/types/utils/src/bbox.d.ts +1 -1
  128. package/dist/types/utils/src/index.d.ts +1 -1
  129. package/dist/types/utils/src/withinBounds.d.ts +1 -1
  130. package/history.ts +68 -94
  131. package/package.json +3 -3
  132. package/dist/dev/chunk-H3EW23X2.js.map +0 -7
  133. package/dist/dev/chunk-T3M44BFV.js.map +0 -7
  134. package/dist/prod/chunk-7M43VNIB.js +0 -33
  135. package/dist/prod/data/image-7YYIWLVQ.js +0 -1
  136. package/dist/types/excalidraw/store.d.ts +0 -129
  137. /package/dist/dev/{chunk-WMGEUIQQ.js.map → chunk-RQWTCZLD.js.map} +0 -0
  138. /package/dist/dev/data/{image-TTQKTTOH.js.map → image-CB4ZYE3A.js.map} +0 -0
  139. /package/dist/dev/locales/{en-I23TB6DJ.js.map → en-ZDTPSZNL.js.map} +0 -0
@@ -29,7 +29,7 @@ export declare const actionToggleZenMode: {
29
29
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
30
30
  isBindingEnabled: boolean;
31
31
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
32
- suggestedBindings: import("@excalidraw/element/binding").SuggestedBinding[];
32
+ suggestedBindings: import("@excalidraw/element").SuggestedBinding[];
33
33
  frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
34
34
  frameRendering: {
35
35
  enabled: boolean;
@@ -40,7 +40,7 @@ export declare const actionToggleZenMode: {
40
40
  editingFrame: string | null;
41
41
  elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
42
42
  editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
43
- editingLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
43
+ editingLinearElement: import("@excalidraw/element").LinearElementEditor | null;
44
44
  activeTool: {
45
45
  lastActiveTool: import("../types").ActiveTool | null;
46
46
  locked: boolean;
@@ -160,8 +160,8 @@ export declare const actionToggleZenMode: {
160
160
  data: import("../charts").Spreadsheet;
161
161
  };
162
162
  pendingImageElementId: string | null;
163
- showHyperlinkPopup: false | "editor" | "info";
164
- selectedLinearElement: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null;
163
+ showHyperlinkPopup: false | "info" | "editor";
164
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
165
165
  snapLines: readonly import("../snapping").SnapLine[];
166
166
  originSnapOffset: {
167
167
  x: number;
@@ -172,22 +172,16 @@ export declare const actionToggleZenMode: {
172
172
  followedBy: Set<import("../types").SocketId>;
173
173
  isCropping: boolean;
174
174
  croppingElementId: string | null;
175
- searchMatches: readonly {
176
- id: string;
177
- focus: boolean;
178
- matchedLines: {
179
- offsetX: number;
180
- offsetY: number;
181
- width: number;
182
- height: number;
183
- }[];
184
- }[];
175
+ searchMatches: Readonly<{
176
+ focusedId: string | null;
177
+ matches: readonly import("../types").SearchMatch[];
178
+ }> | null;
185
179
  };
186
180
  captureUpdate: "EVENTUALLY";
187
181
  };
188
182
  checked: (appState: Readonly<import("../types").AppState>) => boolean;
189
183
  predicate: (elements: readonly import("@excalidraw/element/types").ExcalidrawElement[], appState: import("../types").AppState, appProps: import("../types").ExcalidrawProps) => boolean;
190
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
184
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
191
185
  } & {
192
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
186
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
193
187
  };
@@ -13,10 +13,10 @@ export declare const actionSendBackward: {
13
13
  captureUpdate: "IMMEDIATELY";
14
14
  };
15
15
  keyPriority: number;
16
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
16
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
17
17
  PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
18
18
  } & {
19
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
19
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
20
20
  };
21
21
  export declare const actionBringForward: {
22
22
  name: "bringForward";
@@ -32,10 +32,10 @@ export declare const actionBringForward: {
32
32
  captureUpdate: "IMMEDIATELY";
33
33
  };
34
34
  keyPriority: number;
35
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
35
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
36
36
  PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
37
37
  } & {
38
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
38
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
39
39
  };
40
40
  export declare const actionSendToBack: {
41
41
  name: "sendToBack";
@@ -46,14 +46,14 @@ export declare const actionSendToBack: {
46
46
  category: "element";
47
47
  };
48
48
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
49
- elements: import("@excalidraw/element/types").ExcalidrawElement[] | readonly import("@excalidraw/element/types").ExcalidrawElement[];
49
+ elements: readonly import("@excalidraw/element/types").ExcalidrawElement[] | import("@excalidraw/element/types").ExcalidrawElement[];
50
50
  appState: Readonly<import("../types").AppState>;
51
51
  captureUpdate: "IMMEDIATELY";
52
52
  };
53
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
53
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
54
54
  PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
55
55
  } & {
56
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
56
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
57
57
  };
58
58
  export declare const actionBringToFront: {
59
59
  name: "bringToFront";
@@ -64,12 +64,12 @@ export declare const actionBringToFront: {
64
64
  category: "element";
65
65
  };
66
66
  perform: (elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
67
- elements: import("@excalidraw/element/types").ExcalidrawElement[] | readonly import("@excalidraw/element/types").ExcalidrawElement[];
67
+ elements: readonly import("@excalidraw/element/types").ExcalidrawElement[] | import("@excalidraw/element/types").ExcalidrawElement[];
68
68
  appState: Readonly<import("../types").AppState>;
69
69
  captureUpdate: "IMMEDIATELY";
70
70
  };
71
- keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
71
+ keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
72
72
  PanelComponent: ({ updateData, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
73
73
  } & {
74
- keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
74
+ keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
75
75
  };
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement, OrderedExcalidrawElement } from "@excalidraw/element/types";
2
- import type { CaptureUpdateActionType } from "../store";
2
+ import type { CaptureUpdateActionType } from "@excalidraw/element";
3
3
  import type { AppClassProperties, AppState, ExcalidrawProps, BinaryFiles, UIAppState } from "../types";
4
4
  import type React from "react";
5
5
  export type ActionSource = "ui" | "keyboard" | "contextMenu" | "api" | "commandPalette";
@@ -1,34 +1,24 @@
1
1
  import type { AppState, NormalizedZoomValue } from "./types";
2
2
  export declare const getDefaultAppState: () => Omit<AppState, "offsetTop" | "offsetLeft" | "width" | "height">;
3
3
  export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>) => {
4
- name?: string | null | undefined;
4
+ stats?: {
5
+ open: boolean;
6
+ panels: number;
7
+ } | undefined;
8
+ exportWithDarkMode?: boolean | undefined;
9
+ cursorButton?: "up" | "down" | undefined;
10
+ scrollX?: number | undefined;
11
+ scrollY?: number | undefined;
12
+ showWelcomeScreen?: boolean | undefined;
5
13
  activeTool?: ({
6
14
  lastActiveTool: import("./types").ActiveTool | null;
7
15
  locked: boolean;
8
16
  fromSelection: boolean;
9
17
  } & import("./types").ActiveTool) | undefined;
10
- zoom?: Readonly<{
11
- value: NormalizedZoomValue;
12
- }> | undefined;
13
- scrollX?: number | undefined;
14
- scrollY?: number | undefined;
15
- viewBackgroundColor?: string | undefined;
16
- editingGroupId?: string | null | undefined;
17
- selectedElementIds?: Readonly<{
18
- [id: string]: true;
19
- }> | undefined;
20
- theme?: import("@excalidraw/element/types").Theme | undefined;
21
- selectedGroupIds?: {
22
- [groupId: string]: boolean;
23
- } | undefined;
24
- selectedLinearElement?: import("@excalidraw/element/linearElementEditor").LinearElementEditor | null | undefined;
25
- zenModeEnabled?: boolean | undefined;
26
- showWelcomeScreen?: boolean | undefined;
27
18
  penMode?: boolean | undefined;
28
19
  penDetected?: boolean | undefined;
29
20
  exportBackground?: boolean | undefined;
30
21
  exportEmbedScene?: boolean | undefined;
31
- exportWithDarkMode?: boolean | undefined;
32
22
  exportScale?: number | undefined;
33
23
  currentItemStrokeColor?: string | undefined;
34
24
  currentItemBackgroundColor?: string | undefined;
@@ -44,8 +34,12 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
44
34
  currentItemEndArrowhead?: import("@excalidraw/element/types").Arrowhead | null | undefined;
45
35
  currentItemRoundness?: import("@excalidraw/element/types").StrokeRoundness | undefined;
46
36
  currentItemArrowType?: "round" | "sharp" | "elbow" | undefined;
47
- cursorButton?: "up" | "down" | undefined;
37
+ viewBackgroundColor?: string | undefined;
48
38
  scrolledOutside?: boolean | undefined;
39
+ name?: string | null | undefined;
40
+ zoom?: Readonly<{
41
+ value: NormalizedZoomValue;
42
+ }> | undefined;
49
43
  openMenu?: "canvas" | "shape" | null | undefined;
50
44
  openSidebar?: {
51
45
  name: string;
@@ -53,18 +47,24 @@ export declare const clearAppStateForLocalStorage: (appState: Partial<AppState>)
53
47
  } | null | undefined;
54
48
  defaultSidebarDockedPreference?: boolean | undefined;
55
49
  lastPointerDownWith?: import("@excalidraw/element/types").PointerType | undefined;
50
+ selectedElementIds?: Readonly<{
51
+ [id: string]: true;
52
+ }> | undefined;
56
53
  previousSelectedElementIds?: {
57
54
  [id: string]: true;
58
55
  } | undefined;
59
56
  shouldCacheIgnoreZoom?: boolean | undefined;
57
+ zenModeEnabled?: boolean | undefined;
58
+ theme?: import("@excalidraw/element/types").Theme | undefined;
60
59
  gridSize?: number | undefined;
61
60
  gridStep?: number | undefined;
62
61
  gridModeEnabled?: boolean | undefined;
63
- stats?: {
64
- open: boolean;
65
- panels: number;
62
+ selectedGroupIds?: {
63
+ [groupId: string]: boolean;
66
64
  } | undefined;
65
+ editingGroupId?: string | null | undefined;
67
66
  currentChartType?: import("@excalidraw/element/types").ChartType | undefined;
67
+ selectedLinearElement?: import("@excalidraw/element").LinearElementEditor | null | undefined;
68
68
  objectsSnapModeEnabled?: boolean | undefined;
69
69
  };
70
70
  export declare const cleanAppStateForExport: (appState: Partial<AppState>) => {
@@ -1,9 +1,10 @@
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 Scene from "@excalidraw/element/Scene";
6
- import type { ElementUpdate } from "@excalidraw/element/mutateElement";
2
+ import { type EXPORT_IMAGE_TYPES, Emitter } from "@excalidraw/common";
3
+ import { LinearElementEditor } from "@excalidraw/element";
4
+ import { FlowChartCreator } from "@excalidraw/element";
5
+ import { Scene } from "@excalidraw/element";
6
+ import { Store } from "@excalidraw/element";
7
+ import type { ElementUpdate } from "@excalidraw/element";
7
8
  import type { ExcalidrawElement, NonDeleted, InitializedExcalidrawImageElement, ExcalidrawImageElement, NonDeletedExcalidrawElement, ExcalidrawFrameLikeElement, ExcalidrawIframeElement, ExcalidrawEmbeddableElement, Ordered } from "@excalidraw/element/types";
8
9
  import type { Mutable } from "@excalidraw/common/utility-types";
9
10
  import { ActionManager } from "../actions/manager";
@@ -12,8 +13,6 @@ import { History } from "../history";
12
13
  import { Fonts } from "../fonts";
13
14
  import { type WritableAtom } from "../editor-jotai";
14
15
  import { Renderer } from "../scene/Renderer";
15
- import { Emitter } from "../emitter";
16
- import { Store } from "../store";
17
16
  import { LaserTrails } from "../laser-trails";
18
17
  import { LassoTrail } from "../lasso";
19
18
  import { EraserTrail } from "../eraser";
@@ -127,7 +126,7 @@ declare class App extends React.Component<AppProps, AppState> {
127
126
  };
128
127
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
129
128
  resize: {
130
- handleType: import("@excalidraw/element/transformHandles").MaybeTransformHandleType;
129
+ handleType: import("@excalidraw/element").MaybeTransformHandleType;
131
130
  isResizing: boolean;
132
131
  offset: {
133
132
  x: number;
@@ -196,7 +195,7 @@ declare class App extends React.Component<AppProps, AppState> {
196
195
  };
197
196
  originalElements: Map<string, NonDeleted<ExcalidrawElement>>;
198
197
  resize: {
199
- handleType: import("@excalidraw/element/transformHandles").MaybeTransformHandleType;
198
+ handleType: import("@excalidraw/element").MaybeTransformHandleType;
200
199
  isResizing: boolean;
201
200
  offset: {
202
201
  x: number;
@@ -270,6 +269,7 @@ declare class App extends React.Component<AppProps, AppState> {
270
269
  render(): import("react/jsx-runtime").JSX.Element;
271
270
  focusContainer: AppClassProperties["focusContainer"];
272
271
  getSceneElementsIncludingDeleted: () => readonly import("@excalidraw/element/types").OrderedExcalidrawElement[];
272
+ getSceneElementsMapIncludingDeleted: () => Map<string, Ordered<ExcalidrawElement>> & import("@excalidraw/common/utility-types").MakeBrand<"SceneElementsMap">;
273
273
  getSceneElements: () => readonly Ordered<NonDeletedExcalidrawElement>[];
274
274
  onInsertElements: (elements: readonly ExcalidrawElement[]) => void;
275
275
  onExportImage: (type: keyof typeof EXPORT_IMAGE_TYPES, elements: ExportedElements, opts: {
@@ -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[];
@@ -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,9 +3,8 @@ 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;
@@ -14,5 +13,5 @@ interface PickerProps {
14
13
  onEyeDropperToggle: (force?: boolean) => void;
15
14
  onEscape: (event: React.KeyboardEvent | KeyboardEvent) => void;
16
15
  }
17
- export declare const Picker: ({ color, onChange, label, type, elements, palette, updateData, children, onEyeDropperToggle, onEscape, }: PickerProps) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const Picker: React.ForwardRefExoticComponent<PickerProps & React.RefAttributes<unknown>>;
18
17
  export {};
@@ -1,10 +1,9 @@
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;
8
7
  }
9
- declare const PickerColorList: ({ palette, color, onChange, label, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
8
+ declare const PickerColorList: ({ palette, color, onChange, activeShade, }: PickerColorListProps) => import("react/jsx-runtime").JSX.Element;
10
9
  export default PickerColorList;
@@ -1,8 +1,8 @@
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
6
  }
7
- export declare const ShadeList: ({ hex, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const ShadeList: ({ color, onChange, palette }: ShadeListProps) => import("react/jsx-runtime").JSX.Element;
8
8
  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;
@@ -1,5 +1,5 @@
1
- import type { ConvertibleGenericTypes, ConvertibleLinearTypes, ConvertibleTypes, ExcalidrawElbowArrowElement, ExcalidrawElement, ExcalidrawLinearElement, ExcalidrawTextContainer, ExcalidrawTextElementWithContainer } from "@excalidraw/element/types";
2
- import type Scene from "@excalidraw/element/Scene";
1
+ import type { ConvertibleTypes, ExcalidrawElement, ExcalidrawTextContainer, ExcalidrawTextElementWithContainer } from "@excalidraw/element/types";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import "./ConvertElementTypePopup.scss";
4
4
  import type App from "./App";
5
5
  export declare const convertElementTypePopupAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
@@ -9,32 +9,6 @@ export declare const convertElementTypePopupAtom: import("jotai/vanilla/atom").P
9
9
  type: "panel";
10
10
  } | null;
11
11
  };
12
- export declare const fontSize_conversionCacheAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
13
- [id: string]: {
14
- fontSize: number;
15
- elementType: ConvertibleGenericTypes;
16
- };
17
- } | null> & {
18
- init: {
19
- [id: string]: {
20
- fontSize: number;
21
- elementType: ConvertibleGenericTypes;
22
- };
23
- } | null;
24
- };
25
- export declare const linearElement_conversionCacheAtom: import("jotai/vanilla/atom").PrimitiveAtom<{
26
- [id: string]: {
27
- properties: Partial<ExcalidrawLinearElement> | Partial<ExcalidrawElbowArrowElement>;
28
- initialType: ConvertibleLinearTypes;
29
- };
30
- } | null> & {
31
- init: {
32
- [id: string]: {
33
- properties: Partial<ExcalidrawLinearElement> | Partial<ExcalidrawElbowArrowElement>;
34
- initialType: ConvertibleLinearTypes;
35
- };
36
- } | null;
37
- };
38
12
  declare const ConvertElementTypePopup: ({ app }: {
39
13
  app: App;
40
14
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "@excalidraw/element/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import "./ElementLinkDialog.scss";
4
4
  import type { AppProps, UIAppState } from "../types";
5
5
  declare const ElementLinkDialog: ({ sourceElementId, onClose, appState, scene, generateLinkForSelection, }: {
@@ -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 "@excalidraw/element/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 "@excalidraw/element/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 "@excalidraw/element/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,6 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
3
- import type Scene from "@excalidraw/element/Scene";
3
+ import type { Scene } from "@excalidraw/element";
4
4
  import "./DragInput.scss";
5
5
  import type { StatsInputProperty } from "./utils";
6
6
  import type { AppState } from "../../types";
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "@excalidraw/element/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 "@excalidraw/element/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,5 +1,5 @@
1
1
  import type { ExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
- import type Scene from "@excalidraw/element/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AtomicUnit } from "./utils";
4
4
  import type { AppState } from "../../types";
5
5
  interface MultiDimensionProps {
@@ -1,5 +1,5 @@
1
1
  import type { ExcalidrawElement, NonDeletedSceneElementsMap } from "@excalidraw/element/types";
2
- import type Scene from "@excalidraw/element/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,5 +1,5 @@
1
1
  import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "@excalidraw/element/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AtomicUnit } from "./utils";
4
4
  import type { AppState } from "../../types";
5
5
  interface MultiPositionProps {
@@ -1,5 +1,5 @@
1
1
  import type { ElementsMap, ExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "@excalidraw/element/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  interface PositionProps {
5
5
  property: "x" | "y";
@@ -1,8 +1,9 @@
1
1
  import type { ElementsMap, ExcalidrawElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
2
- import type Scene from "@excalidraw/element/Scene";
2
+ import type { Scene } from "@excalidraw/element";
3
3
  import type { AppState } from "../../types";
4
4
  export type StatsInputProperty = "x" | "y" | "width" | "height" | "angle" | "fontSize" | "gridStep";
5
5
  export declare const SMALLEST_DELTA = 0.01;
6
+ export declare const STEP_SIZE = 10;
6
7
  export declare const isPropertyEditable: (element: ExcalidrawElement, property: keyof ExcalidrawElement) => boolean;
7
8
  export declare const getStepSizedValue: (value: number, stepSize: number) => number;
8
9
  export type AtomicUnit = Record<string, true>;
@@ -1,4 +1,4 @@
1
- import type Scene from "@excalidraw/element/Scene";
1
+ import type { Scene } from "@excalidraw/element";
2
2
  import type { ElementsMap, ExcalidrawEmbeddableElement, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
3
3
  import "./Hyperlink.scss";
4
4
  import type { AppState, ExcalidrawProps, UIAppState } from "../../types";
@@ -1,5 +1,5 @@
1
1
  import type { GlobalPoint, Radians } from "@excalidraw/math";
2
- import type { Bounds } from "@excalidraw/element/bounds";
2
+ import type { Bounds } from "@excalidraw/element";
3
3
  import type { ElementsMap, NonDeletedExcalidrawElement } from "@excalidraw/element/types";
4
4
  import type { AppState, UIAppState } from "../../types";
5
5
  export declare const EXTERNAL_LINK_IMG: HTMLImageElement;
@@ -54,6 +54,7 @@ export declare const LoadIcon: import("react/jsx-runtime").JSX.Element;
54
54
  export declare const clipboard: import("react/jsx-runtime").JSX.Element;
55
55
  export declare const palette: import("react/jsx-runtime").JSX.Element;
56
56
  export declare const bucketFillIcon: import("react/jsx-runtime").JSX.Element;
57
+ export declare const slashIcon: import("react/jsx-runtime").JSX.Element;
57
58
  export declare const ExportImageIcon: import("react/jsx-runtime").JSX.Element;
58
59
  export declare const exportToFileIcon: import("react/jsx-runtime").JSX.Element;
59
60
  export declare const zoomIn: import("react/jsx-runtime").JSX.Element;
@@ -59,4 +59,4 @@ export declare const SHAPES: readonly [{
59
59
  readonly numericKey: "0";
60
60
  readonly fillable: false;
61
61
  }];
62
- export declare const findShapeByKey: (key: string) => "line" | "ellipse" | "text" | "rectangle" | "diamond" | "image" | "selection" | "arrow" | "freedraw" | "eraser" | null;
62
+ export declare const findShapeByKey: (key: string) => "text" | "line" | "arrow" | "selection" | "rectangle" | "diamond" | "ellipse" | "freedraw" | "image" | "eraser" | null;
@@ -6,7 +6,7 @@ import type { FileSystemHandle } from "./filesystem";
6
6
  import type { ImportedLibraryData } from "./types";
7
7
  export declare const getMimeType: (blob: Blob | string) => string;
8
8
  export declare const getFileHandleType: (handle: FileSystemHandle | null) => string | null;
9
- export declare const isImageFileHandleType: (type: string | null) => type is "png" | "svg";
9
+ export declare const isImageFileHandleType: (type: string | null) => type is "svg" | "png";
10
10
  export declare const isImageFileHandle: (handle: FileSystemHandle | null) => boolean;
11
11
  export declare const isSupportedImageFileType: (type: string | null | undefined) => boolean;
12
12
  export declare const isSupportedImageFile: (blob: Blob | null | undefined) => blob is Blob & {
@@ -1,4 +1,4 @@
1
- import type { ElementConstructorOpts } from "@excalidraw/element/newElement";
1
+ import type { ElementConstructorOpts } from "@excalidraw/element";
2
2
  import type { ExcalidrawBindableElement, ExcalidrawElement, ExcalidrawFrameElement, ExcalidrawFreeDrawElement, ExcalidrawGenericElement, ExcalidrawIframeLikeElement, ExcalidrawImageElement, ExcalidrawLinearElement, ExcalidrawMagicFrameElement, ExcalidrawSelectionElement, ExcalidrawTextElement, FileId, FontFamilyValues, TextAlign, VerticalAlign } from "@excalidraw/element/types";
3
3
  import type { MarkOptional } from "@excalidraw/common/utility-types";
4
4
  export type ValidLinearElement = {
@@ -1,6 +1,6 @@
1
1
  import { type FontMetadata } from "@excalidraw/common";
2
2
  import type { ExcalidrawElement } from "@excalidraw/element/types";
3
- import type Scene from "@excalidraw/element/Scene";
3
+ import type { Scene } from "@excalidraw/element";
4
4
  import { ExcalidrawFontFace } from "./ExcalidrawFontFace";
5
5
  export declare class Fonts {
6
6
  static readonly loadedFontsCache: Set<string>;