@hellixit/hellixitboard 0.1.2 → 0.1.3

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 (98) hide show
  1. package/dist/prod/{chunk-QHHZVMH3.js → chunk-FWD6V37R.js} +3 -3
  2. package/dist/prod/chunk-LMRTGTGG.js +4 -0
  3. package/dist/prod/chunk-RB2IDBVE.js +7 -0
  4. package/dist/prod/components/TTDDialog/{CodeMirrorEditor-MJK6LQ6P.js → CodeMirrorEditor-ERTLCS7Z.js} +1 -1
  5. package/dist/prod/data/image-UDSDQWVP.js +1 -0
  6. package/dist/prod/fonts/DancingScript/DancingScript-Regular-Latin.woff2 +0 -0
  7. package/dist/prod/fonts/DancingScript/DancingScript-Regular-LatinExt.woff2 +0 -0
  8. package/dist/prod/fonts/DancingScript/DancingScript-Regular-Vietnamese.woff2 +0 -0
  9. package/dist/prod/fonts/Lobster/Lobster-Regular-Cyrillic.woff2 +0 -0
  10. package/dist/prod/fonts/Lobster/Lobster-Regular-CyrillicExt.woff2 +0 -0
  11. package/dist/prod/fonts/Lobster/Lobster-Regular-Latin.woff2 +0 -0
  12. package/dist/prod/fonts/Lobster/Lobster-Regular-LatinExt.woff2 +0 -0
  13. package/dist/prod/fonts/Lobster/Lobster-Regular-Vietnamese.woff2 +0 -0
  14. package/dist/prod/fonts/Merriweather/Merriweather-Regular-Cyrillic.woff2 +0 -0
  15. package/dist/prod/fonts/Merriweather/Merriweather-Regular-CyrillicExt.woff2 +0 -0
  16. package/dist/prod/fonts/Merriweather/Merriweather-Regular-Latin.woff2 +0 -0
  17. package/dist/prod/fonts/Merriweather/Merriweather-Regular-LatinExt.woff2 +0 -0
  18. package/dist/prod/fonts/Merriweather/Merriweather-Regular-Vietnamese.woff2 +0 -0
  19. package/dist/prod/fonts/Pacifico/Pacifico-Regular-Cyrillic.woff2 +0 -0
  20. package/dist/prod/fonts/Pacifico/Pacifico-Regular-CyrillicExt.woff2 +0 -0
  21. package/dist/prod/fonts/Pacifico/Pacifico-Regular-Latin.woff2 +0 -0
  22. package/dist/prod/fonts/Pacifico/Pacifico-Regular-LatinExt.woff2 +0 -0
  23. package/dist/prod/fonts/Pacifico/Pacifico-Regular-Vietnamese.woff2 +0 -0
  24. package/dist/prod/fonts/PlayfairDisplay/PlayfairDisplay-Regular-Cyrillic.woff2 +0 -0
  25. package/dist/prod/fonts/PlayfairDisplay/PlayfairDisplay-Regular-Latin.woff2 +0 -0
  26. package/dist/prod/fonts/PlayfairDisplay/PlayfairDisplay-Regular-LatinExt.woff2 +0 -0
  27. package/dist/prod/fonts/PlayfairDisplay/PlayfairDisplay-Regular-Vietnamese.woff2 +0 -0
  28. package/dist/prod/fonts/Righteous/Righteous-Regular-Latin.woff2 +0 -0
  29. package/dist/prod/fonts/Righteous/Righteous-Regular-LatinExt.woff2 +0 -0
  30. package/dist/prod/index.css +1 -1
  31. package/dist/prod/index.js +27 -27
  32. package/dist/prod/locales/en-SLCFPWUZ.js +1 -0
  33. package/dist/prod/subset-shared.chunk.js +1 -1
  34. package/dist/prod/subset-worker.chunk.js +1 -1
  35. package/dist/types/common/src/constants.d.ts +10 -4
  36. package/dist/types/common/src/keys.d.ts +2 -0
  37. package/dist/types/element/src/renderElement.d.ts +1 -0
  38. package/dist/types/hellixitboard/actions/actionAddToLibrary.d.ts +6 -0
  39. package/dist/types/hellixitboard/actions/actionBoundText.d.ts +4 -0
  40. package/dist/types/hellixitboard/actions/actionCanvas.d.ts +24 -0
  41. package/dist/types/hellixitboard/actions/actionClipboard.d.ts +4 -0
  42. package/dist/types/hellixitboard/actions/actionCropEditor.d.ts +2 -0
  43. package/dist/types/hellixitboard/actions/actionDeleteSelected.d.ts +6 -0
  44. package/dist/types/hellixitboard/actions/actionElementLink.d.ts +2 -0
  45. package/dist/types/hellixitboard/actions/actionElementLock.d.ts +4 -0
  46. package/dist/types/hellixitboard/actions/actionEmbeddable.d.ts +2 -0
  47. package/dist/types/hellixitboard/actions/actionExport.d.ts +4 -0
  48. package/dist/types/hellixitboard/actions/actionFrame.d.ts +8 -0
  49. package/dist/types/hellixitboard/actions/actionGroup.d.ts +4 -0
  50. package/dist/types/hellixitboard/actions/actionLinearEditor.d.ts +2 -0
  51. package/dist/types/hellixitboard/actions/actionLink.d.ts +2 -0
  52. package/dist/types/hellixitboard/actions/actionMenu.d.ts +2 -0
  53. package/dist/types/hellixitboard/actions/actionPresentation.d.ts +336 -0
  54. package/dist/types/hellixitboard/actions/actionProperties.d.ts +4 -0
  55. package/dist/types/hellixitboard/actions/actionSelectAll.d.ts +2 -0
  56. package/dist/types/hellixitboard/actions/actionStackToScale.d.ts +173 -0
  57. package/dist/types/hellixitboard/actions/actionStyles.d.ts +2 -0
  58. package/dist/types/hellixitboard/actions/actionToggleArrowBinding.d.ts +2 -0
  59. package/dist/types/hellixitboard/actions/actionToggleGridMode.d.ts +2 -0
  60. package/dist/types/hellixitboard/actions/actionToggleMidpointSnapping.d.ts +2 -0
  61. package/dist/types/hellixitboard/actions/actionToggleObjectsSnapMode.d.ts +2 -0
  62. package/dist/types/hellixitboard/actions/actionToggleSearchMenu.d.ts +2 -0
  63. package/dist/types/hellixitboard/actions/actionToggleStats.d.ts +2 -0
  64. package/dist/types/hellixitboard/actions/actionToggleViewMode.d.ts +2 -0
  65. package/dist/types/hellixitboard/actions/actionToggleZenMode.d.ts +2 -0
  66. package/dist/types/hellixitboard/actions/index.d.ts +2 -0
  67. package/dist/types/hellixitboard/actions/types.d.ts +1 -1
  68. package/dist/types/hellixitboard/components/Actions.d.ts +2 -1
  69. package/dist/types/hellixitboard/components/App.d.ts +1 -1
  70. package/dist/types/hellixitboard/components/FontPicker/FontPicker.d.ts +2 -7
  71. package/dist/types/hellixitboard/components/FontPicker/fontPickerConstants.d.ts +6 -0
  72. package/dist/types/hellixitboard/components/ImageExportDialog.d.ts +4 -1
  73. package/dist/types/hellixitboard/components/PresentationOverlay.d.ts +10 -0
  74. package/dist/types/hellixitboard/components/dropdownMenu/dropdownMenuUtils.d.ts +4 -4
  75. package/dist/types/hellixitboard/components/footer/Footer.d.ts +2 -1
  76. package/dist/types/hellixitboard/data/blob.d.ts +5 -1
  77. package/dist/types/hellixitboard/data/json.d.ts +2 -0
  78. package/dist/types/hellixitboard/data/library.d.ts +1 -1
  79. package/dist/types/hellixitboard/fonts/DancingScript/index.d.ts +2 -0
  80. package/dist/types/hellixitboard/fonts/{Excalifont → Hellixfont}/index.d.ts +1 -1
  81. package/dist/types/hellixitboard/fonts/Lobster/index.d.ts +2 -0
  82. package/dist/types/hellixitboard/fonts/Merriweather/index.d.ts +2 -0
  83. package/dist/types/hellixitboard/fonts/Pacifico/index.d.ts +2 -0
  84. package/dist/types/hellixitboard/fonts/PlayfairDisplay/index.d.ts +2 -0
  85. package/dist/types/hellixitboard/fonts/Righteous/index.d.ts +2 -0
  86. package/dist/types/hellixitboard/types.d.ts +3 -0
  87. package/package.json +1 -1
  88. package/dist/prod/chunk-IGUB3U7T.js +0 -4
  89. package/dist/prod/chunk-SHLNM5GH.js +0 -7
  90. package/dist/prod/data/image-WXEFXRM6.js +0 -1
  91. package/dist/prod/locales/en-MFJ6PZDC.js +0 -1
  92. /package/dist/prod/fonts/{Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2 → Hellixfont/Hellixfont-Regular-Cyrillic.woff2} +0 -0
  93. /package/dist/prod/fonts/{Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2 → Hellixfont/Hellixfont-Regular-CyrillicExt.woff2} +0 -0
  94. /package/dist/prod/fonts/{Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2 → Hellixfont/Hellixfont-Regular-Diacritics.woff2} +0 -0
  95. /package/dist/prod/fonts/{Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2 → Hellixfont/Hellixfont-Regular-Greek.woff2} +0 -0
  96. /package/dist/prod/fonts/{Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2 → Hellixfont/Hellixfont-Regular-Latin.woff2} +0 -0
  97. /package/dist/prod/fonts/{Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2 → Hellixfont/Hellixfont-Regular-LatinExt.woff2} +0 -0
  98. /package/dist/prod/fonts/{Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2 → Hellixfont/Hellixfont-Regular-Special.woff2} +0 -0
