@triniwiz/nativescript-masonkit 1.0.0-beta.61 → 1.0.0-beta.63

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 (81) hide show
  1. package/DOCS.md +5 -5
  2. package/button/index.ios.js +2 -2
  3. package/button/index.ios.js.map +1 -1
  4. package/common.d.ts +8 -1
  5. package/common.js +183 -140
  6. package/common.js.map +1 -1
  7. package/img/index.ios.js +4 -2
  8. package/img/index.ios.js.map +1 -1
  9. package/index.android.d.ts +2 -0
  10. package/index.android.js +2 -0
  11. package/index.android.js.map +1 -1
  12. package/index.d.ts +10 -0
  13. package/index.ios.d.ts +2 -0
  14. package/index.ios.js +2 -0
  15. package/index.ios.js.map +1 -1
  16. package/input/index.ios.js +10 -2
  17. package/input/index.ios.js.map +1 -1
  18. package/li/index.android.d.ts +12 -0
  19. package/li/index.android.js +57 -0
  20. package/li/index.android.js.map +1 -0
  21. package/li/index.ios.d.ts +14 -0
  22. package/li/index.ios.js +125 -0
  23. package/li/index.ios.js.map +1 -0
  24. package/list/common.d.ts +33 -0
  25. package/list/common.js +157 -0
  26. package/list/common.js.map +1 -0
  27. package/list/index.android.d.ts +28 -0
  28. package/list/index.android.js +155 -0
  29. package/list/index.android.js.map +1 -0
  30. package/list/index.ios.d.ts +42 -0
  31. package/list/index.ios.js +321 -0
  32. package/list/index.ios.js.map +1 -0
  33. package/package.json +1 -1
  34. package/platforms/android/masonkit-release.aar +0 -0
  35. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +110 -24
  36. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/mason_native.h +57 -8
  37. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  38. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  39. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +63643 -39594
  40. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +777 -226
  41. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  42. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +777 -226
  43. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  44. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8210 -7413
  45. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +220 -48
  46. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/mason_native.h +57 -8
  47. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  48. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  49. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  50. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +63643 -39594
  51. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +777 -226
  52. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  53. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +777 -226
  54. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +63643 -39594
  55. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +777 -226
  56. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  57. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +777 -226
  58. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +28 -28
  59. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  60. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8205 -7408
  61. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +7869 -7103
  62. package/properties.d.ts +12 -1
  63. package/properties.js +57 -0
  64. package/properties.js.map +1 -1
  65. package/scroll/index.ios.js +6 -2
  66. package/scroll/index.ios.js.map +1 -1
  67. package/style.d.ts +22 -3
  68. package/style.js +512 -235
  69. package/style.js.map +1 -1
  70. package/text/index.ios.js +5 -2
  71. package/text/index.ios.js.map +1 -1
  72. package/tree/index.android.d.ts +2 -0
  73. package/tree/index.android.js +6 -0
  74. package/tree/index.android.js.map +1 -1
  75. package/tree/index.ios.d.ts +3 -1
  76. package/tree/index.ios.js +7 -1
  77. package/tree/index.ios.js.map +1 -1
  78. package/utils/index.android.d.ts +11 -0
  79. package/utils/index.ios.d.ts +11 -0
  80. package/view/index.ios.js +20 -4
  81. package/view/index.ios.js.map +1 -1
@@ -372,7 +372,7 @@ SWIFT_PROTOCOL_NAMED("TextContainer")
372
372
  @protocol MasonTextContainer <NSObject>
373
373
  @property (nonatomic, readonly, strong) MasonTextEngine * _Nonnull engine;
374
374
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
375
- - (void)onTextStyleChangedWithChange:(int64_t)change;
375
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
376
376
  @end
377
377
 
378
378
  @class MasonStyle;
@@ -399,9 +399,10 @@ SWIFT_CLASS_NAMED("Button")
399
399
  - (void)requestLayout;
400
400
  - (void)addView:(UIView * _Nonnull)view;
401
401
  - (void)addView:(UIView * _Nonnull)view at:(NSInteger)at;
402
+ - (void)layoutSubviews;
402
403
  - (void)drawRect:(CGRect)rect;
403
404
  @property (nonatomic, readonly, strong) NSMutableData * _Nonnull textValues;
404
- - (void)onTextStyleChangedWithChange:(int64_t)change;
405
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
405
406
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
406
407
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
407
408
  @end
@@ -410,9 +411,9 @@ SWIFT_CLASS_NAMED("Button")
410
411
  @class UIEvent;
411
412
  @interface MasonButton (SWIFT_EXTENSION(Mason))
412
413
  - (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
413
- - (void)touchesMoved:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
414
414
  - (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
415
415
  - (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
416
+ - (void)touchesMoved:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
416
417
  @end
417
418
 
418
419
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonClear, "Clear", open) {
@@ -531,6 +532,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) Class _Nonnull layer
531
532
  - (void)requestLayout;
532
533
  @property (nonatomic, copy) NSString * _Nullable src;
533
534
  - (void)updateImage:(UIImage * _Nullable)image;
535
+ - (void)layoutSubviews;
534
536
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
535
537
  - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
536
538
  @end
@@ -787,40 +789,43 @@ typedef SWIFT_ENUM_NAMED(int8_t, MasonInputType, "MasonInputType", open) {
787
789
  MasonInputTypeSubmit = 13,
788
790
  };
789
791
 
792
+ @class MasonRectHelper;
793
+ @class MasonSizeHelper;
790
794
  SWIFT_CLASS_NAMED("MasonLayout")
791
795
  @interface MasonLayout : NSObject
792
- @property (nonatomic, readonly) NSInteger order;
796
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonLayout * _Nonnull empty;)
797
+ + (MasonLayout * _Nonnull)empty SWIFT_WARN_UNUSED_RESULT;
793
798
  @property (nonatomic, readonly) float x;
794
799
  @property (nonatomic, readonly) float y;
795
800
  @property (nonatomic, readonly) float width;
796
801
  @property (nonatomic, readonly) float height;
797
- @property (nonatomic, readonly, copy) NSArray<MasonLayout *> * _Nonnull children;
798
- SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonLayout * _Nonnull zero;)
799
- + (MasonLayout * _Nonnull)zero SWIFT_WARN_UNUSED_RESULT;
800
- @property (nonatomic, readonly) BOOL hasChildren;
801
- @property (nonatomic, readonly) BOOL borderIsEmpty;
802
802
  @property (nonatomic, readonly) float borderTop;
