@zsviczian/excalidraw 0.15.2-obsidian-7 → 0.15.2-obsidian-9

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 (45) hide show
  1. package/dist/excalidraw.development.js +50 -50
  2. package/dist/excalidraw.production.min.js +1 -1
  3. package/package.json +1 -1
  4. package/types/actions/actionAddToLibrary.d.ts +27 -12
  5. package/types/actions/actionAlign.d.ts +19 -19
  6. package/types/actions/actionBoundText.d.ts +24 -14
  7. package/types/actions/actionCanvas.d.ts +120 -60
  8. package/types/actions/actionClipboard.d.ts +47 -22
  9. package/types/actions/actionDeleteSelected.d.ts +27 -12
  10. package/types/actions/actionDistribute.d.ts +5 -5
  11. package/types/actions/actionElementLock.d.ts +23 -13
  12. package/types/actions/actionExport.d.ts +82 -36
  13. package/types/actions/actionFinalize.d.ts +18 -11
  14. package/types/actions/actionFlip.d.ts +2 -2
  15. package/types/actions/actionFrame.d.ts +35 -20
  16. package/types/actions/actionGroup.d.ts +5 -5
  17. package/types/actions/actionLinearEditor.d.ts +11 -6
  18. package/types/actions/actionMenu.d.ts +27 -12
  19. package/types/actions/actionProperties.d.ts +117 -52
  20. package/types/actions/actionStyles.d.ts +9 -4
  21. package/types/actions/actionToggleGridMode.d.ts +9 -4
  22. package/types/actions/actionToggleStats.d.ts +9 -4
  23. package/types/actions/actionToggleViewMode.d.ts +9 -4
  24. package/types/actions/actionToggleZenMode.d.ts +9 -4
  25. package/types/actions/types.d.ts +4 -3
  26. package/types/appState.d.ts +2 -2
  27. package/types/components/App.d.ts +13 -8
  28. package/types/components/HintViewer.d.ts +3 -4
  29. package/types/components/LayerUI.d.ts +2 -1
  30. package/types/components/MobileMenu.d.ts +3 -2
  31. package/types/constants.d.ts +2 -2
  32. package/types/data/url.d.ts +5 -0
  33. package/types/element/Hyperlink.d.ts +9 -4
  34. package/types/element/collision.d.ts +2 -2
  35. package/types/element/embeddable.d.ts +176 -0
  36. package/types/element/linearElementEditor.d.ts +9 -4
  37. package/types/element/newElement.d.ts +4 -4
  38. package/types/element/typeChecks.d.ts +4 -4
  39. package/types/element/types.d.ts +6 -6
  40. package/types/frame.d.ts +2 -2
  41. package/types/groups.d.ts +3 -3
  42. package/types/scene/Scene.d.ts +13 -0
  43. package/types/types.d.ts +15 -10
  44. package/types/utility-types.d.ts +2 -0
  45. package/types/utils.d.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zsviczian/excalidraw",
3
- "version": "0.15.2-obsidian-7",
3
+ "version": "0.15.2-obsidian-9",
4
4
  "main": "main.js",
5
5
  "types": "types/packages/excalidraw/index.d.ts",
