@excalidraw/element 0.18.0-7ea3229 → 0.18.0-816c81c

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 (90) hide show
  1. package/dist/dev/index.js +359 -152
  2. package/dist/dev/index.js.map +4 -4
  3. package/dist/prod/index.js +11 -11
  4. package/dist/types/common/src/appEventBus.d.ts +27 -0
  5. package/dist/types/common/src/colors.d.ts +1 -1
  6. package/dist/types/common/src/index.d.ts +2 -0
  7. package/dist/types/common/src/utils.d.ts +1 -3
  8. package/dist/types/common/src/versionedSnapshotStore.d.ts +17 -0
  9. package/dist/types/element/src/Scene.d.ts +2 -0
  10. package/dist/types/element/src/arrowheads.d.ts +3 -0
  11. package/dist/types/element/src/binding.d.ts +3 -4
  12. package/dist/types/element/src/bounds.d.ts +1 -1
  13. package/dist/types/element/src/elbowArrow.d.ts +2 -0
  14. package/dist/types/element/src/index.d.ts +1 -0
  15. package/dist/types/element/src/linearElementEditor.d.ts +3 -0
  16. package/dist/types/element/src/mutateElement.d.ts +2 -0
  17. package/dist/types/element/src/types.d.ts +5 -2
  18. package/dist/types/element/src/utils.d.ts +1 -1
  19. package/dist/types/excalidraw/actions/actionAddToLibrary.d.ts +23 -29
  20. package/dist/types/excalidraw/actions/actionBoundText.d.ts +16 -20
  21. package/dist/types/excalidraw/actions/actionCanvas.d.ts +97 -121
  22. package/dist/types/excalidraw/actions/actionClipboard.d.ts +16 -20
  23. package/dist/types/excalidraw/actions/actionCropEditor.d.ts +8 -10
  24. package/dist/types/excalidraw/actions/actionDeleteSelected.d.ts +24 -30
  25. package/dist/types/excalidraw/actions/actionElementLink.d.ts +4 -10
  26. package/dist/types/excalidraw/actions/actionElementLock.d.ts +16 -20
  27. package/dist/types/excalidraw/actions/actionEmbeddable.d.ts +8 -10
  28. package/dist/types/excalidraw/actions/actionExport.d.ts +60 -344
  29. package/dist/types/excalidraw/actions/actionFrame.d.ts +32 -40
  30. package/dist/types/excalidraw/actions/actionGroup.d.ts +16 -20
  31. package/dist/types/excalidraw/actions/actionLinearEditor.d.ts +8 -10
  32. package/dist/types/excalidraw/actions/actionLink.d.ts +8 -10
  33. package/dist/types/excalidraw/actions/actionMenu.d.ts +4 -10
  34. package/dist/types/excalidraw/actions/actionProperties.d.ts +16 -20
  35. package/dist/types/excalidraw/actions/actionSelectAll.d.ts +8 -10
  36. package/dist/types/excalidraw/actions/actionStyles.d.ts +7 -9
  37. package/dist/types/excalidraw/actions/actionToggleArrowBinding.d.ts +172 -0
  38. package/dist/types/excalidraw/actions/actionToggleGridMode.d.ts +8 -10
  39. package/dist/types/excalidraw/actions/actionToggleMidpointSnapping.d.ts +172 -0
  40. package/dist/types/excalidraw/actions/actionToggleObjectsSnapMode.d.ts +8 -10
  41. package/dist/types/excalidraw/actions/actionToggleSearchMenu.d.ts +4 -10
  42. package/dist/types/excalidraw/actions/actionToggleStats.d.ts +8 -10
  43. package/dist/types/excalidraw/actions/actionToggleViewMode.d.ts +8 -10
  44. package/dist/types/excalidraw/actions/actionToggleZenMode.d.ts +8 -10
  45. package/dist/types/excalidraw/actions/index.d.ts +2 -0
  46. package/dist/types/excalidraw/actions/types.d.ts +1 -1
  47. package/dist/types/excalidraw/appState.d.ts +4 -2
  48. package/dist/types/excalidraw/charts/charts.bar.d.ts +2 -0
  49. package/dist/types/excalidraw/charts/charts.constants.d.ts +48 -0
  50. package/dist/types/excalidraw/charts/charts.helpers.d.ts +32 -0
  51. package/dist/types/excalidraw/charts/charts.line.d.ts +2 -0
  52. package/dist/types/excalidraw/charts/charts.parse.d.ts +10 -0
  53. package/dist/types/excalidraw/charts/charts.radar.d.ts +2 -0
  54. package/dist/types/excalidraw/charts/charts.types.d.ts +18 -0
  55. package/dist/types/excalidraw/charts/index.d.ts +7 -0
  56. package/dist/types/excalidraw/clipboard.d.ts +2 -5
  57. package/dist/types/excalidraw/components/App.d.ts +33 -11
  58. package/dist/types/excalidraw/components/AppStateObserver.d.ts +37 -0
  59. package/dist/types/excalidraw/components/IconPicker.d.ts +14 -9
  60. package/dist/types/excalidraw/components/PasteChartDialog.d.ts +4 -5
  61. package/dist/types/excalidraw/components/TTDDialog/CodeMirrorEditor.d.ts +11 -0
  62. package/dist/types/excalidraw/components/TTDDialog/TTDDialogInput.d.ts +3 -3
  63. package/dist/types/excalidraw/components/TTDDialog/TTDDialogOutput.d.ts +4 -1
  64. package/dist/types/excalidraw/components/TTDDialog/mermaid-lang-lite.d.ts +2 -0
  65. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidAutoFix.d.ts +1 -0
  66. package/dist/types/excalidraw/components/TTDDialog/utils/mermaidError.d.ts +10 -0
  67. package/dist/types/excalidraw/components/Toast.d.ts +8 -4
  68. package/dist/types/excalidraw/components/icons.d.ts +17 -8
  69. package/dist/types/excalidraw/components/main-menu/DefaultItems.d.ts +2 -0
  70. package/dist/types/excalidraw/data/blob.d.ts +25 -30
  71. package/dist/types/excalidraw/data/filesystem.d.ts +3 -5
  72. package/dist/types/excalidraw/data/index.d.ts +2 -3
  73. package/dist/types/excalidraw/data/json.d.ts +28 -22
  74. package/dist/types/excalidraw/data/resave.d.ts +7 -2
  75. package/dist/types/excalidraw/types.d.ts +84 -13
  76. package/package.json +3 -3
  77. package/dist/types/excalidraw/charts.d.ts +0 -27
  78. package/dist/types/excalidraw/components/DiagramToCodePlugin/DiagramToCodePlugin.d.ts +0 -4
  79. package/dist/types/excalidraw/components/ExcalidrawLogo.d.ts +0 -15
  80. package/dist/types/excalidraw/components/InitializeApp.d.ts +0 -10
  81. package/dist/types/excalidraw/components/TTDDialog/TTDDialogTrigger.d.ts +0 -8
  82. package/dist/types/excalidraw/components/TTDDialog/utils/TTDStreamFetch.d.ts +0 -24
  83. package/dist/types/excalidraw/components/footer/FooterCenter.d.ts +0 -8
  84. package/dist/types/excalidraw/components/live-collaboration/LiveCollaborationTrigger.d.ts +0 -11
  85. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Center.d.ts +0 -58
  86. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.Hints.d.ts +0 -19
  87. package/dist/types/excalidraw/components/welcome-screen/WelcomeScreen.d.ts +0 -84
  88. package/dist/types/excalidraw/data/reconcile.d.ts +0 -7
  89. package/dist/types/excalidraw/index.d.ts +0 -47
  90. package/dist/types/excalidraw/polyfill.d.ts +0 -2