803
803
  @property (nonatomic, readonly) float borderRight;
804
804
  @property (nonatomic, readonly) float borderBottom;
805
805
  @property (nonatomic, readonly) float borderLeft;
806
- @property (nonatomic, readonly) BOOL marginIsEmpty;
807
806
  @property (nonatomic, readonly) float marginTop;
808
807
  @property (nonatomic, readonly) float marginRight;
809
808
  @property (nonatomic, readonly) float marginBottom;
810
809
  @property (nonatomic, readonly) float marginLeft;
811
- @property (nonatomic, readonly) BOOL paddingIsEmpty;
812
810
  @property (nonatomic, readonly) float paddingTop;
813
811
  @property (nonatomic, readonly) float paddingRight;
814
812
  @property (nonatomic, readonly) float paddingBottom;
815
813
  @property (nonatomic, readonly) float paddingLeft;
814
+ @property (nonatomic, readonly) float contentWidth;
815
+ @property (nonatomic, readonly) float contentHeight;
816
+ @property (nonatomic, readonly) float scrollbarWidth;
817
+ @property (nonatomic, readonly) float scrollbarHeight;
816
818
  @property (nonatomic, readonly) BOOL sizeIsEmpty;
817
- @property (nonatomic, readonly) BOOL contentSizeIsEmpty;
818
- @property (nonatomic, readonly) float contentSizeWidth;
819
- @property (nonatomic, readonly) float contentSizeHeight;
820
- @property (nonatomic, readonly) BOOL scrollbarSizeIsEmpty;
821
- @property (nonatomic, readonly) float scrollbarSizeWidth;
822
- @property (nonatomic, readonly) float scrollbarSizeHeight;
823
- @property (nonatomic, readonly, copy) NSString * _Nonnull description;
819
+ @property (nonatomic, readonly) BOOL paddingIsEmpty;
820
+ @property (nonatomic, readonly) BOOL marginIsEmpty;
821
+ @property (nonatomic, readonly) BOOL borderIsEmpty;
822
+ @property (nonatomic, readonly, strong) MasonRectHelper * _Nonnull border;
823
+ @property (nonatomic, readonly, strong) MasonRectHelper * _Nonnull margin;
824
+ @property (nonatomic, readonly, strong) MasonRectHelper * _Nonnull padding;
825
+ @property (nonatomic, readonly, strong) MasonSizeHelper * _Nonnull contentSize;
826
+ @property (nonatomic, readonly, strong) MasonSizeHelper * _Nonnull scrollbarSize;
827
+ @property (nonatomic, readonly) BOOL hasChildren;
828
+ @property (nonatomic, readonly, copy) NSArray<MasonLayout *> * _Nonnull children;
824
829
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
825
830
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
826
831
  @end
@@ -945,20 +950,34 @@ SWIFT_CLASS_NAMED("MasonLi")
945
950
  @class NSIndexPath;
946
951
  @class UICollectionViewCell;
947
952
  SWIFT_CLASS_NAMED("MasonList")
948
- @interface MasonList : UIView <MasonElementObjc, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
953
+ @interface MasonList : UIView <MasonElementObjc, UICollectionViewDataSource, UICollectionViewDataSourcePrefetching, UICollectionViewDelegateFlowLayout>
949
954
  @property (nonatomic, strong) id <MasonListDelegate> _Nullable delegate;
950
955
  - (void)drawRect:(CGRect)rect;
951
956
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
952
957
  @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
953
958
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
954
959
  @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
960
+ /// Static items keyed by their position in the overall list.
961
+ /// Positions not in this dictionary are virtual (recycled via delegate).
962
+ @property (nonatomic, readonly, copy) NSDictionary<NSNumber *, MasonLi *> * _Nonnull staticItems;
963
+ /// Backward-compat: flat array of static views (unpositioned).
964
+ /// Setting this clears staticItems and assigns positions 0..<array.count.
965
+ @property (nonatomic, copy) NSArray<MasonLi *> * _Nonnull staticViews;
955
966
  @property (nonatomic, strong) NSMutableData * _Nonnull values;
967
+ /// Virtual item count (set by user). Total count = staticItems.count + this value.
956
968
  @property (nonatomic) NSInteger count;
957
969
  - (void)layoutSubviews;
958
970
  - (void)registerWithCellClass:(Class _Nullable)cellClass forCellWithReuseIdentifier:(NSString * _Nonnull)identifier;
971
+ /// Appends a static item at the end of the list (position = current count).
972
+ - (void)addView:(MasonLi * _Nonnull)item;
973
+ /// Inserts a static item at the given position, shifting existing entries at >= index.
974
+ - (void)addView:(MasonLi * _Nonnull)item at:(NSInteger)index;
959
975
  - (void)reload;
960
976
  @property (nonatomic) BOOL isOrdered;