6
6
  "files": [
@@ -18,7 +18,7 @@ export declare const actionAddToLibrary: {
18
18
  showWelcomeScreen: boolean;
19
19
  isLoading: boolean;
20
20
  errorMessage: import("react").ReactNode;
21
- activeIFrame: {
21
+ activeEmbeddable: {
22
22
  element: import("../element/types").NonDeletedExcalidrawElement;
23
23
  state: "active" | "hover";
24
24
  } | null;
@@ -30,7 +30,12 @@ export declare const actionAddToLibrary: {
30
30
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
31
31
  suggestedBindings: import("../element/binding").SuggestedBinding[];
32
32
  frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
33
- shouldRenderFrames: boolean;
33
+ frameRendering: {
34
+ enabled: boolean;
35
+ name: boolean;
36
+ outline: boolean;
37
+ clip: boolean;
38
+ };
34
39
  editingFrame: string | null;
35
40
  elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
36
41
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
@@ -39,7 +44,7 @@ export declare const actionAddToLibrary: {
39
44
  lastActiveTool: import("../types").LastActiveTool;
40
45
  locked: boolean;
41
46
  } & ({
42
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
47
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
43
48
  customType: null;
44
49
  } | {
45
50
  type: "custom";
@@ -93,7 +98,7 @@ export declare const actionAddToLibrary: {
93
98
  selectedElementsAreBeingDragged: boolean;
94
99
  shouldCacheIgnoreZoom: boolean;
95
100
  zenModeEnabled: boolean;
96
- theme: string;
101
+ theme: import("../element/types").Theme;
97
102
  gridSize: number | null;
98
103
  previousGridSize: number | null;
99
104
  viewModeEnabled: boolean;
@@ -152,7 +157,7 @@ export declare const actionAddToLibrary: {
152
157
  } | null;
153
158
  showWelcomeScreen: boolean;
154
159
  isLoading: boolean;
155
- activeIFrame: {
160
+ activeEmbeddable: {
156
161
  element: import("../element/types").NonDeletedExcalidrawElement;
157
162
  state: "active" | "hover";
158
163
  } | null;
@@ -164,7 +169,12 @@ export declare const actionAddToLibrary: {
164
169
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
165
170
  suggestedBindings: import("../element/binding").SuggestedBinding[];
166
171
  frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
167
- shouldRenderFrames: boolean;
172
+ frameRendering: {
173
+ enabled: boolean;
174
+ name: boolean;
175
+ outline: boolean;
176
+ clip: boolean;
177
+ };
168
178
  editingFrame: string | null;
169
179
  elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
170
180
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
@@ -173,7 +183,7 @@ export declare const actionAddToLibrary: {
173
183
  lastActiveTool: import("../types").LastActiveTool;
174
184
  locked: boolean;
175
185
  } & ({
176
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
186
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
177
187
  customType: null;
178
188
  } | {
179
189
  type: "custom";
@@ -232,7 +242,7 @@ export declare const actionAddToLibrary: {
232
242
  duration?: number | undefined;
233
243
  } | null;
234
244
  zenModeEnabled: boolean;
235
- theme: string;
245
+ theme: import("../element/types").Theme;
236
246
  gridSize: number | null;
237
247
  previousGridSize: number | null;
238
248
  viewModeEnabled: boolean;
@@ -291,7 +301,7 @@ export declare const actionAddToLibrary: {
291
301
  } | null;
292
302
  showWelcomeScreen: boolean;
293
303
  isLoading: boolean;
294
- activeIFrame: {
304
+ activeEmbeddable: {
295
305
  element: import("../element/types").NonDeletedExcalidrawElement;
296
306
  state: "active" | "hover";
297
307
  } | null;
@@ -303,7 +313,12 @@ export declare const actionAddToLibrary: {
303
313
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
304
314
  suggestedBindings: import("../element/binding").SuggestedBinding[];
305
315
  frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
306
- shouldRenderFrames: boolean;
316
+ frameRendering: {
317
+ enabled: boolean;
318
+ name: boolean;
319
+ outline: boolean;
320
+ clip: boolean;
321
+ };
307
322
  editingFrame: string | null;
308
323
  elementsToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawElement>[] | null;
309
324
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
@@ -312,7 +327,7 @@ export declare const actionAddToLibrary: {
312
327
  lastActiveTool: import("../types").LastActiveTool;
313
328
  locked: boolean;
314
329
  } & ({
315
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
330
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
316
331
  customType: null;
317
332
  } | {
318
333
  type: "custom";
@@ -371,7 +386,7 @@ export declare const actionAddToLibrary: {
371
386
  duration?: number | undefined;
372
387
  } | null;
373
388
  zenModeEnabled: boolean;
374
- theme: string;
389
+ theme: import("../element/types").Theme;
375
390
  gridSize: number | null;
376
391
  previousGridSize: number | null;
377
392
  viewModeEnabled: boolean;
@@ -1,19 +1,19 @@
1
1
  /// <reference types="react" />
2
2
  import { ExcalidrawElement } from "../element/types";
3
- import { AppState } from "../types";
3
+ import { AppClassProperties, AppState } from "../types";
4
4
  export declare const actionAlignTop: {
5
5
  name: "alignTop";
6
6
  trackEvent: {
7
7
  category: "element";
8
8
  };
9
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
10
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
9
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
10
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
11
11
  appState: Readonly<AppState>;
12
12
  elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
13
13
  commitToHistory: true;
14
14
  };
15
15
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
16
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
16
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
17
17
  } & {
18
18
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
19
19
  };
@@ -22,14 +22,14 @@ export declare const actionAlignBottom: {
22
22
  trackEvent: {
23
23
  category: "element";
24
24
  };
25
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
26
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
25
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
26
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
27
27
  appState: Readonly<AppState>;
28
28
  elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
29
29
  commitToHistory: true;
30
30
  };
31
31
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
32
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
32
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
33
33
  } & {
34
34
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
35
35
  };
@@ -38,14 +38,14 @@ export declare const actionAlignLeft: {
38
38
  trackEvent: {
39
39
  category: "element";
40
40
  };
41
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
42
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
41
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
42
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
43
43
  appState: Readonly<AppState>;
44
44
  elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
45
45
  commitToHistory: true;
46
46
  };
47
47
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
48
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
48
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
49
49
  } & {
50
50
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
51
51
  };
@@ -54,14 +54,14 @@ export declare const actionAlignRight: {
54
54
  trackEvent: {
55
55
  category: "element";
56
56
  };
57
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
58
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
57
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
58
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
59
59
  appState: Readonly<AppState>;
60
60
  elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
61
61
  commitToHistory: true;
62
62
  };
63
63
  keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
64
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
64
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
65
65
  } & {
66
66
  keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
67
67
  };
@@ -70,13 +70,13 @@ export declare const actionAlignVerticallyCentered: {
70
70
  trackEvent: {
71
71
  category: "element";
72
72
  };
73
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
74
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
73
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
74
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
75
75
  appState: Readonly<AppState>;
76
76
  elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
77
77
  commitToHistory: true;
78
78
  };
79
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
79
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
80
80
  } & {
81
81
  keyTest?: undefined;
82
82
  };
@@ -85,13 +85,13 @@ export declare const actionAlignHorizontallyCentered: {
85
85
  trackEvent: {
86
86
  category: "element";
87
87
  };
88
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
89
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
88
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: unknown, app: AppClassProperties) => boolean;
89
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: AppClassProperties) => {
90
90
  appState: Readonly<AppState>;
91
91
  elements: import("../scene/Scene").ExcalidrawElementsIncludingDeleted;
92
92
  commitToHistory: true;
93
93
  };
94
- PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => JSX.Element;
94
+ PanelComponent: ({ elements, appState, updateData, app }: import("./types").PanelComponentProps) => JSX.Element;
95
95
  } & {
96
96
  keyTest?: undefined;
97
97
  };
@@ -8,8 +8,8 @@ export declare const actionUnbindText: {
8
8
  trackEvent: {
9
9
  category: "element";
10
10
  };
11
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
12
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
11
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
12
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
13
13
  elements: readonly ExcalidrawElement[];
14
14
  appState: Readonly<AppState>;
15
15
  commitToHistory: true;
@@ -23,8 +23,8 @@ export declare const actionBindText: {
23
23
  trackEvent: {
24
24
  category: "element";
25
25
  };
26
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState, appProps: import("../types").ExcalidrawProps) => boolean;
27
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
26
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
27
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
28
28
  elements: ExcalidrawElement[];
29
29
  appState: {
30
30
  selectedElementIds: {
@@ -38,7 +38,7 @@ export declare const actionBindText: {
38
38
  showWelcomeScreen: boolean;
39
39
  isLoading: boolean;
40
40
  errorMessage: import("react").ReactNode;
41
- activeIFrame: {
41
+ activeEmbeddable: {
42
42
  element: import("../element/types").NonDeletedExcalidrawElement;
43
43
  state: "active" | "hover";
44
44
  } | null;
@@ -50,7 +50,12 @@ export declare const actionBindText: {
50
50
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
51
51
  suggestedBindings: import("../element/binding").SuggestedBinding[];
52
52
  frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
53
- shouldRenderFrames: boolean;
53
+ frameRendering: {
54
+ enabled: boolean;
55
+ name: boolean;
56
+ outline: boolean;
57
+ clip: boolean;
58
+ };
54
59
  editingFrame: string | null;
55
60
  elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
56
61
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
@@ -59,7 +64,7 @@ export declare const actionBindText: {
59
64
  lastActiveTool: import("../types").LastActiveTool;
60
65
  locked: boolean;
61
66
  } & ({
62
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
67
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
63
68
  customType: null;
64
69
  } | {
65
70
  type: "custom";
@@ -115,7 +120,7 @@ export declare const actionBindText: {
115
120
  duration?: number | undefined;
116
121
  } | null;
117
122
  zenModeEnabled: boolean;
118
- theme: string;
123
+ theme: import("../element/types").Theme;
119
124
  gridSize: number | null;
120
125
  previousGridSize: number | null;
121
126
  viewModeEnabled: boolean;
@@ -174,8 +179,8 @@ export declare const actionWrapTextInContainer: {
174
179
  trackEvent: {
175
180
  category: "element";
176
181
  };
177
- predicate: (elements: readonly ExcalidrawElement[], appState: AppState) => boolean;
178
- perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>) => {
182
+ predicate: (elements: readonly ExcalidrawElement[], appState: AppState, _: import("../types").ExcalidrawProps, app: import("../types").AppClassProperties) => boolean;
183
+ perform: (elements: readonly ExcalidrawElement[], appState: Readonly<AppState>, _: any, app: import("../types").AppClassProperties) => {
179
184
  elements: readonly ExcalidrawElement[];
180
185
  appState: {
181
186
  selectedElementIds: Mutable<Readonly<{
@@ -189,7 +194,7 @@ export declare const actionWrapTextInContainer: {
189
194
  showWelcomeScreen: boolean;
190
195
  isLoading: boolean;
191
196
  errorMessage: import("react").ReactNode;
192
- activeIFrame: {
197
+ activeEmbeddable: {
193
198
  element: import("../element/types").NonDeletedExcalidrawElement;
194
199
  state: "active" | "hover";
195
200
  } | null;
@@ -201,7 +206,12 @@ export declare const actionWrapTextInContainer: {
201
206
  startBoundElement: import("../element/types").NonDeleted<import("../element/types").ExcalidrawBindableElement> | null;
202
207
  suggestedBindings: import("../element/binding").SuggestedBinding[];
203
208
  frameToHighlight: import("../element/types").NonDeleted<import("../element/types").ExcalidrawFrameElement> | null;
204
- shouldRenderFrames: boolean;
209
+ frameRendering: {
210
+ enabled: boolean;
211
+ name: boolean;
212
+ outline: boolean;
213
+ clip: boolean;
214
+ };
205
215
  editingFrame: string | null;
206
216
  elementsToHighlight: import("../element/types").NonDeleted<ExcalidrawElement>[] | null;
207
217
  editingElement: import("../element/types").NonDeletedExcalidrawElement | null;
@@ -210,7 +220,7 @@ export declare const actionWrapTextInContainer: {
210
220
  lastActiveTool: import("../types").LastActiveTool;
211
221
  locked: boolean;
212
222
  } & ({
213
- type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "iframe" | "image" | "frame" | "freedraw" | "eraser" | "hand";
223
+ type: "line" | "arrow" | "text" | "selection" | "rectangle" | "diamond" | "ellipse" | "embeddable" | "image" | "frame" | "freedraw" | "eraser" | "hand";
214
224
  customType: null;
215
225
  } | {
216
226
  type: "custom";
@@ -266,7 +276,7 @@ export declare const actionWrapTextInContainer: {
266
276
  duration?: number | undefined;
267
277
  } | null;
268
278
  zenModeEnabled: boolean;
269
- theme: string;
279
+ theme: import("../element/types").Theme;
270
280
  gridSize: number | null;
271
281
  previousGridSize: number | null;
272
282
  viewModeEnabled: boolean;