@triniwiz/nativescript-masonkit 1.0.0-alpha.30 → 1.0.0-alpha.31

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 +138 -0
  2. package/common.js +1750 -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 +13 -0
  19. package/scroll/index.android.js +80 -0
  20. package/scroll/index.android.js.map +1 -0
  21. package/scroll/index.ios.d.ts +16 -0
  22. package/scroll/index.ios.js +154 -0
  23. package/scroll/index.ios.js.map +1 -0
  24. package/style.d.ts +207 -0
  25. package/style.js +2388 -0
  26. package/style.js.map +1 -0
  27. package/text/index.android.d.ts +30 -0
  28. package/text/index.android.js +142 -0
  29. package/text/index.android.js.map +1 -0
  30. package/text/index.ios.d.ts +40 -0
  31. package/text/index.ios.js +294 -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 +72 -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 +594 -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 +13 -0
  46. package/view/index.android.js +81 -0
  47. package/view/index.android.js.map +1 -0
  48. package/view/index.ios.d.ts +17 -0
  49. package/view/index.ios.js +154 -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,2388 @@
1
+ import { layout } from '@nativescript/core/utils';
2
+ import { Length as CoreLength } from '@nativescript/core';
3
+ import { _setGridAutoRows, _setGridAutoColumns, _parseGridLine, _parseGridTemplates, _setGridTemplateColumns, _setGridTemplateRows, _getGridTemplateRows, _getGridTemplateColumns } from './utils';
4
+ var StyleKeys;
5
+ (function (StyleKeys) {
6
+ StyleKeys[StyleKeys["DISPLAY"] = 0] = "DISPLAY";
7
+ StyleKeys[StyleKeys["POSITION"] = 4] = "POSITION";
8
+ StyleKeys[StyleKeys["DIRECTION"] = 8] = "DIRECTION";
9
+ StyleKeys[StyleKeys["FLEX_DIRECTION"] = 12] = "FLEX_DIRECTION";
10
+ StyleKeys[StyleKeys["FLEX_WRAP"] = 16] = "FLEX_WRAP";
11
+ StyleKeys[StyleKeys["OVERFLOW_X"] = 20] = "OVERFLOW_X";
12
+ StyleKeys[StyleKeys["OVERFLOW_Y"] = 24] = "OVERFLOW_Y";
13
+ StyleKeys[StyleKeys["ALIGN_ITEMS"] = 28] = "ALIGN_ITEMS";
14
+ StyleKeys[StyleKeys["ALIGN_SELF"] = 32] = "ALIGN_SELF";
15
+ StyleKeys[StyleKeys["ALIGN_CONTENT"] = 36] = "ALIGN_CONTENT";
16
+ StyleKeys[StyleKeys["JUSTIFY_ITEMS"] = 40] = "JUSTIFY_ITEMS";
17
+ StyleKeys[StyleKeys["JUSTIFY_SELF"] = 44] = "JUSTIFY_SELF";
18
+ StyleKeys[StyleKeys["JUSTIFY_CONTENT"] = 48] = "JUSTIFY_CONTENT";
19
+ StyleKeys[StyleKeys["INSET_LEFT_TYPE"] = 52] = "INSET_LEFT_TYPE";
20
+ StyleKeys[StyleKeys["INSET_LEFT_VALUE"] = 56] = "INSET_LEFT_VALUE";
21
+ StyleKeys[StyleKeys["INSET_RIGHT_TYPE"] = 60] = "INSET_RIGHT_TYPE";
22
+ StyleKeys[StyleKeys["INSET_RIGHT_VALUE"] = 64] = "INSET_RIGHT_VALUE";
23
+ StyleKeys[StyleKeys["INSET_TOP_TYPE"] = 68] = "INSET_TOP_TYPE";
24
+ StyleKeys[StyleKeys["INSET_TOP_VALUE"] = 72] = "INSET_TOP_VALUE";
25
+ StyleKeys[StyleKeys["INSET_BOTTOM_TYPE"] = 76] = "INSET_BOTTOM_TYPE";
26
+ StyleKeys[StyleKeys["INSET_BOTTOM_VALUE"] = 80] = "INSET_BOTTOM_VALUE";
27
+ StyleKeys[StyleKeys["MARGIN_LEFT_TYPE"] = 84] = "MARGIN_LEFT_TYPE";
28
+ StyleKeys[StyleKeys["MARGIN_LEFT_VALUE"] = 88] = "MARGIN_LEFT_VALUE";
29
+ StyleKeys[StyleKeys["MARGIN_RIGHT_TYPE"] = 92] = "MARGIN_RIGHT_TYPE";
30
+ StyleKeys[StyleKeys["MARGIN_RIGHT_VALUE"] = 96] = "MARGIN_RIGHT_VALUE";
31
+ StyleKeys[StyleKeys["MARGIN_TOP_TYPE"] = 100] = "MARGIN_TOP_TYPE";
32
+ StyleKeys[StyleKeys["MARGIN_TOP_VALUE"] = 104] = "MARGIN_TOP_VALUE";
33
+ StyleKeys[StyleKeys["MARGIN_BOTTOM_TYPE"] = 108] = "MARGIN_BOTTOM_TYPE";
34
+ StyleKeys[StyleKeys["MARGIN_BOTTOM_VALUE"] = 112] = "MARGIN_BOTTOM_VALUE";
35
+ StyleKeys[StyleKeys["PADDING_LEFT_TYPE"] = 116] = "PADDING_LEFT_TYPE";
36
+ StyleKeys[StyleKeys["PADDING_LEFT_VALUE"] = 120] = "PADDING_LEFT_VALUE";
37
+ StyleKeys[StyleKeys["PADDING_RIGHT_TYPE"] = 124] = "PADDING_RIGHT_TYPE";
38
+ StyleKeys[StyleKeys["PADDING_RIGHT_VALUE"] = 128] = "PADDING_RIGHT_VALUE";
39
+ StyleKeys[StyleKeys["PADDING_TOP_TYPE"] = 132] = "PADDING_TOP_TYPE";
40
+ StyleKeys[StyleKeys["PADDING_TOP_VALUE"] = 136] = "PADDING_TOP_VALUE";
41
+ StyleKeys[StyleKeys["PADDING_BOTTOM_TYPE"] = 140] = "PADDING_BOTTOM_TYPE";
42
+ StyleKeys[StyleKeys["PADDING_BOTTOM_VALUE"] = 144] = "PADDING_BOTTOM_VALUE";
43
+ StyleKeys[StyleKeys["BORDER_LEFT_TYPE"] = 148] = "BORDER_LEFT_TYPE";
44
+ StyleKeys[StyleKeys["BORDER_LEFT_VALUE"] = 152] = "BORDER_LEFT_VALUE";
45
+ StyleKeys[StyleKeys["BORDER_RIGHT_TYPE"] = 156] = "BORDER_RIGHT_TYPE";
46
+ StyleKeys[StyleKeys["BORDER_RIGHT_VALUE"] = 160] = "BORDER_RIGHT_VALUE";
47
+ StyleKeys[StyleKeys["BORDER_TOP_TYPE"] = 164] = "BORDER_TOP_TYPE";
48
+ StyleKeys[StyleKeys["BORDER_TOP_VALUE"] = 168] = "BORDER_TOP_VALUE";
49
+ StyleKeys[StyleKeys["BORDER_BOTTOM_TYPE"] = 172] = "BORDER_BOTTOM_TYPE";
50
+ StyleKeys[StyleKeys["BORDER_BOTTOM_VALUE"] = 176] = "BORDER_BOTTOM_VALUE";
51
+ StyleKeys[StyleKeys["FLEX_GROW"] = 180] = "FLEX_GROW";
52
+ StyleKeys[StyleKeys["FLEX_SHRINK"] = 184] = "FLEX_SHRINK";
53
+ StyleKeys[StyleKeys["FLEX_BASIS_TYPE"] = 188] = "FLEX_BASIS_TYPE";
54
+ StyleKeys[StyleKeys["FLEX_BASIS_VALUE"] = 192] = "FLEX_BASIS_VALUE";
55
+ StyleKeys[StyleKeys["WIDTH_TYPE"] = 196] = "WIDTH_TYPE";
56
+ StyleKeys[StyleKeys["WIDTH_VALUE"] = 200] = "WIDTH_VALUE";
57
+ StyleKeys[StyleKeys["HEIGHT_TYPE"] = 204] = "HEIGHT_TYPE";
58
+ StyleKeys[StyleKeys["HEIGHT_VALUE"] = 208] = "HEIGHT_VALUE";
59
+ StyleKeys[StyleKeys["MIN_WIDTH_TYPE"] = 212] = "MIN_WIDTH_TYPE";
60
+ StyleKeys[StyleKeys["MIN_WIDTH_VALUE"] = 216] = "MIN_WIDTH_VALUE";
61
+ StyleKeys[StyleKeys["MIN_HEIGHT_TYPE"] = 220] = "MIN_HEIGHT_TYPE";
62
+ StyleKeys[StyleKeys["MIN_HEIGHT_VALUE"] = 224] = "MIN_HEIGHT_VALUE";
63
+ StyleKeys[StyleKeys["MAX_WIDTH_TYPE"] = 228] = "MAX_WIDTH_TYPE";
64
+ StyleKeys[StyleKeys["MAX_WIDTH_VALUE"] = 232] = "MAX_WIDTH_VALUE";
65
+ StyleKeys[StyleKeys["MAX_HEIGHT_TYPE"] = 236] = "MAX_HEIGHT_TYPE";
66
+ StyleKeys[StyleKeys["MAX_HEIGHT_VALUE"] = 240] = "MAX_HEIGHT_VALUE";
67
+ StyleKeys[StyleKeys["GAP_ROW_TYPE"] = 244] = "GAP_ROW_TYPE";
68
+ StyleKeys[StyleKeys["GAP_ROW_VALUE"] = 248] = "GAP_ROW_VALUE";
69
+ StyleKeys[StyleKeys["GAP_COLUMN_TYPE"] = 252] = "GAP_COLUMN_TYPE";
70
+ StyleKeys[StyleKeys["GAP_COLUMN_VALUE"] = 256] = "GAP_COLUMN_VALUE";
71
+ StyleKeys[StyleKeys["ASPECT_RATIO"] = 260] = "ASPECT_RATIO";
72
+ StyleKeys[StyleKeys["GRID_AUTO_FLOW"] = 264] = "GRID_AUTO_FLOW";
73
+ StyleKeys[StyleKeys["GRID_COLUMN_START_TYPE"] = 268] = "GRID_COLUMN_START_TYPE";
74
+ StyleKeys[StyleKeys["GRID_COLUMN_START_VALUE"] = 272] = "GRID_COLUMN_START_VALUE";
75
+ StyleKeys[StyleKeys["GRID_COLUMN_END_TYPE"] = 276] = "GRID_COLUMN_END_TYPE";
76
+ StyleKeys[StyleKeys["GRID_COLUMN_END_VALUE"] = 280] = "GRID_COLUMN_END_VALUE";
77
+ StyleKeys[StyleKeys["GRID_ROW_START_TYPE"] = 284] = "GRID_ROW_START_TYPE";
78
+ StyleKeys[StyleKeys["GRID_ROW_START_VALUE"] = 288] = "GRID_ROW_START_VALUE";
79
+ StyleKeys[StyleKeys["GRID_ROW_END_TYPE"] = 292] = "GRID_ROW_END_TYPE";
80
+ StyleKeys[StyleKeys["GRID_ROW_END_VALUE"] = 296] = "GRID_ROW_END_VALUE";
81
+ StyleKeys[StyleKeys["SCROLLBAR_WIDTH"] = 300] = "SCROLLBAR_WIDTH";
82
+ StyleKeys[StyleKeys["TEXT_ALIGN"] = 304] = "TEXT_ALIGN";
83
+ StyleKeys[StyleKeys["BOX_SIZING"] = 308] = "BOX_SIZING";
84
+ StyleKeys[StyleKeys["OVERFLOW"] = 312] = "OVERFLOW";
85
+ StyleKeys[StyleKeys["ITEM_IS_TABLE"] = 316] = "ITEM_IS_TABLE";
86
+ StyleKeys[StyleKeys["ITEM_IS_REPLACED"] = 320] = "ITEM_IS_REPLACED";
87
+ StyleKeys[StyleKeys["DISPLAY_MODE"] = 324] = "DISPLAY_MODE";
88
+ StyleKeys[StyleKeys["FORCE_INLINE"] = 328] = "FORCE_INLINE";
89
+ StyleKeys[StyleKeys["MIN_CONTENT"] = 332] = "MIN_CONTENT";
90
+ StyleKeys[StyleKeys["MAX_CONTENT"] = 336] = "MAX_CONTENT";
91
+ })(StyleKeys || (StyleKeys = {}));
92
+ var TextStyleKeys;
93
+ (function (TextStyleKeys) {
94
+ TextStyleKeys[TextStyleKeys["COLOR"] = 0] = "COLOR";
95
+ TextStyleKeys[TextStyleKeys["COLOR_STATE"] = 4] = "COLOR_STATE";
96
+ TextStyleKeys[TextStyleKeys["SIZE"] = 8] = "SIZE";
97
+ TextStyleKeys[TextStyleKeys["SIZE_TYPE"] = 12] = "SIZE_TYPE";
98
+ TextStyleKeys[TextStyleKeys["SIZE_STATE"] = 13] = "SIZE_STATE";
99
+ TextStyleKeys[TextStyleKeys["FONT_WEIGHT"] = 16] = "FONT_WEIGHT";
100
+ TextStyleKeys[TextStyleKeys["FONT_WEIGHT_STATE"] = 20] = "FONT_WEIGHT_STATE";
101
+ TextStyleKeys[TextStyleKeys["FONT_STYLE_TYPE"] = 24] = "FONT_STYLE_TYPE";
102
+ TextStyleKeys[TextStyleKeys["FONT_STYLE_STATE"] = 28] = "FONT_STYLE_STATE";
103
+ TextStyleKeys[TextStyleKeys["BACKGROUND_COLOR"] = 32] = "BACKGROUND_COLOR";
104
+ TextStyleKeys[TextStyleKeys["BACKGROUND_COLOR_STATE"] = 36] = "BACKGROUND_COLOR_STATE";
105
+ TextStyleKeys[TextStyleKeys["DECORATION_LINE"] = 40] = "DECORATION_LINE";
106
+ TextStyleKeys[TextStyleKeys["DECORATION_LINE_STATE"] = 44] = "DECORATION_LINE_STATE";
107
+ TextStyleKeys[TextStyleKeys["DECORATION_COLOR"] = 48] = "DECORATION_COLOR";
108
+ TextStyleKeys[TextStyleKeys["DECORATION_COLOR_STATE"] = 52] = "DECORATION_COLOR_STATE";
109
+ TextStyleKeys[TextStyleKeys["DECORATION_STYLE"] = 56] = "DECORATION_STYLE";
110
+ TextStyleKeys[TextStyleKeys["DECORATION_STYLE_STATE"] = 60] = "DECORATION_STYLE_STATE";
111
+ TextStyleKeys[TextStyleKeys["LETTER_SPACING"] = 64] = "LETTER_SPACING";
112
+ TextStyleKeys[TextStyleKeys["LETTER_SPACING_STATE"] = 68] = "LETTER_SPACING_STATE";
113
+ TextStyleKeys[TextStyleKeys["TEXT_WRAP"] = 72] = "TEXT_WRAP";
114
+ TextStyleKeys[TextStyleKeys["TEXT_WRAP_STATE"] = 76] = "TEXT_WRAP_STATE";
115
+ TextStyleKeys[TextStyleKeys["WHITE_SPACE"] = 80] = "WHITE_SPACE";
116
+ TextStyleKeys[TextStyleKeys["WHITE_SPACE_STATE"] = 84] = "WHITE_SPACE_STATE";
117
+ TextStyleKeys[TextStyleKeys["TRANSFORM"] = 88] = "TRANSFORM";
118
+ TextStyleKeys[TextStyleKeys["TRANSFORM_STATE"] = 92] = "TRANSFORM_STATE";
119
+ TextStyleKeys[TextStyleKeys["TEXT_ALIGN"] = 96] = "TEXT_ALIGN";
120
+ TextStyleKeys[TextStyleKeys["TEXT_ALIGN_STATE"] = 100] = "TEXT_ALIGN_STATE";
121
+ TextStyleKeys[TextStyleKeys["TEXT_JUSTIFY"] = 104] = "TEXT_JUSTIFY";
122
+ TextStyleKeys[TextStyleKeys["TEXT_JUSTIFY_STATE"] = 108] = "TEXT_JUSTIFY_STATE";
123
+ TextStyleKeys[TextStyleKeys["TEXT_INDENT"] = 112] = "TEXT_INDENT";
124
+ TextStyleKeys[TextStyleKeys["TEXT_INDENT_STATE"] = 116] = "TEXT_INDENT_STATE";
125
+ })(TextStyleKeys || (TextStyleKeys = {}));
126
+ function parseLengthPercentageAuto(type, value) {
127
+ switch (type) {
128
+ case 0:
129
+ return 'auto';
130
+ case 1:
131
+ return { value, unit: 'px' };
132
+ case 2:
133
+ return { value, unit: '%' };
134
+ }
135
+ }
136
+ function parseLengthPercentage(type, value) {
137
+ switch (type) {
138
+ case 0:
139
+ return { value, unit: 'px' };
140
+ case 1:
141
+ return { value, unit: '%' };
142
+ }
143
+ }
144
+ class StateKeys {
145
+ constructor(bits) {
146
+ this.bits = bits;
147
+ }
148
+ or(other) {
149
+ return new StateKeys(this.bits | other.bits);
150
+ }
151
+ and(other) {
152
+ return new StateKeys(this.bits & other.bits);
153
+ }
154
+ hasFlag(flag) {
155
+ return (this.bits & flag.bits) !== 0n;
156
+ }
157
+ }
158
+ StateKeys.DISPLAY = new StateKeys(1n << 0n);
159
+ StateKeys.POSITION = new StateKeys(1n << 1n);
160
+ StateKeys.DIRECTION = new StateKeys(1n << 2n);
161
+ StateKeys.FLEX_DIRECTION = new StateKeys(1n << 3n);
162
+ StateKeys.FLEX_WRAP = new StateKeys(1n << 4n);
163
+ StateKeys.OVERFLOW_X = new StateKeys(1n << 5n);
164
+ StateKeys.OVERFLOW_Y = new StateKeys(1n << 6n);
165
+ StateKeys.ALIGN_ITEMS = new StateKeys(1n << 7n);
166
+ StateKeys.ALIGN_SELF = new StateKeys(1n << 8n);
167
+ StateKeys.ALIGN_CONTENT = new StateKeys(1n << 9n);
168
+ StateKeys.JUSTIFY_ITEMS = new StateKeys(1n << 10n);
169
+ StateKeys.JUSTIFY_SELF = new StateKeys(1n << 11n);
170
+ StateKeys.JUSTIFY_CONTENT = new StateKeys(1n << 12n);
171
+ StateKeys.INSET = new StateKeys(1n << 13n);
172
+ StateKeys.MARGIN = new StateKeys(1n << 14n);
173
+ StateKeys.PADDING = new StateKeys(1n << 15n);
174
+ StateKeys.BORDER = new StateKeys(1n << 16n);
175
+ StateKeys.FLEX_GROW = new StateKeys(1n << 17n);
176
+ StateKeys.FLEX_SHRINK = new StateKeys(1n << 18n);
177
+ StateKeys.FLEX_BASIS = new StateKeys(1n << 19n);
178
+ StateKeys.SIZE = new StateKeys(1n << 20n);
179
+ StateKeys.MIN_SIZE = new StateKeys(1n << 21n);
180
+ StateKeys.MAX_SIZE = new StateKeys(1n << 22n);
181
+ StateKeys.GAP = new StateKeys(1n << 23n);
182
+ StateKeys.ASPECT_RATIO = new StateKeys(1n << 24n);
183
+ StateKeys.GRID_AUTO_FLOW = new StateKeys(1n << 25n);
184
+ StateKeys.GRID_COLUMN = new StateKeys(1n << 26n);
185
+ StateKeys.GRID_ROW = new StateKeys(1n << 27n);
186
+ StateKeys.SCROLLBAR_WIDTH = new StateKeys(1n << 28n);
187
+ StateKeys.TEXT_ALIGN = new StateKeys(1n << 29n);
188
+ StateKeys.BOX_SIZING = new StateKeys(1n << 30n);
189
+ StateKeys.OVERFLOW = new StateKeys(1n << 31n);
190
+ StateKeys.ITEM_IS_TABLE = new StateKeys(1n << 32n);
191
+ StateKeys.ITEM_IS_REPLACED = new StateKeys(1n << 33n);
192
+ StateKeys.DISPLAY_MODE = new StateKeys(1n << 34n);
193
+ StateKeys.FORCE_INLINE = new StateKeys(1n << 35n);
194
+ StateKeys.MIN_CONTENT = new StateKeys(1n << 36n);
195
+ StateKeys.MAX_CONTENT = new StateKeys(1n << 37n);
196
+ class TextStateKeys {
197
+ constructor(bits) {
198
+ this.bits = bits;
199
+ }
200
+ or(other) {
201
+ return new TextStateKeys(this.bits | other.bits);
202
+ }
203
+ and(other) {
204
+ return new TextStateKeys(this.bits & other.bits);
205
+ }
206
+ hasFlag(flag) {
207
+ return (this.bits & flag.bits) !== 0n;
208
+ }
209
+ }
210
+ TextStateKeys.COLOR = new TextStateKeys(1n << 0n);
211
+ TextStateKeys.DECORATION_LINE = new TextStateKeys(1n << 1n);
212
+ TextStateKeys.DECORATION_COLOR = new TextStateKeys(1n << 2n);
213
+ TextStateKeys.TEXT_ALIGN = new TextStateKeys(1n << 3n);
214
+ TextStateKeys.TEXT_JUSTIFY = new TextStateKeys(1n << 4n);
215
+ TextStateKeys.BACKGROUND_COLOR = new TextStateKeys(1n << 5n);
216
+ TextStateKeys.SIZE = new TextStateKeys(1n << 6n);
217
+ TextStateKeys.TRANSFORM = new TextStateKeys(1n << 7n);
218
+ TextStateKeys.FONT_STYLE = new TextStateKeys(1n << 8n);
219
+ TextStateKeys.FONT_STYLE_SLANT = new TextStateKeys(1n << 9n);
220
+ TextStateKeys.TEXT_WRAP = new TextStateKeys(1n << 10n);
221
+ TextStateKeys.TEXT_OVERFLOW = new TextStateKeys(1n << 11n);
222
+ TextStateKeys.DECORATION_STYLE = new TextStateKeys(1n << 12n);
223
+ TextStateKeys.WHITE_SPACE = new TextStateKeys(1n << 13n);
224
+ TextStateKeys.FONT_WEIGHT = new TextStateKeys(1n << 14n);
225
+ const getInt8 = (view, offset) => {
226
+ return view.getInt8(offset);
227
+ };
228
+ const setInt8 = (view, offset, value) => {
229
+ view.setInt8(offset, value);
230
+ };
231
+ const getUint8 = (view, offset) => {
232
+ return view.getUint8(offset);
233
+ };
234
+ const setUint8 = (view, offset, value) => {
235
+ view.setUint8(offset, value);
236
+ };
237
+ const getInt16 = (view, offset) => {
238
+ return view.getInt16(offset, true);
239
+ };
240
+ const setInt16 = (view, offset, value) => {
241
+ view.setInt16(offset, value, true);
242
+ };
243
+ const getUint32 = (view, offset) => {
244
+ return view.getUint32(offset, true);
245
+ };
246
+ const setUint32 = (view, offset, value) => {
247
+ view.setUint32(offset, value, true);
248
+ };
249
+ const getInt32 = (view, offset) => {
250
+ return view.getInt32(offset, true);
251
+ };
252
+ const setInt32 = (view, offset, value) => {
253
+ view.setInt32(offset, value, true);
254
+ };
255
+ const getFloat32 = (view, offset) => {
256
+ return view.getFloat32(offset, true);
257
+ };
258
+ const setFloat32 = (view, offset, value) => {
259
+ view.setFloat32(offset, value, true);
260
+ };
261
+ export class Style {
262
+ constructor() {
263
+ this.isDirty = -1n;
264
+ this.isTextDirty = -1n;
265
+ this.inBatch = false;
266
+ }
267
+ static fromView(view, nativeView) {
268
+ //console.time('fromView');
269
+ const ret = new Style();
270
+ ret.view_ = view;
271
+ if (__ANDROID__) {
272
+ const style = nativeView.getStyle();
273
+ const styleBuffer = style.getValues();
274
+ const buffer = ArrayBuffer.from(styleBuffer);
275
+ ret.style_view = new DataView(buffer);
276
+ const textStyleBuffer = style.getTextValues();
277
+ const textBuffer = ArrayBuffer.from(textStyleBuffer);
278
+ ret.text_style_view = new DataView(textBuffer);
279
+ }
280
+ else if (__APPLE__) {
281
+ // todo
282
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
283
+ const style = nativeView.style;
284
+ // if (!isText) {
285
+ // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
286
+ // const styleBuffer = style.valuesCompat;
287
+ // const buffer = interop.bufferFromData(styleBuffer);
288
+ // ret.style_view = new DataView(buffer);
289
+ // } else {
290
+ // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
291
+ // const styleBuffer = style.valuesCompat;
292
+ // const buffer = interop.bufferFromData(styleBuffer);
293
+ // ret.style_view = new DataView(buffer);
294
+ // const textStyleBuffer = (nativeView as MasonText).textValues;
295
+ // const textBuffer = interop.bufferFromData(textStyleBuffer);
296
+ // ret.text_style_view = new DataView(textBuffer);
297
+ // }
298
+ }
299
+ //console.timeEnd('fromView');
300
+ return ret;
301
+ }
302
+ resetState() {
303
+ this.isDirty = -1n;
304
+ this.isTextDirty = -1n;
305
+ }
306
+ syncStyle() {
307
+ if (__ANDROID__) {
308
+ const view = this.view.android;
309
+ view.syncStyle(this.isDirty.toString(), this.isTextDirty.toString());
310
+ }
311
+ else if (__APPLE__) {
312
+ // if (!isText) {
313
+ // const view = this.view.ios as MasonUIView;
314
+ // // eslint-disable-next-line @typescript-eslint/ban-ts-comment
315
+ // // @ts-ignore
316
+ // view.syncStyle(this.isDirty.toString());
317
+ // } else {
318
+ // const view = this.view.ios as never as MasonText;
319
+ // view.syncStyleTextState(this.isDirty.toString(), this.isTextDirty.toString());
320
+ // }
321
+ }
322
+ this.resetState();
323
+ }
324
+ setOrAppendState(value) {
325
+ if (this.isDirty == -1n) {
326
+ this.isDirty = value.bits;
327
+ }
328
+ else {
329
+ this.isDirty = this.isDirty | value.bits;
330
+ }
331
+ if (!this.inBatch) {
332
+ this.syncStyle();
333
+ }
334
+ }
335
+ setOrAppendTextState(value) {
336
+ if (this.isTextDirty == -1n) {
337
+ this.isTextDirty = value.bits;
338
+ }
339
+ else {
340
+ this.isTextDirty = this.isTextDirty | value.bits;
341
+ }
342
+ if (!this.inBatch) {
343
+ this.syncStyle();
344
+ }
345
+ }
346
+ batch(fn) {
347
+ this.inBatch = true;
348
+ fn(this);
349
+ this.inBatch = false;
350
+ this.syncStyle();
351
+ }
352
+ get view() {
353
+ return this.view_;
354
+ }
355
+ get boxSizing() {
356
+ switch (getUint32(this.style_view, StyleKeys.BOX_SIZING)) {
357
+ case 0:
358
+ return 'border-box';
359
+ case 1:
360
+ return 'content-box';
361
+ }
362
+ }
363
+ set boxSizing(value) {
364
+ let boxSizing = -1;
365
+ switch (value) {
366
+ case 'border-box':
367
+ boxSizing = 0;
368
+ break;
369
+ case 'content-box':
370
+ boxSizing = 1;
371
+ break;
372
+ }
373
+ if (boxSizing !== -1) {
374
+ setUint32(this.style_view, StyleKeys.BOX_SIZING, boxSizing);
375
+ this.setOrAppendState(StateKeys.BOX_SIZING);
376
+ }
377
+ }
378
+ get fontSize() {
379
+ if (!this.text_style_view) {
380
+ // BLACK ?
381
+ return 16;
382
+ }
383
+ const type = getUint8(this.text_style_view, TextStyleKeys.SIZE_TYPE);
384
+ const value = getInt32(this.text_style_view, TextStyleKeys.SIZE);
385
+ if (type === 1) {
386
+ return `${value / 100}%`;
387
+ }
388
+ return value;
389
+ }
390
+ set fontSize(value) {
391
+ if (!this.text_style_view) {
392
+ return;
393
+ }
394
+ switch (typeof value) {
395
+ case 'number':
396
+ setInt32(this.text_style_view, TextStyleKeys.SIZE, value);
397
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_STATE, 1);
398
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_TYPE, 0);
399
+ this.setOrAppendTextState(TextStateKeys.SIZE);
400
+ break;
401
+ case 'object':
402
+ switch (value.unit) {
403
+ case 'dip':
404
+ setInt32(this.text_style_view, TextStyleKeys.SIZE, value.value);
405
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_STATE, 1);
406
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_TYPE, 0);
407
+ this.setOrAppendTextState(TextStateKeys.SIZE);
408
+ break;
409
+ case 'px':
410
+ setInt32(this.text_style_view, TextStyleKeys.SIZE, layout.toDeviceIndependentPixels(value.value));
411
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_STATE, 1);
412
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_TYPE, 0);
413
+ this.setOrAppendTextState(TextStateKeys.SIZE);
414
+ break;
415
+ case '%':
416
+ setInt32(this.text_style_view, TextStyleKeys.SIZE, value.value * 100);
417
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_STATE, 1);
418
+ setInt8(this.text_style_view, TextStyleKeys.SIZE_TYPE, 1);
419
+ this.setOrAppendTextState(TextStateKeys.SIZE);
420
+ break;
421
+ }
422
+ break;
423
+ }
424
+ if (value && typeof value === 'object') {
425
+ }
426
+ else {
427
+ }
428
+ }
429
+ get fontStyle() {
430
+ if (!this.text_style_view) {
431
+ // normal ?
432
+ return 'normal';
433
+ }
434
+ switch (getInt32(this.text_style_view, TextStyleKeys.FONT_STYLE_TYPE)) {
435
+ case 0:
436
+ return 'normal';
437
+ case 1:
438
+ return 'italic';
439
+ case 2:
440
+ return 'oblique';
441
+ default:
442
+ return 'normal';
443
+ }
444
+ }
445
+ set fontStyle(value) {
446
+ if (!this.text_style_view) {
447
+ return;
448
+ }
449
+ let style = -1;
450
+ switch (value) {
451
+ case 'normal':
452
+ style = 0;
453
+ break;
454
+ case 'italic':
455
+ style = 1;
456
+ break;
457
+ case 'oblique':
458
+ style = 2;
459
+ break;
460
+ }
461
+ if (style !== -1) {
462
+ setInt32(this.text_style_view, TextStyleKeys.FONT_STYLE_TYPE, style);
463
+ setInt8(this.text_style_view, TextStyleKeys.FONT_STYLE_STATE, 1);
464
+ this.setOrAppendTextState(TextStateKeys.FONT_STYLE);
465
+ }
466
+ }
467
+ get fontWeight() {
468
+ if (!this.text_style_view) {
469
+ // BLACK ?
470
+ return 400;
471
+ }
472
+ return getInt32(this.text_style_view, TextStyleKeys.FONT_WEIGHT);
473
+ }
474
+ set fontWeight(value) {
475
+ if (!this.text_style_view) {
476
+ return;
477
+ }
478
+ let weight = -1;
479
+ switch (value) {
480
+ case '100':
481
+ weight = 100;
482
+ break;
483
+ case '200':
484
+ weight = 200;
485
+ break;
486
+ case '300':
487
+ weight = 300;
488
+ break;
489
+ case 'normal':
490
+ weight = 400;
491
+ break;
492
+ case '400':
493
+ weight = 400;
494
+ break;
495
+ case '500':
496
+ weight = 500;
497
+ break;
498
+ case '600':
499
+ weight = 600;
500
+ break;
501
+ case 'bold':
502
+ weight = 700;
503
+ break;
504
+ case '700':
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_ALIGN);
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
+ return '';
1886
+ }
1887
+ set gridAutoRows(value) {
1888
+ if (typeof value === 'string') {
1889
+ _setGridAutoRows(value, this.view_);
1890
+ }
1891
+ else {
1892
+ }
1893
+ }
1894
+ get gridAutoColumns() {
1895
+ return '';
1896
+ }
1897
+ set gridAutoColumns(value) {
1898
+ if (typeof value === 'string') {
1899
+ _setGridAutoColumns(value, this.view_);
1900
+ }
1901
+ else {
1902
+ }
1903
+ }
1904
+ get gridAutoFlow() {
1905
+ switch (getInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW)) {
1906
+ case 0:
1907
+ return 'row';
1908
+ case 1:
1909
+ return 'column';
1910
+ case 2:
1911
+ return 'row dense';
1912
+ case 3:
1913
+ return 'column dense';
1914
+ }
1915
+ }
1916
+ set gridAutoFlow(value) {
1917
+ switch (value) {
1918
+ case 'row':
1919
+ setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 0);
1920
+ break;
1921
+ case 'column':
1922
+ setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 1);
1923
+ break;
1924
+ case 'row dense':
1925
+ setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 2);
1926
+ break;
1927
+ case 'column dense':
1928
+ setInt32(this.style_view, StyleKeys.GRID_AUTO_FLOW, 3);
1929
+ break;
1930
+ }
1931
+ this.setOrAppendState(StateKeys.GRID_AUTO_FLOW);
1932
+ }
1933
+ get gridRowGap() {
1934
+ return this.rowGap;
1935
+ }
1936
+ set gridRowGap(value) {
1937
+ this.rowGap = value;
1938
+ }
1939
+ get gridColumnGap() {
1940
+ return this.columnGap;
1941
+ }
1942
+ set gridColumnGap(value) {
1943
+ this.columnGap = value;
1944
+ }
1945
+ // gridArea: string;
1946
+ get gridColumn() {
1947
+ if (this.gridColumnStart === this.gridColumnEnd) {
1948
+ return `${this.gridColumnStart}`;
1949
+ }
1950
+ return `${this.gridColumnStart} / ${this.gridColumnEnd}`;
1951
+ }
1952
+ get gridColumnStart() {
1953
+ switch (getInt32(this.style_view, StyleKeys.GRID_COLUMN_START_TYPE)) {
1954
+ case 0:
1955
+ return 'auto';
1956
+ case 1: {
1957
+ const value = getInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE);
1958
+ // if (value === 1) {
1959
+ // return 'auto';
1960
+ // }
1961
+ return `${value}`;
1962
+ }
1963
+ case 2: {
1964
+ const value = getInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE);
1965
+ if (value === 0) {
1966
+ return 'span';
1967
+ }
1968
+ return `span ${value}`;
1969
+ }
1970
+ }
1971
+ }
1972
+ set gridColumnStart(value) {
1973
+ const line = _parseGridLine(value);
1974
+ if (line === null) {
1975
+ return;
1976
+ }
1977
+ switch (line.type) {
1978
+ case 'auto':
1979
+ case 0:
1980
+ setInt32(this.style_view, StyleKeys.GRID_COLUMN_START_TYPE, 0);
1981
+ setInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE, 1);
1982
+ break;
1983
+ case 'line':
1984
+ case 1:
1985
+ if (line.value !== undefined) {
1986
+ setInt32(this.style_view, StyleKeys.GRID_COLUMN_START_TYPE, 1);
1987
+ setInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE, line.value);
1988
+ }
1989
+ break;
1990
+ case 'span':
1991
+ case 2:
1992
+ if (line.value !== undefined) {
1993
+ setInt32(this.style_view, StyleKeys.GRID_COLUMN_START_TYPE, 2);
1994
+ setInt16(this.style_view, StyleKeys.GRID_COLUMN_START_VALUE, line.value);
1995
+ }
1996
+ break;
1997
+ }
1998
+ this.setOrAppendState(StateKeys.GRID_COLUMN);
1999
+ }
2000
+ get gridColumnEnd() {
2001
+ switch (getInt32(this.style_view, StyleKeys.GRID_COLUMN_END_TYPE)) {
2002
+ case 0:
2003
+ return 'auto';
2004
+ case 1: {
2005
+ const value = getInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE);
2006
+ // if (value === 1) {
2007
+ // return 'auto';
2008
+ // }
2009
+ return `${value}`;
2010
+ }
2011
+ case 2: {
2012
+ const value = getInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE);
2013
+ if (value === 0) {
2014
+ return 'span';
2015
+ }
2016
+ return `span ${value}`;
2017
+ }
2018
+ }
2019
+ }
2020
+ set gridColumnEnd(value) {
2021
+ const line = _parseGridLine(value);
2022
+ if (line === null) {
2023
+ return;
2024
+ }
2025
+ switch (line.type) {
2026
+ case 'auto':
2027
+ case 0:
2028
+ setInt32(this.style_view, StyleKeys.GRID_COLUMN_END_TYPE, 0);
2029
+ setInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE, 1);
2030
+ break;
2031
+ case 'line':
2032
+ case 1:
2033
+ if (line.value !== undefined) {
2034
+ setInt32(this.style_view, StyleKeys.GRID_COLUMN_END_TYPE, 1);
2035
+ setInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE, line.value);
2036
+ }
2037
+ break;
2038
+ case 'span':
2039
+ case 2:
2040
+ if (line.value !== undefined) {
2041
+ setInt32(this.style_view, StyleKeys.GRID_COLUMN_END_TYPE, 2);
2042
+ setInt16(this.style_view, StyleKeys.GRID_COLUMN_END_VALUE, line.value);
2043
+ }
2044
+ break;
2045
+ }
2046
+ this.setOrAppendState(StateKeys.GRID_COLUMN);
2047
+ }
2048
+ get gridRow() {
2049
+ if (this.gridRowStart === this.gridRowEnd) {
2050
+ return `${this.gridRowStart}`;
2051
+ }
2052
+ return `${this.gridRowStart} / ${this.gridRowEnd}`;
2053
+ }
2054
+ get gridRowStart() {
2055
+ switch (getInt32(this.style_view, StyleKeys.GRID_ROW_START_TYPE)) {
2056
+ case 0:
2057
+ return 'auto';
2058
+ case 1: {
2059
+ const value = getInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE);
2060
+ // if (value === 1) {
2061
+ // return 'auto';
2062
+ // }
2063
+ return `${value}`;
2064
+ }
2065
+ case 2: {
2066
+ const value = getInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE);
2067
+ if (value === 0) {
2068
+ return 'span';
2069
+ }
2070
+ return `span ${value}`;
2071
+ }
2072
+ }
2073
+ }
2074
+ set gridRowStart(value) {
2075
+ const line = _parseGridLine(value);
2076
+ if (line === null) {
2077
+ return;
2078
+ }
2079
+ switch (line.type) {
2080
+ case 'auto':
2081
+ case 0:
2082
+ setInt32(this.style_view, StyleKeys.GRID_ROW_START_TYPE, 0);
2083
+ setInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE, 1);
2084
+ break;
2085
+ case 'line':
2086
+ case 1:
2087
+ if (line.value !== undefined) {
2088
+ setInt32(this.style_view, StyleKeys.GRID_ROW_START_TYPE, 1);
2089
+ setInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE, line.value);
2090
+ }
2091
+ break;
2092
+ case 'span':
2093
+ case 2:
2094
+ if (line.value !== undefined) {
2095
+ setInt32(this.style_view, StyleKeys.GRID_ROW_START_TYPE, 2);
2096
+ setInt16(this.style_view, StyleKeys.GRID_ROW_START_VALUE, line.value);
2097
+ }
2098
+ break;
2099
+ }
2100
+ this.setOrAppendState(StateKeys.GRID_ROW);
2101
+ }
2102
+ get gridRowEnd() {
2103
+ switch (getInt32(this.style_view, StyleKeys.GRID_ROW_END_TYPE)) {
2104
+ case 0:
2105
+ return 'auto';
2106
+ case 1: {
2107
+ const value = getInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE);
2108
+ // if (value === 1) {
2109
+ // return 'auto';
2110
+ // }
2111
+ return `${value}`;
2112
+ }
2113
+ case 2: {
2114
+ const value = getInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE);
2115
+ if (value === 0) {
2116
+ return 'span';
2117
+ }
2118
+ return `span ${value}`;
2119
+ }
2120
+ }
2121
+ }
2122
+ set gridRowEnd(value) {
2123
+ const line = _parseGridLine(value);
2124
+ if (line === null) {
2125
+ return;
2126
+ }
2127
+ switch (line.type) {
2128
+ case 'auto':
2129
+ case 0:
2130
+ setInt32(this.style_view, StyleKeys.GRID_ROW_END_TYPE, 0);
2131
+ setInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE, 1);
2132
+ break;
2133
+ case 'line':
2134
+ case 1:
2135
+ if (line.value !== undefined) {
2136
+ setInt32(this.style_view, StyleKeys.GRID_ROW_END_TYPE, 1);
2137
+ setInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE, line.value);
2138
+ }
2139
+ break;
2140
+ case 'span':
2141
+ case 2:
2142
+ if (line.value !== undefined) {
2143
+ setInt32(this.style_view, StyleKeys.GRID_ROW_END_TYPE, 2);
2144
+ setInt16(this.style_view, StyleKeys.GRID_ROW_END_VALUE, line.value);
2145
+ }
2146
+ break;
2147
+ }
2148
+ this.setOrAppendState(StateKeys.GRID_ROW);
2149
+ }
2150
+ set gridTemplateRows(value) {
2151
+ if (Array.isArray(value)) {
2152
+ _setGridTemplateRows(value, this.view);
2153
+ }
2154
+ else {
2155
+ _setGridTemplateRows(_parseGridTemplates(value), this.view);
2156
+ }
2157
+ }
2158
+ get gridTemplateRows() {
2159
+ return _getGridTemplateRows(this.view);
2160
+ }
2161
+ get gridTemplateColumns() {
2162
+ return _getGridTemplateColumns(this.view);
2163
+ }
2164
+ set gridTemplateColumns(value) {
2165
+ if (Array.isArray(value)) {
2166
+ _setGridTemplateColumns(value, this.view);
2167
+ }
2168
+ else {
2169
+ _setGridTemplateColumns(_parseGridTemplates(value), this.view);
2170
+ }
2171
+ }
2172
+ get overflow() {
2173
+ const x = this.overflowX;
2174
+ const y = this.overflowY;
2175
+ if (x === y) {
2176
+ return x;
2177
+ }
2178
+ return `${x} ${y}`;
2179
+ }
2180
+ set overflow(value) {
2181
+ switch (value) {
2182
+ case 'visible':
2183
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 0);
2184
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 0);
2185
+ break;
2186
+ case 'hidden':
2187
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 1);
2188
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 1);
2189
+ break;
2190
+ case 'scroll':
2191
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 2);
2192
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 2);
2193
+ break;
2194
+ default:
2195
+ {
2196
+ const values = value.split(' ');
2197
+ switch (values[0]) {
2198
+ case 'visible':
2199
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 0);
2200
+ break;
2201
+ case 'hidden':
2202
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 1);
2203
+ break;
2204
+ case 'scroll':
2205
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 2);
2206
+ break;
2207
+ case 'clip':
2208
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 3);
2209
+ break;
2210
+ case 'auto':
2211
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 4);
2212
+ break;
2213
+ }
2214
+ switch (values[1]) {
2215
+ case 'visible':
2216
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 0);
2217
+ break;
2218
+ case 'hidden':
2219
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 1);
2220
+ break;
2221
+ case 'scroll':
2222
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 2);
2223
+ break;
2224
+ case 'clip':
2225
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 3);
2226
+ break;
2227
+ case 'auto':
2228
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 4);
2229
+ break;
2230
+ }
2231
+ }
2232
+ break;
2233
+ }
2234
+ this.setOrAppendState(StateKeys.OVERFLOW);
2235
+ }
2236
+ get overflowX() {
2237
+ switch (getInt32(this.style_view, StyleKeys.OVERFLOW_X)) {
2238
+ case 0:
2239
+ return 'visible';
2240
+ case 1:
2241
+ return 'hidden';
2242
+ case 2:
2243
+ return 'scroll';
2244
+ }
2245
+ }
2246
+ set overflowX(value) {
2247
+ let dirty = false;
2248
+ switch (value) {
2249
+ case 'visible':
2250
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 0);
2251
+ dirty = true;
2252
+ break;
2253
+ case 'hidden':
2254
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 1);
2255
+ dirty = true;
2256
+ break;
2257
+ case 'scroll':
2258
+ dirty = true;
2259
+ setInt32(this.style_view, StyleKeys.OVERFLOW_X, 2);
2260
+ break;
2261
+ }
2262
+ if (dirty) {
2263
+ this.setOrAppendState(StateKeys.OVERFLOW_X);
2264
+ }
2265
+ }
2266
+ get overflowY() {
2267
+ switch (getInt32(this.style_view, StyleKeys.OVERFLOW_Y)) {
2268
+ case 0:
2269
+ return 'visible';
2270
+ case 1:
2271
+ return 'hidden';
2272
+ case 2:
2273
+ return 'scroll';
2274
+ }
2275
+ }
2276
+ set overflowY(value) {
2277
+ let dirty = false;
2278
+ switch (value) {
2279
+ case 'visible':
2280
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 0);
2281
+ dirty = true;
2282
+ break;
2283
+ case 'hidden':
2284
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 1);
2285
+ dirty = true;
2286
+ break;
2287
+ case 'scroll':
2288
+ setInt32(this.style_view, StyleKeys.OVERFLOW_Y, 2);
2289
+ dirty = true;
2290
+ break;
2291
+ }
2292
+ if (dirty) {
2293
+ this.setOrAppendState(StateKeys.OVERFLOW_Y);
2294
+ }
2295
+ }
2296
+ get flexGrow() {
2297
+ return getFloat32(this.style_view, StyleKeys.FLEX_GROW);
2298
+ }
2299
+ set flexGrow(value) {
2300
+ setFloat32(this.style_view, StyleKeys.FLEX_GROW, value);
2301
+ this.setOrAppendState(StateKeys.FLEX_GROW);
2302
+ }
2303
+ get flexShrink() {
2304
+ return getFloat32(this.style_view, StyleKeys.FLEX_SHRINK);
2305
+ }
2306
+ set flexShrink(value) {
2307
+ setFloat32(this.style_view, StyleKeys.FLEX_SHRINK, value);
2308
+ this.setOrAppendState(StateKeys.FLEX_SHRINK);
2309
+ }
2310
+ get scrollBarWidth() {
2311
+ return getFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH);
2312
+ }
2313
+ set scrollBarWidth(value) {
2314
+ if (typeof value === 'number') {
2315
+ setFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH, value);
2316
+ this.setOrAppendState(StateKeys.SCROLLBAR_WIDTH);
2317
+ }
2318
+ else if (typeof value === 'object') {
2319
+ switch (value.unit) {
2320
+ case 'dip':
2321
+ setFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH, layout.toDevicePixels(value.value));
2322
+ this.setOrAppendState(StateKeys.SCROLLBAR_WIDTH);
2323
+ break;
2324
+ case 'px':
2325
+ setFloat32(this.style_view, StyleKeys.SCROLLBAR_WIDTH, value.value);
2326
+ this.setOrAppendState(StateKeys.SCROLLBAR_WIDTH);
2327
+ break;
2328
+ }
2329
+ }
2330
+ }
2331
+ toJSON() {
2332
+ return {
2333
+ display: this.display,
2334
+ position: this.position,
2335
+ flexDirection: this.flexDirection,
2336
+ flexWrap: this.flexWrap,
2337
+ justifyContent: this.justifyContent,
2338
+ alignItems: this.alignItems,
2339
+ alignContent: this.alignContent,
2340
+ alignSelf: this.alignSelf,
2341
+ flexGrow: this.flexGrow,
2342
+ minWidth: this.minWidth,
2343
+ minHeight: this.minHeight,
2344
+ maxWidth: this.maxWidth,
2345
+ maxHeight: this.maxHeight,
2346
+ width: this.width,
2347
+ height: this.height,
2348
+ inset: {
2349
+ left: this.left,
2350
+ right: this.right,
2351
+ top: this.top,
2352
+ bottom: this.bottom,
2353
+ },
2354
+ margin: {
2355
+ left: this.marginLeft,
2356
+ right: this.marginRight,
2357
+ top: this.marginTop,
2358
+ bottom: this.marginBottom,
2359
+ },
2360
+ padding: {
2361
+ left: this.paddingLeft,
2362
+ right: this.paddingRight,
2363
+ top: this.paddingTop,
2364
+ bottom: this.paddingBottom,
2365
+ },
2366
+ border: {
2367
+ left: this.borderLeft,
2368
+ right: this.borderRight,
2369
+ top: this.borderTop,
2370
+ bottom: this.borderBottom,
2371
+ },
2372
+ aspectRatio: this.aspectRatio,
2373
+ flexBasis: this.flexBasis,
2374
+ overflow: this.overflow,
2375
+ flexShrink: this.flexShrink,
2376
+ scrollBarWidth: this.scrollBarWidth,
2377
+ gap: this.gap,
2378
+ gridAutoFlow: this.gridAutoFlow,
2379
+ gridAutoColumns: this.gridAutoColumns,
2380
+ gridAutoRows: this.gridAutoRows,
2381
+ gridColumn: this.gridColumn,
2382
+ gridRow: this.gridRow,
2383
+ gridTemplateRows: this.gridTemplateRows,
2384
+ gridTemplateColumns: this.gridTemplateColumns,
2385
+ };
2386
+ }
2387
+ }
2388
+ //# sourceMappingURL=style.js.map