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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/common.d.ts +138 -0
  2. package/common.js +1750 -0
  3. package/common.js.map +1 -0
  4. package/img/index.android.d.ts +10 -0
  5. package/img/index.android.js +40 -0
  6. package/img/index.android.js.map +1 -0
  7. package/img/index.ios.d.ts +13 -0
  8. package/img/index.ios.js +102 -0
  9. package/img/index.ios.js.map +1 -0
  10. package/index.android.d.ts +5 -0
  11. package/index.android.js +6 -0
  12. package/index.android.js.map +1 -0
  13. package/index.ios.d.ts +5 -0
  14. package/index.ios.js +6 -0
  15. package/index.ios.js.map +1 -0
  16. package/package.json +1 -1
  17. package/platforms/android/masonkit-release.aar +0 -0
  18. package/scroll/index.android.d.ts +13 -0
  19. package/scroll/index.android.js +80 -0
  20. package/scroll/index.android.js.map +1 -0
  21. package/scroll/index.ios.d.ts +16 -0
  22. package/scroll/index.ios.js +154 -0
  23. package/scroll/index.ios.js.map +1 -0
  24. package/style.d.ts +207 -0
  25. package/style.js +2388 -0
  26. package/style.js.map +1 -0
  27. package/text/index.android.d.ts +30 -0
  28. package/text/index.android.js +142 -0
  29. package/text/index.android.js.map +1 -0
  30. package/text/index.ios.d.ts +40 -0
  31. package/text/index.ios.js +294 -0
  32. package/text/index.ios.js.map +1 -0
  33. package/tree/index.android.d.ts +27 -0
  34. package/tree/index.android.js +72 -0
  35. package/tree/index.android.js.map +1 -0
  36. package/tree/index.ios.d.ts +28 -0
  37. package/tree/index.ios.js +73 -0
  38. package/tree/index.ios.js.map +1 -0
  39. package/utils/index.android.d.ts +187 -0
  40. package/utils/index.android.js +594 -0
  41. package/utils/index.android.js.map +1 -0
  42. package/utils/index.ios.d.ts +198 -0
  43. package/utils/index.ios.js +710 -0
  44. package/utils/index.ios.js.map +1 -0
  45. package/view/index.android.d.ts +13 -0
  46. package/view/index.android.js +81 -0
  47. package/view/index.android.js.map +1 -0
  48. package/view/index.ios.d.ts +17 -0
  49. package/view/index.ios.js +154 -0
  50. package/view/index.ios.js.map +1 -0
  51. package/web.d.ts +55 -0
  52. package/web.js +189 -0
  53. package/web.js.map +1 -0
