@triniwiz/nativescript-masonkit 1.0.0-alpha.34 → 1.0.0-alpha.35

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 (53) hide show
  1. package/common.d.ts +140 -0
  2. package/common.js +1728 -0
  3. package/common.js.map +1 -0
  4. package/img/index.android.d.ts +10 -0
  5. package/img/index.android.js +40 -0
  6. package/img/index.android.js.map +1 -0
  7. package/img/index.ios.d.ts +13 -0
  8. package/img/index.ios.js +102 -0
  9. package/img/index.ios.js.map +1 -0
  10. package/index.android.d.ts +5 -0
  11. package/index.android.js +6 -0
  12. package/index.android.js.map +1 -0
  13. package/index.ios.d.ts +5 -0
  14. package/index.ios.js +6 -0
  15. package/index.ios.js.map +1 -0
  16. package/package.json +1 -1
  17. package/platforms/android/masonkit-release.aar +0 -0
  18. package/scroll/index.android.d.ts +12 -0
  19. package/scroll/index.android.js +50 -0
  20. package/scroll/index.android.js.map +1 -0
  21. package/scroll/index.ios.d.ts +14 -0
  22. package/scroll/index.ios.js +120 -0
  23. package/scroll/index.ios.js.map +1 -0
  24. package/style.d.ts +222 -0
  25. package/style.js +2521 -0
  26. package/style.js.map +1 -0
  27. package/text/index.android.d.ts +30 -0
  28. package/text/index.android.js +124 -0
  29. package/text/index.android.js.map +1 -0
  30. package/text/index.ios.d.ts +38 -0
  31. package/text/index.ios.js +252 -0
  32. package/text/index.ios.js.map +1 -0
  33. package/tree/index.android.d.ts +27 -0
  34. package/tree/index.android.js +74 -0
  35. package/tree/index.android.js.map +1 -0
  36. package/tree/index.ios.d.ts +28 -0
  37. package/tree/index.ios.js +73 -0
  38. package/tree/index.ios.js.map +1 -0
  39. package/utils/index.android.d.ts +187 -0
  40. package/utils/index.android.js +515 -0
  41. package/utils/index.android.js.map +1 -0
  42. package/utils/index.ios.d.ts +198 -0
  43. package/utils/index.ios.js +710 -0
  44. package/utils/index.ios.js.map +1 -0
  45. package/view/index.android.d.ts +12 -0
  46. package/view/index.android.js +50 -0
  47. package/view/index.android.js.map +1 -0
  48. package/view/index.ios.d.ts +16 -0
  49. package/view/index.ios.js +123 -0
  50. package/view/index.ios.js.map +1 -0
  51. package/web.d.ts +55 -0
  52. package/web.js +189 -0
  53. package/web.js.map +1 -0
