@triniwiz/nativescript-masonkit 1.0.0-beta.86 → 1.0.0-beta.88

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 (105) hide show
  1. package/DOCS.md +16 -4
  2. package/angular/README.md +204 -0
  3. package/angular/fesm2022/triniwiz-nativescript-masonkit-angular.mjs +496 -0
  4. package/angular/fesm2022/triniwiz-nativescript-masonkit-angular.mjs.map +1 -0
  5. package/angular/package.json +19 -0
  6. package/angular/types/triniwiz-nativescript-masonkit-angular.d.ts +181 -0
  7. package/button/index.android.d.ts +2 -1
  8. package/button/index.ios.d.ts +2 -1
  9. package/button/index.windows.d.ts +2 -1
  10. package/common.d.ts +102 -1
  11. package/common.js +116 -6
  12. package/common.js.map +1 -1
  13. package/img/index.android.d.ts +2 -1
  14. package/img/index.ios.d.ts +2 -1
  15. package/img/index.windows.d.ts +2 -1
  16. package/index.d.ts +21 -10
  17. package/input/index.android.d.ts +5 -1
  18. package/input/index.ios.d.ts +7 -1
  19. package/input/index.windows.d.ts +6 -1
  20. package/package.json +3 -1
  21. package/platforms/android/masonkit-release.aar +0 -0
  22. package/platforms/ios/Mason.xcframework/Info.plist +2 -36
  23. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +26 -0
  24. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/mason_native.h +27 -2
  25. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  26. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  27. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +2630 -979
  28. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +37 -1
  29. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  30. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +37 -1
  31. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  32. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8457 -8378
  33. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +52 -0
  34. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/mason_native.h +27 -2
  35. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  36. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  37. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  38. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +2630 -979
  39. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +37 -1
  40. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  41. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +37 -1
  42. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +2630 -979
  43. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +37 -1
  44. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  45. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +37 -1
  46. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +28 -28
  47. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  48. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8452 -8373
  49. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +8090 -8017
  50. package/platforms/windows/arm64/NativeScript.Mason.dll +0 -0
  51. package/platforms/windows/arm64/NativeScript.Mason.winmd +0 -0
  52. package/platforms/windows/x64/NativeScript.Mason.dll +0 -0
  53. package/platforms/windows/x64/NativeScript.Mason.winmd +0 -0
  54. package/properties.d.ts +4 -0
  55. package/properties.js +58 -15
  56. package/properties.js.map +1 -1
  57. package/style.d.ts +39 -37
  58. package/style.js +429 -110
  59. package/style.js.map +1 -1
  60. package/text/index.android.d.ts +3 -1
  61. package/text/index.ios.d.ts +3 -1
  62. package/text/index.windows.d.ts +2 -1
  63. package/textarea/index.android.d.ts +6 -2
  64. package/textarea/index.ios.d.ts +6 -2
  65. package/textarea/index.windows.d.ts +6 -2
  66. package/utils/index.android.d.ts +15 -6
  67. package/utils/index.android.js +83 -2
  68. package/utils/index.android.js.map +1 -1
  69. package/utils/index.ios.d.ts +15 -6
  70. package/utils/index.ios.js +83 -2
  71. package/utils/index.ios.js.map +1 -1
  72. package/utils/index.windows.d.ts +11 -2
  73. package/utils/index.windows.js +9 -0
  74. package/utils/index.windows.js.map +1 -1
  75. package/view/index.ios.js +14 -1
  76. package/view/index.ios.js.map +1 -1
  77. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Headers/Mason-Swift.h +0 -1982
  78. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Headers/Mason.h +0 -25
  79. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Headers/mason_native.h +0 -499
  80. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Info.plist +0 -0
  81. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Mason +0 -0
  82. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-xros.swiftsourceinfo +0 -0
  83. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.abi.json +0 -98937
  84. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.private.swiftinterface +0 -3475
  85. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.swiftdoc +0 -0
  86. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros.swiftinterface +0 -3475
  87. package/platforms/ios/Mason.xcframework/xros-arm64/Mason.framework/Modules/module.modulemap +0 -10
  88. package/platforms/ios/Mason.xcframework/xros-arm64/dSYMs/Mason.framework.dSYM/Contents/Info.plist +0 -20
  89. package/platforms/ios/Mason.xcframework/xros-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  90. package/platforms/ios/Mason.xcframework/xros-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +0 -2134
  91. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Headers/Mason-Swift.h +0 -1982
  92. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Headers/Mason.h +0 -25
  93. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Headers/mason_native.h +0 -499
  94. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Info.plist +0 -0
  95. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Mason +0 -0
  96. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-xros-simulator.swiftsourceinfo +0 -0
  97. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.abi.json +0 -98937
  98. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.private.swiftinterface +0 -3475
  99. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.swiftdoc +0 -0
  100. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-xros-simulator.swiftinterface +0 -3475
  101. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/Modules/module.modulemap +0 -10
  102. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/Mason.framework/_CodeSignature/CodeResources +0 -212
  103. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/dSYMs/Mason.framework.dSYM/Contents/Info.plist +0 -20
  104. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  105. package/platforms/ios/Mason.xcframework/xros-arm64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +0 -2134
