@zsviczian/excalidraw 0.17.1-obsidian-20 → 0.17.1-obsidian-22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/excalidraw.development.js +217 -96
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/dist/styles.development.css +88 -63
  4. package/dist/styles.production.css +6 -6
  5. package/package.json +2 -1
  6. package/types/excalidraw/actions/actionAddToLibrary.d.ts +4 -4
  7. package/types/excalidraw/actions/actionAlign.d.ts +22 -22
  8. package/types/excalidraw/actions/actionBoundText.d.ts +10 -10
  9. package/types/excalidraw/actions/actionCanvas.d.ts +68 -68
  10. package/types/excalidraw/actions/actionClipboard.d.ts +24 -24
  11. package/types/excalidraw/actions/actionDeleteSelected.d.ts +10 -10
  12. package/types/excalidraw/actions/actionDistribute.d.ts +10 -10
  13. package/types/excalidraw/actions/actionDuplicateSelection.d.ts +7 -8
  14. package/types/excalidraw/actions/actionElementLock.d.ts +9 -9
  15. package/types/excalidraw/actions/actionExport.d.ts +33 -33
  16. package/types/excalidraw/actions/actionFinalize.d.ts +9 -9
  17. package/types/excalidraw/actions/actionFlip.d.ts +10 -10
  18. package/types/excalidraw/actions/actionFrame.d.ts +16 -204
  19. package/types/excalidraw/actions/actionGroup.d.ts +12 -388
  20. package/types/excalidraw/actions/actionHistory.d.ts +4 -3
  21. package/types/excalidraw/actions/actionLinearEditor.d.ts +6 -4
  22. package/types/excalidraw/actions/actionLink.d.ts +5 -5
  23. package/types/excalidraw/actions/actionMenu.d.ts +8 -8
  24. package/types/excalidraw/actions/actionNavigate.d.ts +4 -4
  25. package/types/excalidraw/actions/actionProperties.d.ts +34 -34
  26. package/types/excalidraw/actions/actionSelectAll.d.ts +5 -5
  27. package/types/excalidraw/actions/actionStyles.d.ts +9 -12
  28. package/types/excalidraw/actions/actionTextAutoResize.d.ts +17 -0
  29. package/types/excalidraw/actions/actionToggleGridMode.d.ts +7 -5
  30. package/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +4 -4
  31. package/types/excalidraw/actions/actionToggleStats.d.ts +4 -4
  32. package/types/excalidraw/actions/actionToggleViewMode.d.ts +4 -4
  33. package/types/excalidraw/actions/actionToggleZenMode.d.ts +4 -4
  34. package/types/excalidraw/actions/actionZindex.d.ts +22 -19
  35. package/types/excalidraw/actions/manager.d.ts +5 -5
  36. package/types/excalidraw/actions/register.d.ts +1 -1
  37. package/types/excalidraw/actions/shortcuts.d.ts +2 -2
  38. package/types/excalidraw/actions/types.d.ts +8 -8
  39. package/types/excalidraw/align.d.ts +1 -1
  40. package/types/excalidraw/animated-trail.d.ts +2 -2
  41. package/types/excalidraw/appState.d.ts +5 -5
  42. package/types/excalidraw/change.d.ts +191 -0
  43. package/types/excalidraw/charts.d.ts +1 -1
  44. package/types/excalidraw/clients.d.ts +2 -2
  45. package/types/excalidraw/clipboard.d.ts +3 -3
  46. package/types/excalidraw/colors.d.ts +1 -1
  47. package/types/excalidraw/components/Actions.d.ts +3 -3
  48. package/types/excalidraw/components/App.d.ts +28 -14
  49. package/types/excalidraw/components/ColorPicker/ColorInput.d.ts +1 -1
  50. package/types/excalidraw/components/ColorPicker/ColorPicker.d.ts +4 -4
  51. package/types/excalidraw/components/ColorPicker/Picker.d.ts +3 -3
  52. package/types/excalidraw/components/ColorPicker/PickerColorList.d.ts +1 -1
  53. package/types/excalidraw/components/ColorPicker/PickerHeading.d.ts +1 -1
  54. package/types/excalidraw/components/ColorPicker/ShadeList.d.ts +1 -1
  55. package/types/excalidraw/components/ColorPicker/TopPicks.d.ts +1 -1
  56. package/types/excalidraw/components/ColorPicker/colorPickerUtils.d.ts +2 -2
  57. package/types/excalidraw/components/ColorPicker/keyboardNavHandlers.d.ts +2 -2
  58. package/types/excalidraw/components/CommandPalette/CommandPalette.d.ts +1 -1
  59. package/types/excalidraw/components/CommandPalette/defaultCommandPaletteItems.d.ts +1 -1
  60. package/types/excalidraw/components/CommandPalette/types.d.ts +3 -3
  61. package/types/excalidraw/components/ConfirmDialog.d.ts +1 -1
  62. package/types/excalidraw/components/ContextMenu.d.ts +2 -2
  63. package/types/excalidraw/components/DarkModeToggle.d.ts +1 -1
  64. package/types/excalidraw/components/DefaultSidebar.d.ts +2 -2
  65. package/types/excalidraw/components/DialogActionButton.d.ts +1 -1
  66. package/types/excalidraw/components/EyeDropper.d.ts +2 -2
  67. package/types/excalidraw/components/FollowMode/FollowMode.d.ts +1 -1
  68. package/types/excalidraw/components/HintViewer.d.ts +1 -1
  69. package/types/excalidraw/components/ImageExportDialog.d.ts +1 -1
  70. package/types/excalidraw/components/InitializeApp.d.ts +2 -2
  71. package/types/excalidraw/components/JSONExportDialog.d.ts +3 -3
  72. package/types/excalidraw/components/LayerUI.d.ts +4 -4
  73. package/types/excalidraw/components/LibraryMenu.d.ts +2 -2
  74. package/types/excalidraw/components/LibraryMenuBrowseButton.d.ts +1 -1
  75. package/types/excalidraw/components/LibraryMenuControlButtons.d.ts +1 -1
  76. package/types/excalidraw/components/LibraryMenuHeaderContent.d.ts +2 -2
  77. package/types/excalidraw/components/LibraryMenuItems.d.ts +1 -1
  78. package/types/excalidraw/components/LibraryMenuSection.d.ts +5 -4
  79. package/types/excalidraw/components/LibraryUnit.d.ts +2 -2
  80. package/types/excalidraw/components/LoadingMessage.d.ts +1 -1
  81. package/types/excalidraw/components/MobileMenu.d.ts +3 -3
  82. package/types/excalidraw/components/Modal.d.ts +1 -1
  83. package/types/excalidraw/components/OverwriteConfirm/OverwriteConfirmState.d.ts +1 -1
  84. package/types/excalidraw/components/PasteChartDialog.d.ts +1 -1
  85. package/types/excalidraw/components/PublishLibrary.d.ts +1 -1
  86. package/types/excalidraw/components/RadioGroup.d.ts +2 -1
  87. package/types/excalidraw/components/SVGLayer.d.ts +1 -1
  88. package/types/excalidraw/components/Sidebar/SidebarTab.d.ts +1 -1
  89. package/types/excalidraw/components/Sidebar/SidebarTabTrigger.d.ts +1 -1
  90. package/types/excalidraw/components/Sidebar/SidebarTrigger.d.ts +1 -1
  91. package/types/excalidraw/components/Sidebar/common.d.ts +1 -1
  92. package/types/excalidraw/components/Stats.d.ts +2 -2
  93. package/types/excalidraw/components/TTDDialog/MermaidToExcalidraw.d.ts +2 -2
  94. package/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +1 -1
  95. package/types/excalidraw/components/TTDDialog/TTDDialogPanel.d.ts +1 -1
  96. package/types/excalidraw/components/TTDDialog/TTDDialogPanels.d.ts +1 -1
  97. package/types/excalidraw/components/TTDDialog/TTDDialogTabs.d.ts +1 -1
  98. package/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +1 -1
  99. package/types/excalidraw/components/TTDDialog/common.d.ts +4 -4
  100. package/types/excalidraw/components/TextField.d.ts +1 -1
  101. package/types/excalidraw/components/Toast.d.ts +1 -1
  102. package/types/excalidraw/components/ToolButton.d.ts +4 -2
  103. package/types/excalidraw/components/Trans.d.ts +1 -1
  104. package/types/excalidraw/components/UserList.d.ts +1 -1
  105. package/types/excalidraw/components/canvases/InteractiveCanvas.d.ts +3 -2
  106. package/types/excalidraw/components/canvases/StaticCanvas.d.ts +2 -2
  107. package/types/excalidraw/components/dropdownMenu/DropdownMenuItemContentRadio.d.ts +17 -0
  108. package/types/excalidraw/components/footer/Footer.d.ts +2 -2
  109. package/types/excalidraw/components/hyperlink/Hyperlink.d.ts +2 -2
  110. package/types/excalidraw/components/hyperlink/helpers.d.ts +3 -3
  111. package/types/excalidraw/components/icons.d.ts +6 -1
  112. package/types/excalidraw/components/main-menu/DefaultItems.d.ts +12 -2
  113. package/types/excalidraw/constants.d.ts +5 -2
  114. package/types/excalidraw/context/ui-appState.d.ts +1 -1
  115. package/types/excalidraw/cursor.d.ts +1 -1
  116. package/types/excalidraw/data/EditorLocalStorage.d.ts +2 -2
  117. package/types/excalidraw/data/blob.d.ts +5 -5
  118. package/types/excalidraw/data/filesystem.d.ts +2 -1
  119. package/types/excalidraw/data/index.d.ts +4 -4
  120. package/types/excalidraw/data/json.d.ts +3 -3
  121. package/types/excalidraw/data/library.d.ts +3 -3
  122. package/types/excalidraw/data/magic.d.ts +3 -3
  123. package/types/excalidraw/data/reconcile.d.ts +6 -0
  124. package/types/excalidraw/data/resave.d.ts +2 -2
  125. package/types/excalidraw/data/restore.d.ts +5 -5
  126. package/types/excalidraw/data/transform.d.ts +4 -4
  127. package/types/excalidraw/data/types.d.ts +3 -3
  128. package/types/excalidraw/data/url.d.ts +1 -0
  129. package/types/excalidraw/element/ElementCanvasButtons.d.ts +1 -1
  130. package/types/excalidraw/element/binding.d.ts +52 -9
  131. package/types/excalidraw/element/bounds.d.ts +3 -4
  132. package/types/excalidraw/element/collision.d.ts +14 -19
  133. package/types/excalidraw/element/containerCache.d.ts +1 -1
  134. package/types/excalidraw/element/dragElements.d.ts +3 -3
  135. package/types/excalidraw/element/embeddable.d.ts +9 -6
  136. package/types/excalidraw/element/image.d.ts +2 -2
  137. package/types/excalidraw/element/index.d.ts +2 -3
  138. package/types/excalidraw/element/linearElementEditor.d.ts +12 -12
  139. package/types/excalidraw/element/mutateElement.d.ts +4 -5
  140. package/types/excalidraw/element/newElement.d.ts +4 -11
  141. package/types/excalidraw/element/resizeElements.d.ts +4 -4
  142. package/types/excalidraw/element/resizeTest.d.ts +7 -7
  143. package/types/excalidraw/element/showSelectedShapeActions.d.ts +2 -2
  144. package/types/excalidraw/element/sizeHelpers.d.ts +2 -2
  145. package/types/excalidraw/element/sortElements.d.ts +1 -1
  146. package/types/excalidraw/element/textElement.d.ts +5 -6
  147. package/types/excalidraw/element/textWysiwyg.d.ts +10 -5
  148. package/types/excalidraw/element/transformHandles.d.ts +24 -6
  149. package/types/excalidraw/element/typeChecks.d.ts +4 -4
  150. package/types/excalidraw/element/types.d.ts +33 -10
  151. package/types/excalidraw/emitter.d.ts +1 -1
  152. package/types/excalidraw/errors.d.ts +3 -0
  153. package/types/excalidraw/fractionalIndex.d.ts +40 -0
  154. package/types/excalidraw/frame.d.ts +4 -4
  155. package/types/excalidraw/gatransforms.d.ts +1 -1
  156. package/types/excalidraw/gesture.d.ts +1 -1
  157. package/types/excalidraw/groups.d.ts +5 -3
  158. package/types/excalidraw/history.d.ts +35 -47
  159. package/types/excalidraw/hooks/useEmitter.d.ts +2 -0
  160. package/types/excalidraw/hooks/useLibraryItemSvg.d.ts +1 -1
  161. package/types/excalidraw/i18n.d.ts +1 -1
  162. package/types/excalidraw/index.d.ts +5 -1
  163. package/types/excalidraw/jotai.d.ts +1 -1
  164. package/types/excalidraw/laser-trails.d.ts +3 -2
  165. package/types/excalidraw/math.d.ts +2 -2
  166. package/types/excalidraw/points.d.ts +1 -1
  167. package/types/excalidraw/queue.d.ts +1 -1
  168. package/types/excalidraw/renderer/helpers.d.ts +2 -2
  169. package/types/excalidraw/renderer/interactiveScene.d.ts +2 -2
  170. package/types/excalidraw/renderer/renderElement.d.ts +3 -3
  171. package/types/excalidraw/renderer/renderSnaps.d.ts +1 -1
  172. package/types/excalidraw/renderer/staticScene.d.ts +1 -1
  173. package/types/excalidraw/renderer/staticSvgScene.d.ts +4 -4
  174. package/types/excalidraw/scene/Fonts.d.ts +2 -4
  175. package/types/excalidraw/scene/Renderer.d.ts +4 -4
  176. package/types/excalidraw/scene/Scene.d.ts +19 -12
  177. package/types/excalidraw/scene/Shape.d.ts +1 -1
  178. package/types/excalidraw/scene/ShapeCache.d.ts +4 -4
  179. package/types/excalidraw/scene/comparisons.d.ts +2 -2
  180. package/types/excalidraw/scene/export.d.ts +2 -2
  181. package/types/excalidraw/scene/scroll.d.ts +2 -2
  182. package/types/excalidraw/scene/scrollbars.d.ts +3 -3
  183. package/types/excalidraw/scene/selection.d.ts +2 -2
  184. package/types/excalidraw/scene/types.d.ts +5 -4
  185. package/types/excalidraw/scene/zoom.d.ts +1 -1
  186. package/types/excalidraw/snapping.d.ts +4 -4
  187. package/types/excalidraw/store.d.ts +99 -0
  188. package/types/excalidraw/types.d.ts +38 -20
  189. package/types/excalidraw/utils.d.ts +11 -4
  190. package/types/excalidraw/webpack.prod.config.d.ts +1 -1
  191. package/types/excalidraw/zindex.d.ts +4 -4
  192. package/types/utils/bbox.d.ts +2 -2
  193. package/types/utils/collision.d.ts +4 -0
  194. package/types/utils/export.d.ts +4 -4
  195. package/types/utils/geometry/geometry.d.ts +71 -0
  196. package/types/utils/geometry/shape.d.ts +56 -0
  197. package/types/utils/withinBounds.d.ts +1 -1