@@ -0,0 +1,336 @@
1
+ import type { OrderedHellixitboardElement } from "@hellixit/element/types";
2
+ export declare const getSortedFrames: (elements: readonly OrderedHellixitboardElement[]) => import("@hellixit/element/types").NonDeleted<OrderedHellixitboardElement>[];
3
+ export declare const actionTogglePresentation: {
4
+ name: "presentationMode";
5
+ label: string;
6
+ icon: import("react/jsx-runtime").JSX.Element;
7
+ viewMode: true;
8
+ trackEvent: {
9
+ category: "canvas";
10
+ };
11
+ perform(elements: readonly OrderedHellixitboardElement[], appState: Readonly<import("../types").AppState>, _formData: unknown, app: import("../types").AppClassProperties): false | {
12
+ appState: {
13
+ presentationMode: false;
14
+ presentationFrameIndex: number;
15
+ viewModeEnabled: false;
16
+ frameRendering: {
17
+ name: true;
18
+ outline: true;
19
+ enabled: boolean;
20
+ clip: boolean;
21
+ };
22
+ contextMenu: {
23
+ items: import("../components/ContextMenu").ContextMenuItems;
24
+ top: number;
25
+ left: number;
26
+ } | null;
27
+ showWelcomeScreen: boolean;
28
+ isLoading: boolean;
29
+ errorMessage: React.ReactNode;
30
+ activeEmbeddable: {
31
+ element: import("@hellixit/element/types").NonDeletedHellixitboardElement;
32
+ state: "hover" | "active";
33
+ } | null;
34
+ newElement: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardNonSelectionElement> | null;
35
+ resizingElement: import("@hellixit/element/types").NonDeletedHellixitboardElement | null;
36
+ multiElement: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardLinearElement> | null;
37
+ selectionElement: import("@hellixit/element/types").NonDeletedHellixitboardElement | null;
38
+ isBindingEnabled: boolean;
39
+ bindingPreference: "enabled" | "disabled";
40
+ isMidpointSnappingEnabled: boolean;
41
+ startBoundElement: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardBindableElement> | null;
42
+ suggestedBinding: {
43
+ element: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardBindableElement>;
44
+ midPoint?: import("@hellixit/math").GlobalPoint;
45
+ } | null;
46
+ frameToHighlight: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardFrameLikeElement> | null;
47
+ editingFrame: string | null;
48
+ elementsToHighlight: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardElement>[] | null;
49
+ editingTextElement: import("@hellixit/element/types").NonDeletedHellixitboardElement | null;
50
+ activeTool: {
51
+ lastActiveTool: import("../types").ActiveTool | null;
52
+ locked: boolean;
53
+ fromSelection: boolean;
54
+ } & import("../types").ActiveTool;
55
+ preferredSelectionTool: {
56
+ type: "selection" | "lasso";
57
+ initialized: boolean;
58
+ };
59
+ penMode: boolean;
60
+ penDetected: boolean;
61
+ exportBackground: boolean;
62
+ exportEmbedScene: boolean;
63
+ exportWithDarkMode: boolean;
64
+ exportScale: number;
65
+ currentItemStrokeColor: string;
66
+ currentItemBackgroundColor: string;
67
+ currentItemFillStyle: import("@hellixit/element/types").HellixitboardElement["fillStyle"];
68
+ currentItemStrokeWidth: number;
69
+ currentItemStrokeStyle: import("@hellixit/element/types").HellixitboardElement["strokeStyle"];
70
+ currentItemRoughness: number;
71
+ currentItemOpacity: number;
72
+ currentItemFontFamily: import("@hellixit/element/types").FontFamilyValues;
73
+ currentItemFontSize: number;
74
+ currentItemTextAlign: import("@hellixit/element/types").TextAlign;
75
+ currentItemStartArrowhead: import("@hellixit/element/types").Arrowhead | null;
76
+ currentItemEndArrowhead: import("@hellixit/element/types").Arrowhead | null;
77
+ currentHoveredFontFamily: import("@hellixit/element/types").FontFamilyValues | null;
78
+ currentItemRoundness: import("@hellixit/element/types").StrokeRoundness;
79
+ currentItemArrowType: "sharp" | "round" | "elbow";
80
+ viewBackgroundColor: string;
81
+ scrollX: number;
82
+ scrollY: number;
83
+ cursorButton: "up" | "down";
84
+ scrolledOutside: boolean;
85
+ name: string | null;
86
+ isResizing: boolean;
87
+ isRotating: boolean;
88
+ zoom: import("../types").Zoom;
89
+ openMenu: "canvas" | null;
90
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | "compactAnimationProperties" | null;
91
+ openSidebar: {
92
+ name: import("../types").SidebarName;
93
+ tab?: import("../types").SidebarTabName;
94
+ } | null;
95
+ openDialog: null | {
96
+ name: "imageExport" | "help" | "jsonExport";
97
+ } | {
98
+ name: "ttd";
99
+ tab: "text-to-diagram" | "mermaid";
100
+ } | {
101
+ name: "commandPalette";
102
+ } | {
103
+ name: "settings";
104
+ } | {
105
+ name: "elementLinkSelector";
106
+ sourceElementId: import("@hellixit/element/types").HellixitboardElement["id"];
107
+ } | {
108
+ name: "charts";
109
+ data: import("../charts").Spreadsheet;
110
+ rawText: string;
111
+ };
112
+ defaultSidebarDockedPreference: boolean;
113
+ lastPointerDownWith: import("@hellixit/element/types").PointerType;
114
+ selectedElementIds: Readonly<{
115
+ [id: string]: true;
116
+ }>;
117
+ hoveredElementIds: Readonly<{
118
+ [id: string]: true;
119
+ }>;
120
+ previousSelectedElementIds: {
121
+ [id: string]: true;
122
+ };
123
+ selectedElementsAreBeingDragged: boolean;
124
+ shouldCacheIgnoreZoom: boolean;
125
+ toast: {
126
+ message: React.ReactNode;
127
+ closable?: boolean;
128
+ duration?: number;
129
+ } | null;
130
+ zenModeEnabled: boolean;
131
+ theme: import("@hellixit/element/types").Theme;
132
+ gridSize: number;
133
+ gridStep: number;
134
+ gridModeEnabled: boolean;
135
+ selectedGroupIds: {
136
+ [groupId: string]: boolean;
137
+ };
138
+ editingGroupId: import("@hellixit/element/types").GroupId | null;
139
+ width: number;
140
+ height: number;
141
+ offsetTop: number;
142
+ offsetLeft: number;
143
+ fileHandle: FileSystemFileHandle | null;
144
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
145
+ stats: {
146
+ open: boolean;
147
+ panels: number;
148
+ };
149
+ showHyperlinkPopup: false | "info" | "editor";
150
+ selectedLinearElement: import("@hellixit/element").LinearElementEditor | null;
151
+ snapLines: readonly import("../snapping").SnapLine[];
152
+ originSnapOffset: {
153
+ x: number;
154
+ y: number;
155
+ } | null;
156
+ objectsSnapModeEnabled: boolean;
157
+ userToFollow: import("../types").UserToFollow | null;
158
+ followedBy: Set<import("../types").SocketId>;
159
+ isCropping: boolean;
160
+ croppingElementId: import("@hellixit/element/types").HellixitboardElement["id"] | null;
161
+ searchMatches: Readonly<{
162
+ focusedId: import("@hellixit/element/types").HellixitboardElement["id"] | null;
163
+ matches: readonly import("../types").SearchMatch[];
164
+ }> | null;
165
+ activeLockedId: string | null;
166
+ lockedMultiSelections: {
167
+ [groupId: string]: true;
168
+ };
169
+ bindMode: import("@hellixit/element/types").BindMode;
170
+ };
171
+ captureUpdate: "EVENTUALLY";
172
+ } | {
173
+ appState: {
174
+ presentationMode: true;
175
+ presentationFrameIndex: number;
176
+ viewModeEnabled: true;
177
+ zenModeEnabled: false;
178
+ openMenu: null;
179
+ openPopup: null;
180
+ openSidebar: null;
181
+ frameRendering: {
182
+ name: false;
183
+ outline: false;
184
+ enabled: boolean;
185
+ clip: boolean;
186
+ };
187
+ contextMenu: {
188
+ items: import("../components/ContextMenu").ContextMenuItems;
189
+ top: number;
190
+ left: number;
191
+ } | null;
192
+ showWelcomeScreen: boolean;
193
+ isLoading: boolean;
194
+ errorMessage: React.ReactNode;
195
+ activeEmbeddable: {
196
+ element: import("@hellixit/element/types").NonDeletedHellixitboardElement;
197
+ state: "hover" | "active";
198
+ } | null;
199
+ newElement: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardNonSelectionElement> | null;
200
+ resizingElement: import("@hellixit/element/types").NonDeletedHellixitboardElement | null;
201
+ multiElement: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardLinearElement> | null;
202
+ selectionElement: import("@hellixit/element/types").NonDeletedHellixitboardElement | null;
203
+ isBindingEnabled: boolean;
204
+ bindingPreference: "enabled" | "disabled";
205
+ isMidpointSnappingEnabled: boolean;
206
+ startBoundElement: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardBindableElement> | null;
207
+ suggestedBinding: {
208
+ element: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardBindableElement>;
209
+ midPoint?: import("@hellixit/math").GlobalPoint;
210
+ } | null;
211
+ frameToHighlight: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardFrameLikeElement> | null;
212
+ editingFrame: string | null;
213
+ elementsToHighlight: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardElement>[] | null;
214
+ editingTextElement: import("@hellixit/element/types").NonDeletedHellixitboardElement | null;
215
+ activeTool: {
216
+ lastActiveTool: import("../types").ActiveTool | null;
217
+ locked: boolean;
218
+ fromSelection: boolean;
219
+ } & import("../types").ActiveTool;
220
+ preferredSelectionTool: {
221
+ type: "selection" | "lasso";
222
+ initialized: boolean;
223
+ };
224
+ penMode: boolean;
225
+ penDetected: boolean;
226
+ exportBackground: boolean;
227
+ exportEmbedScene: boolean;
228
+ exportWithDarkMode: boolean;
229
+ exportScale: number;
230
+ currentItemStrokeColor: string;
231
+ currentItemBackgroundColor: string;
232
+ currentItemFillStyle: import("@hellixit/element/types").HellixitboardElement["fillStyle"];
233
+ currentItemStrokeWidth: number;
234
+ currentItemStrokeStyle: import("@hellixit/element/types").HellixitboardElement["strokeStyle"];
235
+ currentItemRoughness: number;
236
+ currentItemOpacity: number;
237
+ currentItemFontFamily: import("@hellixit/element/types").FontFamilyValues;
238
+ currentItemFontSize: number;
239
+ currentItemTextAlign: import("@hellixit/element/types").TextAlign;
240
+ currentItemStartArrowhead: import("@hellixit/element/types").Arrowhead | null;
241
+ currentItemEndArrowhead: import("@hellixit/element/types").Arrowhead | null;
242
+ currentHoveredFontFamily: import("@hellixit/element/types").FontFamilyValues | null;
243
+ currentItemRoundness: import("@hellixit/element/types").StrokeRoundness;
244
+ currentItemArrowType: "sharp" | "round" | "elbow";
245
+ viewBackgroundColor: string;
246
+ scrollX: number;
247
+ scrollY: number;
248
+ cursorButton: "up" | "down";
249
+ scrolledOutside: boolean;
250
+ name: string | null;
251
+ isResizing: boolean;
252
+ isRotating: boolean;
253
+ zoom: import("../types").Zoom;
254
+ openDialog: null | {
255
+ name: "imageExport" | "help" | "jsonExport";
256
+ } | {
257
+ name: "ttd";
258
+ tab: "text-to-diagram" | "mermaid";
259
+ } | {
260
+ name: "commandPalette";
261
+ } | {
262
+ name: "settings";
263
+ } | {
264
+ name: "elementLinkSelector";
265
+ sourceElementId: import("@hellixit/element/types").HellixitboardElement["id"];
266
+ } | {
267
+ name: "charts";
268
+ data: import("../charts").Spreadsheet;
269
+ rawText: string;
270
+ };
271
+ defaultSidebarDockedPreference: boolean;
272
+ lastPointerDownWith: import("@hellixit/element/types").PointerType;
273
+ selectedElementIds: Readonly<{
274
+ [id: string]: true;
275
+ }>;
276
+ hoveredElementIds: Readonly<{
277
+ [id: string]: true;
278
+ }>;
279
+ previousSelectedElementIds: {
280
+ [id: string]: true;
281
+ };
282
+ selectedElementsAreBeingDragged: boolean;
283
+ shouldCacheIgnoreZoom: boolean;
284
+ toast: {
285
+ message: React.ReactNode;
286
+ closable?: boolean;
287
+ duration?: number;
288
+ } | null;
289
+ theme: import("@hellixit/element/types").Theme;
290
+ gridSize: number;
291
+ gridStep: number;
292
+ gridModeEnabled: boolean;
293
+ selectedGroupIds: {
294
+ [groupId: string]: boolean;
295
+ };
296
+ editingGroupId: import("@hellixit/element/types").GroupId | null;
297
+ width: number;
298
+ height: number;
299
+ offsetTop: number;
300
+ offsetLeft: number;
301
+ fileHandle: FileSystemFileHandle | null;
302
+ collaborators: Map<import("../types").SocketId, import("../types").Collaborator>;
303
+ stats: {
304
+ open: boolean;
305
+ panels: number;
306
+ };
307
+ showHyperlinkPopup: false | "info" | "editor";
308
+ selectedLinearElement: import("@hellixit/element").LinearElementEditor | null;
309
+ snapLines: readonly import("../snapping").SnapLine[];
310
+ originSnapOffset: {
311
+ x: number;
312
+ y: number;
313
+ } | null;
314
+ objectsSnapModeEnabled: boolean;
315
+ userToFollow: import("../types").UserToFollow | null;
316
+ followedBy: Set<import("../types").SocketId>;
317
+ isCropping: boolean;
318
+ croppingElementId: import("@hellixit/element/types").HellixitboardElement["id"] | null;
319
+ searchMatches: Readonly<{
320
+ focusedId: import("@hellixit/element/types").HellixitboardElement["id"] | null;
321
+ matches: readonly import("../types").SearchMatch[];
322
+ }> | null;
323
+ activeLockedId: string | null;
324
+ lockedMultiSelections: {
325
+ [groupId: string]: true;
326
+ };
327
+ bindMode: import("@hellixit/element/types").BindMode;
328
+ };
329
+ captureUpdate: "EVENTUALLY";
330
+ };
331
+ checked: (appState: Readonly<import("../types").AppState>) => boolean;
332
+ predicate: (_elements: readonly import("@hellixit/element/types").HellixitboardElement[], appState: import("../types").AppState, appProps: import("../types").HellixitboardProps) => boolean;
333
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
334
+ } & {
335
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
336
+ };
@@ -150,6 +150,8 @@ export declare const actionDecreaseFontSize: {
150
150
  duration?: number;
151
151
  } | null;