@@ -536,6 +536,8 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonFlexWrap, "FlexWrap", open) {
536
536
  MasonFlexWrapNoWrap = 0,
537
537
  MasonFlexWrapWrap = 1,
538
538
  MasonFlexWrapWrapReverse = 2,
539
+ MasonFlexWrapBalance = 3,
540
+ MasonFlexWrapBalanceReverse = 4,
539
541
  };
540
542
 
541
543
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonFontStyle, "FontStyle", open) {
@@ -714,12 +716,24 @@ SWIFT_CLASS_NAMED("MasonDimensionCompat")
714
716
  @interface MasonDimensionCompat : NSObject
715
717
  - (nonnull instancetype)initWithPoints:(float)points OBJC_DESIGNATED_INITIALIZER;
716
718
  - (nonnull instancetype)initWithPercent:(float)percent OBJC_DESIGNATED_INITIALIZER;
719
+ - (nonnull instancetype)initWithFitContentPoints:(float)fitContentPoints OBJC_DESIGNATED_INITIALIZER;
720
+ - (nonnull instancetype)initWithFitContentPercent:(float)fitContentPercent OBJC_DESIGNATED_INITIALIZER;
717
721
  @property (nonatomic, readonly) enum MasonDimensionCompatType type;
718
722
  @property (nonatomic, readonly) float value;
719
723
  @property (nonatomic, readonly, copy) NSString * _Nonnull cssValue;
720
724
  @property (nonatomic, readonly, copy) NSString * _Nullable jsonValue;
721
725
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull Auto;)
722
726
  + (MasonDimensionCompat * _Nonnull)Auto SWIFT_WARN_UNUSED_RESULT;
727
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull MinContent;)
728
+ + (MasonDimensionCompat * _Nonnull)MinContent SWIFT_WARN_UNUSED_RESULT;
729
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull MaxContent;)
730
+ + (MasonDimensionCompat * _Nonnull)MaxContent SWIFT_WARN_UNUSED_RESULT;
731
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull FitContent;)
732
+ + (MasonDimensionCompat * _Nonnull)FitContent SWIFT_WARN_UNUSED_RESULT;
733
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull Stretch;)
734
+ + (MasonDimensionCompat * _Nonnull)Stretch SWIFT_WARN_UNUSED_RESULT;
735
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull Content;)
736
+ + (MasonDimensionCompat * _Nonnull)Content SWIFT_WARN_UNUSED_RESULT;
723
737
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull Zero;)
724
738
  + (MasonDimensionCompat * _Nonnull)Zero SWIFT_WARN_UNUSED_RESULT;
725
739
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
@@ -730,6 +744,13 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonDimensionCompatType, "MasonDimensionCom
730
744
  MasonDimensionCompatTypeAuto = 0,
731
745
  MasonDimensionCompatTypePoints = 1,
732
746
  MasonDimensionCompatTypePercent = 2,
747
+ MasonDimensionCompatTypeMinContent = 3,
748
+ MasonDimensionCompatTypeMaxContent = 4,
749
+ MasonDimensionCompatTypeFitContent = 5,
750
+ MasonDimensionCompatTypeFitContentPoints = 6,
751
+ MasonDimensionCompatTypeFitContentPercent = 7,
752
+ MasonDimensionCompatTypeStretch = 8,
753
+ MasonDimensionCompatTypeContent = 9,
733
754
  };
734
755
 
735
756
  SWIFT_CLASS_NAMED("MasonDimensionPointCompat")
@@ -1766,6 +1787,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) float scale;)
1766
1787
  - (void)mason_computeWithViewSize;