@@ -0,0 +1,594 @@
1
+ // declare const __non_webpack_require__;
2
+ import { Length, Utils } from '@nativescript/core';
3
+ import { isMasonView_, style_ } from '../common';
4
+ import { parseUnit } from '@nativescript/core/css/parser';
5
+ import { Tree } from '../tree';
6
+ export function parseLength(length, parent = 0) {
7
+ switch (length.unit) {
8
+ case '%':
9
+ return length.value * parent;
10
+ case 'dip':
11
+ return Utils.layout.toDevicePixels(length.value);
12
+ case 'px':
13
+ return length.value;
14
+ }
15
+ }
16
+ let sharedMason = null;
17
+ function getMasonInstance(instance) {
18
+ const nativeView = instance?.android;
19
+ if (instance[isMasonView_]) {
20
+ return nativeView.getNode();
21
+ }
22
+ if (!sharedMason) {
23
+ sharedMason = org.nativescript.mason.masonkit.Mason.getShared();
24
+ }
25
+ return sharedMason.nodeForView(nativeView);
26
+ }
27
+ function getStyleInstance(instance) {
28
+ const nativeView = instance?.android;
29
+ if (instance[isMasonView_]) {
30
+ return nativeView.getStyle();
31
+ }
32
+ if (!sharedMason) {
33
+ sharedMason = org.nativescript.mason.masonkit.Mason.getShared();
34
+ }
35
+ return sharedMason.nodeForView(nativeView).getStyle();
36
+ }
37
+ export function _forceStyleUpdate(instance) {
38
+ if (!instance[isMasonView_]) {
39
+ return;
40
+ }
41
+ if (instance[isMasonView_]) {
42
+ }
43
+ // const nodeOrView = getMasonInstance(instance) as org.nativescript.mason.masonkit.TextView;
44
+ // nodeOrView.getStyle().updateNodeAndStyle();
45
+ }
46
+ export function _markDirty(instance) {
47
+ if (!instance[isMasonView_]) {
48
+ return;
49
+ }
50
+ const nodeOrView = getMasonInstance(instance);
51
+ nodeOrView.dirty();
52
+ }
53
+ export function _isDirty(instance) {
54
+ if (!instance[isMasonView_]) {
55
+ return;
56
+ }
57
+ const nodeOrView = getMasonInstance(instance);
58
+ return nodeOrView.isDirty();
59
+ }
60
+ export function _intoType(type) {
61
+ switch (type) {
62
+ case 'auto':
63
+ return 0 /* MasonDimensionCompatType.Auto */;
64
+ case 'points':
65
+ return 1 /* MasonDimensionCompatType.Points */;
66
+ case 'percent':
67
+ return 2 /* MasonDimensionCompatType.Percent */;
68
+ default:
69
+ return 0 /* MasonDimensionCompatType.Auto */;
70
+ }
71
+ }
72
+ export function _parseDimension(dim) {
73
+ const name = dim.getClass().getName();
74
+ switch (name) {
75
+ case 'org.nativescript.mason.masonkit.Dimension$Points':
76
+ return { value: dim.getPoints(), unit: 'px' };
77
+ case 'org.nativescript.mason.masonkit.Dimension$Percent':
78
+ return { value: dim.getPercentage(), unit: '%' };
79
+ case 'org.nativescript.mason.masonkit.Dimension$Auto':
80
+ return 'auto';
81
+ }
82
+ }
83
+ export function _parseLengthPercentage(dim) {
84
+ const name = dim.getClass().getName();
85
+ switch (name) {
86
+ case 'org.nativescript.mason.masonkit.LengthPercentage$Points':
87
+ return { value: dim.getPoints(), unit: 'px' };
88
+ case 'org.nativescript.mason.masonkit.LengthPercentage$Percent':
89
+ return { value: dim.getPercentage(), unit: '%' };
90
+ case 'org.nativescript.mason.masonkit.LengthPercentage$Auto':
91
+ return 'auto';
92
+ }
93
+ }
94
+ export function _parseLengthPercentageAuto(dim) {
95
+ const name = dim.getClass().getName();
96
+ switch (name) {
97
+ case 'org.nativescript.mason.masonkit.LengthPercentageAuto$Points':
98
+ return { value: dim.getPoints(), unit: 'px' };
99
+ case 'org.nativescript.mason.masonkit.LengthPercentageAuto$Percent':
100
+ return { value: dim.getPercentage(), unit: '%' };
101
+ case 'org.nativescript.mason.masonkit.LengthPercentageAuto$Auto':
102
+ return 'auto';
103
+ }
104
+ }
105
+ export function _toMasonDimension(value) {
106
+ if (value === undefined || value === null) {
107
+ return value;
108
+ }
109
+ if (value === 'auto') {
110
+ return { value: 0, type: 'auto', native_type: 0 /* MasonDimensionCompatType.Auto */ };
111
+ }
112
+ let typeOf = typeof value;
113
+ if (typeOf === 'number') {
114
+ return { value: Utils.layout.toDevicePixels(value), type: 'points', native_type: 1 /* MasonDimensionCompatType.Points */ };
115
+ }
116
+ if (typeOf === 'string') {
117
+ value = parseUnit(value).value;
118
+ typeOf = 'object';
119
+ }
120
+ if (typeOf === 'object') {
121
+ switch (value?.unit) {
122
+ case '%':
123
+ return { value: value.value, type: 'percent', native_type: 2 /* MasonDimensionCompatType.Percent */ };
124
+ case 'px':
125
+ return { value: value.value, type: 'points', native_type: 1 /* MasonDimensionCompatType.Points */ };
126
+ case 'dip':
127
+ return { value: Utils.layout.toDevicePixels(value.value), type: 'points', native_type: 1 /* MasonDimensionCompatType.Points */ };
128
+ }
129
+ }
130
+ return { value: value, type: 'points', native_type: 1 /* MasonDimensionCompatType.Points */ };
131
+ }
132
+ export function _intoMasonDimension(value) {
133
+ if (value === undefined || value === null) {
134
+ return null;
135
+ }
136
+ if (value === 'auto') {
137
+ return org.nativescript.mason.masonkit.Dimension.Auto;
138
+ }
139
+ const typeOf = typeof value;
140
+ if (typeOf === 'object') {
141
+ switch (value?.unit) {
142
+ case '%':
143
+ return new org.nativescript.mason.masonkit.Dimension.Percent(value.value);
144
+ case 'px':
145
+ return new org.nativescript.mason.masonkit.Dimension.Points(value.value);
146
+ case 'dip':
147
+ return new org.nativescript.mason.masonkit.Dimension.Points(Utils.layout.toDevicePixels(value.value));
148
+ }
149
+ }
150
+ if (typeOf === 'number') {
151
+ return new org.nativescript.mason.masonkit.Dimension.Points(Utils.layout.toDevicePixels(value));
152
+ }
153
+ return new org.nativescript.mason.masonkit.Dimension.Points(Utils.layout.toDevicePixels(value));
154
+ }
155
+ export function _toLengthPercentageAuto(value) {
156
+ if (value === undefined || value === null) {
157
+ return value;
158
+ }
159
+ if (value === 'auto') {
160
+ return { value: 0, type: 'auto', native_type: 0 /* MasonLengthPercentageAutoCompatType.Auto */ };
161
+ }
162
+ const typeOf = typeof value;
163
+ if (typeOf === 'object') {
164
+ switch (value?.unit) {
165
+ case '%':
166
+ return { value: value.value, type: 'percent', native_type: 2 /* MasonLengthPercentageAutoCompatType.Percent */ };
167
+ case 'px':
168
+ return { value: value.value, type: 'points', native_type: 1 /* MasonLengthPercentageAutoCompatType.Points */ };
169
+ case 'dip':
170
+ return { value: Utils.layout.toDevicePixels(value.value), type: 'points', native_type: 1 /* MasonLengthPercentageAutoCompatType.Points */ };
171
+ }
172
+ }
173
+ if (typeOf === 'number') {
174
+ return { value: Utils.layout.toDevicePixels(value), type: 'points', native_type: 1 /* MasonLengthPercentageAutoCompatType.Points */ };
175
+ }
176
+ return { value: value, type: 'points', native_type: 1 /* MasonLengthPercentageAutoCompatType.Points */ };
177
+ }
178
+ export function _toLengthPercentage(value) {
179
+ if (value === undefined || value === null) {
180
+ return value;
181
+ }
182
+ if (typeof value === 'string') {
183
+ const parsed = Length.parse(value);
184
+ if (parsed) {
185
+ value = parsed;
186
+ }
187
+ }
188
+ const typeOf = typeof value;
189
+ if (typeOf === 'object') {
190
+ switch (value?.unit) {
191
+ case '%':
192
+ return { value: value.value, type: 'percent', native_type: 1 /* MasonLengthPercentageCompatType.Percent */ };
193
+ case 'px':
194
+ return { value: value.value, type: 'points', native_type: 0 /* MasonLengthPercentageCompatType.Points */ };
195
+ case 'dip':
196
+ return { value: Utils.layout.toDevicePixels(value.value), type: 'points', native_type: 0 /* MasonLengthPercentageCompatType.Points */ };
197
+ }
198
+ }
199
+ if (typeOf === 'number') {
200
+ return { value: Utils.layout.toDevicePixels(value), type: 'points', native_type: 0 /* MasonLengthPercentageCompatType.Points */ };
201
+ }
202
+ return { value: value, type: 'points', native_type: 0 /* MasonLengthPercentageCompatType.Points */ };
203
+ }
204
+ function syncStyle(instance) {
205
+ // noop
206
+ }
207
+ export function _parseGridLine(value) {
208
+ let parsedValue = undefined;
209
+ let parsedType = undefined;
210
+ if (value === 'auto' || value === undefined) {
211
+ parsedValue = 0;
212
+ parsedType = 0 /* GridPlacementCompatType.Auto */;
213
+ }
214
+ if (typeof value === 'string') {
215
+ if (value.startsWith('span')) {
216
+ parsedValue = Number(value.replace('span', '').trim());
217
+ parsedType = 2 /* GridPlacementCompatType.Span */;
218
+ }
219
+ else {
220
+ parsedValue = Number(value.trim());
221
+ if (parsedValue < 1) {
222
+ parsedValue = 0;
223
+ parsedType = 0 /* GridPlacementCompatType.Auto */;
224
+ }
225
+ else {
226
+ parsedType = 1 /* GridPlacementCompatType.Line */;
227
+ }
228
+ }
229
+ }
230
+ if (typeof value === 'number') {
231
+ parsedValue = value;
232
+ if (parsedValue < 1) {
233
+ parsedValue = 0;
234
+ parsedType = 0 /* GridPlacementCompatType.Auto */;
235
+ }
236
+ else {
237
+ parsedType = 1 /* GridPlacementCompatType.Line */;
238
+ }
239
+ }
240
+ return { value: Number.isNaN(parsedValue) ? undefined : parsedValue, type: parsedType };
241
+ }
242
+ const Auto = 'auto';
243
+ const None = 'none';
244
+ const MinContent = 'min-content';
245
+ const MaxContent = 'max-content';
246
+ export function _parseMinMaxValue(value) {
247
+ if (typeof value === 'string') {
248
+ if (value === Auto || value === None) {
249
+ return {
250
+ min_type: 0 /* MinSizingType.Auto */,
251
+ min_value: 0,
252
+ max_type: 0 /* MaxSizingType.Auto */,
253
+ max_value: 0,
254
+ };
255
+ }
256
+ else if (value === MinContent) {
257
+ return {
258
+ min_type: 1 /* MinSizingType.MinContent */,
259
+ min_value: 0,
260
+ max_type: 1 /* MaxSizingType.MinContent */,
261
+ max_value: 0,
262
+ };
263
+ }
264
+ else if (value === MaxContent) {
265
+ return {
266
+ min_type: 2 /* MinSizingType.MaxContent */,
267
+ min_value: 0,
268
+ max_type: 2 /* MaxSizingType.MaxContent */,
269
+ max_value: 0,
270
+ };
271
+ }
272
+ else if (value.indexOf('fr') > -1) {
273
+ const flex = parseInt(value.replace('fr', '').trim());
274
+ return {
275
+ min_type: 0 /* MinSizingType.Auto */,
276
+ min_value: 0,
277
+ max_type: 5 /* MaxSizingType.Fraction */,
278
+ max_value: flex,
279
+ };
280
+ }
281
+ else if (value.startsWith('minmax')) {
282
+ // todo
283
+ const minMax = parseInt(value.replace('minmax(', '').replace(')', '').trim());
284
+ }
285
+ else if (value.startsWith('fit-content')) {
286
+ const fitContent = value.replace('fit-content(', '').replace(')', '').trim();
287
+ if (fitContent.indexOf('px') > -1) {
288
+ const px = parseInt(fitContent.replace('px', ''));
289
+ return {
290
+ min_type: 0 /* MinSizingType.Auto */,
291
+ min_value: px,
292
+ max_type: 6 /* MaxSizingType.FitContent */,
293
+ max_value: px,
294
+ };
295
+ }
296
+ if (fitContent.indexOf('px') > -1) {
297
+ const dip = Utils.layout.toDevicePixels(parseInt(fitContent.replace('dip', '')));
298
+ return {
299
+ min_type: 0 /* MinSizingType.Auto */,
300
+ min_value: dip,
301
+ max_type: 6 /* MaxSizingType.FitContent */,
302
+ max_value: dip,
303
+ };
304
+ }
305
+ if (fitContent.indexOf('%') > -1) {
306
+ const percent = parseFloat(fitContent.replace('%', ''));
307
+ return {
308
+ min_type: 0 /* MinSizingType.Auto */,
309
+ min_value: percent,
310
+ max_type: 7 /* MaxSizingType.FitContentPercent */,
311
+ max_value: percent,
312
+ };
313
+ }
314
+ }
315
+ else if (value.indexOf('px') > -1) {
316
+ const px = parseInt(value.replace('px', ''));
317
+ return {
318
+ min_type: 3 /* MinSizingType.Points */,
319
+ min_value: px,
320
+ max_type: 3 /* MaxSizingType.Points */,
321
+ max_value: px,
322
+ };
323
+ }
324
+ else if (value.indexOf('dip') > -1) {
325
+ const dip = Utils.layout.toDevicePixels(parseInt(value.replace('dip', '')));
326
+ return {
327
+ min_type: 3 /* MinSizingType.Points */,
328
+ min_value: dip,
329
+ max_type: 3 /* MaxSizingType.Points */,
330
+ max_value: dip,
331
+ };
332
+ }
333
+ else if (value.indexOf('%') > -1) {
334
+ const percent = parseFloat(value.replace('%', ''));
335
+ return {
336
+ min_type: 4 /* MinSizingType.Percent */,
337
+ min_value: percent,
338
+ max_type: 4 /* MaxSizingType.Percent */,
339
+ max_value: percent,
340
+ };
341
+ }
342
+ else {
343
+ const dip = Utils.layout.toDevicePixels(Number(value));
344
+ return {
345
+ min_type: 3 /* MinSizingType.Points */,
346
+ min_value: dip,
347
+ max_type: 3 /* MaxSizingType.Points */,
348
+ max_value: dip,
349
+ };
350
+ }
351
+ }
352
+ if (typeof value === 'number') {
353
+ const dip = Utils.layout.toDevicePixels(value);
354
+ return {
355
+ min_type: 3 /* MinSizingType.Points */,
356
+ min_value: dip,
357
+ max_type: 3 /* MaxSizingType.Points */,
358
+ max_value: dip,
359
+ };
360
+ }
361
+ return undefined;
362
+ }
363
+ const grid_templates_regex = /[^\s()]+(?:\([^\s()]+(?:\([^()]+\))?(?:, *[^\s()]+(?:\([^()]+\))?)*\))?/g;
364
+ export function _parseGridTemplates(value) {
365
+ const array = [];
366
+ if (typeof value === 'string') {
367
+ const values = Array.from(value.matchAll(grid_templates_regex), (m) => m[0]);
368
+ values.forEach((item) => {
369
+ if (item.startsWith('repeat(')) {
370
+ const repeatValue = item.replace('repeat(', '').replace(')', '');
371
+ const trackEnd = repeatValue.indexOf(',');
372
+ const repetition = repeatValue.substring(0, trackEnd);
373
+ const tracks = repeatValue
374
+ .substring(trackEnd + 1)
375
+ .split(' ')
376
+ .filter((a) => {
377
+ return a.length || a.trim() === ',';
378
+ });
379
+ let isValid = true;
380
+ let repeating_type = 0;
381
+ let repeat_count = 0;
382
+ switch (repetition) {
383
+ case 'repeat-fill':
384
+ repeating_type = 0 /* TSCGridTrackRepetition.AutoFill */;
385
+ break;
386
+ case 'repeat-fit':
387
+ repeating_type = 1 /* TSCGridTrackRepetition.AutoFit */;
388
+ break;
389
+ default:
390
+ {
391
+ const number = parseInt(repetition);
392
+ repeating_type = 2 /* TSCGridTrackRepetition.Count */;
393
+ isValid = !Number.isNaN(number);
394
+ if (isValid) {
395
+ repeat_count = number;
396
+ }
397
+ }
398
+ break;
399
+ }
400
+ if (isValid) {
401
+ const tracks_array = [];
402
+ tracks.forEach((track) => {
403
+ const minMax = _parseMinMaxValue(track.trim());
404
+ tracks_array.push(minMax);
405
+ });
406
+ array.push({
407
+ is_repeating: true,
408
+ repeating_type,
409
+ repeating_count: repeat_count,
410
+ value: tracks_array,
411
+ });
412
+ }
413
+ }
414
+ else {
415
+ const value = _parseMinMaxValue(item);
416
+ array.push({
417
+ is_repeating: false,
418
+ repeating_type: 0,
419
+ value,
420
+ });
421
+ }
422
+ });
423
+ }
424
+ return array;
425
+ }
426
+ export function _setGridTemplateRows(value, instance, initial = false) {
427
+ if (!instance[isMasonView_]) {
428
+ return;
429
+ }
430
+ const array = Array.create('org.nativescript.mason.masonkit.TrackSizingFunction', value.length);
431
+ const length = value.length;
432
+ for (let i = 0; i < length; i++) {
433
+ const item = value[i];
434
+ if (item.is_repeating) {
435
+ const repeating = item.value;
436
+ const tracks = Array.create('org.nativescript.mason.masonkit.MinMax', repeating.length);
437
+ let gridTrackRepetition = null;
438
+ switch (item.repeating_type) {
439
+ case 0 /* TSCGridTrackRepetition.AutoFill */:
440
+ gridTrackRepetition = org.nativescript.mason.masonkit.GridTrackRepetition.AutoFill;
441
+ break;
442
+ case 1 /* TSCGridTrackRepetition.AutoFit */:
443
+ gridTrackRepetition = org.nativescript.mason.masonkit.GridTrackRepetition.AutoFit;
444
+ break;
445
+ case 2 /* TSCGridTrackRepetition.Count */:
446
+ gridTrackRepetition = new org.nativescript.mason.masonkit.GridTrackRepetition.Count(item.repeating_count);
447
+ break;
448
+ }
449
+ if (gridTrackRepetition === null) {
450
+ continue;
451
+ }
452
+ const repeatingLength = repeating.length;
453
+ for (let j = 0; j < repeatingLength; j++) {
454
+ const repeat = repeating[j];
455
+ tracks[j] = org.nativescript.mason.masonkit.MinMax.fromTypeValue(repeat.min_type, repeat.min_value, repeat.max_type, repeat.max_value);
456
+ }
457
+ const repeat = new org.nativescript.mason.masonkit.TrackSizingFunction.AutoRepeat(gridTrackRepetition, tracks);
458
+ array[i] = repeat;
459
+ }
460
+ else {
461
+ const single = item.value;
462
+ const trackSizingFunction = new org.nativescript.mason.masonkit.TrackSizingFunction.Single(org.nativescript.mason.masonkit.MinMax.fromTypeValue(single.min_type, single.min_value, single.max_type, single.max_value));
463
+ array[i] = trackSizingFunction;
464
+ }
465
+ }
466
+ instance.android.setGridTemplateRows(array);
467
+ // org.nativescript.mason.masonkit.NodeHelper.getShared().setGridTemplateRows(instance.android, array);
468
+ }
469
+ export function _setGridTemplateColumns(value, instance, initial = false) {
470
+ if (!instance[isMasonView_]) {
471
+ return;
472
+ }
473
+ const array = Array.create('org.nativescript.mason.masonkit.TrackSizingFunction', value.length);
474
+ const length = value.length;
475
+ for (let i = 0; i < length; i++) {
476
+ const item = value[i];
477
+ if (item.is_repeating) {
478
+ const repeating = item.value;
479
+ const tracks = Array.create('org.nativescript.mason.masonkit.MinMax', repeating.length);
480
+ let gridTrackRepetition = null;
481
+ switch (item.repeating_type) {
482
+ case 0 /* TSCGridTrackRepetition.AutoFill */:
483
+ gridTrackRepetition = org.nativescript.mason.masonkit.GridTrackRepetition.AutoFill.INSTANCE;
484
+ break;
485
+ case 1 /* TSCGridTrackRepetition.AutoFit */:
486
+ gridTrackRepetition = org.nativescript.mason.masonkit.GridTrackRepetition.AutoFit.INSTANCE;
487
+ break;
488
+ case 2 /* TSCGridTrackRepetition.Count */:
489
+ gridTrackRepetition = new org.nativescript.mason.masonkit.GridTrackRepetition.Count(item.repeating_count);
490
+ break;
491
+ }
492
+ if (gridTrackRepetition === null) {
493
+ continue;
494
+ }
495
+ const repeatingLength = repeating.length;
496
+ for (let j = 0; j < repeatingLength; j++) {
497
+ const repeat = repeating[j];
498
+ tracks[j] = org.nativescript.mason.masonkit.MinMax.fromTypeValue(repeat.min_type, repeat.min_value, repeat.max_type, repeat.max_value);
499
+ }
500
+ const repeat = new org.nativescript.mason.masonkit.TrackSizingFunction.AutoRepeat(gridTrackRepetition, tracks);
501
+ array[i] = repeat;
502
+ }
503
+ else {
504
+ const single = item.value;
505
+ const minMax = single ? org.nativescript.mason.masonkit.MinMax.fromTypeValue(single.min_type, single.min_value, single.max_type, single.max_value) : org.nativescript.mason.masonkit.MinMax.Auto.INSTANCE;
506
+ const trackSizingFunction = new org.nativescript.mason.masonkit.TrackSizingFunction.Single(minMax);
507
+ array[i] = trackSizingFunction;
508
+ }
509
+ }
510
+ org.nativescript.mason.masonkit.NodeHelper.getShared().setGridTemplateColumns(instance.android, array);
511
+ }
512
+ export function _parseGridAutoRowsColumns(value) {
513
+ const array = [];
514
+ if (typeof value === 'string') {
515
+ const values = value.split(' ');
516
+ values.forEach((item) => {
517
+ const value = _parseMinMaxValue(item);
518
+ array.push({
519
+ is_repeating: false,
520
+ repeating_type: 0,
521
+ value,
522
+ });
523
+ });
524
+ }
525
+ return array;
526
+ }
527
+ export function _setGridAutoRows(value, instance, initial = false) {
528
+ if (!instance[isMasonView_]) {
529
+ return;
530
+ }
531
+ const values = _parseGridAutoRowsColumns(value);
532
+ const array = Array.create('org.nativescript.mason.masonkit.MinMax', values.length);
533
+ const length = array.length;
534
+ for (let i = 0; i < length; i++) {
535
+ const item = value[i];
536
+ const minMax = org.nativescript.mason.masonkit.MinMax.fromTypeValue(item.min_type, item.min_value, item.max_type, item.max_value);
537
+ array[i] = minMax;
538
+ }
539
+ if (instance.android?.setGridAutoRows) {
540
+ instance.android.setGridAutoRows(array);
541
+ }
542
+ else {
543
+ const style = org.nativescript.mason.masonkit.Mason.getShared().styleForView(instance.android);
544
+ if (style) {
545
+ style.setGridAutoRows(array);
546
+ }
547
+ }
548
+ }
549
+ export function _setGridAutoColumns(value, instance, initial = false) {
550
+ if (!instance[isMasonView_]) {
551
+ return;
552
+ }
553
+ const values = _parseGridAutoRowsColumns(value);
554
+ const array = Array.create('org.nativescript.mason.masonkit.MinMax', values.length);
555
+ const length = value.length;
556
+ for (let i = 0; i < length; i++) {
557
+ const item = value[i];
558
+ const minMax = org.nativescript.mason.masonkit.MinMax.fromTypeValue(item.min_type, item.min_value, item.max_type, item.max_value);
559
+ array[i] = minMax;
560
+ }
561
+ if (instance.android?.setGridAutoColumns) {
562
+ instance.android.setGridAutoColumns(array);
563
+ }
564
+ else {
565
+ const style = org.nativescript.mason.masonkit.Mason.getShared().styleForView(instance.android);
566
+ if (style) {
567
+ style.setGridAutoColumns(array);
568
+ }
569
+ }
570
+ }
571
+ export function _getGridTemplateRows(instance) {
572
+ if (!instance[isMasonView_]) {
573
+ return '';
574
+ }
575
+ if (__ANDROID__) {
576
+ return org.nativescript.mason.masonkit.StyleHelpers.gridTemplateRowsCSS(Tree.instance.native, instance.android);
577
+ }
578
+ const style = org.nativescript.mason.masonkit.Mason.getShared().styleForView(instance.android);
579
+ if (style) {
580
+ return style.getGridTemplateRows();
581
+ }
582
+ return [];
583
+ }
584
+ export function _getGridTemplateColumns(instance) {
585
+ if (!instance[isMasonView_]) {
586
+ return [];
587
+ }
588
+ const style = org.nativescript.mason.masonkit.Mason.getShared().styleForView(instance.android);
589
+ if (style) {
590
+ return style.getGridTemplateColumns();
591
+ }
592
+ return [];
593
+ }
594
+ //# sourceMappingURL=index.android.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.android.js","sourceRoot":"","sources":["../../../../packages/nativescript-masonkit/utils/index.android.ts"],"names":[],"mappings":"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"}