961
977
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
978
+ - (void)invalidateSizeCache;
979
+ - (void)invalidateSizeCacheAt:(NSInteger)index;
980
+ - (void)collectionView:(UICollectionView * _Nonnull)collectionView prefetchItemsAtIndexPaths:(NSArray<NSIndexPath *> * _Nonnull)indexPaths;
962
981
  - (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
963
982
  - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT;
964
983
  - (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
@@ -972,6 +991,20 @@ SWIFT_PROTOCOL_NAMED("MasonListDelegate")
972
991
  - (void)list:(UICollectionView * _Nonnull)list willDisplay:(UICollectionViewCell * _Nonnull)cell forItemAt:(NSIndexPath * _Nonnull)indexPath;
973
992
  @end
974
993
 
994
+ @class UICollectionViewLayoutAttributes;
995
+ SWIFT_CLASS_NAMED("MasonListCell")
996
+ @interface MasonListCell : UICollectionViewCell
997
+ @property (nonatomic, copy) void (^ _Nullable willMove)(MasonListCell * _Nonnull);
998
+ + (MasonListCell * _Nonnull)initWithEmptyBackground SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT;
999
+ - (void)setViewWithCompat:(id <MasonElementObjc> _Nullable)view;
1000
+ - (void)willMoveToSuperview:(UIView * _Nullable)newSuperview;
1001
+ - (void)prepareForReuse;
1002
+ - (UICollectionViewLayoutAttributes * _Nonnull)preferredLayoutAttributesFittingAttributes:(UICollectionViewLayoutAttributes * _Nonnull)layoutAttributes SWIFT_WARN_UNUSED_RESULT;
1003
+ - (void)layoutSubviews;
1004
+ - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
1005
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
1006
+ @end
1007
+
975
1008
  @class MasonMouseEventOptions;
976
1009
  SWIFT_CLASS_NAMED("MasonMouseEvent")
977
1010
  @interface MasonMouseEvent : MasonEvent
@@ -1011,6 +1044,9 @@ SWIFT_CLASS_NAMED("MasonNode")
1011
1044
  @property (nonatomic, readonly) void * _Nullable nativePtr;
1012
1045
  @property (nonatomic, readonly, strong) MasonLayout * _Nonnull computedLayout;
1013
1046
  @property (nonatomic, readonly, strong) MasonDocument * _Nullable document;
1047
+ - (void)setPseudoString:(uint16_t)pseudoState key:(NSString * _Nonnull)key value:(NSString * _Nonnull)value;
1048
+ - (NSString * _Nullable)getPseudoString:(uint16_t)pseudoState key:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
1049
+ - (void)clearPseudoString:(uint16_t)pseudoState key:(NSString * _Nonnull)key;
1014
1050
  - (MasonNode * _Nonnull)getRootNode SWIFT_WARN_UNUSED_RESULT;
1015
1051
  @property (nonatomic, readonly, strong) MasonNode * _Nullable parent;
1016
1052
  @property (nonatomic, readonly, strong) MasonNode * _Nullable parentNode;
@@ -1031,6 +1067,15 @@ SWIFT_CLASS_NAMED("MasonNode")
1031
1067
  @interface MasonNode (SWIFT_EXTENSION(Mason))
1032
1068
  - (void)setChildrenWithValue:(NSArray<MasonNode *> * _Nonnull)value;
1033
1069
  - (void)appendChild:(MasonNode * _Nonnull)child;
1070
+ - (void)removeAllChildren;
1071
+ @end
1072
+
1073
+ enum PseudoState : uint16_t;
1074
+ @interface MasonNode (SWIFT_EXTENSION(Mason))
1075
+ /// Current active pseudo state bitmask read from the native state buffer.
1076
+ @property (nonatomic, readonly) uint16_t pseudoMask;
1077
+ - (BOOL)hasPseudo:(enum PseudoState)state SWIFT_WARN_UNUSED_RESULT;
1078
+ - (void)setPseudo:(enum PseudoState)state :(BOOL)enabled autoDirty:(BOOL)autoDirty;
1034
1079
  @end
1035
1080
 
1036
1081
  typedef SWIFT_ENUM_NAMED(int32_t, MasonNodeType, "MasonNodeType", open) {
@@ -1049,6 +1094,25 @@ SWIFT_CLASS_NAMED("MasonOverflowPointCompat")
1049
1094
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1050
1095
  @end
1051
1096
 
1097
+ SWIFT_CLASS_NAMED("MasonRectHelper")
1098
+ @interface MasonRectHelper : NSObject
1099
+ @property (nonatomic, readonly) float top;
1100
+ @property (nonatomic, readonly) float right;
1101
+ @property (nonatomic, readonly) float bottom;
1102
+ @property (nonatomic, readonly) float left;
1103
+ - (BOOL)isEmpty SWIFT_WARN_UNUSED_RESULT;
1104
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1105
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1106
+ @end
1107
+
1108
+ SWIFT_CLASS_NAMED("MasonSizeHelper")
1109
+ @interface MasonSizeHelper : NSObject
1110
+ @property (nonatomic, readonly) float width;
1111
+ @property (nonatomic, readonly) float height;
1112
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1113
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1114
+ @end
1115
+
1052
1116
  @class NSCFontFace;
1053
1117
  @class MasonVerticalAlignValue;
1054
1118
  enum MasonObjectFit : NSInteger;
@@ -1065,7 +1129,6 @@ SWIFT_CLASS_NAMED("MasonStyle")
1065
1129
  @property (nonatomic, readonly, strong) NSCFontFace * _Null_unspecified font;
1066
1130
  - (void)prepareMut;
1067
1131
  @property (nonatomic, readonly, strong) NSMutableData * _Nonnull values;
1068
- @property (nonatomic, strong) NSMutableData * _Nonnull textValues;
1069
1132
  - (nonnull instancetype)initWithNode:(MasonNode * _Nonnull)node OBJC_DESIGNATED_INITIALIZER;
1070
1133
  @property (nonatomic) enum MasonListStylePosition listStylePosition;
1071
1134
  @property (nonatomic) enum MasonListStyleType listStyleType;
@@ -1091,8 +1154,10 @@ SWIFT_CLASS_NAMED("MasonStyle")
1091
1154
  - (void)setLineHeight:(float)value :(BOOL)isRelative;
1092
1155
  @property (nonatomic) float lineHeight;
1093
1156
  @property (nonatomic) float letterSpacing;
1157
+ @property (nonatomic, copy) NSString * _Nonnull fontVariantNumericString;
1094
1158
  @property (nonatomic) uint32_t decorationColor;
1095
1159
  - (void)setDecorationColorWithUi:(UIColor * _Nonnull)color;
1160
+ - (void)setDecorationColorWithCss:(NSString * _Nonnull)color;
1096
1161
  @property (nonatomic) enum MasonDecorationLine decorationLine;
1097
1162
  @property (nonatomic) int32_t fontSize;
1098
1163
  - (void)setFontStyle:(enum MasonFontStyle)style :(int32_t)slant;
@@ -1137,7 +1202,13 @@ SWIFT_CLASS_NAMED("MasonStyle")
1137
1202
  - (void)setPaddingBottom:(float)value :(NSInteger)type;
1138
1203
  - (void)setPaddingWithValueType:(float)value :(NSInteger)type;
1139
1204
  @property (nonatomic, copy) NSString * _Nonnull textShadow;
1205
+ @property (nonatomic, copy) NSString * _Nonnull boxShadow;
1140
1206
  @property (nonatomic, copy) NSString * _Nonnull borderRadius;
1207
+ @property (nonatomic, copy) NSString * _Nonnull cornerShape;
1208
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeTopLeft;
1209
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeTopRight;
1210
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeBottomRight;
1211
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeBottomLeft;
1141
1212
  @property (nonatomic, copy) NSString * _Nonnull border;
1142
1213
  @property (nonatomic, strong) MasonLengthPercentageRectCompat * _Nonnull borderWidthCompat;
1143
1214
  - (void)setBorderLeftWidth:(float)value :(NSInteger)type;
@@ -1199,13 +1270,14 @@ SWIFT_CLASS_NAMED("MasonText")
1199
1270
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) Class _Nonnull layerClass;)
1200
1271
  + (Class _Nonnull)layerClass SWIFT_WARN_UNUSED_RESULT;
1201
1272
  @property (nonatomic, readonly, strong) NSMutableData * _Nonnull textValues;
1202
- - (void)onTextStyleChangedWithChange:(int64_t)change;
1273
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
1203
1274
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
1204
1275
  @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
1205
1276
  - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)mason type:(enum MasonTextType)textType OBJC_DESIGNATED_INITIALIZER;