1767
1788
  - (void)mason_computeWithViewSizeWithLayout:(BOOL)layout;
1768
1789
  - (void)mason_computeWithMaxContent;
1790
+ - (void)mason_markRootComputeApplied;
1769
1791
  - (void)mason_computeWithMinContent;
1770
1792
  - (void)mason_attachAndApply;
1771
1793
  - (void)mason_requestLayout;
@@ -1959,6 +1981,10 @@ typedef SWIFT_ENUM(uint8_t, TransformOpType, open) {
1959
1981
  TransformOpTypeSkewY = 9,
1960
1982
  };
1961
1983
 
1984
+ @interface UIView (SWIFT_EXTENSION(Mason))
1985
+ - (UIView * _Nullable)mason_elementFromPoint:(CGFloat)x y:(CGFloat)y SWIFT_WARN_UNUSED_RESULT;
1986
+ @end
1987
+
1962
1988
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonWhiteSpace, "WhiteSpace", open) {
1963
1989
  MasonWhiteSpaceNormal = 0,
1964
1990
  MasonWhiteSpacePre = 1,
@@ -2514,6 +2540,8 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonFlexWrap, "FlexWrap", open) {
2514
2540
  MasonFlexWrapNoWrap = 0,
2515
2541
  MasonFlexWrapWrap = 1,
2516
2542
  MasonFlexWrapWrapReverse = 2,
2543
+ MasonFlexWrapBalance = 3,
2544
+ MasonFlexWrapBalanceReverse = 4,
2517
2545
  };
2518
2546
 
2519
2547
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonFontStyle, "FontStyle", open) {
@@ -2692,12 +2720,24 @@ SWIFT_CLASS_NAMED("MasonDimensionCompat")
2692
2720
  @interface MasonDimensionCompat : NSObject
2693
2721
  - (nonnull instancetype)initWithPoints:(float)points OBJC_DESIGNATED_INITIALIZER;
2694
2722
  - (nonnull instancetype)initWithPercent:(float)percent OBJC_DESIGNATED_INITIALIZER;
2723
+ - (nonnull instancetype)initWithFitContentPoints:(float)fitContentPoints OBJC_DESIGNATED_INITIALIZER;
2724
+ - (nonnull instancetype)initWithFitContentPercent:(float)fitContentPercent OBJC_DESIGNATED_INITIALIZER;
2695
2725
  @property (nonatomic, readonly) enum MasonDimensionCompatType type;
2696
2726
  @property (nonatomic, readonly) float value;
2697
2727
  @property (nonatomic, readonly, copy) NSString * _Nonnull cssValue;
2698
2728
  @property (nonatomic, readonly, copy) NSString * _Nullable jsonValue;
2699
2729
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull Auto;)
2700
2730
  + (MasonDimensionCompat * _Nonnull)Auto SWIFT_WARN_UNUSED_RESULT;
2731
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull MinContent;)
2732
+ + (MasonDimensionCompat * _Nonnull)MinContent SWIFT_WARN_UNUSED_RESULT;
2733
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull MaxContent;)
2734
+ + (MasonDimensionCompat * _Nonnull)MaxContent SWIFT_WARN_UNUSED_RESULT;
2735
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull FitContent;)
2736
+ + (MasonDimensionCompat * _Nonnull)FitContent SWIFT_WARN_UNUSED_RESULT;
2737
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull Stretch;)
2738
+ + (MasonDimensionCompat * _Nonnull)Stretch SWIFT_WARN_UNUSED_RESULT;
2739
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull Content;)
2740
+ + (MasonDimensionCompat * _Nonnull)Content SWIFT_WARN_UNUSED_RESULT;
2701
2741
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonDimensionCompat * _Nonnull Zero;)
2702
2742
  + (MasonDimensionCompat * _Nonnull)Zero SWIFT_WARN_UNUSED_RESULT;
2703
2743
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
@@ -2708,6 +2748,13 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonDimensionCompatType, "MasonDimensionCom
2708
2748
  MasonDimensionCompatTypeAuto = 0,
2709
2749
  MasonDimensionCompatTypePoints = 1,
2710
2750
  MasonDimensionCompatTypePercent = 2,