@@ -1,5 +1,5 @@
1
- import { ExcalidrawElement } from "../element/types";
2
- import { AppClassProperties, AppState } from "../types";
1
+ import type { ExcalidrawElement, OrderedExcalidrawElement } from "../element/types";
2
+ import type { AppClassProperties, AppState } from "../types";
3
3
  export declare const actionGroup: {
4
4
  name: "group";
5
5
  label: string;
@@ -7,204 +7,16 @@ export declare const actionGroup: {
7
7
  trackEvent: {
8
8
  category: "element";
9
9
  };
10
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
10
+ perform: (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
11
11
  appState: Readonly<AppState>;
12
- elements: readonly ExcalidrawElement[];
13
- commitToHistory: false;
14
- } | {
15
- appState: {
16
- selectedElementIds: Readonly<{
17
- [id: string]: true;
18
- }>;
19
- selectedGroupIds: {
20
- [groupId: string]: boolean;
21
- };
22
- editingGroupId: string | null;
23
- contextMenu: {
24
- items: import("../components/ContextMenu").ContextMenuItems;
25
- top: number;
26
- left: number;
27
- } | null;
28
- showWelcomeScreen: boolean;
29
- isLoading: boolean;
30
- errorMessage: import("react").ReactNode;
31
- activeEmbeddable: {
32
- element: import("../element/types").NonDeletedExcalidrawElement;
33
- state: "active" | "hover";
34
- } | null;
35
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
36
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
37
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
38
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
39
- isBindingEnabled: boolean;
40
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
41
- suggestedBindings: import("../element/binding").SuggestedBinding[];
42
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
43
- frameRendering: {
44
- enabled: boolean;
45
- name: boolean;
46
- outline: boolean;
47
- clip: boolean;
48
- };
49
- editingFrame: string | null;
50
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
51
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
52
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
53
- activeTool: {
54
- lastActiveTool: import("../types").ActiveTool | null;
55
- locked: boolean;
56
- } & import("../types").ActiveTool;
57
- penMode: boolean;
58
- penDetected: boolean;
59
- exportBackground: boolean;
60
- exportEmbedScene: boolean;
61
- exportWithDarkMode: boolean;
62
- exportScale: number;
63
- currentItemStrokeColor: string;
64
- currentItemBackgroundColor: string;
65
- currentItemFillStyle: import("../element/types").FillStyle;
66
- currentItemStrokeWidth: number;
67
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
68
- currentItemRoughness: number;
69
- currentItemOpacity: number;
70
- currentItemFontFamily: number;
71
- currentItemFontSize: number;
72
- currentItemTextAlign: string;
73
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
74
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
75
- currentItemRoundness: import("../element/types").StrokeRoundness;
76
- viewBackgroundColor: string;
77
- scrollX: number;
78
- scrollY: number;
79
- cursorButton: "up" | "down";
80
- scrolledOutside: boolean;
81
- name: string | null;
82
- isResizing: boolean;
83
- isRotating: boolean;
84
- zoom: Readonly<{
85
- value: import("../types").NormalizedZoomValue;
86
- }>;
87
- openMenu: "canvas" | "shape" | null;
88
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
89
- openSidebar: {
90
- name: string;
91
- tab?: string | undefined;
92
- } | null;
93
- openDialog: {
94
- name: "imageExport" | "help" | "jsonExport";
95
- } | {
96
- name: "settings";
97
- source: "settings" | "tool" | "generation";
98
- tab: "text-to-diagram" | "diagram-to-code";
99
- } | {
100
- name: "ttd";
101
- tab: "mermaid" | "text-to-diagram";
102
- } | {
103
- name: "commandPalette";
104
- } | null;
105
- defaultSidebarDockedPreference: boolean;
106
- lastPointerDownWith: import("../element/types").PointerType;
107
- previousSelectedElementIds: {
108
- [id: string]: true;
109
- };
110
- selectedElementsAreBeingDragged: boolean;
111
- shouldCacheIgnoreZoom: boolean;
112
- toast: {
113
- message: string;
114
- closable?: boolean | undefined;
115
- duration?: number | undefined;
116
- } | null;
117
- zenModeEnabled: boolean;
118
- theme: import("../element/types").Theme;
119
- gridSize: number | null;
120
- previousGridSize: number | null;
121
- viewModeEnabled: boolean;
122
- width: number;
123
- height: number;
124
- offsetTop: number;
125
- offsetLeft: number;
126
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
127
- collaborators: Map<import("../types").SocketId, Readonly<{
128
- pointer?: import("../types").CollaboratorPointer | undefined;
129
- button?: "up" | "down" | undefined;
130
- selectedElementIds?: Readonly<{
131
- [id: string]: true;
132
- }> | undefined;
133
- username?: string | null | undefined;
134
- userState?: import("../types").UserIdleState | undefined;
135
- color?: {
136
- background: string;
137
- stroke: string;
138
- } | undefined;
139
- avatarUrl?: string | undefined;
140
- id?: string | undefined;
141
- socketId?: import("../types").SocketId | undefined;
142
- isCurrentUser?: boolean | undefined;
143
- isInCall?: boolean | undefined;
144
- isSpeaking?: boolean | undefined;
145
- isMuted?: boolean | undefined;
146
- }>>;
147
- showStats: boolean;
148
- currentChartType: import("../element/types").ChartType;
149
- pasteDialog: {
150
- shown: false;
151
- data: null;
152
- } | {
153
- shown: true;
154
- data: import("../charts").Spreadsheet;
155
- };
156
- pendingImageElementId: string | null;
157
- showHyperlinkPopup: false | "info" | "editor";
158
- linkOpacity: number;
159
- trayModeEnabled: boolean;
160
- colorPalette?: {
161
- canvasBackground: import("../colors").ColorPaletteCustom;
162
- elementBackground: import("../colors").ColorPaletteCustom;
163
- elementStroke: import("../colors").ColorPaletteCustom;
164
- topPicks: {
165
- canvasBackground: [string, string, string, string, string];
166
- elementStroke: [string, string, string, string, string];
167
- elementBackground: [string, string, string, string, string];
168
- };
169
- } | undefined;
170
- allowWheelZoom?: boolean | undefined;
171
- allowPinchZoom?: boolean | undefined;
172
- pinnedScripts?: string[] | undefined;
173
- customPens?: any[] | undefined;
174
- currentStrokeOptions?: any;
175
- resetCustomPen?: any;
176
- gridColor: {
177
- Bold: string;
178
- Regular: string;
179
- MajorGridFrequency?: number | undefined;
180
- };
181
- dynamicStyle: {
182
- [x: string]: string;
183
- };
184
- frameColor: {
185
- stroke: string;
186
- fill: string;
187
- nameColor: string;
188
- };
189
- invertBindingBehaviour: boolean;
190
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
191
- snapLines: readonly import("../snapping").SnapLine[];
192
- originSnapOffset: {
193
- x: number;
194
- y: number;
195
- } | null;
196
- objectsSnapModeEnabled: boolean;
197
- userToFollow: import("../types").UserToFollow | null;
198
- followedBy: Set<import("../types").SocketId>;
199
- };
200
- elements: ExcalidrawElement[];
201
- commitToHistory: true;
12
+ elements: readonly OrderedExcalidrawElement[];
13
+ storeAction: import("../store").StoreActionType;
202
14
  };
203
15
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: AppClassProperties) => boolean;
204
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
16
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
205
17
  PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
206
18
  } & {
207
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
19
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
208
20
  };
