polotno 2.36.10 → 2.37.1

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.
@@ -0,0 +1,481 @@
1
+ import { Instance } from 'mobx-state-tree';
2
+ export type BorderSideName = 'top' | 'right' | 'bottom' | 'left';
3
+ export type BorderAttrs = {
4
+ color?: string;
5
+ width?: number;
6
+ style?: string;
7
+ };
8
+ export declare const TableCell: import("mobx-state-tree").IModelType<{
9
+ id: import("mobx-state-tree").ISimpleType<string>;
10
+ type: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<"tablecell">, [undefined]>;
11
+ text: import("mobx-state-tree").IType<string | undefined, string, string>;
12
+ _fontSize: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
13
+ _fontFamily: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
14
+ _fontWeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
15
+ _fontStyle: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
16
+ _textDecoration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
17
+ _textTransform: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
18
+ _fill: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
19
+ _align: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
20
+ _verticalAlign: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
21
+ _lineHeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree/dist/internal").IUnionType<[import("mobx-state-tree").ISimpleType<number>, import("mobx-state-tree").ISimpleType<string>]>>;
22
+ _letterSpacing: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
23
+ _strokeWidth: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
24
+ _stroke: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
25
+ _cellBackground: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
26
+ _cellPadding: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
27
+ opacity: import("mobx-state-tree").IType<number | undefined, number, number>;
28
+ rowSpan: import("mobx-state-tree").IType<number | undefined, number, number>;
29
+ colSpan: import("mobx-state-tree").IType<number | undefined, number, number>;
30
+ mergedInto: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
31
+ borders: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
32
+ top: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
33
+ color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
34
+ width: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
35
+ style: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<"none" | "solid" | "dashed" | "dotted">>;
36
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
37
+ right: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
38
+ color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
39
+ width: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
40
+ style: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<"none" | "solid" | "dashed" | "dotted">>;
41
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
42
+ bottom: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
43
+ color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
44
+ width: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
45
+ style: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<"none" | "solid" | "dashed" | "dotted">>;
46
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
47
+ left: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
48
+ color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
49
+ width: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
50
+ style: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<"none" | "solid" | "dashed" | "dotted">>;
51
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
52
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
53
+ name: import("mobx-state-tree").IType<string | undefined, string, string>;
54
+ custom: import("mobx-state-tree").IType<any, any, any>;
55
+ }, {
56
+ _editModeEnabled: boolean;
57
+ filters: import("mobx").ObservableMap<string, number>;
58
+ } & {
59
+ readonly row: number;
60
+ readonly col: number;
61
+ readonly store: any;
62
+ readonly page: any;
63
+ readonly fontSize: number;
64
+ readonly fontFamily: string;
65
+ readonly fontWeight: string;
66
+ readonly fontStyle: string;
67
+ readonly textDecoration: string;
68
+ readonly textTransform: string;
69
+ readonly fill: string;
70
+ readonly align: string;
71
+ readonly verticalAlign: string;
72
+ readonly lineHeight: number | string;
73
+ readonly letterSpacing: number;
74
+ readonly strokeWidth: number;
75
+ readonly stroke: string;
76
+ readonly cellBackground: string;
77
+ readonly cellPadding: number;
78
+ readonly width: number;
79
+ readonly height: number;
80
+ readonly a: {
81
+ x: number;
82
+ y: number;
83
+ width: number;
84
+ height: number;
85
+ rotation: number;
86
+ opacity: number;
87
+ fontSize: number;
88
+ };
89
+ getEffectiveBorder(side: BorderSideName): {
90
+ color: string;
91
+ width: number;
92
+ style: string;
93
+ };
94
+ readonly x: number;
95
+ readonly y: number;
96
+ readonly rotation: number;
97
+ readonly draggable: boolean;
98
+ readonly resizable: boolean;
99
+ readonly selectable: boolean;
100
+ readonly removable: boolean;
101
+ readonly contentEditable: boolean;
102
+ readonly visible: boolean;
103
+ readonly showInExport: boolean;
104
+ readonly alwaysOnTop: boolean;
105
+ readonly placeholder: string;
106
+ readonly backgroundEnabled: boolean;
107
+ readonly backgroundOpacity: number;
108
+ readonly backgroundColor: string;
109
+ readonly backgroundCornerRadius: number;
110
+ readonly backgroundPadding: number;
111
+ readonly curveEnabled: boolean;
112
+ readonly curvePower: number;
113
+ readonly shadowEnabled: boolean;
114
+ readonly shadowBlur: number;
115
+ readonly shadowOffsetX: number;
116
+ readonly shadowOffsetY: number;
117
+ readonly shadowColor: string;
118
+ readonly shadowOpacity: number;
119
+ readonly blurEnabled: boolean;
120
+ readonly blurRadius: number;
121
+ readonly brightnessEnabled: boolean;
122
+ readonly brightness: number;
123
+ readonly sepiaEnabled: boolean;
124
+ readonly grayscaleEnabled: boolean;
125
+ readonly animations: readonly never[];
126
+ } & {
127
+ toJSON(): any;
128
+ set(attrs: any): void;
129
+ setBorder(side: BorderSideName, attrs: BorderAttrs): void;
130
+ toggleEditMode(editing?: boolean): void;
131
+ }, any, any>;
132
+ export type TableCellType = Instance<typeof TableCell>;
133
+ export declare const TableElement: import("mobx-state-tree").IModelType<{
134
+ id: import("mobx-state-tree").ISimpleType<string>;
135
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
136
+ name: import("mobx-state-tree").IType<string | undefined, string, string>;
137
+ opacity: import("mobx-state-tree").IType<number | undefined, number, number>;
138
+ custom: import("mobx-state-tree").IType<any, any, any>;
139
+ visible: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
140
+ selectable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
141
+ removable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
142
+ alwaysOnTop: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
143
+ showInExport: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
144
+ } & {
145
+ x: import("mobx-state-tree").IType<number | undefined, number, number>;
146
+ y: import("mobx-state-tree").IType<number | undefined, number, number>;
147
+ width: import("mobx-state-tree").IType<number | undefined, number, number>;
148
+ height: import("mobx-state-tree").IType<number | undefined, number, number>;
149
+ rotation: import("mobx-state-tree").IType<number | undefined, number, number>;
150
+ opacity: import("mobx-state-tree").IType<number | undefined, number, number>;
151
+ animations: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
152
+ delay: import("mobx-state-tree").IType<number | undefined, number, number>;
153
+ duration: import("mobx-state-tree").IType<number | undefined, number, number>;
154
+ enabled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
155
+ type: import("mobx-state-tree").ISimpleType<string>;
156
+ name: import("mobx-state-tree").IType<string | undefined, string, string>;
157
+ data: import("mobx-state-tree").IType<{} | null | undefined, {}, {}>;
158
+ }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
159
+ blurEnabled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
160
+ blurRadius: import("mobx-state-tree").IType<number | undefined, number, number>;
161
+ brightnessEnabled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
162
+ brightness: import("mobx-state-tree").IType<number | undefined, number, number>;
163
+ sepiaEnabled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
164
+ grayscaleEnabled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
165
+ filters: import("mobx-state-tree").IMapType<import("mobx-state-tree").IModelType<{
166
+ intensity: import("mobx-state-tree").IType<number | undefined, number, number>;
167
+ }, {}, import("mobx-state-tree")._NotCustomized, import("mobx-state-tree")._NotCustomized>>;
168
+ shadowEnabled: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
169
+ shadowBlur: import("mobx-state-tree").IType<number | undefined, number, number>;
170
+ shadowOffsetX: import("mobx-state-tree").IType<number | undefined, number, number>;
171
+ shadowOffsetY: import("mobx-state-tree").IType<number | undefined, number, number>;
172
+ shadowColor: import("mobx-state-tree").IType<string | undefined, string, string>;
173
+ shadowOpacity: import("mobx-state-tree").IType<number | undefined, number, number>;
174
+ visible: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
175
+ draggable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
176
+ resizable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
177
+ selectable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
178
+ contentEditable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
179
+ styleEditable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
180
+ alwaysOnTop: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
181
+ showInExport: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
182
+ } & {
183
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
184
+ width: import("mobx-state-tree").IType<number | undefined, number, number>;
185
+ height: import("mobx-state-tree").IType<number | undefined, number, number>;
186
+ rows: import("mobx-state-tree").IType<number | undefined, number, number>;
187
+ cols: import("mobx-state-tree").IType<number | undefined, number, number>;
188
+ colWidths: import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<number>>;
189
+ rowHeights: import("mobx-state-tree").IArrayType<import("mobx-state-tree").ISimpleType<number>>;
190
+ cells: import("mobx-state-tree").IArrayType<import("mobx-state-tree").IModelType<{
191
+ id: import("mobx-state-tree").ISimpleType<string>;
192
+ type: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<"tablecell">, [undefined]>;
193
+ text: import("mobx-state-tree").IType<string | undefined, string, string>;
194
+ _fontSize: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
195
+ _fontFamily: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
196
+ _fontWeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
197
+ _fontStyle: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
198
+ _textDecoration: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
199
+ _textTransform: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
200
+ _fill: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
201
+ _align: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
202
+ _verticalAlign: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
203
+ _lineHeight: import("mobx-state-tree").IMaybe<import("mobx-state-tree/dist/internal").IUnionType<[import("mobx-state-tree").ISimpleType<number>, import("mobx-state-tree").ISimpleType<string>]>>;
204
+ _letterSpacing: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
205
+ _strokeWidth: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
206
+ _stroke: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
207
+ _cellBackground: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
208
+ _cellPadding: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
209
+ opacity: import("mobx-state-tree").IType<number | undefined, number, number>;
210
+ rowSpan: import("mobx-state-tree").IType<number | undefined, number, number>;
211
+ colSpan: import("mobx-state-tree").IType<number | undefined, number, number>;
212
+ mergedInto: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
213
+ borders: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
214
+ top: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
215
+ color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
216
+ width: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
217
+ style: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<"none" | "solid" | "dashed" | "dotted">>;
218
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
219
+ right: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
220
+ color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
221
+ width: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
222
+ style: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<"none" | "solid" | "dashed" | "dotted">>;
223
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
224
+ bottom: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
225
+ color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
226
+ width: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
227
+ style: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<"none" | "solid" | "dashed" | "dotted">>;
228
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
229
+ left: import("mobx-state-tree").IMaybe<import("mobx-state-tree").IModelType<{
230
+ color: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<string>>;
231
+ width: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<number>>;
232
+ style: import("mobx-state-tree").IMaybe<import("mobx-state-tree").ISimpleType<"none" | "solid" | "dashed" | "dotted">>;
233
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
234
+ }, {}, import("mobx-state-tree")._NotCustomized, any>>;
235
+ name: import("mobx-state-tree").IType<string | undefined, string, string>;
236
+ custom: import("mobx-state-tree").IType<any, any, any>;
237
+ }, {
238
+ _editModeEnabled: boolean;
239
+ filters: import("mobx").ObservableMap<string, number>;
240
+ } & {
241
+ readonly row: number;
242
+ readonly col: number;
243
+ readonly store: any;
244
+ readonly page: any;
245
+ readonly fontSize: number;
246
+ readonly fontFamily: string;
247
+ readonly fontWeight: string;
248
+ readonly fontStyle: string;
249
+ readonly textDecoration: string;
250
+ readonly textTransform: string;
251
+ readonly fill: string;
252
+ readonly align: string;
253
+ readonly verticalAlign: string;
254
+ readonly lineHeight: number | string;
255
+ readonly letterSpacing: number;
256
+ readonly strokeWidth: number;
257
+ readonly stroke: string;
258
+ readonly cellBackground: string;
259
+ readonly cellPadding: number;
260
+ readonly width: number;
261
+ readonly height: number;
262
+ readonly a: {
263
+ x: number;
264
+ y: number;
265
+ width: number;
266
+ height: number;
267
+ rotation: number;
268
+ opacity: number;
269
+ fontSize: number;
270
+ };
271
+ getEffectiveBorder(side: BorderSideName): {
272
+ color: string;
273
+ width: number;
274
+ style: string;
275
+ };
276
+ readonly x: number;
277
+ readonly y: number;
278
+ readonly rotation: number;
279
+ readonly draggable: boolean;
280
+ readonly resizable: boolean;
281
+ readonly selectable: boolean;
282
+ readonly removable: boolean;
283
+ readonly contentEditable: boolean;
284
+ readonly visible: boolean;
285
+ readonly showInExport: boolean;
286
+ readonly alwaysOnTop: boolean;
287
+ readonly placeholder: string;
288
+ readonly backgroundEnabled: boolean;
289
+ readonly backgroundOpacity: number;
290
+ readonly backgroundColor: string;
291
+ readonly backgroundCornerRadius: number;
292
+ readonly backgroundPadding: number;
293
+ readonly curveEnabled: boolean;
294
+ readonly curvePower: number;
295
+ readonly shadowEnabled: boolean;
296
+ readonly shadowBlur: number;
297
+ readonly shadowOffsetX: number;
298
+ readonly shadowOffsetY: number;
299
+ readonly shadowColor: string;
300
+ readonly shadowOpacity: number;
301
+ readonly blurEnabled: boolean;
302
+ readonly blurRadius: number;
303
+ readonly brightnessEnabled: boolean;
304
+ readonly brightness: number;
305
+ readonly sepiaEnabled: boolean;
306
+ readonly grayscaleEnabled: boolean;
307
+ readonly animations: readonly never[];
308
+ } & {
309
+ toJSON(): any;
310
+ set(attrs: any): void;
311
+ setBorder(side: BorderSideName, attrs: BorderAttrs): void;
312
+ toggleEditMode(editing?: boolean): void;
313
+ }, any, any>>;
314
+ borderColor: import("mobx-state-tree").IType<string | undefined, string, string>;
315
+ borderWidth: import("mobx-state-tree").IType<number | undefined, number, number>;
316
+ borderStyle: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree").ISimpleType<string>, [undefined]>;
317
+ fontSize: import("mobx-state-tree").IType<number | undefined, number, number>;
318
+ fontFamily: import("mobx-state-tree").IType<string | undefined, string, string>;
319
+ fontWeight: import("mobx-state-tree").IType<string | undefined, string, string>;
320
+ fontStyle: import("mobx-state-tree").IType<string | undefined, string, string>;
321
+ textDecoration: import("mobx-state-tree").IType<string | undefined, string, string>;
322
+ textTransform: import("mobx-state-tree").IType<string | undefined, string, string>;
323
+ fill: import("mobx-state-tree").IType<string | undefined, string, string>;
324
+ align: import("mobx-state-tree").IType<string | undefined, string, string>;
325
+ verticalAlign: import("mobx-state-tree").IType<string | undefined, string, string>;
326
+ lineHeight: import("mobx-state-tree").IOptionalIType<import("mobx-state-tree/dist/internal").IUnionType<[import("mobx-state-tree").ISimpleType<number>, import("mobx-state-tree").ISimpleType<string>]>, [undefined]>;
327
+ letterSpacing: import("mobx-state-tree").IType<number | undefined, number, number>;
328
+ strokeWidth: import("mobx-state-tree").IType<number | undefined, number, number>;
329
+ stroke: import("mobx-state-tree").IType<string | undefined, string, string>;
330
+ cellBackground: import("mobx-state-tree").IType<string | undefined, string, string>;
331
+ cellPadding: import("mobx-state-tree").IType<number | undefined, number, number>;
332
+ }, {
333
+ readonly page: any;
334
+ readonly store: any;
335
+ readonly top: import("mobx-state-tree").ModelInstanceTypeProps<{
336
+ id: import("mobx-state-tree").ISimpleType<string>;
337
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
338
+ name: import("mobx-state-tree").IType<string | undefined, string, string>;
339
+ opacity: import("mobx-state-tree").IType<number | undefined, number, number>;
340
+ custom: import("mobx-state-tree").IType<any, any, any>;
341
+ visible: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
342
+ selectable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
343
+ removable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
344
+ alwaysOnTop: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
345
+ showInExport: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
346
+ }> & import("mobx-state-tree").IStateTreeNode<import("mobx-state-tree").IModelType<{
347
+ id: import("mobx-state-tree").ISimpleType<string>;
348
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
349
+ name: import("mobx-state-tree").IType<string | undefined, string, string>;
350
+ opacity: import("mobx-state-tree").IType<number | undefined, number, number>;
351
+ custom: import("mobx-state-tree").IType<any, any, any>;
352
+ visible: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
353
+ selectable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
354
+ removable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
355
+ alwaysOnTop: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
356
+ showInExport: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
357
+ }, {}, import("mobx-state-tree").ModelCreationType<{
358
+ id: string;
359
+ type: string | undefined;
360
+ name: string | undefined;
361
+ opacity: number | undefined;
362
+ custom: any;
363
+ visible: boolean | undefined;
364
+ selectable: boolean | undefined;
365
+ removable: boolean | undefined;
366
+ alwaysOnTop: boolean | undefined;
367
+ showInExport: boolean | undefined;
368
+ }>, import("mobx-state-tree").ModelSnapshotType<{
369
+ id: import("mobx-state-tree").ISimpleType<string>;
370
+ type: import("mobx-state-tree").IType<string | undefined, string, string>;
371
+ name: import("mobx-state-tree").IType<string | undefined, string, string>;
372
+ opacity: import("mobx-state-tree").IType<number | undefined, number, number>;
373
+ custom: import("mobx-state-tree").IType<any, any, any>;
374
+ visible: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
375
+ selectable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
376
+ removable: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
377
+ alwaysOnTop: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
378
+ showInExport: import("mobx-state-tree").IType<boolean | undefined, boolean, boolean>;
379
+ }>>>;
380
+ readonly parent: any;
381
+ readonly zIndex: any;
382
+ } & {
383
+ toJSON(): {
384
+ id: string;
385
+ type: string;
386
+ name: string;
387
+ opacity: number;
388
+ custom: any;
389
+ visible: boolean;
390
+ selectable: boolean;
391
+ removable: boolean;
392
+ alwaysOnTop: boolean;
393
+ showInExport: boolean;
394
+ };
395
+ } & {
396
+ clone(attrs?: any, { skipSelect }?: {
397
+ skipSelect?: boolean | undefined;
398
+ }): import("./node-model.js").NodeType;
399
+ set(attrs: any): void;
400
+ moveUp(): void;
401
+ moveTop(): void;
402
+ moveDown(): void;
403
+ moveBottom(): void;
404
+ setZIndex(zIndex: number): void;
405
+ beforeDestroy(): void;
406
+ } & {
407
+ readonly locked: boolean;
408
+ readonly a: import("./shape-model.js").AnimatedAttrs;
409
+ animated(attr: any): any;
410
+ } & {
411
+ setAnimation(type: any, attrs: any): void;
412
+ setFilter(type: any, value: any): void;
413
+ } & {
414
+ _focusedCellIds: string[];
415
+ _editingCellId: string | undefined;
416
+ _anchorCellId: string | undefined;
417
+ _cellContentHeights: import("mobx").ObservableMap<string, number>;
418
+ _baseRowHeights: number[] | null;
419
+ _baseHeight: number | null;
420
+ _isResizingRows: boolean;
421
+ _isTransforming: boolean;
422
+ } & {
423
+ afterCreate(): void;
424
+ } & {
425
+ readonly _cellMap: Map<string, TableCellType>;
426
+ getActualRowHeight(rowIndex: number): number;
427
+ } & {
428
+ getCell(row: number, col: number): TableCellType | undefined;
429
+ readonly minWidth: number;
430
+ readonly minHeight: number;
431
+ readonly actualHeight: number;
432
+ getCellRect(row: number, col: number, rowSpan?: number, colSpan?: number): {
433
+ x: number;
434
+ y: number;
435
+ width: number;
436
+ height: number;
437
+ };
438
+ readonly visibleCells: TableCellType[];
439
+ readonly focusedCells: TableCellType[];
440
+ readonly editingCell: TableCellType | undefined;
441
+ readonly _fitRowsToContent: {
442
+ rowHeights: number[];
443
+ height: number;
444
+ } | null;
445
+ } & {
446
+ setCellContentHeight(cellId: string, height: number): void;
447
+ _applyFitRowsToContent(): void;
448
+ focusCell(cellId: string, addToSelection?: boolean): void;
449
+ focusCellRange(targetRow: number, targetCol: number): void;
450
+ clearCellFocus(): void;
451
+ enterCellEdit(cellId: string): void;
452
+ exitCellEdit(): void;
453
+ _resetBaseRowHeights(): void;
454
+ _setIsResizingRows(value: boolean): void;
455
+ _setIsTransforming(value: boolean): void;
456
+ addRow(index: number): void;
457
+ removeRow(index: number): void;
458
+ addColumn(index: number): void;
459
+ removeColumn(index: number): void;
460
+ distributeRowsEvenly(): void;
461
+ distributeColumnsEvenly(): void;
462
+ resizeColumn(index: number, delta: number): void;
463
+ resizeRow(index: number, delta: number): void;
464
+ setCellBorders(cellIds: string[], sides: BorderSideName[], attrs: BorderAttrs): void;
465
+ } & {
466
+ clone(attrs?: any, { skipSelect }?: {
467
+ skipSelect?: boolean | undefined;
468
+ }): any;
469
+ }, import("mobx-state-tree").ModelCreationType<{
470
+ id: string;
471
+ type: string | undefined;
472
+ name: string | undefined;
473
+ opacity: number | undefined;
474
+ custom: any;
475
+ visible: boolean | undefined;
476
+ selectable: boolean | undefined;
477
+ removable: boolean | undefined;
478
+ alwaysOnTop: boolean | undefined;
479
+ showInExport: boolean | undefined;
480
+ }>, any>;
481
+ export type TableElementType = Instance<typeof TableElement>;
@@ -0,0 +1 @@
1
+ import{types as e,getParent as t,getSnapshot as l,isAlive as o,getRoot as r,cast as n}from"mobx-state-tree";import{observable as s}from"mobx";import{nanoid as i}from"nanoid";import{Shape as d}from"./shape-model.js";const c=.05,a=e.enumeration(["solid","dashed","dotted","none"]);function g(e){return t(e,2)}function u(e,t,l){const r=e[`_${t}`];return null!=r?r:o(e)?g(e)[t]:l}function h(e){return t(e,1)}const f=e.model("BorderSide",{color:e.maybe(e.string),width:e.maybe(e.number),style:e.maybe(a)}).postProcessSnapshot(e=>{const t={};for(const[l,o]of Object.entries(e)){null!=o&&(t[l]=o)}return t}),b=e.model("CellBorders",{top:e.maybe(f),right:e.maybe(f),bottom:e.maybe(f),left:e.maybe(f)}).postProcessSnapshot(e=>{const t={};for(const[l,o]of Object.entries(e)){null!=o&&"object"==typeof o&&Object.keys(o).length>0&&(t[l]=o)}return t}),w=["fontSize","fontFamily","fontWeight","fontStyle","textDecoration","textTransform","fill","align","verticalAlign","lineHeight","letterSpacing","strokeWidth","stroke","cellBackground","cellPadding"],p=new Set(w),m=["blurEnabled","blurRadius","brightnessEnabled","brightness","sepiaEnabled","grayscaleEnabled","filters","shadowEnabled","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","shadowOpacity"],_=["id","type","text","opacity","rowSpan","colSpan","mergedInto","name","custom","borders"],y=new Set(["row","col","x","y","width","height","rotation","draggable","resizable","selectable","removable","contentEditable","visible","showInExport","alwaysOnTop","backgroundEnabled","backgroundOpacity","backgroundColor","backgroundCornerRadius","backgroundPadding","curveEnabled","curvePower","shadowEnabled","shadowBlur","shadowOffsetX","shadowOffsetY","shadowColor","shadowOpacity","blurEnabled","blurRadius","brightnessEnabled","brightness","sepiaEnabled","grayscaleEnabled","placeholder","animations","filters"]),C={opacity:1,rowSpan:1,colSpan:1,name:""},v=[];export const TableCell=e.model("TableCell",{id:e.identifier,type:e.optional(e.literal("tablecell"),"tablecell"),text:"",_fontSize:e.maybe(e.number),_fontFamily:e.maybe(e.string),_fontWeight:e.maybe(e.string),_fontStyle:e.maybe(e.string),_textDecoration:e.maybe(e.string),_textTransform:e.maybe(e.string),_fill:e.maybe(e.string),_align:e.maybe(e.string),_verticalAlign:e.maybe(e.string),_lineHeight:e.maybe(e.union(e.number,e.string)),_letterSpacing:e.maybe(e.number),_strokeWidth:e.maybe(e.number),_stroke:e.maybe(e.string),_cellBackground:e.maybe(e.string),_cellPadding:e.maybe(e.number),opacity:1,rowSpan:1,colSpan:1,mergedInto:e.maybe(e.string),borders:e.maybe(b),name:"",custom:e.frozen()}).volatile(()=>({_editModeEnabled:!1,filters:s.map()})).preProcessSnapshot(e=>{if(!e){return e}for(const l in e){null===e[l]&&(e[l]=void 0)}const t={};for(const l of _){l in e&&(t[l]=e[l])}for(const l of w){void 0!==e[l]&&(t[`_${l}`]=e[l])}return t}).postProcessSnapshot(e=>{const t={};for(const[l,o]of Object.entries(e)){if(l.startsWith("_")){null!=o&&(t[l.slice(1)]=o)}else if("borders"===l){null!=o&&"object"==typeof o&&Object.keys(o).length>0&&(t.borders=o)}else{if(l in C&&o===C[l]){continue}t[l]=o}}return t}).views(e=>{const t={get row(){if(!o(e)){return 0}const t=g(e),l=h(e).indexOf(e);return-1===l?0:Math.floor(l/t.cols)},get col(){if(!o(e)){return 0}const t=g(e),l=h(e).indexOf(e);return-1===l?0:l%t.cols},get store(){return o(e)?r(e):null},get page(){if(!o(e)){return null}try{return g(e).page}catch(t){return null}},get fontSize(){return u(e,"fontSize",30)},get fontFamily(){return u(e,"fontFamily","Roboto")},get fontWeight(){return u(e,"fontWeight","normal")},get fontStyle(){return u(e,"fontStyle","normal")},get textDecoration(){return u(e,"textDecoration","")},get textTransform(){return u(e,"textTransform","none")},get fill(){return u(e,"fill","black")},get align(){return u(e,"align","left")},get verticalAlign(){return u(e,"verticalAlign","top")},get lineHeight(){return u(e,"lineHeight",1.2)},get letterSpacing(){return u(e,"letterSpacing",0)},get strokeWidth(){return u(e,"strokeWidth",0)},get stroke(){return u(e,"stroke","black")},get cellBackground(){return u(e,"cellBackground","transparent")},get cellPadding(){return u(e,"cellPadding",4)},get width(){if(!o(e)){return 100}try{return g(e).getCellRect(t.row,t.col,e.rowSpan,e.colSpan).width}catch(l){return 100}},get height(){if(!o(e)){return 100}try{return g(e).getCellRect(t.row,t.col,e.rowSpan,e.colSpan).height}catch(l){return 100}},get a(){var l;if(!o(e)){return{x:0,y:0,width:100,height:100,rotation:0,opacity:1,fontSize:16}}const r=g(e).getCellRect(t.row,t.col,e.rowSpan,e.colSpan),n=t.cellPadding;return{x:r.x+n,y:r.y+n,width:r.width-2*n,height:r.height-2*n,rotation:0,opacity:null!==(l=e.opacity)&&void 0!==l?l:1,fontSize:t.fontSize}},getEffectiveBorder(t){var l,r,n,s,i,d,c;const a=o(e)?g(e):null,u=null===(l=e.borders)||void 0===l?void 0:l[t];return{color:null!==(n=null!==(r=null==u?void 0:u.color)&&void 0!==r?r:null==a?void 0:a.borderColor)&&void 0!==n?n:"#000000",width:null!==(i=null!==(s=null==u?void 0:u.width)&&void 0!==s?s:null==a?void 0:a.borderWidth)&&void 0!==i?i:1,style:null!==(c=null!==(d=null==u?void 0:u.style)&&void 0!==d?d:null==a?void 0:a.borderStyle)&&void 0!==c?c:"solid"}},get x(){return 0},get y(){return 0},get rotation(){return 0},get draggable(){return!1},get resizable(){return!1},get selectable(){return!1},get removable(){return!1},get contentEditable(){return!0},get visible(){return!0},get showInExport(){return!0},get alwaysOnTop(){return!1},get placeholder(){return""},get backgroundEnabled(){return!1},get backgroundOpacity(){return 1},get backgroundColor(){return"transparent"},get backgroundCornerRadius(){return 0},get backgroundPadding(){return 0},get curveEnabled(){return!1},get curvePower(){return 0},get shadowEnabled(){return!1},get shadowBlur(){return 0},get shadowOffsetX(){return 0},get shadowOffsetY(){return 0},get shadowColor(){return"black"},get shadowOpacity(){return 1},get blurEnabled(){return!1},get blurRadius(){return 0},get brightnessEnabled(){return!1},get brightness(){return 0},get sepiaEnabled(){return!1},get grayscaleEnabled(){return!1},get animations(){return v}};return t}).actions(e=>({toJSON:()=>Object.assign({},l(e)),set(t){const l={};for(const[e,o]of Object.entries(t)){p.has(e)?l[`_${e}`]=o:"borders"===e?l.borders=o?JSON.parse(JSON.stringify(o)):o:y.has(e)||(l[e]=o)}Object.assign(e,l)},setBorder(t,o){const r=e.borders?Object.assign({},l(e.borders)):{},s=r[t]||{},i=Object.assign({},s);void 0!==o.color&&(i.color=o.color),void 0!==o.width&&(i.width=o.width),void 0!==o.style&&(i.style=o.style),r[t]=i,e.borders=n(r)},toggleEditMode(t){const l=null!=t?t:!e._editModeEnabled;l!==e._editModeEnabled&&(e._editModeEnabled=l,e._editModeEnabled?e.store.history.startTransaction():e.store.history.endTransaction())}}));function H(e){return Array.from({length:e},()=>1/e)}function S(e){const t=e.reduce((e,t)=>e+t,0);return 0===t?H(e.length):e.map(e=>e/t)}export const TableElement=d.named("Table").props({type:"table",width:300,height:200,rows:3,cols:3,colWidths:e.array(e.number),rowHeights:e.array(e.number),cells:e.array(TableCell),borderColor:"#000000",borderWidth:1,borderStyle:e.optional(e.enumeration(["solid","dashed","dotted","none"]),"solid"),fontSize:30,fontFamily:"Roboto",fontWeight:"normal",fontStyle:"normal",textDecoration:"",textTransform:"none",fill:"black",align:"left",verticalAlign:"top",lineHeight:e.optional(e.union(e.number,e.string),1.2),letterSpacing:0,strokeWidth:0,stroke:"black",cellBackground:"transparent",cellPadding:4}).postProcessSnapshot(e=>{e.cells&&((e=Object.assign({},e)).cells=e.cells.map(t=>{const l={};for(const[o,r]of Object.entries(t)){p.has(o)&&r===e[o]||(l[o]=r)}return l}));for(const t of m){delete e[t]}return e}).volatile(()=>({_focusedCellIds:[],_editingCellId:void 0,_anchorCellId:void 0,_cellContentHeights:s.map(),_baseRowHeights:null,_baseHeight:null,_isResizingRows:!1,_isTransforming:!1})).actions(e=>({afterCreate(){const t=e.rows*e.cols;if(0===e.cells.length){e.cells.replace(n(function(e,t){const l=[];for(let o=0;o<e*t;o++){l.push({id:i(10),text:""})}return l}(e.rows,e.cols)))}else if(e.cells.length<t){for(;e.cells.length<t;){e.cells.push(n({id:i(10),text:""}))}}else{e.cells.length>t&&e.cells.splice(t)}0===e.colWidths.length&&e.colWidths.replace(H(e.cols)),0===e.rowHeights.length&&e.rowHeights.replace(H(e.rows))}})).views(e=>({get _cellMap(){const t=new Map,l=e.cols;return e.cells.forEach((e,o)=>{t.set(`${Math.floor(o/l)}:${o%l}`,e)}),t},getActualRowHeight:t=>e.rowHeights[t]*e.height})).views(e=>{const t={getCell:(t,l)=>e._cellMap.get(`${t}:${l}`),get minWidth(){return 20*e.cols},get minHeight(){return 20*e.rows},get actualHeight(){let t=0;for(let l=0;l<e.rows;l++){t+=e.getActualRowHeight(l)}return t},getCellRect(t,l,o=1,r=1){let n=0;for(let c=0;c<l;c++){n+=e.colWidths[c]*e.width}let s=0;for(let c=0;c<t;c++){s+=e.getActualRowHeight(c)}let i=0;for(let c=l;c<l+r;c++){i+=(e.colWidths[c]||0)*e.width}let d=0;for(let c=t;c<t+o;c++){d+=e.getActualRowHeight(c)}return{x:n,y:s,width:i,height:d}},get visibleCells(){return e.cells.filter(e=>!e.mergedInto)},get focusedCells(){return e.cells.filter(t=>e._focusedCellIds.includes(t.id))},get editingCell(){if(e._editingCellId){return e.cells.find(t=>t.id===e._editingCellId)}},get _fitRowsToContent(){var l,o;if(e._isResizingRows){return null}if(e._isTransforming){return null}if(0===e._cellContentHeights.size){return null}const r=null!==(l=e._baseHeight)&&void 0!==l?l:e.height,n=null!==(o=e._baseRowHeights)&&void 0!==o?o:[...e.rowHeights];let s=!1;const i=[];for(let c=0;c<e.rows;c++){const l=e.rowHeights[c]*e.height,o=n[c]*r;let d=0;for(let r=0;r<e.cols;r++){const l=t.getCell(c,r);if(!l){continue}const o=e._cellContentHeights.get(l.id);if(void 0!==o){const e=o+2*l.cellPadding;d=Math.max(d,e)}}const a=Math.max(d,o);Math.abs(a-l)>1?(i.push(a),s=!0):i.push(l)}if(!s){return null}const d=i.reduce((e,t)=>e+t,0);return{rowHeights:i.map(e=>e/d),height:d}}};return t}).actions(e=>{const t={setCellContentHeight(t,l){e._cellContentHeights.set(t,l)},_applyFitRowsToContent(){null===e._baseRowHeights&&(e._baseRowHeights=[...e.rowHeights],e._baseHeight=e.height);const t=e._fitRowsToContent;t&&(e.height=t.height,e.rowHeights.replace(t.rowHeights))},focusCell(t,l=!1){l?e._focusedCellIds.includes(t)||(e._focusedCellIds=[...e._focusedCellIds,t]):(e._focusedCellIds=[t],e._anchorCellId=t)},focusCellRange(t,l){const o=e.cells.find(t=>t.id===e._anchorCellId);if(!o){return}const r=Math.min(o.row,t),n=Math.max(o.row,t),s=Math.min(o.col,l),i=Math.max(o.col,l),d=[];for(const c of e.cells){c.row>=r&&c.row<=n&&c.col>=s&&c.col<=i&&d.push(c.id)}e._focusedCellIds=d},clearCellFocus(){if(o(e)){if(e._editingCellId){const t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1)}e._focusedCellIds=[],e._editingCellId=void 0,e._anchorCellId=void 0}},enterCellEdit(t){e._editingCellId=t,e._focusedCellIds.includes(t)||(e._focusedCellIds=[t]);const l=e.cells.find(e=>e.id===t);l&&l.toggleEditMode(!0)},exitCellEdit(){if(e._editingCellId){const t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1)}e._editingCellId=void 0},_resetBaseRowHeights(){e._baseRowHeights=null,e._baseHeight=null},_setIsResizingRows(t){e._isResizingRows=t},_setIsTransforming(t){e._isTransforming=t},addRow(l){t._resetBaseRowHeights();const o=l>0?l-1:0,r=(e.rowHeights[o]||1/(e.rows+1))*e.height,s=e.height+r,d=[];for(let t=0;t<e.rows;t++){d.push(e.rowHeights[t]*e.height/s)}d.splice(l,0,r/s);const c=l*e.cols,a=Array.from({length:e.cols},()=>({id:i(10),text:""}));e.cells.splice(c,0,...n(a)),e.rows+=1,e.height=s,e.rowHeights.replace(S(d))},removeRow(l){if(e.rows<=1){return}t._resetBaseRowHeights();const o=l*e.cols,r=[];for(let t=o;t<o+e.cols;t++){r.push(e.cells[t].id)}if(e._editingCellId&&r.includes(e._editingCellId)){const t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1),e._editingCellId=void 0}e._focusedCellIds=e._focusedCellIds.filter(e=>!r.includes(e)),r.forEach(t=>e._cellContentHeights.delete(t)),e.cells.splice(o,e.cols);const n=[...e.rowHeights];n.splice(l,1),e.rows-=1,e.rowHeights.replace(S(n))},addColumn(t){const l=t>0?t-1:0,o=(e.colWidths[l]||1/(e.cols+1))*e.width,r=e.width+o,s=[];for(let n=0;n<e.cols;n++){s.push(e.colWidths[n]*e.width/r)}s.splice(t,0,o/r);const d=e.cols;for(let c=e.rows-1;c>=0;c--){e.cells.splice(c*d+t,0,n({id:i(10),text:""}))}e.cols+=1,e.width=r,e.colWidths.replace(S(s))},removeColumn(t){if(e.cols<=1){return}const l=e.cols,o=[];for(let n=0;n<e.rows;n++){o.push(e.cells[n*l+t].id)}if(e._editingCellId&&o.includes(e._editingCellId)){const t=e.cells.find(t=>t.id===e._editingCellId);t&&t.toggleEditMode(!1),e._editingCellId=void 0}e._focusedCellIds=e._focusedCellIds.filter(e=>!o.includes(e)),o.forEach(t=>e._cellContentHeights.delete(t));for(let n=e.rows-1;n>=0;n--){e.cells.splice(n*l+t,1)}const r=[...e.colWidths];r.splice(t,1),e.cols-=1,e.colWidths.replace(S(r))},distributeRowsEvenly(){t._resetBaseRowHeights(),e.rowHeights.replace(H(e.rows))},distributeColumnsEvenly(){e.colWidths.replace(H(e.cols))},resizeColumn(t,l){if(t>=e.cols-1){return}const o=[...e.colWidths],r=o[t]+o[t+1],n=o[t]+l,s=o[t+1]-l;n<c?(o[t]=c,o[t+1]=r-c):s<c?(o[t+1]=c,o[t]=r-c):(o[t]=n,o[t+1]=s),e.colWidths.replace(o)},resizeRow(t,l){if(t>=e.rows-1){return}const o=[...e.rowHeights],r=o[t]+o[t+1],n=o[t]+l,s=o[t+1]-l;n<c?(o[t]=c,o[t+1]=r-c):s<c?(o[t+1]=c,o[t]=r-c):(o[t]=n,o[t+1]=s),e.rowHeights.replace(o)},setCellBorders(t,l,o){const r={top:{side:"bottom",dr:-1,dc:0},bottom:{side:"top",dr:1,dc:0},left:{side:"right",dr:0,dc:-1},right:{side:"left",dr:0,dc:1}};for(const n of t){const t=e.cells.find(e=>e.id===n);if(t){for(const n of l){t.setBorder(n,o);const l=r[n],s=t.row+l.dr,i=t.col+l.dc,d=e.getCell(s,i);d&&d.setBorder(l.side,o)}}}}};return t}).actions(e=>({clone(t={},{skipSelect:l=!1}={}){const o=JSON.parse(JSON.stringify(e.toJSON()));if(t.id=t.id||i(10),o.cells){const e=new Map;o.cells.forEach(t=>{const l=t.id,o=i(10);e.set(l,o),t.id=o}),o.cells.forEach(t=>{t.mergedInto&&e.has(t.mergedInto)&&(t.mergedInto=e.get(t.mergedInto))})}return Object.assign(o,t),e.page.addElement(o,{skipSelect:l})}}));
@@ -1 +1 @@
1
- import{types as e}from"mobx-state-tree";import{Shape as t}from"./shape-model.js";export const TextElement=t.named("Text").props({type:"text",text:"",placeholder:"",fontSize:14,fontFamily:"Roboto",fontStyle:"normal",fontWeight:"normal",textDecoration:"",textTransform:"none",fill:"black",align:"center",width:100,height:0,verticalAlign:"top",strokeWidth:0,stroke:"black",lineHeight:e.optional(e.union(e.number,e.string),1.2),letterSpacing:0,_editModeEnabled:!1,backgroundEnabled:!1,backgroundColor:"#7ED321",backgroundOpacity:1,backgroundCornerRadius:.5,backgroundPadding:.5,curveEnabled:!1,curvePower:.5}).preProcessSnapshot(e=>Object.assign({},e)).actions(e=>({afterCreate(){if(!e.height){const t=e.lineHeight,o="number"==typeof t?t:parseFloat(t)||1.2;e.height=Math.round(e.fontSize*o)}},toggleEditMode(t){e._editModeEnabled=null!=t?t:!e._editModeEnabled,e._editModeEnabled?e.store.history.startTransaction():e.store.history.endTransaction()}}));
1
+ import{types as e}from"mobx-state-tree";import{Shape as t}from"./shape-model.js";export const TextElement=t.named("Text").props({type:"text",text:"",placeholder:"",fontSize:14,fontFamily:"Roboto",fontStyle:"normal",fontWeight:"normal",textDecoration:"",textTransform:"none",fill:"black",align:"center",width:100,height:0,verticalAlign:"top",strokeWidth:0,stroke:"black",lineHeight:e.optional(e.union(e.number,e.string),1.2),letterSpacing:0,_editModeEnabled:!1,backgroundEnabled:!1,backgroundColor:"#7ED321",backgroundOpacity:1,backgroundCornerRadius:.5,backgroundPadding:.5,curveEnabled:!1,curvePower:.5}).preProcessSnapshot(e=>Object.assign({},e)).actions(e=>({afterCreate(){if(!e.height){const t=e.lineHeight,o="number"==typeof t?t:parseFloat(t)||1.2;e.height=Math.round(e.fontSize*o)}},toggleEditMode(t){const o=null!=t?t:!e._editModeEnabled;o!==e._editModeEnabled&&(e._editModeEnabled=o,e._editModeEnabled?e.store.history.startTransaction():e.store.history.endTransaction())}}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "polotno",
3
- "version": "2.36.10",
3
+ "version": "2.37.1",
4
4
  "description": "Design Editor Framework",
5
5
  "author": "Anton Lavrenov",
6
6
  "keywords": [
@@ -158,7 +158,8 @@
158
158
  "clean": "rm -rf ./lib && rm -rf ./.parcel-cache",
159
159
  "tsc": "tsc --outDir ./lib --removeComments --sourceMap false || echo \"tsc faild for some file(s).\"",
160
160
  "minify": "node minify.cjs",
161
- "build": "npm run clean && npm run tsc && npm run add_version && node rename-imports.js && npm run minify && npm run build:bundle && node blueprint-scope.js && cp ./package.json ./lib && cp ./README.md ./lib && cp ./LICENSE.md ./lib && npm run remove-test-from-lib",
161
+ "build:schema": "node scripts/generate-schema.cjs",
162
+ "build": "npm run clean && npm run tsc && npm run add_version && node rename-imports.js && npm run minify && npm run build:bundle && node blueprint-scope.js && cp ./package.json ./lib && cp ./README.md ./lib && cp ./LICENSE.md ./lib && npm run remove-test-from-lib && npm run build:schema",
162
163
  "remove-test-from-lib": "find . -name \"*.test.js\" -type f -exec rm -f {} \\;",
163
164
  "add_version": "sed -i.bak 's/SDK_VERSION/'$npm_package_version'/' ./lib/utils/validate-key.js && rm -f ./lib/utils/validate-key.js.bak",
164
165
  "build:bundle": "parcel build && find ./lib -name '*.js.map' -type f -delete",