1206
1277
  - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)mason OBJC_DESIGNATED_INITIALIZER;
1207
1278
  - (void)setNeedsDisplay;
1208
1279
  - (void)requestLayout;
1280
+ - (void)layoutSubviews;
1209
1281
  - (void)addView:(UIView * _Nonnull)view;
1210
1282
  - (void)addView:(UIView * _Nonnull)view at:(NSInteger)at;
1211
1283
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
@@ -1299,6 +1371,7 @@ SWIFT_CLASS_NAMED("MasonUIView")
1299
1371
  @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
1300
1372
  - (void)markNodeDirty;
1301
1373
  - (BOOL)isNodeDirty SWIFT_WARN_UNUSED_RESULT;
1374
+ - (void)layoutSubviews;
1302
1375
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
1303
1376
  + (MasonUIView * _Nonnull)createGridView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
1304
1377
  + (MasonUIView * _Nonnull)createFlexView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
@@ -1340,7 +1413,7 @@ SWIFT_CLASS_NAMED("MasonUIView")
1340
1413
  @property (nonatomic, copy) NSString * _Nonnull gridRowEnd;
1341
1414
  @property (nonatomic, copy) NSString * _Nonnull gridTemplateRows;
1342
1415
  @property (nonatomic, copy) NSString * _Nonnull gridTemplateColumns;
1343
- - (void)setPadding:(float)left :(float)right :(float)top :(float)bottom;
1416
+ - (void)setPadding:(float)left :(float)top :(float)right :(float)bottom;
1344
1417
  - (MasonLengthPercentageRectCompat * _Nonnull)getPadding SWIFT_WARN_UNUSED_RESULT;
1345
1418
  - (void)setPaddingLeft:(float)left :(NSInteger)type;
1346
1419
  - (void)setPaddingRight:(float)right :(NSInteger)type;
@@ -1475,7 +1548,8 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MinSizing *
1475
1548
  @end
1476
1549
 
1477
1550
  SWIFT_CLASS_NAMED("NSCFontDescriptors")
1478
- @interface NSCFontDescriptors : NSObject
1551
+ @interface NSCFontDescriptors : NSObject <NSMutableCopying>
1552
+ - (id _Nonnull)mutableCopyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
1479
1553
  - (nonnull instancetype)initWithFamily:(NSString * _Nonnull)family OBJC_DESIGNATED_INITIALIZER;
1480
1554
  - (void)update:(NSString * _Nonnull)value;
1481
1555
  - (void)setFontWeight:(NSString * _Nonnull)value;
@@ -1613,7 +1687,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) NSCMason * _Nonnull sh
1613
1687
  - (BOOL)mason_removeEventListener:(NSString * _Nonnull)event id:(NSUUID * _Nonnull)id;
1614
1688
  - (BOOL)mason_removeEventListener:(NSString * _Nonnull)event;
1615
1689
  - (void)mason_dispatch:(MasonEvent * _Nonnull)event;
1616
- - (void)mason_syncStyle:(NSString * _Nonnull)state :(NSString * _Nonnull)textState;
1690
+ - (void)mason_syncStyle:(NSString * _Nonnull)low :(NSString * _Nonnull)high;
1617
1691
  - (void)mason_addView:(UIView * _Nonnull)view;