209
21
  export declare const actionUngroup: {
210
22
  name: "ungroup";
@@ -213,202 +25,14 @@ export declare const actionUngroup: {
213
25
  trackEvent: {
214
26
  category: "element";
215
27
  };
216
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
28
+ perform: (elements: readonly OrderedExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
217
29
  appState: Readonly<AppState>;
218
- elements: readonly ExcalidrawElement[];
219
- commitToHistory: false;
220
- } | {
221
- appState: {
222
- selectedElementIds: Readonly<{
223
- [id: string]: true;
224
- }>;
225
- selectedGroupIds: {
226
- [groupId: string]: boolean;
227
- };
228
- editingGroupId: string | null;
229
- contextMenu: {
230
- items: import("../components/ContextMenu").ContextMenuItems;
231
- top: number;
232
- left: number;
233
- } | null;
234
- showWelcomeScreen: boolean;
235
- isLoading: boolean;
236
- errorMessage: import("react").ReactNode;
237
- activeEmbeddable: {
238
- element: import("../element/types").NonDeletedExcalidrawElement;
239
- state: "active" | "hover";
240
- } | null;
241
- draggingElement: import("../element/types").NonDeletedExcalidrawElement | null;
242
- resizingElement: import("../element/types").NonDeletedExcalidrawElement | null;
243
- multiElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawLinearElement> | null;
244
- selectionElement: import("../element/types").NonDeletedExcalidrawElement | null;
245
- isBindingEnabled: boolean;
246
- startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
247
- suggestedBindings: import("../element/binding").SuggestedBinding[];
248
- frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameLikeElement> | null;
249
- frameRendering: {
250
- enabled: boolean;
251
- name: boolean;
252
- outline: boolean;
253
- clip: boolean;
254
- };
255
- editingFrame: string | null;
256
- elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
257
- editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
258
- editingLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
259
- activeTool: {
260
- lastActiveTool: import("../types").ActiveTool | null;
261
- locked: boolean;
262
- } & import("../types").ActiveTool;
263
- penMode: boolean;
264
- penDetected: boolean;
265
- exportBackground: boolean;
266
- exportEmbedScene: boolean;
267
- exportWithDarkMode: boolean;
268
- exportScale: number;
269
- currentItemStrokeColor: string;
270
- currentItemBackgroundColor: string;
271
- currentItemFillStyle: import("../element/types").FillStyle;
272
- currentItemStrokeWidth: number;
273
- currentItemStrokeStyle: import("../element/types").StrokeStyle;
274
- currentItemRoughness: number;
275
- currentItemOpacity: number;
276
- currentItemFontFamily: number;
277
- currentItemFontSize: number;
278
- currentItemTextAlign: string;
279
- currentItemStartArrowhead: import("../element/types").Arrowhead | null;
280
- currentItemEndArrowhead: import("../element/types").Arrowhead | null;
281
- currentItemRoundness: import("../element/types").StrokeRoundness;
282
- viewBackgroundColor: string;
283
- scrollX: number;
284
- scrollY: number;
285
- cursorButton: "up" | "down";
286
- scrolledOutside: boolean;
287
- name: string | null;
288
- isResizing: boolean;
289
- isRotating: boolean;
290
- zoom: Readonly<{
291
- value: import("../types").NormalizedZoomValue;
292
- }>;
293
- openMenu: "canvas" | "shape" | null;
294
- openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | null;
295
- openSidebar: {
296
- name: string;
297
- tab?: string | undefined;
298
- } | null;
299
- openDialog: {
300
- name: "imageExport" | "help" | "jsonExport";
301
- } | {
302
- name: "settings";
303
- source: "settings" | "tool" | "generation";
304
- tab: "text-to-diagram" | "diagram-to-code";
305
- } | {
306
- name: "ttd";
307
- tab: "mermaid" | "text-to-diagram";
308
- } | {
309
- name: "commandPalette";
310
- } | null;
311
- defaultSidebarDockedPreference: boolean;
312
- lastPointerDownWith: import("../element/types").PointerType;
313
- previousSelectedElementIds: {
314
- [id: string]: true;
315
- };
316
- selectedElementsAreBeingDragged: boolean;
317
- shouldCacheIgnoreZoom: boolean;
318
- toast: {
319
- message: string;
320
- closable?: boolean | undefined;
321
- duration?: number | undefined;
322
- } | null;
323
- zenModeEnabled: boolean;
324
- theme: import("../element/types").Theme;
325
- gridSize: number | null;
326
- previousGridSize: number | null;
327
- viewModeEnabled: boolean;
328
- width: number;
329
- height: number;
330
- offsetTop: number;
331
- offsetLeft: number;
332
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
333
- collaborators: Map<import("../types").SocketId, Readonly<{
334
- pointer?: import("../types").CollaboratorPointer | undefined;
335
- button?: "up" | "down" | undefined;
336
- selectedElementIds?: Readonly<{
337
- [id: string]: true;
338
- }> | undefined;
339
- username?: string | null | undefined;
340
- userState?: import("../types").UserIdleState | undefined;
341
- color?: {
342
- background: string;
343
- stroke: string;
344
- } | undefined;
345
- avatarUrl?: string | undefined;
346
- id?: string | undefined;
347
- socketId?: import("../types").SocketId | undefined;
348
- isCurrentUser?: boolean | undefined;
349
- isInCall?: boolean | undefined;
350
- isSpeaking?: boolean | undefined;
351
- isMuted?: boolean | undefined;
352
- }>>;
353
- showStats: boolean;
354
- currentChartType: import("../element/types").ChartType;
355
- pasteDialog: {
356
- shown: false;
357
- data: null;
358
- } | {
359
- shown: true;
360
- data: import("../charts").Spreadsheet;
361
- };
362
- pendingImageElementId: string | null;
363
- showHyperlinkPopup: false | "info" | "editor";
364
- linkOpacity: number;
365
- trayModeEnabled: boolean;
366
- colorPalette?: {
367
- canvasBackground: import("../colors").ColorPaletteCustom;
368
- elementBackground: import("../colors").ColorPaletteCustom;
369
- elementStroke: import("../colors").ColorPaletteCustom;
370
- topPicks: {
371
- canvasBackground: [string, string, string, string, string];
372
- elementStroke: [string, string, string, string, string];
373
- elementBackground: [string, string, string, string, string];
374
- };
375
- } | undefined;
376
- allowWheelZoom?: boolean | undefined;
377
- allowPinchZoom?: boolean | undefined;
378
- pinnedScripts?: string[] | undefined;
379
- customPens?: any[] | undefined;
380
- currentStrokeOptions?: any;
381
- resetCustomPen?: any;
382
- gridColor: {
383
- Bold: string;
384
- Regular: string;
385
- MajorGridFrequency?: number | undefined;
386
- };
387
- dynamicStyle: {
388
- [x: string]: string;
389
- };
390
- frameColor: {
391
- stroke: string;
392
- fill: string;
393
- nameColor: string;
394
- };
395
- invertBindingBehaviour: boolean;
396
- selectedLinearElement: import("../element/linearElementEditor").LinearElementEditor | null;
397
- snapLines: readonly import("../snapping").SnapLine[];
398
- originSnapOffset: {
399
- x: number;
400
- y: number;
401
- } | null;
402
- objectsSnapModeEnabled: boolean;
403
- userToFollow: import("../types").UserToFollow | null;
404
- followedBy: Set<import("../types").SocketId>;
405
- };
406
- elements: ExcalidrawElement[];
407
- commitToHistory: true;
30
+ elements: readonly OrderedExcalidrawElement[];
31
+ storeAction: import("../store").StoreActionType;
408
32
  };
409
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
33
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
410
34
  predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
411
35
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
412
36
  } & {
413
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
37
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
414
38
  };
@@ -1,6 +1,7 @@
1
- import { Action } from "./types";
2
- import History from "../history";
3
- type ActionCreator = (history: History) => Action;
1
+ import type { Action } from "./types";
2
+ import type { History } from "../history";
3
+ import type { Store } from "../store";
4
+ type ActionCreator = (history: History, store: Store) => Action;
4
5
  export declare const createUndoAction: ActionCreator;
5
6
  export declare const createRedoAction: ActionCreator;
6
7
  export {};
@@ -1,14 +1,15 @@
1
1
  import { LinearElementEditor } from "../element/linearElementEditor";
2
- import { ExcalidrawLinearElement } from "../element/types";
2
+ import type { ExcalidrawLinearElement } from "../element/types";
3
3
  export declare const actionToggleLinearEditor: {
4
4
  name: "toggleLinearEditor";
5
5
  category: string;
6
- label: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, app: import("../types").AppClassProperties) => "labels.lineEditor.exit" | "labels.lineEditor.edit";
6
+ label: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, app: import("../types").AppClassProperties) => "labels.lineEditor.editArrow" | "labels.lineEditor.edit";
7
+ keywords: string[];
7
8
  trackEvent: {
8
9
  category: "element";
9
10
  };
