@triniwiz/nativescript-masonkit 1.0.0-alpha.22 → 1.0.0-alpha.24

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