1618
1692
  - (void)mason_addView:(UIView * _Nonnull)view at:(NSInteger)at;
1619
1693
  - (void)mason_markNodeDirty;
@@ -1673,9 +1747,21 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonPosition, "Position", open) {
1673
1747
  MasonPositionAbsolute = 1,
1674
1748
  };
1675
1749
 
1750
+ typedef SWIFT_ENUM_NAMED(uint16_t, PseudoState, "PseudoState", open) {
1751
+ PseudoStateDefault = 0,
1752
+ PseudoStateHover = 0x01,
1753
+ PseudoStateActive = 0x02,
1754
+ PseudoStateFocus = 0x04,
1755
+ PseudoStateFocusWithin = 0x08,
1756
+ PseudoStateFocusVisible = 0x10,
1757
+ PseudoStateDisabled = 0x40,
1758
+ PseudoStateChecked = 0x80,
1759
+ };
1760
+
1676
1761
  SWIFT_CLASS_NAMED("Scroll")
1677
1762
  @interface MasonScroll : UIScrollView <MasonElementObjc, UIScrollViewDelegate>
1678
1763
  - (void)drawRect:(CGRect)rect;
1764
+ - (void)layoutSubviews;
1679
1765
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
1680
1766
  @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
1681
1767
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
@@ -2178,7 +2264,7 @@ SWIFT_PROTOCOL_NAMED("TextContainer")
2178
2264
  @protocol MasonTextContainer <NSObject>
2179
2265
  @property (nonatomic, readonly, strong) MasonTextEngine * _Nonnull engine;
2180
2266
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
2181
- - (void)onTextStyleChangedWithChange:(int64_t)change;
2267
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
2182
2268
  @end
2183
2269
 
2184
2270
  @class MasonStyle;
@@ -2205,9 +2291,10 @@ SWIFT_CLASS_NAMED("Button")
2205
2291
  - (void)requestLayout;
2206
2292
  - (void)addView:(UIView * _Nonnull)view;
2207
2293
  - (void)addView:(UIView * _Nonnull)view at:(NSInteger)at;
2294
+ - (void)layoutSubviews;
2208
2295
  - (void)drawRect:(CGRect)rect;
2209
2296
  @property (nonatomic, readonly, strong) NSMutableData * _Nonnull textValues;
2210
- - (void)onTextStyleChangedWithChange:(int64_t)change;
2297
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
2211
2298
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
2212
2299
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
2213
2300
  @end
@@ -2216,9 +2303,9 @@ SWIFT_CLASS_NAMED("Button")
2216
2303
  @class UIEvent;
2217
2304
  @interface MasonButton (SWIFT_EXTENSION(Mason))
2218
2305
  - (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
2219
- - (void)touchesMoved:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
2220
2306
  - (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
2221
2307
  - (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
2308
+ - (void)touchesMoved:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
2222
2309
  @end
2223
2310
 
2224
2311
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonClear, "Clear", open) {
@@ -2337,6 +2424,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) Class _Nonnull layer
2337
2424
  - (void)requestLayout;
2338
2425
  @property (nonatomic, copy) NSString * _Nullable src;
2339
2426
  - (void)updateImage:(UIImage * _Nullable)image;
2427
+ - (void)layoutSubviews;
2340
2428
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
2341
2429
  - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
2342
2430
  @end
@@ -2593,40 +2681,43 @@ typedef SWIFT_ENUM_NAMED(int8_t, MasonInputType, "MasonInputType", open) {
2593
2681
  MasonInputTypeSubmit = 13,
2594
2682
  };
2595
2683
 
2684
+ @class MasonRectHelper;
2685
+ @class MasonSizeHelper;
2596
2686
  SWIFT_CLASS_NAMED("MasonLayout")
2597
2687
  @interface MasonLayout : NSObject
2598
- @property (nonatomic, readonly) NSInteger order;
2688
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonLayout * _Nonnull empty;)
2689
+ + (MasonLayout * _Nonnull)empty SWIFT_WARN_UNUSED_RESULT;
2599
2690
  @property (nonatomic, readonly) float x;
2600
2691
  @property (nonatomic, readonly) float y;
2601
2692
  @property (nonatomic, readonly) float width;
2602
2693
  @property (nonatomic, readonly) float height;
2603
- @property (nonatomic, readonly, copy) NSArray<MasonLayout *> * _Nonnull children;
2604
- SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonLayout * _Nonnull zero;)
2605
- + (MasonLayout * _Nonnull)zero SWIFT_WARN_UNUSED_RESULT;
2606
- @property (nonatomic, readonly) BOOL hasChildren;
2607
- @property (nonatomic, readonly) BOOL borderIsEmpty;
2608
2694
  @property (nonatomic, readonly) float borderTop;
2609
2695
  @property (nonatomic, readonly) float borderRight;
2610
2696
  @property (nonatomic, readonly) float borderBottom;
2611
2697
  @property (nonatomic, readonly) float borderLeft;
2612
- @property (nonatomic, readonly) BOOL marginIsEmpty;
2613
2698
  @property (nonatomic, readonly) float marginTop;
2614
2699
  @property (nonatomic, readonly) float marginRight;
2615
2700
  @property (nonatomic, readonly) float marginBottom;
2616
2701
  @property (nonatomic, readonly) float marginLeft;
2617
- @property (nonatomic, readonly) BOOL paddingIsEmpty;
2618
2702
  @property (nonatomic, readonly) float paddingTop;
2619
2703
  @property (nonatomic, readonly) float paddingRight;
2620
2704
  @property (nonatomic, readonly) float paddingBottom;
2621
2705
  @property (nonatomic, readonly) float paddingLeft;