2751
+ MasonDimensionCompatTypeMinContent = 3,
2752
+ MasonDimensionCompatTypeMaxContent = 4,
2753
+ MasonDimensionCompatTypeFitContent = 5,
2754
+ MasonDimensionCompatTypeFitContentPoints = 6,
2755
+ MasonDimensionCompatTypeFitContentPercent = 7,
2756
+ MasonDimensionCompatTypeStretch = 8,
2757
+ MasonDimensionCompatTypeContent = 9,
2711
2758
  };
2712
2759
 
2713
2760
  SWIFT_CLASS_NAMED("MasonDimensionPointCompat")
@@ -3744,6 +3791,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) float scale;)
3744
3791
  - (void)mason_computeWithViewSize;
3745
3792
  - (void)mason_computeWithViewSizeWithLayout:(BOOL)layout;
3746
3793
  - (void)mason_computeWithMaxContent;
3794
+ - (void)mason_markRootComputeApplied;
3747
3795
  - (void)mason_computeWithMinContent;
3748
3796
  - (void)mason_attachAndApply;
3749
3797
  - (void)mason_requestLayout;
@@ -3937,6 +3985,10 @@ typedef SWIFT_ENUM(uint8_t, TransformOpType, open) {
3937
3985
  TransformOpTypeSkewY = 9,
3938
3986
  };
3939
3987
 
3988
+ @interface UIView (SWIFT_EXTENSION(Mason))
3989
+ - (UIView * _Nullable)mason_elementFromPoint:(CGFloat)x y:(CGFloat)y SWIFT_WARN_UNUSED_RESULT;
3990
+ @end
3991
+
3940
3992
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonWhiteSpace, "WhiteSpace", open) {
3941
3993
  MasonWhiteSpaceNormal = 0,
3942
3994
  MasonWhiteSpacePre = 1,
@@ -12,6 +12,20 @@ typedef struct CMason CMason;
12
12
 
13
13
  typedef struct CMasonNode CMasonNode;
14
14
 
15
+ /**
16
+ * User-agent default (font-size, margin) for a block text tag ("p",
17
+ * "h1".."h6", "blockquote", "pre"), in unscaled CSS px. Callers apply their
18
+ * own device-scale multiplier. Returns `false` (and leaves `out` untouched)
19
+ * if `tag` is null, not valid UTF-8, or has no UA default.
20
+ */
21
+ typedef struct CMasonUaDefault {
22
+ float font_size;
23
+ float margin_top;
24
+ float margin_bottom;
25
+ float margin_left;
26
+ float margin_right;
27
+ } CMasonUaDefault;
28
+
15
29
  typedef struct CMasonInlineTextSegment {
16
30
  float width;
17
31
  float ascent;
@@ -76,6 +90,17 @@ typedef struct CMasonMinMax {
76
90
 
77
91
  struct CMason *mason_init(void);
78
92
 
93
+ /**
94
+ * Like `mason_init`, but pre-reserves storage for `capacity` nodes up
95
+ * front instead of `Mason::new()`'s built-in default (512). Callers who
96
+ * know roughly how many nodes their screen/tree will have (e.g. a known
97
+ * list length) can pass that here to avoid the SlotMap/SecondaryMap
98
+ * doubling-reallocation churn that shows up as noisy compute_wh timings
99
+ * and ~2x extra peak memory on very large trees. `capacity` is a soft
100
+ * hint, not a hard limit - the tree still grows past it if needed.
101
+ */
102
+ struct CMason *mason_init_with_capacity(uintptr_t capacity);
103
+
79
104
  void mason_clear(struct CMason *mason);
80
105
 
81
106
  void mason_release(struct CMason *mason);
@@ -88,6 +113,8 @@ void mason_set_preflight(struct CMason *mason, bool enabled);
88
113
 
89
114
  bool mason_get_preflight(void);
90
115
 
116
+ bool mason_ua_default_for_tag(const char *tag, struct CMasonUaDefault *out);
117
+
91
118
  void *mason_get_buffer(struct CMason *mason, int handle);
92
119
 
93
120
  void mason_node_set_segments(struct CMason *mason,
@@ -354,9 +381,7 @@ void mason_node_set_context(struct CMason *mason,
354
381
  void mason_node_remove_context(struct CMason *mason, struct CMasonNode *node);
355
382
  #endif
356
383
 
357
- #if !defined(TARGET_OS_ANDROID)
358
384
  void mason_node_set_apple_node(struct CMason *mason, struct CMasonNode *node, void *apple_node);
359
- #endif
360
385
 
361
386
  void mason_style_update_non_buffer_data(struct CMason *mason,
362
387
  struct CMasonNode *node,