package/style.js ADDED
@@ -0,0 +1,2521 @@
1
+ import { layout } from '@nativescript/core/utils';
2
+ import { Length as CoreLength } from '@nativescript/core';
3
+ var StyleKeys;
4
+ (function (StyleKeys) {
5
+ StyleKeys[StyleKeys["DISPLAY"] = 0] = "DISPLAY";
6
+ StyleKeys[StyleKeys["POSITION"] = 4] = "POSITION";
7
+ StyleKeys[StyleKeys["DIRECTION"] = 8] = "DIRECTION";
8
+ StyleKeys[StyleKeys["FLEX_DIRECTION"] = 12] = "FLEX_DIRECTION";
9
+ StyleKeys[StyleKeys["FLEX_WRAP"] = 16] = "FLEX_WRAP";
10
+ StyleKeys[StyleKeys["OVERFLOW_X"] = 20] = "OVERFLOW_X";
11
+ StyleKeys[StyleKeys["OVERFLOW_Y"] = 24] = "OVERFLOW_Y";
12
+ StyleKeys[StyleKeys["ALIGN_ITEMS"] = 28] = "ALIGN_ITEMS";
13
+ StyleKeys[StyleKeys["ALIGN_SELF"] = 32] = "ALIGN_SELF";
14
+ StyleKeys[StyleKeys["ALIGN_CONTENT"] = 36] = "ALIGN_CONTENT";
15
+ StyleKeys[StyleKeys["JUSTIFY_ITEMS"] = 40] = "JUSTIFY_ITEMS";
16
+ StyleKeys[StyleKeys["JUSTIFY_SELF"] = 44] = "JUSTIFY_SELF";
17
+ StyleKeys[StyleKeys["JUSTIFY_CONTENT"] = 48] = "JUSTIFY_CONTENT";
18
+ StyleKeys[StyleKeys["INSET_LEFT_TYPE"] = 52] = "INSET_LEFT_TYPE";
19
+ StyleKeys[StyleKeys["INSET_LEFT_VALUE"] = 56] = "INSET_LEFT_VALUE";
20
+ StyleKeys[StyleKeys["INSET_RIGHT_TYPE"] = 60] = "INSET_RIGHT_TYPE";
21
+ StyleKeys[StyleKeys["INSET_RIGHT_VALUE"] = 64] = "INSET_RIGHT_VALUE";
22
+ StyleKeys[StyleKeys["INSET_TOP_TYPE"] = 68] = "INSET_TOP_TYPE";
23
+ StyleKeys[StyleKeys["INSET_TOP_VALUE"] = 72] = "INSET_TOP_VALUE";
24
+ StyleKeys[StyleKeys["INSET_BOTTOM_TYPE"] = 76] = "INSET_BOTTOM_TYPE";
25
+ StyleKeys[StyleKeys["INSET_BOTTOM_VALUE"] = 80] = "INSET_BOTTOM_VALUE";
26
+ StyleKeys[StyleKeys["MARGIN_LEFT_TYPE"] = 84] = "MARGIN_LEFT_TYPE";
27
+ StyleKeys[StyleKeys["MARGIN_LEFT_VALUE"] = 88] = "MARGIN_LEFT_VALUE";
28
+ StyleKeys[StyleKeys["MARGIN_RIGHT_TYPE"] = 92] = "MARGIN_RIGHT_TYPE";
29
+ StyleKeys[StyleKeys["MARGIN_RIGHT_VALUE"] = 96] = "MARGIN_RIGHT_VALUE";
30
+ StyleKeys[StyleKeys["MARGIN_TOP_TYPE"] = 100] = "MARGIN_TOP_TYPE";
31
+ StyleKeys[StyleKeys["MARGIN_TOP_VALUE"] = 104] = "MARGIN_TOP_VALUE";
32
+ StyleKeys[StyleKeys["MARGIN_BOTTOM_TYPE"] = 108] = "MARGIN_BOTTOM_TYPE";
33
+ StyleKeys[StyleKeys["MARGIN_BOTTOM_VALUE"] = 112] = "MARGIN_BOTTOM_VALUE";
34
+ StyleKeys[StyleKeys["PADDING_LEFT_TYPE"] = 116] = "PADDING_LEFT_TYPE";
35
+ StyleKeys[StyleKeys["PADDING_LEFT_VALUE"] = 120] = "PADDING_LEFT_VALUE";
36
+ StyleKeys[StyleKeys["PADDING_RIGHT_TYPE"] = 124] = "PADDING_RIGHT_TYPE";
37
+ StyleKeys[StyleKeys["PADDING_RIGHT_VALUE"] = 128] = "PADDING_RIGHT_VALUE";
38
+ StyleKeys[StyleKeys["PADDING_TOP_TYPE"] = 132] = "PADDING_TOP_TYPE";
39
+ StyleKeys[StyleKeys["PADDING_TOP_VALUE"] = 136] = "PADDING_TOP_VALUE";
40
+ StyleKeys[StyleKeys["PADDING_BOTTOM_TYPE"] = 140] = "PADDING_BOTTOM_TYPE";
41
+ StyleKeys[StyleKeys["PADDING_BOTTOM_VALUE"] = 144] = "PADDING_BOTTOM_VALUE";
42
+ StyleKeys[StyleKeys["BORDER_LEFT_TYPE"] = 148] = "BORDER_LEFT_TYPE";
43
+ StyleKeys[StyleKeys["BORDER_LEFT_VALUE"] = 152] = "BORDER_LEFT_VALUE";
44
+ StyleKeys[StyleKeys["BORDER_RIGHT_TYPE"] = 156] = "BORDER_RIGHT_TYPE";
45
+ StyleKeys[StyleKeys["BORDER_RIGHT_VALUE"] = 160] = "BORDER_RIGHT_VALUE";
46
+ StyleKeys[StyleKeys["BORDER_TOP_TYPE"] = 164] = "BORDER_TOP_TYPE";
47
+ StyleKeys[StyleKeys["BORDER_TOP_VALUE"] = 168] = "BORDER_TOP_VALUE";
48
+ StyleKeys[StyleKeys["BORDER_BOTTOM_TYPE"] = 172] = "BORDER_BOTTOM_TYPE";
49
+ StyleKeys[StyleKeys["BORDER_BOTTOM_VALUE"] = 176] = "BORDER_BOTTOM_VALUE";
50
+ StyleKeys[StyleKeys["FLEX_GROW"] = 180] = "FLEX_GROW";
51
+ StyleKeys[StyleKeys["FLEX_SHRINK"] = 184] = "FLEX_SHRINK";
52
+ StyleKeys[StyleKeys["FLEX_BASIS_TYPE"] = 188] = "FLEX_BASIS_TYPE";
53
+ StyleKeys[StyleKeys["FLEX_BASIS_VALUE"] = 192] = "FLEX_BASIS_VALUE";
54
+ StyleKeys[StyleKeys["WIDTH_TYPE"] = 196] = "WIDTH_TYPE";
55
+ StyleKeys[StyleKeys["WIDTH_VALUE"] = 200] = "WIDTH_VALUE";
56
+ StyleKeys[StyleKeys["HEIGHT_TYPE"] = 204] = "HEIGHT_TYPE";
57
+ StyleKeys[StyleKeys["HEIGHT_VALUE"] = 208] = "HEIGHT_VALUE";
58
+ StyleKeys[StyleKeys["MIN_WIDTH_TYPE"] = 212] = "MIN_WIDTH_TYPE";
59
+ StyleKeys[StyleKeys["MIN_WIDTH_VALUE"] = 216] = "MIN_WIDTH_VALUE";
60
+ StyleKeys[StyleKeys["MIN_HEIGHT_TYPE"] = 220] = "MIN_HEIGHT_TYPE";
61
+ StyleKeys[StyleKeys["MIN_HEIGHT_VALUE"] = 224] = "MIN_HEIGHT_VALUE";
62
+ StyleKeys[StyleKeys["MAX_WIDTH_TYPE"] = 228] = "MAX_WIDTH_TYPE";
63
+ StyleKeys[StyleKeys["MAX_WIDTH_VALUE"] = 232] = "MAX_WIDTH_VALUE";
64
+ StyleKeys[StyleKeys["MAX_HEIGHT_TYPE"] = 236] = "MAX_HEIGHT_TYPE";
65
+ StyleKeys[StyleKeys["MAX_HEIGHT_VALUE"] = 240] = "MAX_HEIGHT_VALUE";
66
+ StyleKeys[StyleKeys["GAP_ROW_TYPE"] = 244] = "GAP_ROW_TYPE";
67
+ StyleKeys[StyleKeys["GAP_ROW_VALUE"] = 248] = "GAP_ROW_VALUE";
68
+ StyleKeys[StyleKeys["GAP_COLUMN_TYPE"] = 252] = "GAP_COLUMN_TYPE";
69
+ StyleKeys[StyleKeys["GAP_COLUMN_VALUE"] = 256] = "GAP_COLUMN_VALUE";
70
+ StyleKeys[StyleKeys["ASPECT_RATIO"] = 260] = "ASPECT_RATIO";
71
+ StyleKeys[StyleKeys["GRID_AUTO_FLOW"] = 264] = "GRID_AUTO_FLOW";
72
+ StyleKeys[StyleKeys["GRID_COLUMN_START_TYPE"] = 268] = "GRID_COLUMN_START_TYPE";
73
+ StyleKeys[StyleKeys["GRID_COLUMN_START_VALUE"] = 272] = "GRID_COLUMN_START_VALUE";
74
+ StyleKeys[StyleKeys["GRID_COLUMN_END_TYPE"] = 276] = "GRID_COLUMN_END_TYPE";
75
+ StyleKeys[StyleKeys["GRID_COLUMN_END_VALUE"] = 280] = "GRID_COLUMN_END_VALUE";
76
+ StyleKeys[StyleKeys["GRID_ROW_START_TYPE"] = 284] = "GRID_ROW_START_TYPE";
77
+ StyleKeys[StyleKeys["GRID_ROW_START_VALUE"] = 288] = "GRID_ROW_START_VALUE";
78
+ StyleKeys[StyleKeys["GRID_ROW_END_TYPE"] = 292] = "GRID_ROW_END_TYPE";
79
+ StyleKeys[StyleKeys["GRID_ROW_END_VALUE"] = 296] = "GRID_ROW_END_VALUE";
80
+ StyleKeys[StyleKeys["SCROLLBAR_WIDTH"] = 300] = "SCROLLBAR_WIDTH";
81
+ StyleKeys[StyleKeys["TEXT_ALIGN"] = 304] = "TEXT_ALIGN";
82
+ StyleKeys[StyleKeys["BOX_SIZING"] = 308] = "BOX_SIZING";
83
+ StyleKeys[StyleKeys["OVERFLOW"] = 312] = "OVERFLOW";
84
+ StyleKeys[StyleKeys["ITEM_IS_TABLE"] = 316] = "ITEM_IS_TABLE";
85
+ StyleKeys[StyleKeys["ITEM_IS_REPLACED"] = 320] = "ITEM_IS_REPLACED";
86
+ StyleKeys[StyleKeys["DISPLAY_MODE"] = 324] = "DISPLAY_MODE";
87
+ StyleKeys[StyleKeys["FORCE_INLINE"] = 328] = "FORCE_INLINE";
88
+ StyleKeys[StyleKeys["MIN_CONTENT"] = 332] = "MIN_CONTENT";
89
+ StyleKeys[StyleKeys["MAX_CONTENT"] = 336] = "MAX_CONTENT";
90
+ })(StyleKeys || (StyleKeys = {}));
91
+ var TextStyleKeys;
92
+ (function (TextStyleKeys) {
93
+ TextStyleKeys[TextStyleKeys["COLOR"] = 0] = "COLOR";
94
+ TextStyleKeys[TextStyleKeys["COLOR_STATE"] = 4] = "COLOR_STATE";
95
+ TextStyleKeys[TextStyleKeys["SIZE"] = 8] = "SIZE";
96
+ TextStyleKeys[TextStyleKeys["SIZE_TYPE"] = 12] = "SIZE_TYPE";
97
+ TextStyleKeys[TextStyleKeys["SIZE_STATE"] = 13] = "SIZE_STATE";
98
+ TextStyleKeys[TextStyleKeys["FONT_WEIGHT"] = 16] = "FONT_WEIGHT";
99
+ TextStyleKeys[TextStyleKeys["FONT_WEIGHT_STATE"] = 20] = "FONT_WEIGHT_STATE";
100
+ TextStyleKeys[TextStyleKeys["FONT_STYLE_SLANT"] = 24] = "FONT_STYLE_SLANT";
101
+ TextStyleKeys[TextStyleKeys["FONT_STYLE_TYPE"] = 28] = "FONT_STYLE_TYPE";
102
+ TextStyleKeys[TextStyleKeys["FONT_STYLE_STATE"] = 29] = "FONT_STYLE_STATE";
103
+ TextStyleKeys[TextStyleKeys["FONT_FAMILY_STATE"] = 30] = "FONT_FAMILY_STATE";
104
+ TextStyleKeys[TextStyleKeys["FONT_RESOLVED_DIRTY"] = 31] = "FONT_RESOLVED_DIRTY";
105
+ TextStyleKeys[TextStyleKeys["BACKGROUND_COLOR"] = 32] = "BACKGROUND_COLOR";
106
+ TextStyleKeys[TextStyleKeys["BACKGROUND_COLOR_STATE"] = 36] = "BACKGROUND_COLOR_STATE";
107
+ TextStyleKeys[TextStyleKeys["DECORATION_LINE"] = 40] = "DECORATION_LINE";
108
+ TextStyleKeys[TextStyleKeys["DECORATION_LINE_STATE"] = 44] = "DECORATION_LINE_STATE";
109
+ TextStyleKeys[TextStyleKeys["DECORATION_COLOR"] = 48] = "DECORATION_COLOR";
110
+ TextStyleKeys[TextStyleKeys["DECORATION_COLOR_STATE"] = 52] = "DECORATION_COLOR_STATE";
111
+ TextStyleKeys[TextStyleKeys["DECORATION_STYLE"] = 56] = "DECORATION_STYLE";
112
+ TextStyleKeys[TextStyleKeys["DECORATION_STYLE_STATE"] = 60] = "DECORATION_STYLE_STATE";
113
+ TextStyleKeys[TextStyleKeys["LETTER_SPACING"] = 64] = "LETTER_SPACING";
114
+ TextStyleKeys[TextStyleKeys["LETTER_SPACING_STATE"] = 68] = "LETTER_SPACING_STATE";
115
+ TextStyleKeys[TextStyleKeys["TEXT_WRAP"] = 72] = "TEXT_WRAP";
116
+ TextStyleKeys[TextStyleKeys["TEXT_WRAP_STATE"] = 76] = "TEXT_WRAP_STATE";
117
+ TextStyleKeys[TextStyleKeys["WHITE_SPACE"] = 80] = "WHITE_SPACE";
118
+ TextStyleKeys[TextStyleKeys["WHITE_SPACE_STATE"] = 84] = "WHITE_SPACE_STATE";
119
+ TextStyleKeys[TextStyleKeys["TRANSFORM"] = 88] = "TRANSFORM";
120
+ TextStyleKeys[TextStyleKeys["TRANSFORM_STATE"] = 92] = "TRANSFORM_STATE";
121
+ TextStyleKeys[TextStyleKeys["TEXT_ALIGN"] = 96] = "TEXT_ALIGN";
122
+ TextStyleKeys[TextStyleKeys["TEXT_ALIGN_STATE"] = 100] = "TEXT_ALIGN_STATE";
123
+ TextStyleKeys[TextStyleKeys["TEXT_JUSTIFY"] = 104] = "TEXT_JUSTIFY";
124
+ TextStyleKeys[TextStyleKeys["TEXT_JUSTIFY_STATE"] = 108] = "TEXT_JUSTIFY_STATE";
125
+ TextStyleKeys[TextStyleKeys["TEXT_INDENT"] = 112] = "TEXT_INDENT";
126
+ TextStyleKeys[TextStyleKeys["TEXT_INDENT_STATE"] = 116] = "TEXT_INDENT_STATE";
127
+ TextStyleKeys[TextStyleKeys["TEXT_OVERFLOW"] = 120] = "TEXT_OVERFLOW";
128
+ TextStyleKeys[TextStyleKeys["TEXT_OVERFLOW_STATE"] = 124] = "TEXT_OVERFLOW_STATE";
129
+ TextStyleKeys[TextStyleKeys["LINE_HEIGHT"] = 128] = "LINE_HEIGHT";
130
+ TextStyleKeys[TextStyleKeys["LINE_HEIGHT_TYPE"] = 132] = "LINE_HEIGHT_TYPE";
131
+ TextStyleKeys[TextStyleKeys["LINE_HEIGHT_STATE"] = 133] = "LINE_HEIGHT_STATE";
132
+ })(TextStyleKeys || (TextStyleKeys = {}));
133
+ function parseLengthPercentageAuto(type, value) {
134
+ switch (type) {
135
+ case 0:
136
+ return 'auto';
137
+ case 1:
138
+ return { value, unit: 'px' };
139
+ case 2:
140
+ return { value, unit: '%' };
141
+ }
142
+ }
143
+ function parseLengthPercentage(type, value) {
144
+ switch (type) {
145
+ case 0:
146
+ return { value, unit: 'px' };
147
+ case 1:
148
+ return { value, unit: '%' };
149
+ }
150
+ }
151
+ class StateKeys {
152
+ constructor(bits) {
153
+ this.bits = bits;
154
+ }
155
+ or(other) {
156
+ return new StateKeys(this.bits | other.bits);
157
+ }
158
+ and(other) {
159
+ return new StateKeys(this.bits & other.bits);
160
+ }
161
+ hasFlag(flag) {
162
+ return (this.bits & flag.bits) !== 0n;
163
+ }
164
+ }
165
+ StateKeys.DISPLAY = new StateKeys(1n << 0n);
166
+ StateKeys.POSITION = new StateKeys(1n << 1n);
167
+ StateKeys.DIRECTION = new StateKeys(1n << 2n);
168
+ StateKeys.FLEX_DIRECTION = new StateKeys(1n << 3n);
169
+ StateKeys.FLEX_WRAP = new StateKeys(1n << 4n);
170
+ StateKeys.OVERFLOW_X = new StateKeys(1n << 5n);
171
+ StateKeys.OVERFLOW_Y = new StateKeys(1n << 6n);
172
+ StateKeys.ALIGN_ITEMS = new StateKeys(1n << 7n);
173
+ StateKeys.ALIGN_SELF = new StateKeys(1n << 8n);
174
+ StateKeys.ALIGN_CONTENT = new StateKeys(1n << 9n);
175
+ StateKeys.JUSTIFY_ITEMS = new StateKeys(1n << 10n);
176
+ StateKeys.JUSTIFY_SELF = new StateKeys(1n << 11n);
177
+ StateKeys.JUSTIFY_CONTENT = new StateKeys(1n << 12n);
178
+ StateKeys.INSET = new StateKeys(1n << 13n);
179
+ StateKeys.MARGIN = new StateKeys(1n << 14n);
180
+ StateKeys.PADDING = new StateKeys(1n << 15n);
181
+ StateKeys.BORDER = new StateKeys(1n << 16n);
182
+ StateKeys.FLEX_GROW = new StateKeys(1n << 17n);
183
+ StateKeys.FLEX_SHRINK = new StateKeys(1n << 18n);
184
+ StateKeys.FLEX_BASIS = new StateKeys(1n << 19n);
185
+ StateKeys.SIZE = new StateKeys(1n << 20n);
186
+ StateKeys.MIN_SIZE = new StateKeys(1n << 21n);
187
+ StateKeys.MAX_SIZE = new StateKeys(1n << 22n);
188
+ StateKeys.GAP = new StateKeys(1n << 23n);
189
+ StateKeys.ASPECT_RATIO = new StateKeys(1n << 24n);
190
+ StateKeys.GRID_AUTO_FLOW = new StateKeys(1n << 25n);
191
+ StateKeys.GRID_COLUMN = new StateKeys(1n << 26n);
192
+ StateKeys.GRID_ROW = new StateKeys(1n << 27n);
193
+ StateKeys.SCROLLBAR_WIDTH = new StateKeys(1n << 28n);
194
+ StateKeys.TEXT_ALIGN = new StateKeys(1n << 29n);
195
+ StateKeys.BOX_SIZING = new StateKeys(1n << 30n);
196
+ StateKeys.OVERFLOW = new StateKeys(1n << 31n);
197
+ StateKeys.ITEM_IS_TABLE = new StateKeys(1n << 32n);
198
+ StateKeys.ITEM_IS_REPLACED = new StateKeys(1n << 33n);
199
+ StateKeys.DISPLAY_MODE = new StateKeys(1n << 34n);
200
+ StateKeys.FORCE_INLINE = new StateKeys(1n << 35n);
201
+ StateKeys.MIN_CONTENT = new StateKeys(1n << 36n);
202
+ StateKeys.MAX_CONTENT = new StateKeys(1n << 37n);
203
+ class TextStateKeys {
204
+ constructor(bits) {
205
+ this.bits = bits;
206
+ }
207
+ or(other) {
208
+ return new TextStateKeys(this.bits | other.bits);
209
+ }
210
+ and(other) {
211
+ return new TextStateKeys(this.bits & other.bits);
212
+ }
213
+ hasFlag(flag) {
214
+ return (this.bits & flag.bits) !== 0n;
215
+ }
216
+ }
217
+ TextStateKeys.ALL = new TextStateKeys(-1n);
218
+ TextStateKeys.NONE = new TextStateKeys(0n);
219
+ TextStateKeys.COLOR = new TextStateKeys(1n << 0n);
220
+ TextStateKeys.SIZE = new TextStateKeys(1n << 1n);
221
+ TextStateKeys.FONT_WEIGHT = new TextStateKeys(1n << 2n);
222
+ TextStateKeys.FONT_STYLE = new TextStateKeys(1n << 3n);
223
+ TextStateKeys.FONT_FAMILY = new TextStateKeys(1n << 4n);
224
+ TextStateKeys.LETTER_SPACING = new TextStateKeys(1n << 5n);
225
+ TextStateKeys.DECORATION_LINE = new TextStateKeys(1n << 6n);
226
+ TextStateKeys.DECORATION_COLOR = new TextStateKeys(1n << 7n);
227
+ TextStateKeys.DECORATION_STYLE = new TextStateKeys(1n << 8n);
228
+ TextStateKeys.BACKGROUND_COLOR = new TextStateKeys(1n << 9n);
229
+ TextStateKeys.TEXT_WRAP = new TextStateKeys(1n << 10n);
230
+ TextStateKeys.WHITE_SPACE = new TextStateKeys(1n << 11n);
231
+ TextStateKeys.TRANSFORM = new TextStateKeys(1n << 12n);
232
+ TextStateKeys.TEXT_JUSTIFY = new TextStateKeys(1n << 13n);
233
+ TextStateKeys.TEXT_OVERFLOW = new TextStateKeys(1n << 14n);
234
+ TextStateKeys.LINE_HEIGHT = new TextStateKeys(1n << 15n);
235
+ TextStateKeys.TEXT_ALIGN = new TextStateKeys(1n << 16n);
236
+ const getInt8 = (view, offset) => {
237
+ return view.getInt8(offset);
238
+ };
239
+ const setInt8 = (view, offset, value) => {
240
+ view.setInt8(offset, value);
241
+ };
242
+ const getUint8 = (view, offset) => {
243
+ return view.getUint8(offset);
244
+ };
245
+ const setUint8 = (view, offset, value) => {
246
+ view.setUint8(offset, value);
247
+ };
248
+ const getInt16 = (view, offset) => {
249
+ return view.getInt16(offset, true);
250
+ };
251
+ const setInt16 = (view, offset, value) => {
252
+ view.setInt16(offset, value, true);
253
+ };
254
+ const getUint32 = (view, offset) => {
255
+ return view.getUint32(offset, true);
256
+ };
257
+ const setUint32 = (view, offset, value) => {
258
+ view.setUint32(offset, value, true);
259
+ };
260
+ const getInt32 = (view, offset) => {
261
+ return view.getInt32(offset, true);
262
+ };
263
+ const setInt32 = (view, offset, value) => {
264
+ view.setInt32(offset, value, true);
265
+ };
266
+ const getFloat32 = (view, offset) => {
267
+ return view.getFloat32(offset, true);
268
+ };
269
+ const setFloat32 = (view, offset, value) => {
270
+ view.setFloat32(offset, value, true);
271
+ };
272
+ export class Style {
273
+ constructor() {
274
+ this.isDirty = -1n;
275
+ this.isTextDirty = -1n;
276
+ this.inBatch = false;
277
+ }
278
+ static fromView(view, nativeView) {
279
+ //console.time('fromView');
280
+ const ret = new Style();
281
+ ret.view_ = view;
282
+ ret.nativeView = nativeView;
283
+ if (__ANDROID__) {
284
+ let style = nativeView?.getStyle?.();
285
+ if (!style) {
286
+ // if a non mason view is passed
287
+ style = org.nativescript.mason.masonkit.Mason.getShared().styleForView(nativeView);
288
+ }
289
+ const styleBuffer = style.getValues();
290
+ const buffer = ArrayBuffer.from(styleBuffer);
291
+ ret.style_view = new DataView(buffer);
292
+ const textStyleBuffer = style.getTextValues();
293
+ const textBuffer = ArrayBuffer.from(textStyleBuffer);
294
+ ret.text_style_view = new DataView(textBuffer);
295
+ }
296
+ else if (__APPLE__) {
297
+ let style = nativeView?.style;
298
+ if (!style) {
299
+ style = NSCMason.shared.styleForView(nativeView);
300
+ }
301
+ const styleBuffer = style.values;
302
+ const buffer = interop.bufferFromData(styleBuffer);
303
+ ret.style_view = new DataView(buffer);
304
+ //@ts-ignore
305
+ const textStyleBuffer = style.textValues;
306
+ const textBuffer = interop.bufferFromData(textStyleBuffer);
307
+ ret.text_style_view = new DataView(textBuffer);
308
+ }
309
+ //console.timeEnd('fromView');
310
+ return ret;
311
+ }
312
+ resetState() {
313
+ this.isDirty = -1n;
314
+ this.isTextDirty = -1n;
315
+ }
316
+ syncStyle() {
317
+ if (__ANDROID__) {
318
+ const view = this.view.android;
319
+ view.syncStyle(this.isDirty.toString(), this.isTextDirty.toString());
320
+ }
321
+ else if (__APPLE__) {
322
+ const view = this.view.ios;
323
+ // @ts-ignore
324
+ view.mason_syncStyle(this.isDirty.toString(), this.isTextDirty.toString());
325
+ }
326
+ this.resetState();
327
+ }
328
+ setOrAppendState(value) {
329
+ if (this.isDirty == -1n) {
330
+ this.isDirty = value.bits;
331
+ }
332
+ else {
333
+ this.isDirty = this.isDirty | value.bits;
334
+ }
335
+ if (!this.inBatch) {
336
+ this.syncStyle();
337
+ }
338
+ }
339
+ setOrAppendTextState(value) {
340
+ if (this.isTextDirty == -1n) {
341
+ this.isTextDirty = value.bits;
342
+ }
343
+ else {
344
+ this.isTextDirty = this.isTextDirty | value.bits;
345
+ }
346
+ if (!this.inBatch) {
347
+ this.syncStyle();
348
+ }
349
+ }
350
+ batch(fn) {
351
+ this.inBatch = true;
352
+ fn(this);
353
+ this.inBatch = false;
354
+ this.syncStyle();
355
+ }
356
+ get view() {
357
+ return this.view_;
358
+ }
359
+ get boxSizing() {
360
+ switch (getUint32(this.style_view, StyleKeys.BOX_SIZING)) {
361
+ case 0:
362
+ return 'border-box';
363
+ case 1:
364
+ return 'content-box';
365
+ }
366
+ }
367
+ set boxSizing(value) {
368
+ let boxSizing = -1;
369
+ switch (value) {
370
+ case 'border-box':
371
+ boxSizing = 0;
372
+ break;
373
+ case 'content-box':
374
+ boxSizing = 1;
375
+ break;
376
+ }
377
+ if (boxSizing !== -1) {
378
+ setUint32(this.style_view, StyleKeys.BOX_SIZING, boxSizing);
379
+ this.setOrAppendState(StateKeys.BOX_SIZING);
380
+ }
381
+ }
382
+ get fontSize() {
383
+ if (!this.text_style_view) {
384
+ // BLACK ?
385
+ return 16;
386
+ }
387
+ const type = getUint8(this.text_style_view, TextStyleKeys.SIZE_TYPE);
388
+ const value = getInt32(this.text_style_view, TextStyleKeys.SIZE);
389
+ if (type === 1) {
390
+ return `${value / 100}%`;
391
+ }
392
+ return value;
393
+ }
394
+ set fontSize(value) {
395
+ if (!this.text_style_view) {
396
+ return;
397
+ }
398
+ switch (typeof value) {
399
+ case 'number':
400
+ setInt32(this.text_style_view, TextStyleKeys.SIZE, value);
401
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_STATE, 1);
402
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_TYPE, 0);
403
+ this.setOrAppendTextState(TextStateKeys.SIZE);
404
+ break;
405
+ case 'object':
406
+ switch (value.unit) {
407
+ case 'dip':
408
+ setInt32(this.text_style_view, TextStyleKeys.SIZE, value.value);
409
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_STATE, 1);
410
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_TYPE, 0);
411
+ this.setOrAppendTextState(TextStateKeys.SIZE);
412
+ break;
413
+ case 'px':
414
+ setInt32(this.text_style_view, TextStyleKeys.SIZE, layout.toDeviceIndependentPixels(value.value));
415
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_STATE, 1);
416
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_TYPE, 0);
417
+ this.setOrAppendTextState(TextStateKeys.SIZE);
418
+ break;
419
+ case '%':
420
+ setInt32(this.text_style_view, TextStyleKeys.SIZE, value.value * 100);
421
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_STATE, 1);
422
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_TYPE, 1);
423
+ this.setOrAppendTextState(TextStateKeys.SIZE);
424
+ break;
425
+ }
426
+ break;
427
+ }
428
+ if (value && typeof value === 'object') {
429
+ }
430
+ else {
431
+ }
432
+ }
433
+ get fontStyle() {
434
+ if (!this.text_style_view) {
435
+ // normal ?
436
+ return 'normal';
437
+ }
438
+ switch (getInt32(this.text_style_view, TextStyleKeys.FONT_STYLE_TYPE)) {
439
+ case 0:
440
+ return 'normal';
441
+ case 1:
442
+ return 'italic';
443
+ case 2:
444
+ return 'oblique';
445
+ default:
446
+ return 'normal';
447
+ }
448
+ }
449
+ set fontStyle(value) {
450
+ if (!this.text_style_view) {
451
+ return;
452
+ }
453
+ let style = -1;
454
+ switch (value) {
455
+ case 'normal':
456
+ style = 0;
457
+ break;
458
+ case 'italic':
459
+ style = 1;
460
+ break;
461
+ case 'oblique':
462
+ style = 2;
463
+ break;
464
+ }
465
+ if (style !== -1) {
466
+ setInt32(this.text_style_view, TextStyleKeys.FONT_STYLE_TYPE, style);
467
+ setInt8(this.text_style_view, TextStyleKeys.FONT_STYLE_STATE, 1);
468
+ this.setOrAppendTextState(TextStateKeys.FONT_STYLE);
469
+ }
470
+ }
471
+ get fontWeight() {
472
+ if (!this.text_style_view) {
473
+ // BLACK ?
474
+ return 400;
475
+ }
476
+ return getInt32(this.text_style_view, TextStyleKeys.FONT_WEIGHT);
477
+ }
478
+ set fontWeight(value) {
479
+ if (!this.text_style_view) {
480
+ return;
481
+ }
482
+ let weight = -1;
483
+ switch (value) {
484
+ case '100':
485
+ weight = 100;
486
+ break;
487
+ case '200':
488
+ weight = 200;
489
+ break;
490
+ case '300':
491
+ weight = 300;
492
+ break;
493
+ case 'normal':
494
+ case '400':
495
+ weight = 400;
496
+ break;
497
+ case '500':
498
+ weight = 500;
499
+ break;
500
+ case '600':
501
+ weight = 600;
502
+ break;
503
+ case '700':
504
+ case 'bold':
505
+ weight = 700;
506
+ break;
507
+ case '800':
508
+ weight = 800;
509
+ break;
510
+ case '900':
511
+ weight = 900;
512
+ break;
513
+ default:
514
+ if (typeof value === 'number' && value >= 100 && value <= 1000) {
515
+ weight = value;
516
+ }
517
+ break;
518
+ }
519
+ if (weight !== -1) {
520
+ setInt32(this.text_style_view, TextStyleKeys.FONT_WEIGHT, weight);
521
+ setInt8(this.text_style_view, TextStyleKeys.FONT_WEIGHT_STATE, 1);
522
+ this.setOrAppendTextState(TextStateKeys.FONT_WEIGHT);
523
+ }
524
+ }
525
+ get color() {
526
+ if (!this.text_style_view) {
527
+ // BLACK ?
528
+ return 0;
529
+ }
530
+ return getUint32(this.text_style_view, TextStyleKeys.COLOR);
531
+ }
532
+ set color(value) {
533
+ if (!this.text_style_view) {
534
+ return;
535
+ }
536
+ setUint32(this.text_style_view, TextStyleKeys.COLOR, value);
537
+ setInt8(this.text_style_view, TextStyleKeys.COLOR_STATE, 1);
538
+ this.setOrAppendTextState(TextStateKeys.COLOR);
539
+ }
540
+ get backgroundColor() {
541
+ if (!this.text_style_view) {
542
+ // BLACK ?
543
+ return 0;
544
+ }
545
+ return getUint32(this.text_style_view, TextStyleKeys.BACKGROUND_COLOR);
546
+ }
547
+ set backgroundColor(value) {
548
+ if (!this.text_style_view) {
549
+ return;
550
+ }
551
+ setUint32(this.text_style_view, TextStyleKeys.BACKGROUND_COLOR, value);
552
+ setInt8(this.text_style_view, TextStyleKeys.BACKGROUND_COLOR_STATE, 1);
553
+ this.setOrAppendTextState(TextStateKeys.BACKGROUND_COLOR);
554
+ }
555
+ get textWrap() {
556
+ if (!this.text_style_view) {
557
+ // BLACK ?
558
+ return 0;
559
+ }
560
+ return getInt32(this.text_style_view, TextStyleKeys.TEXT_WRAP);
561
+ }
562
+ set textWrap(value) {
563
+ if (!this.text_style_view) {
564
+ return;
565
+ }
566
+ let wrap = -1;
567
+ switch (value) {
568
+ case 'nowrap':
569
+ wrap = 0;
570
+ break;
571
+ case 'wrap':
572
+ wrap = 1;
573
+ break;
574
+ case 'balance':
575
+ wrap = 2;
576
+ break;
577
+ }
578
+ if (typeof value === 'number' && value >= 0 && value < 3) {
579
+ wrap = value;
580
+ }
581
+ if (wrap !== -1) {
582
+ setInt32(this.text_style_view, TextStyleKeys.TEXT_WRAP, wrap);
583
+ setInt8(this.text_style_view, TextStyleKeys.TEXT_WRAP_STATE, 1);
584
+ this.setOrAppendTextState(TextStateKeys.TEXT_WRAP);
585
+ }
586
+ }
587
+ get styleView() {
588
+ return this.style_view;
589
+ }
590
+ get display() {
591
+ switch (getInt32(this.style_view, StyleKeys.DISPLAY)) {
592
+ case 0:
593
+ return 'none';
594
+ case 1:
595
+ return 'flex';
596
+ case 2:
597
+ return 'grid';
598
+ case 3:
599
+ return 'block';
600
+ case 4:
601
+ return 'inline';
602
+ case 5:
603
+ return 'inline-block';
604
+ case 6:
605
+ return 'inline-flex';
606
+ case 7:
607
+ return 'inline-grid';
608
+ default:
609
+ return 'none';
610
+ }
611
+ }
612
+ set display(value) {
613
+ let display = -1;
614
+ switch (value) {
615
+ case 'none':
616
+ display = 0;
617
+ break;
618
+ case 'flex':
619
+ display = 1;
620
+ break;
621
+ case 'grid':
622
+ display = 2;
623
+ break;
624
+ case 'block':
625
+ display = 3;
626
+ break;
627
+ case 'inline':
628
+ display = 4;
629
+ break;
630
+ case 'inline-block':
631
+ display = 5;
632
+ break;
633
+ case 'inline-flex':
634
+ display = 6;
635
+ break;
636
+ case 'inline-grid':
637
+ display = 7;
638
+ break;
639
+ }
640
+ if (display != -1) {
641
+ setInt32(this.style_view, StyleKeys.DISPLAY, display);
642
+ this.setOrAppendState(StateKeys.DISPLAY);
643
+ }
644
+ }
645
+ get position() {
646
+ switch (getInt32(this.style_view, StyleKeys.POSITION)) {
647
+ case 0:
648
+ return 'relative';
649
+ case 1:
650
+ return 'absolute';
651
+ }
652
+ }
653
+ set position(value) {
654
+ let position = -1;
655
+ switch (value) {
656
+ case 'relative':
657
+ position = 0;
658
+ break;
659
+ case 'absolute':
660
+ position = 1;
661
+ break;
662
+ }
663
+ if (position != -1) {
664
+ setInt32(this.style_view, StyleKeys.POSITION, position);
665
+ this.setOrAppendState(StateKeys.POSITION);
666
+ }
667
+ }
668
+ get flexDirection() {
669
+ switch (getInt32(this.style_view, StyleKeys.FLEX_DIRECTION)) {
670
+ case 0:
671
+ return 'column';
672
+ case 1:
673
+ return 'row';
674
+ case 2:
675
+ return 'row-reverse';
676
+ case 3:
677
+ return 'column-reverse';
678
+ }
679
+ }
680
+ set flexDirection(value) {
681
+ let flex = -1;
682
+ switch (value) {
683
+ case 'column':
684
+ flex = 0;
685
+ break;
686
+ case 'row':
687
+ flex = 1;
688
+ break;
689
+ case 'row-reverse':
690
+ flex = 2;
691
+ break;
692
+ case 'column-reverse':
693
+ flex = 3;
694
+ break;
695
+ }
696
+ if (flex != -1) {
697
+ setInt32(this.style_view, StyleKeys.FLEX_DIRECTION, flex);
698
+ this.setOrAppendState(StateKeys.FLEX_DIRECTION);
699
+ }
700
+ }
701
+ get flexWrap() {
702
+ switch (getInt32(this.style_view, StyleKeys.FLEX_WRAP)) {
703
+ case 0:
704
+ return 'no-wrap';
705
+ case 1:
706
+ return 'wrap';
707
+ case 2:
708
+ return 'wrap-reverse';
709
+ }
710
+ }
711
+ set flexWrap(value) {
712
+ let wrap = -1;
713
+ switch (value) {
714
+ case 'no-wrap':
715
+ wrap = 0;
716
+ break;
717
+ case 'wrap':
718
+ wrap = 1;
719
+ break;
720
+ case 'wrap-reverse':
721
+ wrap = 2;
722
+ break;
723
+ }
724
+ if (wrap != -1) {
725
+ setInt32(this.style_view, StyleKeys.FLEX_WRAP, wrap);
726
+ this.setOrAppendState(StateKeys.FLEX_WRAP);
727
+ }
728
+ }
729
+ // get flex(): string | 'auto' | 'none' | number | 'initial' {
730
+ // return this.style[StyleKeys.FLEX];
731
+ // }
732
+ // get flexFlow(): string
733
+ get minWidth() {
734
+ const type = getInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE);
735
+ const value = getFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE);
736
+ return parseLengthPercentageAuto(type, value);
737
+ }
738
+ set minWidth(value) {
739
+ switch (typeof value) {
740
+ case 'string':
741
+ setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 0);
742
+ break;
743
+ case 'number':
744
+ setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 1);
745
+ setFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE, layout.toDevicePixels(value));
746
+ break;
747
+ case 'object':
748
+ switch (value.unit) {
749
+ case 'dip':
750
+ setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 1);
751
+ setFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE, layout.toDevicePixels(value.value));
752
+ break;
753
+ case 'px':
754
+ setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 1);
755
+ setFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE, value.value);
756
+ break;
757
+ case '%':
758
+ setInt32(this.style_view, StyleKeys.MIN_WIDTH_TYPE, 2);
759
+ setFloat32(this.style_view, StyleKeys.MIN_WIDTH_VALUE, value.value);
760
+ break;
761
+ }
762
+ break;
763
+ }
764
+ this.setOrAppendState(StateKeys.MIN_SIZE);
765
+ }
766
+ get minHeight() {
767
+ const type = getInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE);
768
+ const value = getFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE);
769
+ return parseLengthPercentageAuto(type, value);
770
+ }
771
+ set minHeight(value) {
772
+ switch (typeof value) {
773
+ case 'string':
774
+ setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 0);
775
+ break;
776
+ case 'number':
777
+ setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 1);
778
+ setFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE, layout.toDevicePixels(value));
779
+ break;
780
+ case 'object':
781
+ switch (value.unit) {
782
+ case 'dip':
783
+ setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 1);
784
+ setFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE, layout.toDevicePixels(value.value));
785
+ break;
786
+ case 'px':
787
+ setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 1);
788
+ setFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE, value.value);
789
+ break;
790
+ case '%':
791
+ setInt32(this.style_view, StyleKeys.MIN_HEIGHT_TYPE, 2);
792
+ setFloat32(this.style_view, StyleKeys.MIN_HEIGHT_VALUE, value.value);
793
+ break;
794
+ }
795
+ break;
796
+ }
797
+ this.setOrAppendState(StateKeys.MIN_SIZE);
798
+ }
799
+ get width() {
800
+ const type = getInt32(this.style_view, StyleKeys.WIDTH_TYPE);
801
+ const value = getFloat32(this.style_view, StyleKeys.WIDTH_VALUE);
802
+ return parseLengthPercentageAuto(type, value);
803
+ }
804
+ set width(value) {
805
+ switch (typeof value) {
806
+ case 'string':
807
+ setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 0);
808
+ break;
809
+ case 'number':
810
+ setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 1);
811
+ setFloat32(this.style_view, StyleKeys.WIDTH_VALUE, layout.toDevicePixels(value));
812
+ break;
813
+ case 'object':
814
+ switch (value.unit) {
815
+ case 'dip':
816
+ setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 1);
817
+ setFloat32(this.style_view, StyleKeys.WIDTH_VALUE, layout.toDevicePixels(value.value));
818
+ break;
819
+ case 'px':
820
+ setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 1);
821
+ setFloat32(this.style_view, StyleKeys.WIDTH_VALUE, value.value);
822
+ break;
823
+ case '%':
824
+ setInt32(this.style_view, StyleKeys.WIDTH_TYPE, 2);
825
+ setFloat32(this.style_view, StyleKeys.WIDTH_VALUE, value.value);
826
+ break;
827
+ }
828
+ break;
829
+ }
830
+ this.setOrAppendState(StateKeys.SIZE);
831
+ }
832
+ get height() {
833
+ const type = getInt32(this.style_view, StyleKeys.HEIGHT_TYPE);
834
+ const value = getFloat32(this.style_view, StyleKeys.HEIGHT_VALUE);
835
+ return parseLengthPercentageAuto(type, value);
836
+ }
837
+ set height(value) {
838
+ switch (typeof value) {
839
+ case 'string':
840
+ setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 0);
841
+ setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, 0);
842
+ break;
843
+ case 'number':
844
+ setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 1);
845
+ setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, layout.toDevicePixels(value));
846
+ break;
847
+ case 'object':
848
+ switch (value.unit) {
849
+ case 'dip':
850
+ setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 1);
851
+ setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, layout.toDevicePixels(value.value));
852
+ break;
853
+ case 'px':
854
+ setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 1);
855
+ setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, value.value);
856
+ break;
857
+ case '%':
858
+ setInt32(this.style_view, StyleKeys.HEIGHT_TYPE, 2);
859
+ setFloat32(this.style_view, StyleKeys.HEIGHT_VALUE, value.value);
860
+ break;
861
+ }
862
+ break;
863
+ }
864
+ this.setOrAppendState(StateKeys.SIZE);
865
+ }
866
+ get maxWidth() {
867
+ const type = getInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE);
868
+ const value = getFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE);
869
+ return parseLengthPercentageAuto(type, value);
870
+ }
871
+ set maxWidth(value) {
872
+ switch (typeof value) {
873
+ case 'string':
874
+ setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 0);
875
+ break;
876
+ case 'number':
877
+ setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 1);
878
+ setFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE, layout.toDevicePixels(value));
879
+ break;
880
+ case 'object':
881
+ switch (value.unit) {
882
+ case 'dip':
883
+ setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 1);
884
+ setFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE, layout.toDevicePixels(value.value));
885
+ break;
886
+ case 'px':
887
+ setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 1);
888
+ setFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE, value.value);
889
+ break;
890
+ case '%':
891
+ setInt32(this.style_view, StyleKeys.MAX_WIDTH_TYPE, 2);
892
+ setFloat32(this.style_view, StyleKeys.MAX_WIDTH_VALUE, value.value);
893
+ break;
894
+ }
895
+ break;
896
+ }
897
+ this.setOrAppendState(StateKeys.MAX_SIZE);
898
+ }
899
+ get maxHeight() {
900
+ const type = getInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE);
901
+ const value = getFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE);
902
+ return parseLengthPercentageAuto(type, value);
903
+ }
904
+ set maxHeight(value) {
905
+ switch (typeof value) {
906
+ case 'string':
907
+ setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 0);
908
+ break;
909
+ case 'number':
910
+ setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 1);
911
+ setFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE, layout.toDevicePixels(value));
912
+ break;
913
+ case 'object':
914
+ switch (value.unit) {
915
+ case 'dip':
916
+ setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 1);
917
+ setFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE, layout.toDevicePixels(value.value));
918
+ break;
919
+ case 'px':
920
+ setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 1);
921
+ setFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE, value.value);
922
+ break;
923
+ case '%':
924
+ setInt32(this.style_view, StyleKeys.MAX_HEIGHT_TYPE, 2);
925
+ setFloat32(this.style_view, StyleKeys.MAX_HEIGHT_VALUE, value.value);
926
+ break;
927
+ }
928
+ break;
929
+ }
930
+ this.setOrAppendState(StateKeys.MAX_SIZE);
931
+ }
932
+ get borderLeft() {
933
+ const type = getInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE);
934
+ const value = getFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE);
935
+ return parseLengthPercentage(type, value);
936
+ }
937
+ set borderLeft(value) {
938
+ switch (typeof value) {
939
+ case 'number':
940
+ setInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE, 0);
941
+ setFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE, layout.toDevicePixels(value));
942
+ break;
943
+ case 'object':
944
+ switch (value.unit) {
945
+ case 'dip':
946
+ setInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE, 0);
947
+ setFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE, layout.toDevicePixels(value.value));
948
+ break;
949
+ case 'px':
950
+ setInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE, 0);
951
+ setFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE, value.value);
952
+ break;
953
+ case '%':
954
+ setInt32(this.style_view, StyleKeys.BORDER_LEFT_TYPE, 1);
955
+ setFloat32(this.style_view, StyleKeys.BORDER_LEFT_VALUE, value.value);
956
+ break;
957
+ }
958
+ break;
959
+ }
960
+ this.setOrAppendState(StateKeys.BORDER);
961
+ }
962
+ get borderRight() {
963
+ const type = getInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE);
964
+ const value = getFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE);
965
+ return parseLengthPercentage(type, value);
966
+ }
967
+ set borderRight(value) {
968
+ switch (typeof value) {
969
+ case 'number':
970
+ setInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE, 0);
971
+ setFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE, layout.toDevicePixels(value));
972
+ break;
973
+ case 'object':
974
+ switch (value.unit) {
975
+ case 'dip':
976
+ setInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE, 0);
977
+ setFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE, layout.toDevicePixels(value.value));
978
+ break;
979
+ case 'px':
980
+ setInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE, 0);
981
+ setFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE, value.value);
982
+ break;
983
+ case '%':
984
+ setInt32(this.style_view, StyleKeys.BORDER_RIGHT_TYPE, 1);
985
+ setFloat32(this.style_view, StyleKeys.BORDER_RIGHT_VALUE, value.value);
986
+ break;
987
+ }
988
+ break;
989
+ }
990
+ this.setOrAppendState(StateKeys.BORDER);
991
+ }
992
+ get borderTop() {
993
+ const type = getInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE);
994
+ const value = getFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE);
995
+ return parseLengthPercentage(type, value);
996
+ }
997
+ set borderTop(value) {
998
+ switch (typeof value) {
999
+ case 'number':
1000
+ setInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE, 0);
1001
+ setFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE, layout.toDevicePixels(value));
1002
+ break;
1003
+ case 'object':
1004
+ switch (value.unit) {
1005
+ case 'dip':
1006
+ setInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE, 0);
1007
+ setFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE, layout.toDevicePixels(value.value));
1008
+ break;
1009
+ case 'px':
1010
+ setInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE, 0);
1011
+ setFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE, value.value);
1012
+ break;
1013
+ case '%':
1014
+ setInt32(this.style_view, StyleKeys.BORDER_TOP_TYPE, 1);
1015
+ setFloat32(this.style_view, StyleKeys.BORDER_TOP_VALUE, value.value);
1016
+ break;
1017
+ }
1018
+ break;
1019
+ }
1020
+ this.setOrAppendState(StateKeys.BORDER);
1021
+ }
1022
+ get borderBottom() {
1023
+ const type = getInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE);
1024
+ const value = getFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE);
1025
+ return parseLengthPercentage(type, value);
1026
+ }
1027
+ set borderBottom(value) {
1028
+ switch (typeof value) {
1029
+ case 'number':
1030
+ setInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE, 0);
1031
+ setFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE, layout.toDevicePixels(value));
1032
+ break;
1033
+ case 'object':
1034
+ switch (value.unit) {
1035
+ case 'dip':
1036
+ setInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE, 0);
1037
+ setFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE, layout.toDevicePixels(value.value));
1038
+ break;
1039
+ case 'px':
1040
+ setInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE, 0);
1041
+ setFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE, value.value);
1042
+ break;
1043
+ case '%':
1044
+ setInt32(this.style_view, StyleKeys.BORDER_BOTTOM_TYPE, 1);
1045
+ setFloat32(this.style_view, StyleKeys.BORDER_BOTTOM_VALUE, value.value);
1046
+ break;
1047
+ }
1048
+ break;
1049
+ }
1050
+ this.setOrAppendState(StateKeys.BORDER);
1051
+ }
1052
+ get left() {
1053
+ const type = getInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE);
1054
+ const value = getFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE);
1055
+ return parseLengthPercentageAuto(type, value);
1056
+ }
1057
+ set left(value) {
1058
+ if (value === 'auto') {
1059
+ setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 0);
1060
+ setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, 0);
1061
+ return;
1062
+ }
1063
+ switch (typeof value) {
1064
+ case 'number':
1065
+ setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 1);
1066
+ setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, layout.toDevicePixels(value));
1067
+ break;
1068
+ case 'object':
1069
+ switch (value.unit) {
1070
+ case 'dip':
1071
+ setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 1);
1072
+ setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, layout.toDevicePixels(value.value));
1073
+ break;
1074
+ case 'px':
1075
+ setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 1);
1076
+ setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, value.value);
1077
+ break;
1078
+ case '%':
1079
+ setInt32(this.style_view, StyleKeys.INSET_LEFT_TYPE, 2);
1080
+ setFloat32(this.style_view, StyleKeys.INSET_LEFT_VALUE, value.value);
1081
+ break;
1082
+ }
1083
+ break;
1084
+ }
1085
+ this.setOrAppendState(StateKeys.INSET);
1086
+ }
1087
+ get right() {
1088
+ const type = getInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE);
1089
+ const value = getFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE);
1090
+ return parseLengthPercentageAuto(type, value);
1091
+ }
1092
+ set right(value) {
1093
+ if (value === 'auto') {
1094
+ setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 0);
1095
+ setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, 0);
1096
+ return;
1097
+ }
1098
+ switch (typeof value) {
1099
+ case 'number':
1100
+ setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 1);
1101
+ setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, layout.toDevicePixels(value));
1102
+ break;
1103
+ case 'object':
1104
+ switch (value.unit) {
1105
+ case 'dip':
1106
+ setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 1);
1107
+ setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, layout.toDevicePixels(value.value));
1108
+ break;
1109
+ case 'px':
1110
+ setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 1);
1111
+ setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, value.value);
1112
+ break;
1113
+ case '%':
1114
+ setInt32(this.style_view, StyleKeys.INSET_RIGHT_TYPE, 2);
1115
+ setFloat32(this.style_view, StyleKeys.INSET_RIGHT_VALUE, value.value);
1116
+ break;
1117
+ }
1118
+ break;
1119
+ }
1120
+ this.setOrAppendState(StateKeys.INSET);
1121
+ }
1122
+ get top() {
1123
+ const type = getInt32(this.style_view, StyleKeys.INSET_TOP_TYPE);
1124
+ const value = getFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE);
1125
+ return parseLengthPercentageAuto(type, value);
1126
+ }
1127
+ set top(value) {
1128
+ if (value === 'auto') {
1129
+ setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 0);
1130
+ setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, 0);
1131
+ return;
1132
+ }
1133
+ switch (typeof value) {
1134
+ case 'number':
1135
+ setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 1);
1136
+ setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, layout.toDevicePixels(value));
1137
+ break;
1138
+ case 'object':
1139
+ switch (value.unit) {
1140
+ case 'dip':
1141
+ setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 1);
1142
+ setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, layout.toDevicePixels(value.value));
1143
+ break;
1144
+ case 'px':
1145
+ setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 1);
1146
+ setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, value.value);
1147
+ break;
1148
+ case '%':
1149
+ setInt32(this.style_view, StyleKeys.INSET_TOP_TYPE, 2);
1150
+ setFloat32(this.style_view, StyleKeys.INSET_TOP_VALUE, value.value);
1151
+ break;
1152
+ }
1153
+ break;
1154
+ }
1155
+ this.setOrAppendState(StateKeys.INSET);
1156
+ }
1157
+ get bottom() {
1158
+ const type = getInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE);
1159
+ const value = getFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE);
1160
+ return parseLengthPercentageAuto(type, value);
1161
+ }
1162
+ set bottom(value) {
1163
+ if (value === 'auto') {
1164
+ setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 0);
1165
+ setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, 0);
1166
+ return;
1167
+ }
1168
+ switch (typeof value) {
1169
+ case 'number':
1170
+ setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 1);
1171
+ setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, layout.toDevicePixels(value));
1172
+ break;
1173
+ case 'object':
1174
+ switch (value.unit) {
1175
+ case 'dip':
1176
+ setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 1);
1177
+ setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, layout.toDevicePixels(value.value));
1178
+ break;
1179
+ case 'px':
1180
+ setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 1);
1181
+ setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, value.value);
1182
+ break;
1183
+ case '%':
1184
+ setInt32(this.style_view, StyleKeys.INSET_BOTTOM_TYPE, 2);
1185
+ setFloat32(this.style_view, StyleKeys.INSET_BOTTOM_VALUE, value.value);
1186
+ break;
1187
+ }
1188
+ break;
1189
+ }
1190
+ this.setOrAppendState(StateKeys.INSET);
1191
+ }
1192
+ get marginLeft() {
1193
+ const type = getInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE);
1194
+ const value = getFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE);
1195
+ return parseLengthPercentageAuto(type, value);
1196
+ }
1197
+ set marginLeft(value) {
1198
+ switch (typeof value) {
1199
+ case 'string':
1200
+ setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 0);
1201
+ break;
1202
+ case 'number':
1203
+ setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 1);
1204
+ setFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE, layout.toDevicePixels(value));
1205
+ break;
1206
+ case 'object':
1207
+ switch (value.unit) {
1208
+ case 'dip':
1209
+ setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 1);
1210
+ setFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE, layout.toDevicePixels(value.value));
1211
+ break;
1212
+ case 'px':
1213
+ setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 1);
1214
+ setFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE, value.value);
1215
+ break;
1216
+ case '%':
1217
+ setInt32(this.style_view, StyleKeys.MARGIN_LEFT_TYPE, 2);
1218
+ setFloat32(this.style_view, StyleKeys.MARGIN_LEFT_VALUE, value.value);
1219
+ break;
1220
+ }
1221
+ break;
1222
+ }
1223
+ this.setOrAppendState(StateKeys.MARGIN);
1224
+ }
1225
+ get marginRight() {
1226
+ const type = getInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE);
1227
+ const value = getFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE);
1228
+ return parseLengthPercentageAuto(type, value);
1229
+ }
1230
+ set marginRight(value) {
1231
+ switch (typeof value) {
1232
+ case 'string':
1233
+ setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 0);
1234
+ break;
1235
+ case 'number':
1236
+ setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 1);
1237
+ setFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE, layout.toDevicePixels(value));
1238
+ break;
1239
+ case 'object':
1240
+ switch (value.unit) {
1241
+ case 'dip':
1242
+ setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 1);
1243
+ setFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE, layout.toDevicePixels(value.value));
1244
+ break;
1245
+ case 'px':
1246
+ setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 1);
1247
+ setFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE, value.value);
1248
+ break;
1249
+ case '%':
1250
+ setInt32(this.style_view, StyleKeys.MARGIN_RIGHT_TYPE, 2);
1251
+ setFloat32(this.style_view, StyleKeys.MARGIN_RIGHT_VALUE, value.value);
1252
+ break;
1253
+ }
1254
+ break;
1255
+ }
1256
+ this.setOrAppendState(StateKeys.MARGIN);
1257
+ }
1258
+ get marginTop() {
1259
+ const type = getInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE);
1260
+ const value = getFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE);
1261
+ return parseLengthPercentageAuto(type, value);
1262
+ }
1263
+ set marginTop(value) {
1264
+ switch (typeof value) {
1265
+ case 'string':
1266
+ setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 0);
1267
+ break;
1268
+ case 'number':
1269
+ setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 1);
1270
+ setFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE, layout.toDevicePixels(value));
1271
+ break;
1272
+ case 'object':
1273
+ switch (value.unit) {
1274
+ case 'dip':
1275
+ setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 1);
1276
+ setFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE, layout.toDevicePixels(value.value));
1277
+ break;
1278
+ case 'px':
1279
+ setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 1);
1280
+ setFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE, value.value);
1281
+ break;
1282
+ case '%':
1283
+ setInt32(this.style_view, StyleKeys.MARGIN_TOP_TYPE, 2);
1284
+ setFloat32(this.style_view, StyleKeys.MARGIN_TOP_VALUE, value.value);
1285
+ break;
1286
+ }
1287
+ break;
1288
+ }
1289
+ this.setOrAppendState(StateKeys.MARGIN);
1290
+ }
1291
+ get marginBottom() {
1292
+ const type = getInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE);
1293
+ const value = getFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE);
1294
+ return parseLengthPercentageAuto(type, value);
1295
+ }
1296
+ set marginBottom(value) {
1297
+ switch (typeof value) {
1298
+ case 'string':
1299
+ setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 0);
1300
+ break;
1301
+ case 'number':
1302
+ setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 1);
1303
+ setFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE, layout.toDevicePixels(value));
1304
+ break;
1305
+ case 'object':
1306
+ switch (value.unit) {
1307
+ case 'dip':
1308
+ setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 1);
1309
+ setFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE, layout.toDevicePixels(value.value));
1310
+ break;
1311
+ case 'px':
1312
+ setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 1);
1313
+ setFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE, value.value);
1314
+ break;
1315
+ case '%':
1316
+ setInt32(this.style_view, StyleKeys.MARGIN_BOTTOM_TYPE, 2);
1317
+ setFloat32(this.style_view, StyleKeys.MARGIN_BOTTOM_VALUE, value.value);
1318
+ break;
1319
+ }
1320
+ break;
1321
+ }
1322
+ this.setOrAppendState(StateKeys.MARGIN);
1323
+ }
1324
+ set padding(value) {
1325
+ this.inBatch = true;
1326
+ this.paddingBottom = this.paddingLeft = this.paddingRight = this.paddingTop = value;
1327
+ this.inBatch = false;
1328
+ this.setOrAppendState(StateKeys.PADDING);
1329
+ }
1330
+ get paddingLeft() {
1331
+ const type = getInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE);
1332
+ const value = getFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE);
1333
+ return parseLengthPercentage(type, value);
1334
+ }
1335
+ set paddingLeft(value) {
1336
+ switch (typeof value) {
1337
+ case 'number':
1338
+ setInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE, 0);
1339
+ setFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE, layout.toDevicePixels(value));
1340
+ break;
1341
+ case 'object':
1342
+ switch (value.unit) {
1343
+ case 'dip':
1344
+ setInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE, 0);
1345
+ setFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE, layout.toDevicePixels(value.value));
1346
+ break;
1347
+ case 'px':
1348
+ setInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE, 0);
1349
+ setFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE, value.value);
1350
+ break;
1351
+ case '%':
1352
+ setInt32(this.style_view, StyleKeys.PADDING_LEFT_TYPE, 1);
1353
+ setFloat32(this.style_view, StyleKeys.PADDING_LEFT_VALUE, value.value);
1354
+ break;
1355
+ }
1356
+ break;
1357
+ }
1358
+ this.setOrAppendState(StateKeys.PADDING);
1359
+ }
1360
+ get paddingRight() {
1361
+ const type = getInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE);
1362
+ const value = getFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE);
1363
+ return parseLengthPercentage(type, value);
1364
+ }
1365
+ set paddingRight(value) {
1366
+ switch (typeof value) {
1367
+ case 'number':
1368
+ setInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE, 0);
1369
+ setFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE, layout.toDevicePixels(value));
1370
+ break;
1371
+ case 'object':
1372
+ switch (value.unit) {
1373
+ case 'dip':
1374
+ setInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE, 0);
1375
+ setFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE, layout.toDevicePixels(value.value));
1376
+ break;
1377
+ case 'px':
1378
+ setInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE, 0);
1379
+ setFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE, value.value);
1380
+ break;
1381
+ case '%':
1382
+ setInt32(this.style_view, StyleKeys.PADDING_RIGHT_TYPE, 1);
1383
+ setFloat32(this.style_view, StyleKeys.PADDING_RIGHT_VALUE, value.value);
1384
+ break;
1385
+ }
1386
+ break;
1387
+ }
1388
+ this.setOrAppendState(StateKeys.PADDING);
1389
+ }
1390
+ get paddingTop() {
1391
+ const type = getInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE);
1392
+ const value = getFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE);
1393
+ return parseLengthPercentage(type, value);
1394
+ }
1395
+ set paddingTop(value) {
1396
+ switch (typeof value) {
1397
+ case 'number':
1398
+ setInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE, 0);
1399
+ setFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE, layout.toDevicePixels(value));
1400
+ break;
1401
+ case 'object':
1402
+ switch (value.unit) {
1403
+ case 'dip':
1404
+ setInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE, 0);
1405
+ setFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE, layout.toDevicePixels(value.value));
1406
+ break;
1407
+ case 'px':
1408
+ setInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE, 0);
1409
+ setFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE, value.value);
1410
+ break;
1411
+ case '%':
1412
+ setInt32(this.style_view, StyleKeys.PADDING_TOP_TYPE, 1);
1413
+ setFloat32(this.style_view, StyleKeys.PADDING_TOP_VALUE, value.value);
1414
+ break;
1415
+ }
1416
+ break;
1417
+ }
1418
+ this.setOrAppendState(StateKeys.PADDING);
1419
+ }
1420
+ get paddingBottom() {
1421
+ const type = getInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE);
1422
+ const value = getFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE);
1423
+ return parseLengthPercentage(type, value);
1424
+ }
1425
+ set paddingBottom(value) {
1426
+ switch (typeof value) {
1427
+ case 'number':
1428
+ setInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE, 0);
1429
+ setFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE, layout.toDevicePixels(value));
1430
+ break;
1431
+ case 'object':
1432
+ switch (value.unit) {
1433
+ case 'dip':
1434
+ setInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE, 0);
1435
+ setFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE, layout.toDevicePixels(value.value));
1436
+ break;
1437
+ case 'px':
1438
+ setInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE, 0);
1439
+ setFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE, value.value);
1440
+ break;
1441
+ case '%':
1442
+ setInt32(this.style_view, StyleKeys.PADDING_BOTTOM_TYPE, 1);
1443
+ setFloat32(this.style_view, StyleKeys.PADDING_BOTTOM_VALUE, value.value);
1444
+ break;
1445
+ }
1446
+ break;
1447
+ }
1448
+ this.setOrAppendState(StateKeys.PADDING);
1449
+ }
1450
+ get gridGap() {
1451
+ return this.gap;
1452
+ }
1453
+ set gridGap(value) {
1454
+ this.gap = value;
1455
+ }
1456
+ get gap() {
1457
+ if (CoreLength.equals(this.rowGap, this.columnGap)) {
1458
+ return `${CoreLength.convertToString(this.rowGap)}`;
1459
+ }
1460
+ return `${CoreLength.convertToString(this.rowGap)} ${CoreLength.convertToString(this.columnGap)}`;
1461
+ }
1462
+ set gap(value) {
1463
+ if (typeof value === 'string') {
1464
+ const values = value.split(/\s+/).filter((item) => item.trim().length !== 0);
1465
+ const length = values.length;
1466
+ if (length === 0) {
1467
+ return;
1468
+ }
1469
+ if (length === 1) {
1470
+ const row = values[0];
1471
+ this.rowGap = CoreLength.parse(row);
1472
+ this.columnGap = CoreLength.parse(row);
1473
+ }
1474
+ if (length > 1) {
1475
+ const row = values[0];
1476
+ const column = values[1];
1477
+ this.rowGap = CoreLength.parse(row);
1478
+ this.columnGap = CoreLength.parse(column);
1479
+ }
1480
+ }
1481
+ }
1482
+ get rowGap() {
1483
+ const type = getInt32(this.style_view, StyleKeys.GAP_ROW_TYPE);
1484
+ const value = getFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE);
1485
+ return parseLengthPercentage(type, value);
1486
+ }
1487
+ set rowGap(value) {
1488
+ switch (typeof value) {
1489
+ case 'number':
1490
+ setInt32(this.style_view, StyleKeys.GAP_ROW_TYPE, 0);
1491
+ setFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE, layout.toDevicePixels(value));
1492
+ break;
1493
+ case 'object':
1494
+ switch (value.unit) {
1495
+ case 'dip':
1496
+ setInt32(this.style_view, StyleKeys.GAP_ROW_TYPE, 0);
1497
+ setFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE, layout.toDevicePixels(value.value));
1498
+ break;
1499
+ case 'px':
1500
+ setInt32(this.style_view, StyleKeys.GAP_ROW_TYPE, 0);
1501
+ setFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE, value.value);
1502
+ break;
1503
+ case '%':
1504
+ setInt32(this.style_view, StyleKeys.GAP_ROW_TYPE, 1);
1505
+ setFloat32(this.style_view, StyleKeys.GAP_ROW_VALUE, value.value);
1506
+ break;
1507
+ }
1508
+ break;
1509
+ }
1510
+ this.setOrAppendState(StateKeys.GAP);
1511
+ }
1512
+ get columnGap() {
1513
+ const type = getInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE);
1514
+ const value = getFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE);
1515
+ return parseLengthPercentage(type, value);
1516
+ }
1517
+ set columnGap(value) {
1518
+ switch (typeof value) {
1519
+ case 'number':
1520
+ setInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE, 0);
1521
+ setFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE, layout.toDevicePixels(value));
1522
+ break;
1523
+ case 'object':
1524
+ switch (value.unit) {
1525
+ case 'dip':
1526
+ setInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE, 0);
1527
+ setFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE, layout.toDevicePixels(value.value));
1528
+ break;
1529
+ case 'px':
1530
+ setInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE, 0);
1531
+ setFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE, value.value);
1532
+ break;
1533
+ case '%':
1534
+ setInt32(this.style_view, StyleKeys.GAP_COLUMN_TYPE, 1);
1535
+ setFloat32(this.style_view, StyleKeys.GAP_COLUMN_VALUE, value.value);
1536
+ break;
1537
+ }
1538
+ break;
1539
+ }
1540
+ this.setOrAppendState(StateKeys.GAP);
1541
+ }
1542
+ get aspectRatio() {
1543
+ return getFloat32(this.style_view, StyleKeys.ASPECT_RATIO);
1544
+ }
1545
+ set aspectRatio(value) {
1546
+ setFloat32(this.style_view, StyleKeys.ASPECT_RATIO, value);
1547
+ this.setOrAppendState(StateKeys.ASPECT_RATIO);
1548
+ }
1549
+ get flexBasis() {
1550
+ const type = getInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE);
1551
+ const value = getFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE);
1552
+ return parseLengthPercentageAuto(type, value);
1553
+ }
1554
+ set flexBasis(value) {
1555
+ switch (typeof value) {
1556
+ case 'string':
1557
+ setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 0);
1558
+ break;
1559
+ case 'number':
1560
+ setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 1);
1561
+ setFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE, layout.toDevicePixels(value));
1562
+ break;
1563
+ case 'object':
1564
+ switch (value.unit) {
1565
+ case 'dip':
1566
+ setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 1);
1567
+ setFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE, layout.toDevicePixels(value.value));
1568
+ break;
1569
+ case 'px':
1570
+ setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 1);
1571
+ setFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE, value.value);
1572
+ break;
1573
+ case '%':
1574
+ setInt32(this.style_view, StyleKeys.FLEX_BASIS_TYPE, 2);
1575
+ setFloat32(this.style_view, StyleKeys.FLEX_BASIS_VALUE, value.value);
1576
+ break;
1577
+ }
1578
+ break;
1579
+ }
1580
+ this.setOrAppendState(StateKeys.FLEX_BASIS);
1581
+ }
1582
+ get alignItems() {
1583
+ switch (getInt32(this.style_view, StyleKeys.ALIGN_ITEMS)) {
1584
+ case -1 /* AlignItems.Normal */:
1585
+ return 'normal';
1586
+ case 0 /* AlignItems.Start */:
1587
+ return 'start';
1588
+ case 1 /* AlignItems.End */:
1589
+ return 'end';
1590
+ case 5 /* AlignItems.FlexStart */:
1591
+ return 'flex-start';
1592
+ case 6 /* AlignItems.FlexEnd */:
1593
+ return 'flex-end';
1594
+ case 2 /* AlignItems.Center */:
1595
+ return 'center';
1596
+ case 3 /* AlignItems.Baseline */:
1597
+ return 'baseline';
1598
+ case 4 /* AlignItems.Stretch */:
1599
+ return 'stretch';
1600
+ }
1601
+ }
1602
+ set alignItems(value) {
1603
+ switch (value) {
1604
+ case 'normal':
1605
+ setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, -1 /* AlignItems.Normal */);
1606
+ break;
1607
+ case 'start':
1608
+ setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 0 /* AlignItems.Start */);
1609
+ break;
1610
+ case 'end':
1611
+ setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 1 /* AlignItems.End */);
1612
+ break;
1613
+ case 'flex-start':
1614
+ setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 5 /* AlignItems.FlexStart */);
1615
+ break;
1616
+ case 'flex-end':
1617
+ setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 6 /* AlignItems.FlexEnd */);
1618
+ break;
1619
+ case 'center':
1620
+ setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 2 /* AlignItems.Center */);
1621
+ break;
1622
+ case 'baseline':
1623
+ setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 3 /* AlignItems.Baseline */);
1624
+ break;
1625
+ case 'stretch':
1626
+ setInt32(this.style_view, StyleKeys.ALIGN_ITEMS, 4 /* AlignItems.Stretch */);
1627
+ break;
1628
+ }
1629
+ this.setOrAppendState(StateKeys.ALIGN_ITEMS);
1630
+ }
1631
+ get alignSelf() {
1632
+ switch (getInt32(this.style_view, StyleKeys.ALIGN_SELF)) {
1633
+ case -1 /* AlignSelf.Normal */:
1634
+ return 'normal';
1635
+ case 0 /* AlignSelf.Start */:
1636
+ return 'start';
1637
+ case 1 /* AlignSelf.End */:
1638
+ return 'end';
1639
+ case 2 /* AlignSelf.Center */:
1640
+ return 'center';
1641
+ case 3 /* AlignSelf.Baseline */:
1642
+ return 'baseline';
1643
+ case 4 /* AlignSelf.Stretch */:
1644
+ return 'stretch';
1645
+ case 5 /* AlignSelf.FlexStart */:
1646
+ return 'flex-start';
1647
+ case 6 /* AlignSelf.FlexEnd */:
1648
+ return 'flex-end';
1649
+ }
1650
+ }
1651
+ set alignSelf(value) {
1652
+ let align = -2;
1653
+ switch (value) {
1654
+ case 'normal':
1655
+ align = -1 /* AlignSelf.Normal */;
1656
+ break;
1657
+ case 'start':
1658
+ align = 0 /* AlignSelf.Start */;
1659
+ break;
1660
+ case 'end':
1661
+ align = 1 /* AlignSelf.End */;
1662
+ break;
1663
+ case 'center':
1664
+ align = 2 /* AlignSelf.Center */;
1665
+ break;
1666
+ case 'baseline':
1667
+ align = 3 /* AlignSelf.Baseline */;
1668
+ break;
1669
+ case 'stretch':
1670
+ align = 4 /* AlignSelf.Stretch */;
1671
+ break;
1672
+ case 'flex-start':
1673
+ align = 5 /* AlignSelf.FlexStart */;
1674
+ break;
1675
+ case 'flex-end':
1676
+ align = 6 /* AlignSelf.FlexEnd */;
1677
+ break;
1678
+ }
1679
+ if (align === -2) {
1680
+ setInt32(this.style_view, StyleKeys.ALIGN_SELF, align);
1681
+ this.setOrAppendState(StateKeys.ALIGN_SELF);
1682
+ }
1683
+ }
1684
+ get alignContent() {
1685
+ switch (getInt32(this.style_view, StyleKeys.ALIGN_CONTENT)) {
1686
+ case -1 /* AlignContent.Normal */:
1687
+ return 'normal';
1688
+ case 5 /* AlignContent.SpaceAround */:
1689
+ return 'space-around';
1690
+ case 4 /* AlignContent.SpaceBetween */:
1691
+ return 'space-between';
1692
+ case 6 /* AlignContent.SpaceEvenly */:
1693
+ return 'space-evenly';
1694
+ case 2 /* AlignContent.Center */:
1695
+ return 'center';
1696
+ case 1 /* AlignContent.End */:
1697
+ return 'end';
1698
+ case 0 /* AlignContent.Start */:
1699
+ return 'start';
1700
+ case 3 /* AlignContent.Stretch */:
1701
+ return 'stretch';
1702
+ }
1703
+ }
1704
+ set alignContent(value) {
1705
+ switch (value) {
1706
+ case 'normal':
1707
+ setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, -1 /* AlignContent.Normal */);
1708
+ break;
1709
+ case 'space-around':
1710
+ setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 5 /* AlignContent.SpaceAround */);
1711
+ break;
1712
+ case 'space-between':
1713
+ setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 4 /* AlignContent.SpaceBetween */);
1714
+ break;
1715
+ case 'space-evenly':
1716
+ setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 6 /* AlignContent.SpaceEvenly */);
1717
+ break;
1718
+ case 'center':
1719
+ setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 2 /* AlignContent.Center */);
1720
+ break;
1721
+ case 'end':
1722
+ setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 1 /* AlignContent.End */);
1723
+ break;
1724
+ case 'start':
1725
+ setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 0 /* AlignContent.Start */);
1726
+ break;
1727
+ case 'stretch':
1728
+ setInt32(this.style_view, StyleKeys.ALIGN_CONTENT, 3 /* AlignContent.Stretch */);
1729
+ break;
1730
+ }
1731
+ this.setOrAppendState(StateKeys.ALIGN_CONTENT);
1732
+ }
1733
+ get justifyItems() {
1734
+ switch (getInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS)) {
1735
+ case -1 /* JustifyItems.Normal */:
1736
+ return 'normal';
1737
+ case 0 /* JustifyItems.Start */:
1738
+ return 'start';
1739
+ case 1 /* JustifyItems.End */:
1740
+ return 'end';
1741
+ case 2 /* JustifyItems.Center */:
1742
+ return 'center';
1743
+ case 3 /* JustifyItems.Baseline */:
1744
+ return 'baseline';
1745
+ case 4 /* JustifyItems.Stretch */:
1746
+ return 'stretch';
1747
+ case 5 /* JustifyItems.FlexStart */:
1748
+ return 'flex-start';
1749
+ case 6 /* JustifyItems.FlexEnd */:
1750
+ return 'flex-end';
1751
+ }
1752
+ }
1753
+ set justifyItems(value) {
1754
+ switch (value) {
1755
+ case 'normal':
1756
+ setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, -1 /* JustifyItems.Normal */);
1757
+ break;
1758
+ case 'start':
1759
+ setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 0 /* JustifyItems.Start */);
1760
+ break;
1761
+ case 'end':
1762
+ setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 1 /* JustifyItems.End */);
1763
+ break;
1764
+ case 'center':
1765
+ setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 2 /* JustifyItems.Center */);
1766
+ break;
1767
+ case 'baseline':
1768
+ setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 3 /* JustifyItems.Baseline */);
1769
+ break;
1770
+ case 'stretch':
1771
+ setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 4 /* JustifyItems.Stretch */);
1772
+ break;
1773
+ case 'flex-start':
1774
+ setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 5 /* JustifyItems.FlexStart */);
1775
+ break;
1776
+ case 'flex-end':
1777
+ setInt32(this.style_view, StyleKeys.JUSTIFY_ITEMS, 6 /* JustifyItems.FlexEnd */);
1778
+ break;
1779
+ }
1780
+ this.setOrAppendState(StateKeys.JUSTIFY_ITEMS);
1781
+ }
1782
+ get justifySelf() {
1783
+ switch (getInt32(this.style_view, StyleKeys.JUSTIFY_SELF)) {
1784
+ case -1 /* JustifySelf.Normal */:
1785
+ return 'normal';
1786
+ case 0 /* JustifySelf.Start */:
1787
+ return 'start';
1788
+ case 1 /* JustifySelf.End */:
1789
+ return 'end';
1790
+ case 2 /* JustifySelf.Center */:
1791
+ return 'center';
1792
+ case 3 /* JustifySelf.Baseline */:
1793
+ return 'baseline';
1794
+ case 4 /* JustifySelf.Stretch */:
1795
+ return 'stretch';
1796
+ case 5 /* JustifySelf.FlexStart */:
1797
+ return 'flex-start';
1798
+ case 6 /* JustifySelf.FlexEnd */:
1799
+ return 'flex-end';
1800
+ }
1801
+ }
1802
+ set justifySelf(value) {
1803
+ switch (value) {
1804
+ case 'normal':
1805
+ setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, -1 /* JustifySelf.Normal */);
1806
+ break;
1807
+ case 'start':
1808
+ setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 0 /* JustifySelf.Start */);
1809
+ break;
1810
+ case 'end':
1811
+ setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 1 /* JustifySelf.End */);
1812
+ break;
1813
+ case 'center':
1814
+ setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 2 /* JustifySelf.Center */);
1815
+ break;
1816
+ case 'baseline':
1817
+ setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 3 /* JustifySelf.Baseline */);
1818
+ break;
1819
+ case 'stretch':
1820
+ setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 4 /* JustifySelf.Stretch */);
1821
+ break;
1822
+ case 'flex-start':
1823
+ setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 5 /* JustifySelf.FlexStart */);
1824
+ break;
1825
+ case 'flex-end':
1826
+ setInt32(this.style_view, StyleKeys.JUSTIFY_SELF, 6 /* JustifySelf.FlexEnd */);
1827
+ break;
1828
+ }
1829
+ this.setOrAppendState(StateKeys.JUSTIFY_SELF);
1830
+ }
1831
+ get justifyContent() {
1832
+ switch (getInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT)) {
1833
+ case -1 /* JustifyContent.Normal */:
1834
+ return 'normal';
1835
+ case 0 /* JustifyContent.Start */:
1836
+ return 'start';
1837
+ case 1 /* JustifyContent.End */:
1838
+ return 'end';
1839
+ case 2 /* JustifyContent.Center */:
1840
+ return 'center';
1841
+ case 3 /* JustifyContent.Stretch */:
1842
+ return 'stretch';
1843
+ case 4 /* JustifyContent.SpaceBetween */:
1844
+ return 'space-between';
1845
+ case 5 /* JustifyContent.SpaceAround */:
1846
+ return 'space-around';
1847
+ case 6 /* JustifyContent.SpaceEvenly */:
1848
+ return 'space-evenly';
1849
+ case 7 /* JustifyContent.FlexStart */:
1850
+ return 'flex-start';
1851
+ case 8 /* JustifyContent.FlexEnd */:
1852
+ return 'flex-end';
1853
+ }
1854
+ }
1855
+ set justifyContent(value) {
1856
+ switch (value) {
1857
+ case 'normal':
1858
+ setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, -1 /* JustifyContent.Normal */);
1859
+ break;
1860
+ case 'space-around':
1861
+ setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 5 /* JustifyContent.SpaceAround */);
1862
+ break;
1863
+ case 'space-between':
1864
+ setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 4 /* JustifyContent.SpaceBetween */);
1865
+ break;
1866
+ case 'space-evenly':
1867
+ setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 6 /* JustifyContent.SpaceEvenly */);
1868
+ break;
1869
+ case 'center':
1870
+ setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 2 /* JustifyContent.Center */);
1871
+ break;
1872
+ case 'end':
1873
+ setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 1 /* JustifyContent.End */);
1874
+ break;
1875
+ case 'start':
1876
+ setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 0 /* JustifyContent.Start */);
1877
+ break;
1878
+ case 'stretch':
1879
+ setInt32(this.style_view, StyleKeys.JUSTIFY_CONTENT, 3 /* JustifyContent.Stretch */);
1880
+ break;
1881
+ }
1882
+ this.setOrAppendState(StateKeys.JUSTIFY_CONTENT);
1883
+ }
1884
+ get gridAutoRows() {
1885
+ if (!this.nativeView) {
1886
+ return '';
1887
+ }
1888
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridAutoRows(this.nativeView);
1889
+ }
1890
+ set gridAutoRows(value) {
1891
+ if (!this.nativeView) {
1892
+ return;
1893
+ }
1894
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridAutoRows(this.nativeView, value);
1895
+ }
1896
+ get gridAutoColumns() {
1897
+ if (!this.nativeView) {
1898
+ return '';
1899
+ }
1900
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridAutoColumns(this.nativeView);
1901
+ }
1902
+ set gridAutoColumns(value) {
1903
+ if (!this.nativeView) {
1904
+ return;
1905
+ }
1906
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridAutoColumns(this.nativeView, value);
1907
+ }
1908
+ get gridAutoFlow() {
1909
+ switch (getInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW)) {
1910
+ case 0:
1911
+ return 'row';
1912
+ case 1:
1913
+ return 'column';
1914
+ case 2:
1915
+ return 'row dense';
1916
+ case 3:
1917
+ return 'column dense';
1918
+ }
1919
+ }
1920
+ set gridAutoFlow(value) {
1921
+ switch (value) {
1922
+ case 'row':
1923
+ setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 0);
1924
+ break;
1925
+ case 'column':
1926
+ setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 1);
1927
+ break;
1928
+ case 'row dense':
1929
+ setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 2);
1930
+ break;
1931
+ case 'column dense':
1932
+ setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 3);
1933
+ break;
1934
+ }
1935
+ this.setOrAppendState(StateKeys.GRID_AUTO_FLOW);
1936
+ }
1937
+ get gridRowGap() {
1938
+ return this.rowGap;
1939
+ }
1940
+ set gridRowGap(value) {
1941
+ this.rowGap = value;
1942
+ }
1943
+ get gridColumnGap() {
1944
+ return this.columnGap;
1945
+ }
1946
+ set gridColumnGap(value) {
1947
+ this.columnGap = value;
1948
+ }
1949
+ set gridColumn(value) {
1950
+ if (!this.nativeView) {
1951
+ return;
1952
+ }
1953
+ if (__ANDROID__) {
1954
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridColumn(this.nativeView, value);
1955
+ }
1956
+ }
1957
+ get gridColumn() {
1958
+ if (!this.nativeView) {
1959
+ return '';
1960
+ }
1961
+ if (__ANDROID__) {
1962
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridColumn(this.nativeView);
1963
+ }
1964
+ return '';
1965
+ }
1966
+ get gridColumnStart() {
1967
+ if (!this.nativeView) {
1968
+ return '';
1969
+ }
1970
+ if (__ANDROID__) {
1971
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridColumnStart(this.nativeView);
1972
+ }
1973
+ return '';
1974
+ }
1975
+ set gridColumnStart(value) {
1976
+ if (!this.nativeView) {
1977
+ return;
1978
+ }
1979
+ if (__ANDROID__) {
1980
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridColumnStart(this.nativeView, value);
1981
+ }
1982
+ }
1983
+ get gridColumnEnd() {
1984
+ if (!this.nativeView) {
1985
+ return '';
1986
+ }
1987
+ if (__ANDROID__) {
1988
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridColumnEnd(this.nativeView);
1989
+ }
1990
+ return '';
1991
+ }
1992
+ set gridColumnEnd(value) {
1993
+ if (!this.nativeView) {
1994
+ return;
1995
+ }
1996
+ if (__ANDROID__) {
1997
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridColumnEnd(this.nativeView, value);
1998
+ }
1999
+ }
2000
+ set gridRow(value) {
2001
+ if (!this.nativeView) {
2002
+ return;
2003
+ }
2004
+ if (__ANDROID__) {
2005
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridRow(this.nativeView, value);
2006
+ }
2007
+ }
2008
+ get gridRow() {
2009
+ if (!this.nativeView) {
2010
+ return '';
2011
+ }
2012
+ if (__ANDROID__) {
2013
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridRow(this.nativeView);
2014
+ }
2015
+ return '';
2016
+ }
2017
+ get gridRowStart() {
2018
+ if (!this.nativeView) {
2019
+ return '';
2020
+ }
2021
+ if (__ANDROID__) {
2022
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridRowStart(this.nativeView);
2023
+ }
2024
+ return '';
2025
+ }
2026
+ set gridRowStart(value) {
2027
+ if (!this.nativeView) {
2028
+ return;
2029
+ }
2030
+ if (__ANDROID__) {
2031
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridRowStart(this.nativeView, value);
2032
+ }
2033
+ }
2034
+ get gridRowEnd() {
2035
+ if (!this.nativeView) {
2036
+ return '';
2037
+ }
2038
+ if (__ANDROID__) {
2039
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridRowEnd(this.nativeView);
2040
+ }
2041
+ return '';
2042
+ }
2043
+ set gridRowEnd(value) {
2044
+ if (!this.nativeView) {
2045
+ return;
2046
+ }
2047
+ if (__ANDROID__) {
2048
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridRowEnd(this.nativeView, value);
2049
+ }
2050
+ }
2051
+ set gridArea(value) {
2052
+ if (!this.nativeView) {
2053
+ return;
2054
+ }
2055
+ if (__ANDROID__) {
2056
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridArea(this.nativeView, value);
2057
+ }
2058
+ }
2059
+ get gridArea() {
2060
+ if (!this.nativeView) {
2061
+ return '';
2062
+ }
2063
+ if (__ANDROID__) {
2064
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridArea(this.nativeView);
2065
+ }
2066
+ return '';
2067
+ }
2068
+ set gridTemplateRows(value) {
2069
+ if (!this.nativeView) {
2070
+ return;
2071
+ }
2072
+ if (__ANDROID__) {
2073
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridTemplateRows(this.nativeView, value);
2074
+ }
2075
+ }
2076
+ get gridTemplateRows() {
2077
+ if (!this.nativeView) {
2078
+ return '';
2079
+ }
2080
+ if (__ANDROID__) {
2081
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridTemplateRows(this.nativeView);
2082
+ }
2083
+ return '';
2084
+ }
2085
+ get gridTemplateColumns() {
2086
+ if (!this.nativeView) {
2087
+ return '';
2088
+ }
2089
+ if (__ANDROID__) {
2090
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridTemplateColumns(this.nativeView);
2091
+ }
2092
+ return '';
2093
+ }
2094
+ set gridTemplateColumns(value) {
2095
+ if (!this.nativeView) {
2096
+ return;
2097
+ }
2098
+ if (__ANDROID__) {
2099
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridTemplateColumns(this.nativeView, value);
2100
+ }
2101
+ }
2102
+ get gridTemplateAreas() {
2103
+ if (!this.nativeView) {
2104
+ return '';
2105
+ }
2106
+ if (__ANDROID__) {
2107
+ return org.nativescript.mason.masonkit.NodeHelper.getShared().getGridTemplateAreas(this.nativeView);
2108
+ }
2109
+ return '';
2110
+ }
2111
+ set gridTemplateAreas(value) {
2112
+ if (!this.nativeView) {
2113
+ return;
2114
+ }
2115
+ if (__ANDROID__) {
2116
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridTemplateAreas(this.nativeView, value);
2117
+ }
2118
+ }
2119
+ get overflow() {
2120
+ const x = this.overflowX;
2121
+ const y = this.overflowY;
2122
+ if (x === y) {
2123
+ return x;
2124
+ }
2125
+ return `${x} ${y}`;
2126
+ }
2127
+ set overflow(value) {
2128
+ switch (value) {
2129
+ case 'visible':
2130
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 0);
2131
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 0);
2132
+ break;
2133
+ case 'hidden':
2134
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 1);
2135
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 1);
2136
+ break;
2137
+ case 'scroll':
2138
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 2);
2139
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 2);
2140
+ break;
2141
+ default:
2142
+ {
2143
+ const values = value.split(' ');
2144
+ switch (values[0]) {
2145
+ case 'visible':
2146
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 0);
2147
+ break;
2148
+ case 'hidden':
2149
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 1);
2150
+ break;
2151
+ case 'scroll':
2152
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 2);
2153
+ break;
2154
+ case 'clip':
2155
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 3);
2156
+ break;
2157
+ case 'auto':
2158
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 4);
2159
+ break;
2160
+ }
2161
+ switch (values[1]) {
2162
+ case 'visible':
2163
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 0);
2164
+ break;
2165
+ case 'hidden':
2166
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 1);
2167
+ break;
2168
+ case 'scroll':
2169
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 2);
2170
+ break;
2171
+ case 'clip':
2172
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 3);
2173
+ break;
2174
+ case 'auto':
2175
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 4);
2176
+ break;
2177
+ }
2178
+ }
2179
+ break;
2180
+ }
2181
+ this.setOrAppendState(StateKeys.OVERFLOW);
2182
+ }
2183
+ get overflowX() {
2184
+ switch (getInt32(this.style_view, StyleKeys.OVERFLOW_X)) {
2185
+ case 0:
2186
+ return 'visible';
2187
+ case 1:
2188
+ return 'hidden';
2189
+ case 2:
2190
+ return 'scroll';
2191
+ }
2192
+ }
2193
+ set overflowX(value) {
2194
+ let dirty = false;
2195
+ switch (value) {
2196
+ case 'visible':
2197
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 0);
2198
+ dirty = true;
2199
+ break;
2200
+ case 'hidden':
2201
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 1);
2202
+ dirty = true;
2203
+ break;
2204
+ case 'scroll':
2205
+ dirty = true;
2206
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 2);
2207
+ break;
2208
+ case 'clip':
2209
+ dirty = true;
2210
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 3);
2211
+ break;
2212
+ case 'auto':
2213
+ dirty = true;
2214
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 4);
2215
+ break;
2216
+ }
2217
+ if (dirty) {
2218
+ this.setOrAppendState(StateKeys.OVERFLOW_X);
2219
+ }
2220
+ }
2221
+ get overflowY() {
2222
+ switch (getInt32(this.style_view, StyleKeys.OVERFLOW_Y)) {
2223
+ case 0:
2224
+ return 'visible';
2225
+ case 1:
2226
+ return 'hidden';
2227
+ case 2:
2228
+ return 'scroll';
2229
+ case 3:
2230
+ return 'clip';
2231
+ case 4:
2232
+ return 'auto';
2233
+ }
2234
+ }
2235
+ set overflowY(value) {
2236
+ let dirty = false;
2237
+ switch (value) {
2238
+ case 'visible':
2239
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 0);
2240
+ dirty = true;
2241
+ break;
2242
+ case 'hidden':
2243
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 1);
2244
+ dirty = true;
2245
+ break;
2246
+ case 'scroll':
2247
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 2);
2248
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setOverflowX(this.nativeView, org.nativescript.mason.masonkit.enums.Overflow.Scroll);
2249
+ dirty = true;
2250
+ break;
2251
+ case 'clip':
2252
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 3);
2253
+ dirty = true;
2254
+ break;
2255
+ case 'auto':
2256
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 4);
2257
+ dirty = true;
2258
+ break;
2259
+ }
2260
+ if (dirty) {
2261
+ this.setOrAppendState(StateKeys.OVERFLOW_Y);
2262
+ }
2263
+ }
2264
+ get flexGrow() {
2265
+ return getFloat32(this.style_view, StyleKeys.FLEX_GROW);
2266
+ }
2267
+ set flexGrow(value) {
2268
+ setFloat32(this.style_view, StyleKeys.FLEX_GROW, value);
2269
+ this.setOrAppendState(StateKeys.FLEX_GROW);
2270
+ }
2271
+ get flexShrink() {
2272
+ return getFloat32(this.style_view, StyleKeys.FLEX_SHRINK);
2273
+ }
2274
+ set flexShrink(value) {
2275
+ setFloat32(this.style_view, StyleKeys.FLEX_SHRINK, value);
2276
+ this.setOrAppendState(StateKeys.FLEX_SHRINK);
2277
+ }
2278
+ get scrollBarWidth() {
2279
+ return getFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH);
2280
+ }
2281
+ set scrollBarWidth(value) {
2282
+ if (typeof value === 'number') {
2283
+ setFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH, value);
2284
+ this.setOrAppendState(StateKeys.SCROLLBAR_WIDTH);
2285
+ }
2286
+ else if (typeof value === 'object') {
2287
+ switch (value.unit) {
2288
+ case 'dip':
2289
+ setFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH, layout.toDevicePixels(value.value));
2290
+ this.setOrAppendState(StateKeys.SCROLLBAR_WIDTH);
2291
+ break;
2292
+ case 'px':
2293
+ setFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH, value.value);
2294
+ this.setOrAppendState(StateKeys.SCROLLBAR_WIDTH);
2295
+ break;
2296
+ }
2297
+ }
2298
+ }
2299
+ get letterSpacing() {
2300
+ return getFloat32(this.text_style_view, TextStyleKeys.LETTER_SPACING);
2301
+ }
2302
+ set letterSpacing(value) {
2303
+ if (typeof value === 'number') {
2304
+ setFloat32(this.text_style_view, TextStyleKeys.LETTER_SPACING, value);
2305
+ setUint8(this.text_style_view, TextStyleKeys.LETTER_SPACING_STATE, 1);
2306
+ this.setOrAppendTextState(TextStateKeys.LETTER_SPACING);
2307
+ }
2308
+ else if (typeof value === 'object') {
2309
+ switch (value.unit) {
2310
+ case 'dip':
2311
+ setFloat32(this.text_style_view, TextStyleKeys.LETTER_SPACING, layout.toDevicePixels(value.value));
2312
+ setUint8(this.text_style_view, TextStyleKeys.LETTER_SPACING_STATE, 1);
2313
+ this.setOrAppendTextState(TextStateKeys.LETTER_SPACING);
2314
+ break;
2315
+ case 'px':
2316
+ setFloat32(this.text_style_view, TextStyleKeys.LETTER_SPACING, value.value);
2317
+ setUint8(this.text_style_view, TextStyleKeys.LETTER_SPACING_STATE, 1);
2318
+ this.setOrAppendTextState(TextStateKeys.LETTER_SPACING);
2319
+ break;
2320
+ }
2321
+ }
2322
+ }
2323
+ get lineHeight() {
2324
+ return getFloat32(this.text_style_view, TextStyleKeys.LINE_HEIGHT);
2325
+ }
2326
+ set lineHeight(value) {
2327
+ if (typeof value === 'number') {
2328
+ setFloat32(this.text_style_view, TextStyleKeys.LINE_HEIGHT, value);
2329
+ setUint8(this.text_style_view, TextStyleKeys.LINE_HEIGHT_STATE, 1);
2330
+ setUint8(this.text_style_view, TextStyleKeys.LINE_HEIGHT_TYPE, 0);
2331
+ this.setOrAppendTextState(TextStateKeys.LINE_HEIGHT);
2332
+ }
2333
+ else if (typeof value === 'object') {
2334
+ switch (value.unit) {
2335
+ case 'dip':
2336
+ setFloat32(this.text_style_view, TextStyleKeys.LETTER_SPACING, layout.toDevicePixels(value.value));
2337
+ setUint8(this.text_style_view, TextStyleKeys.LINE_HEIGHT_STATE, 1);
2338
+ setUint8(this.text_style_view, TextStyleKeys.LINE_HEIGHT_TYPE, 1);
2339
+ this.setOrAppendTextState(TextStateKeys.LETTER_SPACING);
2340
+ break;
2341
+ case 'px':
2342
+ setFloat32(this.text_style_view, TextStyleKeys.LETTER_SPACING, value.value);
2343
+ setUint8(this.text_style_view, TextStyleKeys.LINE_HEIGHT_STATE, 1);
2344
+ setUint8(this.text_style_view, TextStyleKeys.LINE_HEIGHT_TYPE, 1);
2345
+ this.setOrAppendTextState(TextStateKeys.LETTER_SPACING);
2346
+ break;
2347
+ }
2348
+ }
2349
+ }
2350
+ get textOverflow() {
2351
+ if (!this.text_style_view) {
2352
+ // clip ?
2353
+ return 'clip';
2354
+ }
2355
+ const type = getInt32(this.text_style_view, TextStyleKeys.TEXT_OVERFLOW);
2356
+ switch (type) {
2357
+ case 0:
2358
+ return 'clip';
2359
+ case 1:
2360
+ return 'ellipsis';
2361
+ default:
2362
+ }
2363
+ if (__ANDROID__) {
2364
+ // @ts-ignore
2365
+ const overflow = this.view_._view.getTextOverflow();
2366
+ }
2367
+ if (__APPLE__) {
2368
+ // @ts-ignore
2369
+ const overflow = this.view_._view.textOverflow;
2370
+ }
2371
+ return 'clip';
2372
+ }
2373
+ set textOverflow(value) {
2374
+ if (!this.text_style_view) {
2375
+ return;
2376
+ }
2377
+ let flow = -1;
2378
+ switch (value) {
2379
+ case 'clip':
2380
+ flow = 0;
2381
+ break;
2382
+ case 'ellipsis':
2383
+ flow = 1;
2384
+ break;
2385
+ default:
2386
+ {
2387
+ if (__ANDROID__) {
2388
+ // @ts-ignore
2389
+ const overflow = this.view_._view.getTextOverflow();
2390
+ }
2391
+ if (__APPLE__) {
2392
+ // @ts-ignore
2393
+ const overflow = this.view_._view.textOverflow;
2394
+ }
2395
+ }
2396
+ break;
2397
+ }
2398
+ if (flow !== -1) {
2399
+ setInt32(this.text_style_view, TextStyleKeys.TEXT_OVERFLOW, flow);
2400
+ setInt8(this.text_style_view, TextStyleKeys.TEXT_OVERFLOW_STATE, 1);
2401
+ this.setOrAppendTextState(TextStateKeys.TEXT_OVERFLOW);
2402
+ }
2403
+ }
2404
+ get textAlignment() {
2405
+ if (!this.text_style_view) {
2406
+ // clip ?
2407
+ return 'start';
2408
+ }
2409
+ const type = getInt32(this.text_style_view, TextStyleKeys.TEXT_ALIGN);
2410
+ switch (type) {
2411
+ case 0:
2412
+ // auto
2413
+ return 'start';
2414
+ case 1:
2415
+ return 'left';
2416
+ case 2:
2417
+ return 'right';
2418
+ case 3:
2419
+ return 'center';
2420
+ case 4:
2421
+ return 'justify';
2422
+ case 5:
2423
+ return 'start';
2424
+ case 6:
2425
+ return 'end';
2426
+ default:
2427
+ return 'start';
2428
+ }
2429
+ }
2430
+ set textAlignment(value) {
2431
+ if (!this.text_style_view) {
2432
+ return;
2433
+ }
2434
+ let align = -1;
2435
+ switch (value) {
2436
+ case 'left':
2437
+ align = 1;
2438
+ break;
2439
+ case 'right':
2440
+ align = 2;
2441
+ break;
2442
+ case 'center':
2443
+ align = 3;
2444
+ break;
2445
+ case 'justify':
2446
+ align = 4;
2447
+ break;
2448
+ case 'start':
2449
+ align = 5;
2450
+ break;
2451
+ case 'end':
2452
+ align = 6;
2453
+ break;
2454
+ default:
2455
+ break;
2456
+ }
2457
+ if (align !== -1) {
2458
+ setInt32(this.text_style_view, TextStyleKeys.TEXT_ALIGN, align);
2459
+ setInt8(this.text_style_view, TextStyleKeys.TEXT_ALIGN_STATE, 1);
2460
+ this.setOrAppendTextState(TextStateKeys.TEXT_ALIGN);
2461
+ }
2462
+ }
2463
+ toJSON() {
2464
+ return {
2465
+ display: this.display,
2466
+ position: this.position,
2467
+ flexDirection: this.flexDirection,
2468
+ flexWrap: this.flexWrap,
2469
+ justifyContent: this.justifyContent,
2470
+ alignItems: this.alignItems,
2471
+ alignContent: this.alignContent,
2472
+ alignSelf: this.alignSelf,
2473
+ flexGrow: this.flexGrow,
2474
+ minWidth: this.minWidth,
2475
+ minHeight: this.minHeight,
2476
+ maxWidth: this.maxWidth,
2477
+ maxHeight: this.maxHeight,
2478
+ width: this.width,
2479
+ height: this.height,
2480
+ inset: {
2481
+ left: this.left,
2482
+ right: this.right,
2483
+ top: this.top,
2484
+ bottom: this.bottom,
2485
+ },
2486
+ margin: {
2487
+ left: this.marginLeft,
2488
+ right: this.marginRight,
2489
+ top: this.marginTop,
2490
+ bottom: this.marginBottom,
2491
+ },
2492
+ padding: {
2493
+ left: this.paddingLeft,
2494
+ right: this.paddingRight,
2495
+ top: this.paddingTop,
2496
+ bottom: this.paddingBottom,
2497
+ },
2498
+ border: {
2499
+ left: this.borderLeft,
2500
+ right: this.borderRight,
2501
+ top: this.borderTop,
2502
+ bottom: this.borderBottom,
2503
+ },
2504
+ aspectRatio: this.aspectRatio,
2505
+ flexBasis: this.flexBasis,
2506
+ overflow: this.overflow,
2507
+ flexShrink: this.flexShrink,
2508
+ scrollBarWidth: this.scrollBarWidth,
2509
+ gap: this.gap,
2510
+ gridArea: this.gridArea,
2511
+ gridAutoFlow: this.gridAutoFlow,
2512
+ gridAutoColumns: this.gridAutoColumns,
2513
+ gridAutoRows: this.gridAutoRows,
2514
+ gridColumn: this.gridColumn,
2515
+ gridRow: this.gridRow,
2516
+ gridTemplateRows: this.gridTemplateRows,
2517
+ gridTemplateColumns: this.gridTemplateColumns,
2518
+ };
2519
+ }
2520
+ }
2521
+ //# sourceMappingURL=style.js.map