2706
+ @property (nonatomic, readonly) float contentWidth;
2707
+ @property (nonatomic, readonly) float contentHeight;
2708
+ @property (nonatomic, readonly) float scrollbarWidth;
2709
+ @property (nonatomic, readonly) float scrollbarHeight;
2622
2710
  @property (nonatomic, readonly) BOOL sizeIsEmpty;
2623
- @property (nonatomic, readonly) BOOL contentSizeIsEmpty;
2624
- @property (nonatomic, readonly) float contentSizeWidth;
2625
- @property (nonatomic, readonly) float contentSizeHeight;
2626
- @property (nonatomic, readonly) BOOL scrollbarSizeIsEmpty;
2627
- @property (nonatomic, readonly) float scrollbarSizeWidth;
2628
- @property (nonatomic, readonly) float scrollbarSizeHeight;
2629
- @property (nonatomic, readonly, copy) NSString * _Nonnull description;
2711
+ @property (nonatomic, readonly) BOOL paddingIsEmpty;
2712
+ @property (nonatomic, readonly) BOOL marginIsEmpty;
2713
+ @property (nonatomic, readonly) BOOL borderIsEmpty;
2714
+ @property (nonatomic, readonly, strong) MasonRectHelper * _Nonnull border;
2715
+ @property (nonatomic, readonly, strong) MasonRectHelper * _Nonnull margin;
2716
+ @property (nonatomic, readonly, strong) MasonRectHelper * _Nonnull padding;
2717
+ @property (nonatomic, readonly, strong) MasonSizeHelper * _Nonnull contentSize;
2718
+ @property (nonatomic, readonly, strong) MasonSizeHelper * _Nonnull scrollbarSize;
2719
+ @property (nonatomic, readonly) BOOL hasChildren;
2720
+ @property (nonatomic, readonly, copy) NSArray<MasonLayout *> * _Nonnull children;
2630
2721
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2631
2722
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2632
2723
  @end
@@ -2751,20 +2842,34 @@ SWIFT_CLASS_NAMED("MasonLi")
2751
2842
  @class NSIndexPath;
2752
2843
  @class UICollectionViewCell;
2753
2844
  SWIFT_CLASS_NAMED("MasonList")
2754
- @interface MasonList : UIView <MasonElementObjc, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout>
2845
+ @interface MasonList : UIView <MasonElementObjc, UICollectionViewDataSource, UICollectionViewDataSourcePrefetching, UICollectionViewDelegateFlowLayout>
2755
2846
  @property (nonatomic, strong) id <MasonListDelegate> _Nullable delegate;
2756
2847
  - (void)drawRect:(CGRect)rect;
2757
2848
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
2758
2849
  @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
2759
2850
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
2760
2851
  @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
2852
+ /// Static items keyed by their position in the overall list.
2853
+ /// Positions not in this dictionary are virtual (recycled via delegate).
2854
+ @property (nonatomic, readonly, copy) NSDictionary<NSNumber *, MasonLi *> * _Nonnull staticItems;
2855
+ /// Backward-compat: flat array of static views (unpositioned).
2856
+ /// Setting this clears staticItems and assigns positions 0..<array.count.
2857
+ @property (nonatomic, copy) NSArray<MasonLi *> * _Nonnull staticViews;
2761
2858
  @property (nonatomic, strong) NSMutableData * _Nonnull values;
2859
+ /// Virtual item count (set by user). Total count = staticItems.count + this value.
2762
2860
  @property (nonatomic) NSInteger count;
2763
2861
  - (void)layoutSubviews;
2764
2862
  - (void)registerWithCellClass:(Class _Nullable)cellClass forCellWithReuseIdentifier:(NSString * _Nonnull)identifier;
2863
+ /// Appends a static item at the end of the list (position = current count).
2864
+ - (void)addView:(MasonLi * _Nonnull)item;
2865
+ /// Inserts a static item at the given position, shifting existing entries at >= index.
2866
+ - (void)addView:(MasonLi * _Nonnull)item at:(NSInteger)index;
2765
2867
  - (void)reload;
2766
2868
  @property (nonatomic) BOOL isOrdered;
