@triniwiz/nativescript-masonkit 1.0.0-alpha.27 → 1.0.0-alpha.29

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