10
11
  predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
11
- perform(elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties): {
12
+ perform(elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, app: import("../types").AppClassProperties): {
12
13
  appState: {
13
14
  editingLinearElement: LinearElementEditor | null;
14
15
  contextMenu: {
@@ -194,8 +195,9 @@ export declare const actionToggleLinearEditor: {
194
195
  userToFollow: import("../types").UserToFollow | null;
195
196
  followedBy: Set<import("../types").SocketId>;
196
197
  };
197
- commitToHistory: false;
198
+ storeAction: import("../store").StoreActionType;
198
199
  };
200
+ PanelComponent: ({ appState, updateData, app }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
199
201
  } & {
200
202
  keyTest?: undefined;
201
203
  };
@@ -2,8 +2,8 @@ export declare const actionLink: {
2
2
  name: "hyperlink";
3
3
  label: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => "labels.link.editEmbed" | "labels.link.edit" | "labels.link.createEmbed" | "labels.link.create";
4
4
  icon: import("react/jsx-runtime").JSX.Element;
5
- perform: (elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => false | {
6
- elements: readonly import("../element/types").ExcalidrawElement[];
5
+ perform: (elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => false | {
6
+ elements: readonly import("../element/types").OrderedExcalidrawElement[];
7
7
  appState: {
8
8
  showHyperlinkPopup: "editor";
9
9
  openMenu: null;
@@ -189,15 +189,15 @@ export declare const actionLink: {
189
189
  userToFollow: import("../types").UserToFollow | null;
190
190
  followedBy: Set<import("../types").SocketId>;
191
191
  };
192
- commitToHistory: true;
192
+ storeAction: import("../store").StoreActionType;
193
193
  };
194
194
  trackEvent: {
195
195
  category: "hyperlink";
196
196
  action: string;
197
197
  };
198
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
198
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
199
199
  predicate: (elements: readonly import("../element/types").ExcalidrawElement[], appState: import("../types").AppState) => boolean;
200
200
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
201
201
  } & {
202
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
202
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
203
203
  };
@@ -4,7 +4,7 @@ export declare const actionToggleCanvasMenu: {
4
4
  trackEvent: {
5
5
  category: "menu";
6
6
  };
7
- perform: (_: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
7
+ perform: (_: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
8
8
  appState: {
9
9
  openMenu: "canvas" | null;
10
10
  contextMenu: {
@@ -190,7 +190,7 @@ export declare const actionToggleCanvasMenu: {
190
190
  userToFollow: import("../types").UserToFollow | null;
191
191
  followedBy: Set<import("../types").SocketId>;
192
192
  };
193
- commitToHistory: false;
193
+ storeAction: import("../store").StoreActionType;
194
194
  };
195
195
  PanelComponent: ({ appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
196
196
  } & {
@@ -202,7 +202,7 @@ export declare const actionToggleEditMenu: {
202
202
  trackEvent: {
203
203
  category: "menu";
204
204
  };
205
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
205
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>) => {
206
206
  appState: {
207
207
  openMenu: "shape" | null;
208
208
  contextMenu: {
@@ -388,7 +388,7 @@ export declare const actionToggleEditMenu: {
388
388
  userToFollow: import("../types").UserToFollow | null;
389
389
  followedBy: Set<import("../types").SocketId>;
390
390
  };
391
- commitToHistory: false;
391
+ storeAction: import("../store").StoreActionType;
392
392
  };
393
393
  PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
394
394
  } & {
@@ -403,7 +403,7 @@ export declare const actionShortcuts: {
403
403
  category: "menu";
404
404
  action: string;
405
405
  };
406
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, { focusContainer }: import("../types").AppClassProperties) => {
406
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, _: any, { focusContainer }: import("../types").AppClassProperties) => {
407
407
  appState: {
408
408
  openDialog: {
409
409
  name: "help";
@@ -580,9 +580,9 @@ export declare const actionShortcuts: {
580
580
  userToFollow: import("../types").UserToFollow | null;
581
581
  followedBy: Set<import("../types").SocketId>;
582
582
  };
583
- commitToHistory: false;
583
+ storeAction: import("../store").StoreActionType;
584
584
  };
585
- keyTest: (event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean;
585
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
586
586
  } & {
587
- keyTest?: ((event: import("react").KeyboardEvent<Element> | KeyboardEvent) => boolean) | undefined;
587
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
588
588
  };
@@ -1,4 +1,4 @@
1
- import { Collaborator } from "../types";
1
+ import type { Collaborator } from "../types";
2
2
  export declare const actionGoToCollaborator: {
3
3
  name: "goToCollaborator";
4
4
  label: string;
@@ -6,7 +6,7 @@ export declare const actionGoToCollaborator: {
6
6
  trackEvent: {
7
7
  category: "collab";
8
8
  };
9
- perform: (_elements: readonly import("../element/types").ExcalidrawElement[], appState: Readonly<import("../types").AppState>, collaborator: Collaborator) => {
9
+ perform: (_elements: readonly import("../element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>, collaborator: Collaborator) => {
10
10
  appState: {
11
11
  userToFollow: null;
12
12
  contextMenu: {
@@ -192,7 +192,7 @@ export declare const actionGoToCollaborator: {
192
192
  objectsSnapModeEnabled: boolean;
193
193
  followedBy: Set<import("../types").SocketId>;
194
194
  };
195
- commitToHistory: false;
195
+ storeAction: import("../store").StoreActionType;
196
196
  } | {
197
197
  appState: {
198
198
  userToFollow: {
@@ -382,7 +382,7 @@ export declare const actionGoToCollaborator: {
382
382
  objectsSnapModeEnabled: boolean;
383
383
  followedBy: Set<import("../types").SocketId>;
384
384
  };
385
- commitToHistory: false;
385
+ storeAction: import("../store").StoreActionType;
386
386
  };
387
387
  PanelComponent: ({ updateData, data, appState }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
388
388
  } & {