2767
2869
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
2870
+ - (void)invalidateSizeCache;
2871
+ - (void)invalidateSizeCacheAt:(NSInteger)index;
2872
+ - (void)collectionView:(UICollectionView * _Nonnull)collectionView prefetchItemsAtIndexPaths:(NSArray<NSIndexPath *> * _Nonnull)indexPaths;
2768
2873
  - (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
2769
2874
  - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT;
2770
2875
  - (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
@@ -2778,6 +2883,20 @@ SWIFT_PROTOCOL_NAMED("MasonListDelegate")
2778
2883
  - (void)list:(UICollectionView * _Nonnull)list willDisplay:(UICollectionViewCell * _Nonnull)cell forItemAt:(NSIndexPath * _Nonnull)indexPath;
2779
2884
  @end
2780
2885
 
2886
+ @class UICollectionViewLayoutAttributes;
2887
+ SWIFT_CLASS_NAMED("MasonListCell")
2888
+ @interface MasonListCell : UICollectionViewCell
2889
+ @property (nonatomic, copy) void (^ _Nullable willMove)(MasonListCell * _Nonnull);
2890
+ + (MasonListCell * _Nonnull)initWithEmptyBackground SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT;
2891
+ - (void)setViewWithCompat:(id <MasonElementObjc> _Nullable)view;
2892
+ - (void)willMoveToSuperview:(UIView * _Nullable)newSuperview;
2893
+ - (void)prepareForReuse;
2894
+ - (UICollectionViewLayoutAttributes * _Nonnull)preferredLayoutAttributesFittingAttributes:(UICollectionViewLayoutAttributes * _Nonnull)layoutAttributes SWIFT_WARN_UNUSED_RESULT;
2895
+ - (void)layoutSubviews;
2896
+ - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
2897
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
2898
+ @end
2899
+
2781
2900
  @class MasonMouseEventOptions;
2782
2901
  SWIFT_CLASS_NAMED("MasonMouseEvent")
2783
2902
  @interface MasonMouseEvent : MasonEvent
@@ -2817,6 +2936,9 @@ SWIFT_CLASS_NAMED("MasonNode")
2817
2936
  @property (nonatomic, readonly) void * _Nullable nativePtr;
2818
2937
  @property (nonatomic, readonly, strong) MasonLayout * _Nonnull computedLayout;
2819
2938
  @property (nonatomic, readonly, strong) MasonDocument * _Nullable document;
2939
+ - (void)setPseudoString:(uint16_t)pseudoState key:(NSString * _Nonnull)key value:(NSString * _Nonnull)value;
2940
+ - (NSString * _Nullable)getPseudoString:(uint16_t)pseudoState key:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
2941
+ - (void)clearPseudoString:(uint16_t)pseudoState key:(NSString * _Nonnull)key;
2820
2942
  - (MasonNode * _Nonnull)getRootNode SWIFT_WARN_UNUSED_RESULT;
2821
2943
  @property (nonatomic, readonly, strong) MasonNode * _Nullable parent;
2822
2944
  @property (nonatomic, readonly, strong) MasonNode * _Nullable parentNode;
@@ -2837,6 +2959,15 @@ SWIFT_CLASS_NAMED("MasonNode")
2837
2959
  @interface MasonNode (SWIFT_EXTENSION(Mason))
2838
2960
  - (void)setChildrenWithValue:(NSArray<MasonNode *> * _Nonnull)value;
2839
2961
  - (void)appendChild:(MasonNode * _Nonnull)child;
2962
+ - (void)removeAllChildren;
2963
+ @end
2964
+
2965
+ enum PseudoState : uint16_t;
2966
+ @interface MasonNode (SWIFT_EXTENSION(Mason))
2967
+ /// Current active pseudo state bitmask read from the native state buffer.
2968
+ @property (nonatomic, readonly) uint16_t pseudoMask;
2969
+ - (BOOL)hasPseudo:(enum PseudoState)state SWIFT_WARN_UNUSED_RESULT;
2970
+ - (void)setPseudo:(enum PseudoState)state :(BOOL)enabled autoDirty:(BOOL)autoDirty;
2840
2971
  @end
2841
2972
 
2842
2973
  typedef SWIFT_ENUM_NAMED(int32_t, MasonNodeType, "MasonNodeType", open) {
@@ -2855,6 +2986,25 @@ SWIFT_CLASS_NAMED("MasonOverflowPointCompat")
2855
2986
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2856
2987
  @end
2857
2988
 
2989
+ SWIFT_CLASS_NAMED("MasonRectHelper")
2990
+ @interface MasonRectHelper : NSObject
2991
+ @property (nonatomic, readonly) float top;
2992
+ @property (nonatomic, readonly) float right;
2993
+ @property (nonatomic, readonly) float bottom;
2994
+ @property (nonatomic, readonly) float left;
2995
+ - (BOOL)isEmpty SWIFT_WARN_UNUSED_RESULT;
2996
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2997
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2998
+ @end
2999
+
3000
+ SWIFT_CLASS_NAMED("MasonSizeHelper")
3001
+ @interface MasonSizeHelper : NSObject
3002
+ @property (nonatomic, readonly) float width;
3003
+ @property (nonatomic, readonly) float height;
3004
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
3005
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
3006
+ @end
3007
+
2858
3008
  @class NSCFontFace;
2859
3009
  @class MasonVerticalAlignValue;
2860
3010
  enum MasonObjectFit : NSInteger;
@@ -2871,7 +3021,6 @@ SWIFT_CLASS_NAMED("MasonStyle")
2871
3021
  @property (nonatomic, readonly, strong) NSCFontFace * _Null_unspecified font;
2872
3022
  - (void)prepareMut;
2873
3023
  @property (nonatomic, readonly, strong) NSMutableData * _Nonnull values;
2874
- @property (nonatomic, strong) NSMutableData * _Nonnull textValues;
2875
3024
  - (nonnull instancetype)initWithNode:(MasonNode * _Nonnull)node OBJC_DESIGNATED_INITIALIZER;
2876
3025
  @property (nonatomic) enum MasonListStylePosition listStylePosition;
2877
3026
  @property (nonatomic) enum MasonListStyleType listStyleType;
@@ -2897,8 +3046,10 @@ SWIFT_CLASS_NAMED("MasonStyle")
2897
3046
  - (void)setLineHeight:(float)value :(BOOL)isRelative;
2898
3047
  @property (nonatomic) float lineHeight;
2899
3048
  @property (nonatomic) float letterSpacing;
3049
+ @property (nonatomic, copy) NSString * _Nonnull fontVariantNumericString;
2900
3050
  @property (nonatomic) uint32_t decorationColor;
2901
3051
  - (void)setDecorationColorWithUi:(UIColor * _Nonnull)color;
3052
+ - (void)setDecorationColorWithCss:(NSString * _Nonnull)color;
2902
3053
  @property (nonatomic) enum MasonDecorationLine decorationLine;
2903
3054
  @property (nonatomic) int32_t fontSize;
2904
3055
  - (void)setFontStyle:(enum MasonFontStyle)style :(int32_t)slant;
@@ -2943,7 +3094,13 @@ SWIFT_CLASS_NAMED("MasonStyle")
2943
3094
  - (void)setPaddingBottom:(float)value :(NSInteger)type;
2944
3095
  - (void)setPaddingWithValueType:(float)value :(NSInteger)type;
2945
3096
  @property (nonatomic, copy) NSString * _Nonnull textShadow;
3097
+ @property (nonatomic, copy) NSString * _Nonnull boxShadow;
2946
3098
  @property (nonatomic, copy) NSString * _Nonnull borderRadius;
3099
+ @property (nonatomic, copy) NSString * _Nonnull cornerShape;
3100
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeTopLeft;
3101
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeTopRight;
3102
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeBottomRight;
3103
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeBottomLeft;
2947
3104
  @property (nonatomic, copy) NSString * _Nonnull border;
2948
3105
  @property (nonatomic, strong) MasonLengthPercentageRectCompat * _Nonnull borderWidthCompat;
2949
3106
  - (void)setBorderLeftWidth:(float)value :(NSInteger)type;
@@ -3005,13 +3162,14 @@ SWIFT_CLASS_NAMED("MasonText")
3005
3162
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) Class _Nonnull layerClass;)
3006
3163
  + (Class _Nonnull)layerClass SWIFT_WARN_UNUSED_RESULT;
3007
3164
  @property (nonatomic, readonly, strong) NSMutableData * _Nonnull textValues;
3008
- - (void)onTextStyleChangedWithChange:(int64_t)change;
3165
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
3009
3166
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
3010
3167
  @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
3011
3168
  - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)mason type:(enum MasonTextType)textType OBJC_DESIGNATED_INITIALIZER;