152
152
  zenModeEnabled: boolean;
153
+ presentationMode: boolean;
154
+ presentationFrameIndex: number;
153
155
  theme: import("@hellixit/element/types").Theme;
154
156
  gridSize: number;
155
157
  gridStep: number;
@@ -320,6 +322,8 @@ export declare const actionIncreaseFontSize: {
320
322
  duration?: number;
321
323
  } | null;
322
324
  zenModeEnabled: boolean;
325
+ presentationMode: boolean;
326
+ presentationFrameIndex: number;
323
327
  theme: import("@hellixit/element/types").Theme;
324
328
  gridSize: number;
325
329
  gridStep: number;
@@ -126,6 +126,8 @@ export declare const actionSelectAll: {
126
126
  duration?: number;
127
127
  } | null;
128
128
  zenModeEnabled: boolean;
129
+ presentationMode: boolean;
130
+ presentationFrameIndex: number;
129
131
  theme: import("@hellixit/element/types").Theme;
130
132
  gridSize: number;
131
133
  gridStep: number;
@@ -0,0 +1,173 @@
1
+ import type { OrderedHellixitboardElement } from "@hellixit/element/types";
2
+ export declare const actionStackToScale: {
3
+ name: "stackToScale";
4
+ label: string;
5
+ icon: import("react/jsx-runtime").JSX.Element;
6
+ trackEvent: {
7
+ category: "element";
8
+ };
9
+ predicate: (elements: readonly import("@hellixit/element/types").HellixitboardElement[], appState: import("../types").AppState) => boolean;
10
+ perform: (elements: readonly OrderedHellixitboardElement[], appState: Readonly<import("../types").AppState>) => false | {
11
+ elements: OrderedHellixitboardElement[];
12
+ appState: {
13
+ editingGroupId: import("../types").AppState["editingGroupId"];
14
+ selectedElementIds: import("../types").AppState["selectedElementIds"];
15
+ selectedGroupIds: import("../types").AppState["selectedGroupIds"];
16
+ contextMenu: {
17
+ items: import("../components/ContextMenu").ContextMenuItems;
18
+ top: number;
19
+ left: number;
20
+ } | null;
21
+ showWelcomeScreen: boolean;
22
+ isLoading: boolean;
23
+ errorMessage: React.ReactNode;
24
+ activeEmbeddable: {
25
+ element: import("@hellixit/element/types").NonDeletedHellixitboardElement;
26
+ state: "hover" | "active";
27
+ } | null;
28
+ newElement: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardNonSelectionElement> | null;
29
+ resizingElement: import("@hellixit/element/types").NonDeletedHellixitboardElement | null;
30
+ multiElement: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardLinearElement> | null;
31
+ selectionElement: import("@hellixit/element/types").NonDeletedHellixitboardElement | null;
32
+ isBindingEnabled: boolean;
33
+ bindingPreference: "enabled" | "disabled";
34
+ isMidpointSnappingEnabled: boolean;
35
+ startBoundElement: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardBindableElement> | null;
36
+ suggestedBinding: {
37
+ element: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardBindableElement>;
38
+ midPoint?: import("@hellixit/math").GlobalPoint;
39
+ } | null;
40
+ frameToHighlight: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardFrameLikeElement> | null;
41
+ frameRendering: {
42
+ enabled: boolean;
43
+ name: boolean;
44
+ outline: boolean;
45
+ clip: boolean;
46
+ };
47
+ editingFrame: string | null;
48
+ elementsToHighlight: import("@hellixit/element/types").NonDeleted<import("@hellixit/element/types").HellixitboardElement>[] | null;
49
+ editingTextElement: import("@hellixit/element/types").NonDeletedHellixitboardElement | null;
50
+ activeTool: {
51
+ lastActiveTool: import("../types").ActiveTool | null;
52
+ locked: boolean;
53
+ fromSelection: boolean;
54
+ } & import("../types").ActiveTool;
55
+ preferredSelectionTool: {
56
+ type: "selection" | "lasso";
57
+ initialized: boolean;
58
+ };
59
+ penMode: boolean;
60
+ penDetected: boolean;
61
+ exportBackground: boolean;
62
+ exportEmbedScene: boolean;
63
+ exportWithDarkMode: boolean;
64
+ exportScale: number;
65
+ currentItemStrokeColor: string;
66
+ currentItemBackgroundColor: string;
67
+ currentItemFillStyle: import("@hellixit/element/types").HellixitboardElement["fillStyle"];
68
+ currentItemStrokeWidth: number;
69
+ currentItemStrokeStyle: import("@hellixit/element/types").HellixitboardElement["strokeStyle"];
70
+ currentItemRoughness: number;
71
+ currentItemOpacity: number;
72
+ currentItemFontFamily: import("@hellixit/element/types").FontFamilyValues;
73
+ currentItemFontSize: number;
74
+ currentItemTextAlign: import("@hellixit/element/types").TextAlign;
75
+ currentItemStartArrowhead: import("@hellixit/element/types").Arrowhead | null;
76
+ currentItemEndArrowhead: import("@hellixit/element/types").Arrowhead | null;
77
+ currentHoveredFontFamily: import("@hellixit/element/types").FontFamilyValues | null;
78
+ currentItemRoundness: import("@hellixit/element/types").StrokeRoundness;
79
+ currentItemArrowType: "sharp" | "round" | "elbow";
80
+ viewBackgroundColor: string;
81
+ scrollX: number;
82
+ scrollY: number;
83
+ cursorButton: "up" | "down";
84
+ scrolledOutside: boolean;
85
+ name: string | null;
86
+ isResizing: boolean;
87
+ isRotating: boolean;
88
+ zoom: import("../types").Zoom;
89
+ openMenu: "canvas" | null;
90
+ openPopup: "canvasBackground" | "elementBackground" | "elementStroke" | "fontFamily" | "compactTextProperties" | "compactStrokeStyles" | "compactOtherProperties" | "compactArrowProperties" | "compactAnimationProperties" | null;
91
+ openSidebar: {
92
+ name: import("../types").SidebarName;
93
+ tab?: import("../types").SidebarTabName;
94
+ } | null;
95
+ openDialog: null | {
96
+ name: "imageExport" | "help" | "jsonExport";
97
+ } | {
98
+ name: "ttd";
99
+ tab: "text-to-diagram" | "mermaid";
100
+ } | {
101
+ name: "commandPalette";
102
+ } | {
103
+ name: "settings";
104
+ } | {
105
+ name: "elementLinkSelector";
106
+ sourceElementId: import("@hellixit/element/types").HellixitboardElement["id"];
107
+ } | {
108
+ name: "charts";
109
+ data: import("../charts").Spreadsheet;
110
+ rawText: string;
111
+ };
112
+ defaultSidebarDockedPreference: boolean;
113
+ lastPointerDownWith: import("@hellixit/element/types").PointerType;
114
+ hoveredElementIds: Readonly<{
115
+ [id: string]: true;
116
+ }>;
117
+ previousSelectedElementIds: {
118
+ [id: string]: true;
119
+ };
120
+ selectedElementsAreBeingDragged: boolean;
121
+ shouldCacheIgnoreZoom: boolean;
122
+ toast: {
123
+ message: React.ReactNode;
124
+ closable?: boolean;
125
+ duration?: number;
126
+ } | null;
127
+ zenModeEnabled: boolean;
128
+ presentationMode: boolean;
129
+ presentationFrameIndex: number;
130
+ theme: import("@hellixit/element/types").Theme;
131
+ gridSize: number;
132
+ gridStep: number;
133
+ gridModeEnabled: boolean;
134
+ viewModeEnabled: boolean;
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("@hellixit/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("@hellixit/element/types").HellixitboardElement["id"] | null;
157
+ searchMatches: Readonly<{
158
+ focusedId: import("@hellixit/element/types").HellixitboardElement["id"] | null;
159
+ matches: readonly import("../types").SearchMatch[];
160
+ }> | null;
161
+ activeLockedId: string | null;
162
+ lockedMultiSelections: {
163
+ [groupId: string]: true;
164
+ };
165
+ bindMode: import("@hellixit/element/types").BindMode;
166
+ };
167
+ captureUpdate: "IMMEDIATELY";
168
+ };
169
+ keyTest: (event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean;
170
+ PanelComponent: ({ elements, appState, updateData }: import("./types").PanelComponentProps) => import("react/jsx-runtime").JSX.Element;
171
+ } & {
172
+ keyTest?: ((event: KeyboardEvent | import("react").KeyboardEvent<Element>) => boolean) | undefined;
173
+ };
@@ -121,6 +121,8 @@ export declare const actionCopyStyles: {
121
121
  selectedElementsAreBeingDragged: boolean;
122
122
  shouldCacheIgnoreZoom: boolean;
123
123
  zenModeEnabled: boolean;
124
+ presentationMode: boolean;
125
+ presentationFrameIndex: number;
124
126
  theme: import("@hellixit/element/types").Theme;
125
127
  gridSize: number;
126
128
  gridStep: number;
@@ -123,6 +123,8 @@ export declare const actionToggleArrowBinding: {
123
123
  duration?: number;
124
124
  } | null;
125
125
  zenModeEnabled: boolean;
126
+ presentationMode: boolean;
127
+ presentationFrameIndex: number;
126
128
  theme: import("@hellixit/element/types").Theme;
127
129
  gridSize: number;
128
130
  gridStep: number;
@@ -128,6 +128,8 @@ export declare const actionToggleGridMode: {
128
128
  duration?: number;
129
129
  } | null;
130
130
  zenModeEnabled: boolean;
131
+ presentationMode: boolean;
132
+ presentationFrameIndex: number;
131
133
  theme: import("@hellixit/element/types").Theme;
132
134
  gridSize: number;
133
135
  gridStep: number;
@@ -123,6 +123,8 @@ export declare const actionToggleMidpointSnapping: {
123
123
  duration?: number;
124
124
  } | null;
125
125
  zenModeEnabled: boolean;
126
+ presentationMode: boolean;
127
+ presentationFrameIndex: number;
126
128
  theme: import("@hellixit/element/types").Theme;
127
129
  gridSize: number;
128
130
  gridStep: number;
@@ -126,6 +126,8 @@ export declare const actionToggleObjectsSnapMode: {
126
126
  duration?: number;
127
127
  } | null;
128
128
  zenModeEnabled: boolean;
129
+ presentationMode: boolean;
130
+ presentationFrameIndex: number;
129
131
  theme: import("@hellixit/element/types").Theme;
130
132
  gridSize: number;
131
133
  gridStep: number;
@@ -111,6 +111,8 @@ export declare const actionToggleSearchMenu: {
111
111
  duration?: number;
112
112
  } | null;
113
113
  zenModeEnabled: boolean;
114
+ presentationMode: boolean;
115
+ presentationFrameIndex: number;
114
116
  theme: import("@hellixit/element/types").Theme;
115
117
  gridSize: number;
116
118
  gridStep: number;
@@ -128,6 +128,8 @@ export declare const actionToggleStats: {
128
128
  duration?: number;
129
129
  } | null;
130
130
  zenModeEnabled: boolean;
131
+ presentationMode: boolean;
132
+ presentationFrameIndex: number;
131
133
  theme: import("@hellixit/element/types").Theme;
132
134
  gridSize: number;
133
135
  gridStep: number;
@@ -125,6 +125,8 @@ export declare const actionToggleViewMode: {
125
125
  duration?: number;
126
126
  } | null;
127
127
  zenModeEnabled: boolean;
128
+ presentationMode: boolean;
129
+ presentationFrameIndex: number;
128
130
  theme: import("@hellixit/element/types").Theme;
129
131
  gridSize: number;
130
132
  gridStep: number;
@@ -124,6 +124,8 @@ export declare const actionToggleZenMode: {
124
124
  closable?: boolean;
125
125
  duration?: number;
126
126
  } | null;
127
+ presentationMode: boolean;
128
+ presentationFrameIndex: number;
127
129
  theme: import("@hellixit/element/types").Theme;
128
130
  gridSize: number;
129
131
  gridStep: number;
@@ -28,3 +28,5 @@ export { actionToggleElementLock } from "./actionElementLock";
28
28
  export { actionToggleLinearEditor } from "./actionLinearEditor";
29
29
  export { actionToggleSearchMenu } from "./actionToggleSearchMenu";
30
30
  export { actionToggleCropEditor } from "./actionCropEditor";
31
+ export { actionStackToScale } from "./actionStackToScale";
32
+ export { actionTogglePresentation } from "./actionPresentation";
@@ -14,7 +14,7 @@ export type ActionResult = {
14
14
  type ActionFn<TData = any> = (elements: readonly OrderedHellixitboardElement[], appState: Readonly<AppState>, formData: TData | undefined, app: AppClassProperties) => ActionResult | Promise<ActionResult>;
15
15
  export type UpdaterFn = (res: ActionResult) => void;
16
16
  export type ActionFilterFn = (action: Action) => void;
17
- export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "arrowBinding" | "midpointSnapping" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon" | "changeAnimation" | "addComment" | "toggleComments";
17
+ export type ActionName = "copy" | "cut" | "paste" | "copyAsPng" | "copyAsSvg" | "copyText" | "sendBackward" | "bringForward" | "sendToBack" | "bringToFront" | "copyStyles" | "selectAll" | "pasteStyles" | "gridMode" | "zenMode" | "objectsSnapMode" | "arrowBinding" | "midpointSnapping" | "stats" | "changeStrokeColor" | "changeBackgroundColor" | "changeFillStyle" | "changeStrokeWidth" | "changeStrokeShape" | "changeSloppiness" | "changeStrokeStyle" | "changeArrowhead" | "changeArrowType" | "changeArrowProperties" | "changeOpacity" | "changeFontSize" | "undo" | "redo" | "finalize" | "changeProjectName" | "changeExportBackground" | "changeExportEmbedScene" | "changeExportScale" | "saveToActiveFile" | "saveFileToDisk" | "loadScene" | "duplicateSelection" | "stackToScale" | "deleteSelectedElements" | "changeViewBackgroundColor" | "clearCanvas" | "zoomIn" | "zoomOut" | "resetZoom" | "zoomToFit" | "zoomToFitSelection" | "zoomToFitSelectionInViewport" | "changeFontFamily" | "changeTextAlign" | "changeVerticalAlign" | "toggleFullScreen" | "toggleShortcuts" | "group" | "ungroup" | "goToCollaborator" | "addToLibrary" | "changeRoundness" | "alignTop" | "alignBottom" | "alignLeft" | "alignRight" | "alignVerticallyCentered" | "alignHorizontallyCentered" | "distributeHorizontally" | "distributeVertically" | "flipHorizontal" | "flipVertical" | "viewMode" | "exportWithDarkMode" | "toggleTheme" | "increaseFontSize" | "decreaseFontSize" | "unbindText" | "hyperlink" | "bindText" | "unlockAllElements" | "toggleElementLock" | "toggleLinearEditor" | "toggleEraserTool" | "toggleHandTool" | "selectAllElementsInFrame" | "removeAllElementsFromFrame" | "updateFrameRendering" | "setFrameAsActiveTool" | "setEmbeddableAsActiveTool" | "createContainerFromText" | "wrapTextInContainer" | "commandPalette" | "autoResize" | "elementStats" | "searchMenu" | "copyElementLink" | "linkToElement" | "cropEditor" | "wrapSelectionInFrame" | "toggleLassoTool" | "toggleShapeSwitch" | "togglePolygon" | "changeAnimation" | "addComment" | "toggleComments" | "presentationMode";
18
18
  export type PanelComponentProps = {
19
19
  elements: readonly HellixitboardElement[];
20
20
  appState: AppState;