@@ -0,0 +1,172 @@
1
+ export declare const actionToggleArrowBinding: {
2
+ name: "arrowBinding";
3
+ label: string;
4
+ viewMode: false;
5
+ trackEvent: {
6
+ category: "canvas";
7
+ predicate: (appState: Readonly<import("../types").AppState>) => boolean;
8
+ };
9
+ perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>): {
10
+ appState: {
11
+ bindingPreference: "enabled" | "disabled";
12
+ isBindingEnabled: boolean;
13
+ contextMenu: {
14
+ items: import("../components/ContextMenu").ContextMenuItems;
15
+ top: number;
16
+ left: number;
17
+ } | null;
18
+ showWelcomeScreen: boolean;
19
+ isLoading: boolean;
20
+ errorMessage: React.ReactNode;
21
+ activeEmbeddable: {
22
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
23
+ state: "hover" | "active";
24
+ } | null;
25
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
26
+ resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
27
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
28
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
29
+ isMidpointSnappingEnabled: boolean;
30
+ startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
31
+ suggestedBinding: {
32
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
33
+ midPoint?: import("@excalidraw/math").GlobalPoint;
34
+ } | null;
35
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
36
+ frameRendering: {
37
+ enabled: boolean;
38
+ name: boolean;
39
+ outline: boolean;
40
+ clip: boolean;
41
+ };
42
+ editingFrame: string | null;
43
+ elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
44
+ editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
45
+ activeTool: {
46
+ lastActiveTool: import("../types").ActiveTool | null;
47
+ locked: boolean;
48
+ fromSelection: boolean;
49
+ } & import("../types").ActiveTool;
50
+ preferredSelectionTool: {
51
+ type: "selection" | "lasso";
52
+ initialized: boolean;
53
+ };
54
+ penMode: boolean;
55
+ penDetected: boolean;
56
+ exportBackground: boolean;
57
+ exportEmbedScene: boolean;
58
+ exportWithDarkMode: boolean;
59
+ exportScale: number;
60
+ currentItemStrokeColor: string;
61
+ currentItemBackgroundColor: string;
62
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
63
+ currentItemStrokeWidth: number;
64
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
65
+ currentItemRoughness: number;
66
+ currentItemOpacity: number;
67
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
68
+ currentItemFontSize: number;
69
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
70
+ currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
71
+ currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
72
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
73
+ currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
74
+ currentItemArrowType: "sharp" | "round" | "elbow";
75
+ viewBackgroundColor: string;
76
+ scrollX: number;
77
+ scrollY: number;
78
+ cursorButton: "up" | "down";
79
+ scrolledOutside: boolean;
80
+ name: string | null;
81
+ isResizing: boolean;
82
+ isRotating: boolean;
83
+ zoom: import("../types").Zoom;
84
+ openMenu: "canvas" | null;
85
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
86
+ openSidebar: {
87
+ name: import("../types").SidebarName;
88
+ tab?: import("../types").SidebarTabName;
89
+ } | null;
90
+ openDialog: null | {
91
+ name: "imageExport" | "help" | "jsonExport";
92
+ } | {
93
+ name: "ttd";
94
+ tab: "text-to-diagram" | "mermaid";
95
+ } | {
96
+ name: "commandPalette";
97
+ } | {
98
+ name: "settings";
99
+ } | {
100
+ name: "elementLinkSelector";
101
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
102
+ } | {
103
+ name: "charts";
104
+ data: import("../charts").Spreadsheet;
105
+ rawText: string;
106
+ };
107
+ defaultSidebarDockedPreference: boolean;
108
+ lastPointerDownWith: import("@excalidraw/element/types").PointerType;
109
+ selectedElementIds: Readonly<{
110
+ [id: string]: true;
111
+ }>;
112
+ hoveredElementIds: Readonly<{
113
+ [id: string]: true;
114
+ }>;
115
+ previousSelectedElementIds: {
116
+ [id: string]: true;
117
+ };
118
+ selectedElementsAreBeingDragged: boolean;
119
+ shouldCacheIgnoreZoom: boolean;
120
+ toast: {
121
+ message: React.ReactNode;
122
+ closable?: boolean;
123
+ duration?: number;
124
+ } | null;
125
+ zenModeEnabled: boolean;
126
+ theme: import("@excalidraw/element/types").Theme;
127
+ gridSize: number;
128
+ gridStep: number;
129
+ gridModeEnabled: boolean;
130
+ viewModeEnabled: boolean;
131
+ selectedGroupIds: {
132
+ [groupId: string]: boolean;
133
+ };
134
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
135
+ width: number;
136
+ height: number;
137
+ offsetTop: number;
138
+ offsetLeft: number;
139
+ fileHandle: FileSystemFileHandle | null;
140
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
141
+ stats: {
142
+ open: boolean;
143
+ panels: number;
144
+ };
145
+ showHyperlinkPopup: false | "info" | "editor";
146
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
147
+ snapLines: readonly import("../snapping").SnapLine[];
148
+ originSnapOffset: {
149
+ x: number;
150
+ y: number;
151
+ } | null;
152
+ objectsSnapModeEnabled: boolean;
153
+ userToFollow: import("../types").UserToFollow | null;
154
+ followedBy: Set<import("../types").SocketId>;
155
+ isCropping: boolean;
156
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
157
+ searchMatches: Readonly<{
158
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
159
+ matches: readonly import("../types").SearchMatch[];
160
+ }> | null;
161
+ activeLockedId: string | null;
162
+ lockedMultiSelections: {
163
+ [groupId: string]: true;
164
+ };
165
+ bindMode: import("@excalidraw/element/types").BindMode;
166
+ };
167
+ captureUpdate: "NEVER";
168
+ };
169
+ checked: (appState: Readonly<import("../types").AppState>) => boolean;
170
+ } & {
171
+ keyTest?: undefined;
172
+ };
@@ -30,6 +30,8 @@ export declare const actionToggleGridMode: {
30
30
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
31
31
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
32
32
  isBindingEnabled: boolean;
33
+ bindingPreference: "enabled" | "disabled";
34
+ isMidpointSnappingEnabled: boolean;
33
35
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
34
36
  suggestedBinding: {
35
37
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
@@ -102,6 +104,10 @@ export declare const actionToggleGridMode: {
102
104
  } | {
103
105
  name: "elementLinkSelector";
104
106
  sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
107
+ } | {
108
+ name: "charts";
109
+ data: import("../charts").Spreadsheet;
110
+ rawText: string;
105
111
  };
106
112
  defaultSidebarDockedPreference: boolean;
107
113
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -117,7 +123,7 @@ export declare const actionToggleGridMode: {
117
123
  selectedElementsAreBeingDragged: boolean;
118
124
  shouldCacheIgnoreZoom: boolean;
119
125
  toast: {
120
- message: string;
126
+ message: React.ReactNode;
121
127
  closable?: boolean;
122
128
  duration?: number;
123
129
  } | null;
@@ -134,20 +140,12 @@ export declare const actionToggleGridMode: {
134
140
  height: number;
135
141
  offsetTop: number;
136
142
  offsetLeft: number;
137
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
143
+ fileHandle: FileSystemFileHandle | null;
138
144
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
139
145
  stats: {
140
146
  open: boolean;
141
147
  panels: number;
142
148
  };
143
- currentChartType: import("@excalidraw/element/types").ChartType;
144
- pasteDialog: {
145
- shown: false;
146
- data: null;
147
- } | {
148
- shown: true;
149
- data: import("../charts").Spreadsheet;
150
- };
151
149
  showHyperlinkPopup: false | "info" | "editor";
152
150
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
153
151
  snapLines: readonly import("../snapping").SnapLine[];
@@ -0,0 +1,172 @@
1
+ export declare const actionToggleMidpointSnapping: {
2
+ name: "midpointSnapping";
3
+ label: string;
4
+ viewMode: false;
5
+ trackEvent: {
6
+ category: "canvas";
7
+ predicate: (appState: Readonly<import("../types").AppState>) => boolean;
8
+ };
9
+ perform(elements: readonly import("@excalidraw/element/types").OrderedExcalidrawElement[], appState: Readonly<import("../types").AppState>): {
10
+ appState: {
11
+ isMidpointSnappingEnabled: boolean;
12
+ contextMenu: {
13
+ items: import("../components/ContextMenu").ContextMenuItems;
14
+ top: number;
15
+ left: number;
16
+ } | null;
17
+ showWelcomeScreen: boolean;
18
+ isLoading: boolean;
19
+ errorMessage: React.ReactNode;
20
+ activeEmbeddable: {
21
+ element: import("@excalidraw/element/types").NonDeletedExcalidrawElement;
22
+ state: "hover" | "active";
23
+ } | null;
24
+ newElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawNonSelectionElement> | null;
25
+ resizingElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
26
+ multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
27
+ selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
28
+ isBindingEnabled: boolean;
29
+ bindingPreference: "enabled" | "disabled";
30
+ startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
31
+ suggestedBinding: {
32
+ element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
33
+ midPoint?: import("@excalidraw/math").GlobalPoint;
34
+ } | null;
35
+ frameToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawFrameLikeElement> | null;
36
+ frameRendering: {
37
+ enabled: boolean;
38
+ name: boolean;
39
+ outline: boolean;
40
+ clip: boolean;
41
+ };
42
+ editingFrame: string | null;
43
+ elementsToHighlight: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawElement>[] | null;
44
+ editingTextElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
45
+ activeTool: {
46
+ lastActiveTool: import("../types").ActiveTool | null;
47
+ locked: boolean;
48
+ fromSelection: boolean;
49
+ } & import("../types").ActiveTool;
50
+ preferredSelectionTool: {
51
+ type: "selection" | "lasso";
52
+ initialized: boolean;
53
+ };
54
+ penMode: boolean;
55
+ penDetected: boolean;
56
+ exportBackground: boolean;
57
+ exportEmbedScene: boolean;
58
+ exportWithDarkMode: boolean;
59
+ exportScale: number;
60
+ currentItemStrokeColor: string;
61
+ currentItemBackgroundColor: string;
62
+ currentItemFillStyle: import("@excalidraw/element/types").ExcalidrawElement["fillStyle"];
63
+ currentItemStrokeWidth: number;
64
+ currentItemStrokeStyle: import("@excalidraw/element/types").ExcalidrawElement["strokeStyle"];
65
+ currentItemRoughness: number;
66
+ currentItemOpacity: number;
67
+ currentItemFontFamily: import("@excalidraw/element/types").FontFamilyValues;
68
+ currentItemFontSize: number;
69
+ currentItemTextAlign: import("@excalidraw/element/types").TextAlign;
70
+ currentItemStartArrowhead: import("@excalidraw/element/types").Arrowhead | null;
71
+ currentItemEndArrowhead: import("@excalidraw/element/types").Arrowhead | null;
72
+ currentHoveredFontFamily: import("@excalidraw/element/types").FontFamilyValues | null;
73
+ currentItemRoundness: import("@excalidraw/element/types").StrokeRoundness;
74
+ currentItemArrowType: "sharp" | "round" | "elbow";
75
+ viewBackgroundColor: string;
76
+ scrollX: number;
77
+ scrollY: number;
78
+ cursorButton: "up" | "down";
79
+ scrolledOutside: boolean;
80
+ name: string | null;
81
+ isResizing: boolean;
82
+ isRotating: boolean;
83
+ zoom: import("../types").Zoom;
84
+ openMenu: "canvas" | null;
85
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | null;
86
+ openSidebar: {
87
+ name: import("../types").SidebarName;
88
+ tab?: import("../types").SidebarTabName;
89
+ } | null;
90
+ openDialog: null | {
91
+ name: "imageExport" | "help" | "jsonExport";
92
+ } | {
93
+ name: "ttd";
94
+ tab: "text-to-diagram" | "mermaid";
95
+ } | {
96
+ name: "commandPalette";
97
+ } | {
98
+ name: "settings";
99
+ } | {
100
+ name: "elementLinkSelector";
101
+ sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
102
+ } | {
103
+ name: "charts";
104
+ data: import("../charts").Spreadsheet;
105
+ rawText: string;
106
+ };
107
+ defaultSidebarDockedPreference: boolean;
108
+ lastPointerDownWith: import("@excalidraw/element/types").PointerType;
109
+ selectedElementIds: Readonly<{
110
+ [id: string]: true;
111
+ }>;
112
+ hoveredElementIds: Readonly<{
113
+ [id: string]: true;
114
+ }>;
115
+ previousSelectedElementIds: {
116
+ [id: string]: true;
117
+ };
118
+ selectedElementsAreBeingDragged: boolean;
119
+ shouldCacheIgnoreZoom: boolean;
120
+ toast: {
121
+ message: React.ReactNode;
122
+ closable?: boolean;
123
+ duration?: number;
124
+ } | null;
125
+ zenModeEnabled: boolean;
126
+ theme: import("@excalidraw/element/types").Theme;
127
+ gridSize: number;
128
+ gridStep: number;
129
+ gridModeEnabled: boolean;
130
+ viewModeEnabled: boolean;
131
+ selectedGroupIds: {
132
+ [groupId: string]: boolean;
133
+ };
134
+ editingGroupId: import("@excalidraw/element/types").GroupId | null;
135
+ width: number;
136
+ height: number;
137
+ offsetTop: number;
138
+ offsetLeft: number;
139
+ fileHandle: FileSystemFileHandle | null;
140
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
141
+ stats: {
142
+ open: boolean;
143
+ panels: number;
144
+ };
145
+ showHyperlinkPopup: false | "info" | "editor";
146
+ selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
147
+ snapLines: readonly import("../snapping").SnapLine[];
148
+ originSnapOffset: {
149
+ x: number;
150
+ y: number;
151
+ } | null;
152
+ objectsSnapModeEnabled: boolean;
153
+ userToFollow: import("../types").UserToFollow | null;
154
+ followedBy: Set<import("../types").SocketId>;
155
+ isCropping: boolean;
156
+ croppingElementId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
157
+ searchMatches: Readonly<{
158
+ focusedId: import("@excalidraw/element/types").ExcalidrawElement["id"] | null;
159
+ matches: readonly import("../types").SearchMatch[];
160
+ }> | null;
161
+ activeLockedId: string | null;
162
+ lockedMultiSelections: {
163
+ [groupId: string]: true;
164
+ };
165
+ bindMode: import("@excalidraw/element/types").BindMode;
166
+ };
167
+ captureUpdate: "NEVER";
168
+ };
169
+ checked: (appState: Readonly<import("../types").AppState>) => boolean;
170
+ } & {
171
+ keyTest?: undefined;
172
+ };
@@ -28,6 +28,8 @@ export declare const actionToggleObjectsSnapMode: {
28
28
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
29
29
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
30
30
  isBindingEnabled: boolean;
31
+ bindingPreference: "enabled" | "disabled";
32
+ isMidpointSnappingEnabled: boolean;
31
33
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
32
34
  suggestedBinding: {
33
35
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
@@ -100,6 +102,10 @@ export declare const actionToggleObjectsSnapMode: {
100
102
  } | {
101
103
  name: "elementLinkSelector";
102
104
  sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
105
+ } | {
106
+ name: "charts";
107
+ data: import("../charts").Spreadsheet;
108
+ rawText: string;
103
109
  };
104
110
  defaultSidebarDockedPreference: boolean;
105
111
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -115,7 +121,7 @@ export declare const actionToggleObjectsSnapMode: {
115
121
  selectedElementsAreBeingDragged: boolean;
116
122
  shouldCacheIgnoreZoom: boolean;
117
123
  toast: {
118
- message: string;
124
+ message: React.ReactNode;
119
125
  closable?: boolean;
120
126
  duration?: number;
121
127
  } | null;
@@ -132,20 +138,12 @@ export declare const actionToggleObjectsSnapMode: {
132
138
  height: number;
133
139
  offsetTop: number;
134
140
  offsetLeft: number;
135
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
141
+ fileHandle: FileSystemFileHandle | null;
136
142
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
137
143
  stats: {
138
144
  open: boolean;
139
145
  panels: number;
140
146
  };
141
- currentChartType: import("@excalidraw/element/types").ChartType;
142
- pasteDialog: {
143
- shown: false;
144
- data: null;
145
- } | {
146
- shown: true;
147
- data: import("../charts").Spreadsheet;
148
- };
149
147
  showHyperlinkPopup: false | "info" | "editor";
150
148
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
151
149
  snapLines: readonly import("../snapping").SnapLine[];
@@ -34,6 +34,8 @@ export declare const actionToggleSearchMenu: {
34
34
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
35
35
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
36
36
  isBindingEnabled: boolean;
37
+ bindingPreference: "enabled" | "disabled";
38
+ isMidpointSnappingEnabled: boolean;
37
39
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
38
40
  suggestedBinding: {
39
41
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
@@ -104,7 +106,7 @@ export declare const actionToggleSearchMenu: {
104
106
  selectedElementsAreBeingDragged: boolean;
105
107
  shouldCacheIgnoreZoom: boolean;
106
108
  toast: {
107
- message: string;
109
+ message: React.ReactNode;
108
110
  closable?: boolean;
109
111
  duration?: number;
110
112
  } | null;
@@ -122,20 +124,12 @@ export declare const actionToggleSearchMenu: {
122
124
  height: number;
123
125
  offsetTop: number;
124
126
  offsetLeft: number;
125
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
127
+ fileHandle: FileSystemFileHandle | null;
126
128
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
127
129
  stats: {
128
130
  open: boolean;
129
131
  panels: number;
130
132
  };
131
- currentChartType: import("@excalidraw/element/types").ChartType;
132
- pasteDialog: {
133
- shown: false;
134
- data: null;
135
- } | {
136
- shown: true;
137
- data: import("../charts").Spreadsheet;
138
- };
139
133
  showHyperlinkPopup: false | "info" | "editor";
140
134
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
141
135
  snapLines: readonly import("../snapping").SnapLine[];
@@ -30,6 +30,8 @@ export declare const actionToggleStats: {
30
30
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
31
31
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
32
32
  isBindingEnabled: boolean;
33
+ bindingPreference: "enabled" | "disabled";
34
+ isMidpointSnappingEnabled: boolean;
33
35
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
34
36
  suggestedBinding: {
35
37
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
@@ -102,6 +104,10 @@ export declare const actionToggleStats: {
102
104
  } | {
103
105
  name: "elementLinkSelector";
104
106
  sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
107
+ } | {
108
+ name: "charts";
109
+ data: import("../charts").Spreadsheet;
110
+ rawText: string;
105
111
  };
106
112
  defaultSidebarDockedPreference: boolean;
107
113
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -117,7 +123,7 @@ export declare const actionToggleStats: {
117
123
  selectedElementsAreBeingDragged: boolean;
118
124
  shouldCacheIgnoreZoom: boolean;
119
125
  toast: {
120
- message: string;
126
+ message: React.ReactNode;
121
127
  closable?: boolean;
122
128
  duration?: number;
123
129
  } | null;
@@ -135,16 +141,8 @@ export declare const actionToggleStats: {
135
141
  height: number;
136
142
  offsetTop: number;
137
143
  offsetLeft: number;
138
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
144
+ fileHandle: FileSystemFileHandle | null;
139
145
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
140
- currentChartType: import("@excalidraw/element/types").ChartType;
141
- pasteDialog: {
142
- shown: false;
143
- data: null;
144
- } | {
145
- shown: true;
146
- data: import("../charts").Spreadsheet;
147
- };
148
146
  showHyperlinkPopup: false | "info" | "editor";
149
147
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
150
148
  snapLines: readonly import("../snapping").SnapLine[];
@@ -27,6 +27,8 @@ export declare const actionToggleViewMode: {
27
27
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
28
28
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
29
29
  isBindingEnabled: boolean;
30
+ bindingPreference: "enabled" | "disabled";
31
+ isMidpointSnappingEnabled: boolean;
30
32
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
31
33
  suggestedBinding: {
32
34
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
@@ -99,6 +101,10 @@ export declare const actionToggleViewMode: {
99
101
  } | {
100
102
  name: "elementLinkSelector";
101
103
  sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
104
+ } | {
105
+ name: "charts";
106
+ data: import("../charts").Spreadsheet;
107
+ rawText: string;
102
108
  };
103
109
  defaultSidebarDockedPreference: boolean;
104
110
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -114,7 +120,7 @@ export declare const actionToggleViewMode: {
114
120
  selectedElementsAreBeingDragged: boolean;
115
121
  shouldCacheIgnoreZoom: boolean;
116
122
  toast: {
117
- message: string;
123
+ message: React.ReactNode;
118
124
  closable?: boolean;
119
125
  duration?: number;
120
126
  } | null;
@@ -131,20 +137,12 @@ export declare const actionToggleViewMode: {
131
137
  height: number;
132
138
  offsetTop: number;
133
139
  offsetLeft: number;
134
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
140
+ fileHandle: FileSystemFileHandle | null;
135
141
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
136
142
  stats: {
137
143
  open: boolean;
138
144
  panels: number;
139
145
  };
140
- currentChartType: import("@excalidraw/element/types").ChartType;
141
- pasteDialog: {
142
- shown: false;
143
- data: null;
144
- } | {
145
- shown: true;
146
- data: import("../charts").Spreadsheet;
147
- };
148
146
  showHyperlinkPopup: false | "info" | "editor";
149
147
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
150
148
  snapLines: readonly import("../snapping").SnapLine[];
@@ -27,6 +27,8 @@ export declare const actionToggleZenMode: {
27
27
  multiElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawLinearElement> | null;
28
28
  selectionElement: import("@excalidraw/element/types").NonDeletedExcalidrawElement | null;
29
29
  isBindingEnabled: boolean;
30
+ bindingPreference: "enabled" | "disabled";
31
+ isMidpointSnappingEnabled: boolean;
30
32
  startBoundElement: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement> | null;
31
33
  suggestedBinding: {
32
34
  element: import("@excalidraw/element/types").NonDeleted<import("@excalidraw/element/types").ExcalidrawBindableElement>;
@@ -99,6 +101,10 @@ export declare const actionToggleZenMode: {
99
101
  } | {
100
102
  name: "elementLinkSelector";
101
103
  sourceElementId: import("@excalidraw/element/types").ExcalidrawElement["id"];
104
+ } | {
105
+ name: "charts";
106
+ data: import("../charts").Spreadsheet;
107
+ rawText: string;
102
108
  };
103
109
  defaultSidebarDockedPreference: boolean;
104
110
  lastPointerDownWith: import("@excalidraw/element/types").PointerType;
@@ -114,7 +120,7 @@ export declare const actionToggleZenMode: {
114
120
  selectedElementsAreBeingDragged: boolean;
115
121
  shouldCacheIgnoreZoom: boolean;
116
122
  toast: {
117
- message: string;
123
+ message: React.ReactNode;
118
124
  closable?: boolean;
119
125
  duration?: number;
120
126
  } | null;
@@ -131,20 +137,12 @@ export declare const actionToggleZenMode: {
131
137
  height: number;
132
138
  offsetTop: number;
133
139
  offsetLeft: number;
134
- fileHandle: import("browser-fs-access").FileSystemHandle | null;
140
+ fileHandle: FileSystemFileHandle | null;
135
141
  collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
136
142
  stats: {
137
143
  open: boolean;
138
144
  panels: number;
139
145
  };
140
- currentChartType: import("@excalidraw/element/types").ChartType;
141
- pasteDialog: {
142
- shown: false;
143
- data: null;
144
- } | {
145
- shown: true;
146
- data: import("../charts").Spreadsheet;
147
- };
148
146
  showHyperlinkPopup: false | "info" | "editor";
149
147
  selectedLinearElement: import("@excalidraw/element").LinearElementEditor | null;
150
148
  snapLines: readonly import("../snapping").SnapLine[];
@@ -19,6 +19,8 @@ export { actionCopy, actionCut, actionCopyAsPng, actionCopyAsSvg, copyText, } fr
19
19
  export { actionToggleGridMode } from "./actionToggleGridMode";
20
20
  export { actionToggleZenMode } from "./actionToggleZenMode";
21
21
  export { actionToggleObjectsSnapMode } from "./actionToggleObjectsSnapMode";
22
+ export { actionToggleArrowBinding } from "./actionToggleArrowBinding";
23
+ export { actionToggleMidpointSnapping } from "./actionToggleMidpointSnapping";
22
24
  export { actionToggleStats } from "./actionToggleStats";
23
25
  export { actionUnbindText, actionBindText } from "./actionBoundText";
24
26
  export { actionLink } from "./actionLink";