3012
3169
  - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)mason OBJC_DESIGNATED_INITIALIZER;
3013
3170
  - (void)setNeedsDisplay;
3014
3171
  - (void)requestLayout;
3172
+ - (void)layoutSubviews;
3015
3173
  - (void)addView:(UIView * _Nonnull)view;
3016
3174
  - (void)addView:(UIView * _Nonnull)view at:(NSInteger)at;
3017
3175
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
@@ -3105,6 +3263,7 @@ SWIFT_CLASS_NAMED("MasonUIView")
3105
3263
  @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
3106
3264
  - (void)markNodeDirty;
3107
3265
  - (BOOL)isNodeDirty SWIFT_WARN_UNUSED_RESULT;
3266
+ - (void)layoutSubviews;
3108
3267
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
3109
3268
  + (MasonUIView * _Nonnull)createGridView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
3110
3269
  + (MasonUIView * _Nonnull)createFlexView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
@@ -3146,7 +3305,7 @@ SWIFT_CLASS_NAMED("MasonUIView")
3146
3305
  @property (nonatomic, copy) NSString * _Nonnull gridRowEnd;
3147
3306
  @property (nonatomic, copy) NSString * _Nonnull gridTemplateRows;
3148
3307
  @property (nonatomic, copy) NSString * _Nonnull gridTemplateColumns;
3149
- - (void)setPadding:(float)left :(float)right :(float)top :(float)bottom;
3308
+ - (void)setPadding:(float)left :(float)top :(float)right :(float)bottom;
3150
3309
  - (MasonLengthPercentageRectCompat * _Nonnull)getPadding SWIFT_WARN_UNUSED_RESULT;
3151
3310
  - (void)setPaddingLeft:(float)left :(NSInteger)type;
3152
3311
  - (void)setPaddingRight:(float)right :(NSInteger)type;
@@ -3281,7 +3440,8 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MinSizing *
3281
3440
  @end
3282
3441
 
3283
3442
  SWIFT_CLASS_NAMED("NSCFontDescriptors")
3284
- @interface NSCFontDescriptors : NSObject
3443
+ @interface NSCFontDescriptors : NSObject <NSMutableCopying>
3444
+ - (id _Nonnull)mutableCopyWithZone:(struct _NSZone * _Nullable)zone SWIFT_WARN_UNUSED_RESULT;
3285
3445
  - (nonnull instancetype)initWithFamily:(NSString * _Nonnull)family OBJC_DESIGNATED_INITIALIZER;
3286
3446
  - (void)update:(NSString * _Nonnull)value;
3287
3447
  - (void)setFontWeight:(NSString * _Nonnull)value;
@@ -3419,7 +3579,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) NSCMason * _Nonnull sh
3419
3579
  - (BOOL)mason_removeEventListener:(NSString * _Nonnull)event id:(NSUUID * _Nonnull)id;
3420
3580
  - (BOOL)mason_removeEventListener:(NSString * _Nonnull)event;
3421
3581
  - (void)mason_dispatch:(MasonEvent * _Nonnull)event;
3422
- - (void)mason_syncStyle:(NSString * _Nonnull)state :(NSString * _Nonnull)textState;
3582
+ - (void)mason_syncStyle:(NSString * _Nonnull)low :(NSString * _Nonnull)high;
3423
3583
  - (void)mason_addView:(UIView * _Nonnull)view;
3424
3584
  - (void)mason_addView:(UIView * _Nonnull)view at:(NSInteger)at;
3425
3585
  - (void)mason_markNodeDirty;
@@ -3479,9 +3639,21 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonPosition, "Position", open) {
3479
3639
  MasonPositionAbsolute = 1,
3480
3640
  };
3481
3641
 
3642
+ typedef SWIFT_ENUM_NAMED(uint16_t, PseudoState, "PseudoState", open) {
3643
+ PseudoStateDefault = 0,
3644
+ PseudoStateHover = 0x01,
3645
+ PseudoStateActive = 0x02,
3646
+ PseudoStateFocus = 0x04,
3647
+ PseudoStateFocusWithin = 0x08,
3648
+ PseudoStateFocusVisible = 0x10,
3649
+ PseudoStateDisabled = 0x40,
3650
+ PseudoStateChecked = 0x80,
3651
+ };
3652
+
3482
3653
  SWIFT_CLASS_NAMED("Scroll")
3483
3654
  @interface MasonScroll : UIScrollView <MasonElementObjc, UIScrollViewDelegate>
3484
3655
  - (void)drawRect:(CGRect)rect;
3656
+ - (void)layoutSubviews;
3485
3657
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
3486
3658
  @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
3487
3659
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;