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

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/package.json +1 -1
  2. package/platforms/android/masonkit-release.aar +0 -0
  3. package/platforms/ios/Mason.xcframework/Info.plist +5 -5
  4. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +122 -11
  5. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason.h +0 -5
  6. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/NSObject+MasonElement_Defaults.h +100 -0
  7. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  8. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  9. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +29619 -25969
  10. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +314 -181
  11. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  12. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +314 -181
  13. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  14. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +3066 -2864
  15. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +244 -22
  16. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason.h +0 -5
  17. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/NSObject+MasonElement_Defaults.h +100 -0
  18. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  19. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  20. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  21. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +17763 -14134
  22. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +314 -181
  23. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  24. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +314 -181
  25. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +17763 -14134
  26. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +314 -181
  27. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  28. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +314 -181
  29. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +28 -28
  30. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  31. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +3059 -2864
  32. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +2986 -2779
  33. package/common.d.ts +0 -132
  34. package/common.js +0 -1476
  35. package/common.js.map +0 -1
  36. package/img/index.android.d.ts +0 -11
  37. package/img/index.android.js +0 -41
  38. package/img/index.android.js.map +0 -1
  39. package/img/index.ios.d.ts +0 -13
  40. package/img/index.ios.js +0 -92
  41. package/img/index.ios.js.map +0 -1
  42. package/index.android.d.ts +0 -5
  43. package/index.android.js +0 -6
  44. package/index.android.js.map +0 -1
  45. package/index.ios.d.ts +0 -5
  46. package/index.ios.js +0 -6
  47. package/index.ios.js.map +0 -1
  48. package/scroll/index.android.d.ts +0 -14
  49. package/scroll/index.android.js +0 -55
  50. package/scroll/index.android.js.map +0 -1
  51. package/scroll/index.ios.d.ts +0 -17
  52. package/scroll/index.ios.js +0 -125
  53. package/scroll/index.ios.js.map +0 -1
  54. package/style.d.ts +0 -195
  55. package/style.js +0 -2204
  56. package/style.js.map +0 -1
  57. package/text/index.android.d.ts +0 -29
  58. package/text/index.android.js +0 -145
  59. package/text/index.android.js.map +0 -1
  60. package/text/index.ios.d.ts +0 -39
  61. package/text/index.ios.js +0 -272
  62. package/text/index.ios.js.map +0 -1
  63. package/tree/index.android.d.ts +0 -27
  64. package/tree/index.android.js +0 -72
  65. package/tree/index.android.js.map +0 -1
  66. package/tree/index.ios.d.ts +0 -27
  67. package/tree/index.ios.js +0 -72
  68. package/tree/index.ios.js.map +0 -1
  69. package/utils/index.android.d.ts +0 -187
  70. package/utils/index.android.js +0 -594
  71. package/utils/index.android.js.map +0 -1
  72. package/utils/index.ios.d.ts +0 -198
  73. package/utils/index.ios.js +0 -710
  74. package/utils/index.ios.js.map +0 -1
  75. package/view/index.android.d.ts +0 -14
  76. package/view/index.android.js +0 -60
  77. package/view/index.android.js.map +0 -1
  78. package/view/index.ios.d.ts +0 -18
  79. package/view/index.ios.js +0 -131
  80. package/view/index.ios.js.map +0 -1
  81. package/web.d.ts +0 -55
  82. package/web.js +0 -189
  83. package/web.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@triniwiz/nativescript-masonkit",
3
- "version": "1.0.0-alpha.24",
3
+ "version": "1.0.0-alpha.26",
4
4
  "description": "Web Inspired Layout",
5
5
  "main": "index",
6
6
  "typings": "index.d.ts",
@@ -10,15 +10,18 @@
10
10
  <key>DebugSymbolsPath</key>
11
11
  <string>dSYMs</string>
12
12
  <key>LibraryIdentifier</key>
13
- <string>ios-arm64</string>
13
+ <string>ios-arm64_x86_64-simulator</string>
14
14
  <key>LibraryPath</key>
15
15
  <string>Mason.framework</string>
16
16
  <key>SupportedArchitectures</key>
17
17
  <array>
18
18
  <string>arm64</string>
19
+ <string>x86_64</string>
19
20
  </array>
20
21
  <key>SupportedPlatform</key>
21
22
  <string>ios</string>
23
+ <key>SupportedPlatformVariant</key>
24
+ <string>simulator</string>
22
25
  </dict>
23
26
  <dict>
24
27
  <key>BinaryPath</key>
@@ -26,18 +29,15 @@
26
29
  <key>DebugSymbolsPath</key>
27
30
  <string>dSYMs</string>
28
31
  <key>LibraryIdentifier</key>
29
- <string>ios-arm64_x86_64-simulator</string>
32
+ <string>ios-arm64</string>
30
33
  <key>LibraryPath</key>
31
34
  <string>Mason.framework</string>
32
35
  <key>SupportedArchitectures</key>
33
36
  <array>
34
37
  <string>arm64</string>
35
- <string>x86_64</string>
36
38
  </array>
37
39
  <key>SupportedPlatform</key>
38
40
  <string>ios</string>
39
- <key>SupportedPlatformVariant</key>
40
- <string>simulator</string>
41
41
  </dict>
42
42
  </array>
43
43
  <key>CFBundlePackageType</key>
@@ -434,21 +434,33 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonGridTra
434
434
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
435
435
  @end
436
436
 
437
- @class UIView;
437
+ @class MasonStyle;
438
438
  @class MasonNode;
439
+ @class UIView;
440
+ SWIFT_PROTOCOL("_TtP5Mason16MasonElementObjc_")
441
+ @protocol MasonElementObjc <NSObject>
442
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
443
+ @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
444
+ @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
445
+ @end
446
+
439
447
  @class NSCMason;
448
+ enum MasonLoadingState : NSInteger;
440
449
  @class UIImage;
441
450
  @class NSCoder;
442
451
  SWIFT_CLASS_NAMED("Img")
443
- @interface MasonImg : UIImageView
444
- @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
452
+ @interface MasonImg : UIImageView <MasonElementObjc>
445
453
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
446
454
  @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
455
+ @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
456
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
447
457
  @property (nonatomic, copy) void (^ _Nullable didLayout)(void);
458
+ @property (nonatomic, copy) void (^ _Nullable onStateChange)(enum MasonLoadingState, NSError * _Nullable);
448
459
  @property (nonatomic, strong) UIImage * _Nullable image;
449
460
  @property (nonatomic, copy) NSString * _Nullable src;
450
461
  - (void)updateImage:(UIImage * _Nullable)image;
451
462
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
463
+ - (void)syncStyle:(NSString * _Nonnull)state;
452
464
  - (nonnull instancetype)initWithImage:(UIImage * _Nullable)image SWIFT_UNAVAILABLE;
453
465
  - (nonnull instancetype)initWithImage:(UIImage * _Nullable)image highlightedImage:(UIImage * _Nullable)highlightedImage SWIFT_UNAVAILABLE;
454
466
  - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
@@ -504,6 +516,12 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonLineHeight, "LineHeight", open) {
504
516
  MasonLineHeightPreLine = 3,
505
517
  };
506
518
 
519
+ typedef SWIFT_ENUM_NAMED(NSInteger, MasonLoadingState, "LoadingState", open) {
520
+ MasonLoadingStateLoading = 0,
521
+ MasonLoadingStateLoaded = 1,
522
+ MasonLoadingStateError = 2,
523
+ };
524
+
507
525
  SWIFT_PROTOCOL("_TtP5Mason18MasonCharacterData_")
508
526
  @protocol MasonCharacterData
509
527
  @property (nonatomic, copy) NSString * _Nonnull data;
@@ -586,6 +604,7 @@ SWIFT_CLASS_NAMED("MasonLayout")
586
604
  @property (nonatomic, readonly, copy) NSArray<MasonLayout *> * _Nonnull children;
587
605
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonLayout * _Nonnull zero;)
588
606
  + (MasonLayout * _Nonnull)zero SWIFT_WARN_UNUSED_RESULT;
607
+ @property (nonatomic, readonly) BOOL hasChildren;
589
608
  @property (nonatomic, readonly, copy) NSString * _Nonnull description;
590
609
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
591
610
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@@ -688,15 +707,20 @@ SWIFT_CLASS_NAMED("MasonLengthPercentageSizeCompat")
688
707
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
689
708
  @end
690
709
 
710
+ enum MasonNodeType : int32_t;
691
711
  SWIFT_CLASS_NAMED("MasonNode")
692
712
  @interface MasonNode : NSObject
713
+ @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
693
714
  @property (nonatomic, readonly) void * _Nullable nativePtr;
694
715
  @property (nonatomic, readonly, strong) MasonLayout * _Nonnull computedLayout;
716
+ @property (nonatomic, readonly, strong) MasonDocument * _Nullable document;
695
717
  - (MasonNode * _Nonnull)getRootNode SWIFT_WARN_UNUSED_RESULT;
696
718
  @property (nonatomic, readonly, strong) MasonNode * _Nullable parent;
697
719
  @property (nonatomic, readonly, strong) MasonNode * _Nullable parentNode;
720
+ @property (nonatomic, readonly) enum MasonNodeType type;
698
721
  - (NSArray<MasonNode *> * _Nonnull)getChildren SWIFT_WARN_UNUSED_RESULT;
699
722
  - (NSArray<MasonNode *> * _Nonnull)getLayoutChildren SWIFT_WARN_UNUSED_RESULT;
723
+ @property (nonatomic) BOOL inBatch;
700
724
  - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)doc children:(NSArray<MasonNode *> * _Nonnull)nodes OBJC_DESIGNATED_INITIALIZER;
701
725
  @property (nonatomic, readonly) BOOL isDirty;
702
726
  - (void)markDirty;
@@ -710,6 +734,12 @@ SWIFT_CLASS_NAMED("MasonNode")
710
734
  - (void)appendChild:(MasonNode * _Nonnull)child;
711
735
  @end
712
736
 
737
+ typedef SWIFT_ENUM_NAMED(int32_t, MasonNodeType, "MasonNodeType", open) {
738
+ MasonNodeTypeElement = 0,
739
+ MasonNodeTypeText = 1,
740
+ MasonNodeTypeDocument = 2,
741
+ };
742
+
713
743
  enum MasonOverflow : NSInteger;
714
744
  SWIFT_CLASS_NAMED("MasonOverflowPointCompat")
715
745
  @interface MasonOverflowPointCompat : NSObject
@@ -821,16 +851,21 @@ enum MasonTextTransform : NSInteger;
821
851
  enum MasonWhiteSpace : NSInteger;
822
852
  enum MasonTextWrap : NSInteger;
823
853
  SWIFT_CLASS_NAMED("MasonText")
824
- @interface MasonText : UIView
854
+ @interface MasonText : UIView <MasonElementObjc>
825
855
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
826
856
  @property (nonatomic, readonly) enum MasonTextType type;
827
857
  @property (nonatomic, readonly, strong) NSMutableData * _Nonnull textValues;
828
858
  @property (nonatomic, readonly, strong) NSCFontFace * _Nonnull font;
829
859
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
860
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
830
861
  @property (nonatomic, strong) MasonTextOverflowCompat * _Nonnull textOverflowCompat;
831
862
  - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)mason type:(enum MasonTextType)textType OBJC_DESIGNATED_INITIALIZER;
832
863
  - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)mason OBJC_DESIGNATED_INITIALIZER;
864
+ - (void)setNeedsDisplay;
865
+ - (void)requestLayout;
833
866
  - (void)syncStyle:(NSString * _Nonnull)state textState:(NSString * _Nonnull)textState;
867
+ - (void)addView:(UIView * _Nonnull)view;
868
+ - (void)addView:(UIView * _Nonnull)view at:(NSInteger)at;
834
869
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
835
870
  @property (nonatomic) uint32_t color;
836
871
  @property (nonatomic) uint32_t backgroundColorValue;
@@ -868,8 +903,6 @@ SWIFT_CLASS_NAMED("MasonText")
868
903
  @interface MasonText (SWIFT_EXTENSION(Mason))
869
904
  /// Remove child from text container
870
905
  - (MasonNode * _Nullable)removeChild:(MasonNode * _Nonnull)child;
871
- /// Insert child at specific index
872
- - (void)insertChild:(MasonNode * _Nonnull)child at:(NSInteger)index;
873
906
  @end
874
907
 
875
908
  SWIFT_CLASS_NAMED("MasonTextNode")
@@ -913,13 +946,15 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonTextType, "MasonTextType", open) {
913
946
  };
914
947
 
915
948
  SWIFT_CLASS_NAMED("MasonUIView")
916
- @interface MasonUIView : UIView
949
+ @interface MasonUIView : UIView <MasonElementObjc>
950
+ @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
951
+ @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
917
952
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
953
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
918
954
  - (void)markNodeDirty;
919
955
  - (BOOL)isNodeDirty SWIFT_WARN_UNUSED_RESULT;
920
- @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
921
- @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
922
956
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
957
+ - (void)syncStyle:(NSString * _Nonnull)state;
923
958
  + (MasonUIView * _Nonnull)createGridView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
924
959
  + (MasonUIView * _Nonnull)createFlexView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
925
960
  + (MasonUIView * _Nonnull)createBlockView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
@@ -1200,6 +1235,45 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) NSCMason * _Nonnull sh
1200
1235
  - (MasonNode * _Nonnull)createTextNode SWIFT_WARN_UNUSED_RESULT;
1201
1236
  @end
1202
1237
 
1238
+ @interface NSObject (SWIFT_EXTENSION(Mason))
1239
+ - (void)mason_addView:(UIView * _Nonnull)view;
1240
+ - (void)mason_addView:(UIView * _Nonnull)view at:(NSInteger)at;
1241
+ - (void)mason_markNodeDirty;
1242
+ - (BOOL)mason_isNodeDirty SWIFT_WARN_UNUSED_RESULT;
1243
+ - (void)mason_configure:(SWIFT_NOESCAPE void (^ _Nonnull)(MasonStyle * _Nonnull))block;
1244
+ - (MasonLayout * _Nonnull)mason_layout;
1245
+ - (void)mason_compute;
1246
+ - (void)mason_computeWithWidth:(float)width height:(float)height;
1247
+ - (void)mason_computeMaxContent;
1248
+ - (void)mason_computeMinContent;
1249
+ - (void)mason_computeWithSize:(float)width :(float)height;
1250
+ - (void)mason_computeWithViewSize;
1251
+ - (void)mason_computeWithViewSizeWithLayout:(BOOL)layout;
1252
+ - (void)mason_computeWithMaxContent;
1253
+ - (void)mason_computeWithMinContent;
1254
+ - (void)mason_attachAndApply;
1255
+ - (void)mason_requestLayout;
1256
+ - (void)mason_invalidateLayout;
1257
+ - (void)mason_append:(id <MasonElementObjc> _Nonnull)element;
1258
+ - (void)mason_appendWithText:(NSString * _Nonnull)text;
1259
+ - (void)mason_appendWithNode:(MasonNode * _Nonnull)node;
1260
+ - (void)mason_appendWithTexts:(NSArray<NSString *> * _Nonnull)texts;
1261
+ - (void)mason_appendWithElements:(NSArray<id <MasonElementObjc>> * _Nonnull)elements;
1262
+ - (void)mason_appendWithNodes:(NSArray<MasonNode *> * _Nonnull)nodes;
1263
+ - (void)mason_prepend:(id <MasonElementObjc> _Nonnull)element;
1264
+ - (void)mason_prependWithText:(NSString * _Nonnull)text;
1265
+ - (void)mason_prependWithNode:(MasonNode * _Nonnull)node;
1266
+ - (void)mason_prependWithTexts:(NSArray<NSString *> * _Nonnull)texts;
1267
+ - (void)mason_prependWithElements:(NSArray<id <MasonElementObjc>> * _Nonnull)elements;
1268
+ - (void)mason_prependWithNodes:(NSArray<MasonNode *> * _Nonnull)nodes;
1269
+ - (void)mason_addChildAtText:(NSString * _Nonnull)text :(NSInteger)index;
1270
+ - (void)mason_addChildAtElement:(id <MasonElementObjc> _Nonnull)element :(NSInteger)index;
1271
+ - (void)mason_addChildAtNode:(MasonNode * _Nonnull)node :(NSInteger)index;
1272
+ - (void)mason_replaceChildAtText:(NSString * _Nonnull)text :(NSInteger)index;
1273
+ - (void)mason_replaceChildAtElement:(id <MasonElementObjc> _Nonnull)element :(NSInteger)index;
1274
+ - (void)mason_replaceChildAtNode:(MasonNode * _Nonnull)node :(NSInteger)index;
1275
+ @end
1276
+
1203
1277
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonOverflow, "Overflow", open) {
1204
1278
  MasonOverflowVisible = 0,
1205
1279
  MasonOverflowHidden = 1,
@@ -1214,10 +1288,12 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonPosition, "Position", open) {
1214
1288
  };
1215
1289
 
1216
1290
  SWIFT_CLASS_NAMED("Scroll")
1217
- @interface MasonScroll : UIScrollView <UIScrollViewDelegate>
1218
- @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
1291
+ @interface MasonScroll : UIScrollView <MasonElementObjc, UIScrollViewDelegate>
1219
1292
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
1220
1293
  @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
1294
+ @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
1295
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
1296
+ - (void)syncStyle:(NSString * _Nonnull)state;
1221
1297
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
1222
1298
  - (void)scrollViewWillBeginDragging:(UIScrollView * _Nonnull)scrollView;
1223
1299
  - (void)scrollViewDidScroll:(UIScrollView * _Nonnull)scrollView;
@@ -1227,6 +1303,41 @@ SWIFT_CLASS_NAMED("Scroll")
1227
1303
  - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
1228
1304
  @end
1229
1305
 
1306
+ SWIFT_CLASS_NAMED("SwiftHelpers")
1307
+ @interface MasonSwiftHelpers : NSObject
1308
+ + (void)markNodeDirty:(id <MasonElementObjc> _Nonnull)element;
1309
+ + (BOOL)isNodeDirty:(id <MasonElementObjc> _Nonnull)element SWIFT_WARN_UNUSED_RESULT;
1310
+ + (void)configure:(id <MasonElementObjc> _Nonnull)element :(SWIFT_NOESCAPE void (^ _Nonnull)(MasonStyle * _Nonnull))block;
1311
+ + (MasonLayout * _Nonnull)layout:(id <MasonElementObjc> _Nonnull)element;
1312
+ + (void)compute:(id <MasonElementObjc> _Nonnull)element;
1313
+ + (void)compute:(id <MasonElementObjc> _Nonnull)element :(float)width :(float)height;
1314
+ + (void)computeMaxContent:(id <MasonElementObjc> _Nonnull)element;
1315
+ + (void)computeMinContent:(id <MasonElementObjc> _Nonnull)element;
1316
+ + (void)computeWithSize:(id <MasonElementObjc> _Nonnull)element :(float)width :(float)height;
1317
+ + (void)computeWithViewSize:(id <MasonElementObjc> _Nonnull)element;
1318
+ + (void)computeWithViewSize:(id <MasonElementObjc> _Nonnull)element layout:(BOOL)layout;
1319
+ + (void)computeWithMaxContent:(id <MasonElementObjc> _Nonnull)element;
1320
+ + (void)computeWithMinContent:(id <MasonElementObjc> _Nonnull)element;
1321
+ + (void)attachAndApply:(id <MasonElementObjc> _Nonnull)element;
1322
+ + (void)requestLayout:(id <MasonElementObjc> _Nonnull)element;
1323
+ + (void)append:(id <MasonElementObjc> _Nonnull)parent :(id <MasonElementObjc> _Nonnull)element;
1324
+ + (void)append:(id <MasonElementObjc> _Nonnull)parent text:(NSString * _Nonnull)text;
1325
+ + (void)append:(id <MasonElementObjc> _Nonnull)parent node:(MasonNode * _Nonnull)node;
1326
+ + (void)append:(id <MasonElementObjc> _Nonnull)parent texts:(NSArray<NSString *> * _Nonnull)texts;
1327
+ + (void)append:(id <MasonElementObjc> _Nonnull)parent elements:(NSArray<id <MasonElementObjc>> * _Nonnull)elements;
1328
+ + (void)append:(id <MasonElementObjc> _Nonnull)parent nodes:(NSArray<MasonNode *> * _Nonnull)nodes;
1329
+ + (void)prepend:(id <MasonElementObjc> _Nonnull)parent :(id <MasonElementObjc> _Nonnull)element;
1330
+ + (void)prepend:(id <MasonElementObjc> _Nonnull)parent string:(NSString * _Nonnull)string;
1331
+ + (void)prepend:(id <MasonElementObjc> _Nonnull)parent node:(MasonNode * _Nonnull)node;
1332
+ + (void)prepend:(id <MasonElementObjc> _Nonnull)parent strings:(NSArray<NSString *> * _Nonnull)strings;
1333
+ + (void)prepend:(id <MasonElementObjc> _Nonnull)parent elements:(NSArray<id <MasonElementObjc>> * _Nonnull)elements;
1334
+ + (void)prepend:(id <MasonElementObjc> _Nonnull)parent nodes:(NSArray<MasonNode *> * _Nonnull)nodes;
1335
+ + (void)addChildAt:(id <MasonElementObjc> _Nonnull)parent text:(NSString * _Nonnull)text :(NSInteger)index;
1336
+ + (void)addChildAt:(id <MasonElementObjc> _Nonnull)parent element:(id <MasonElementObjc> _Nonnull)element :(NSInteger)index;
1337
+ + (void)addChildAt:(id <MasonElementObjc> _Nonnull)parent node:(MasonNode * _Nonnull)node :(NSInteger)index;
1338
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1339
+ @end
1340
+
1230
1341
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonTextAlign, "TextAlign", open) {
1231
1342
  MasonTextAlignAuto = 0,
1232
1343
  MasonTextAlignLeft = 1,
@@ -6,7 +6,6 @@
6
6
  //
7
7
 
8
8
  #import <Foundation/Foundation.h>
9
-
10
9
  #ifdef __cplusplus
11
10
  extern "C" {
12
11
  #endif
@@ -15,10 +14,6 @@ extern "C" {
15
14
  #ifdef __cplusplus
16
15
  }
17
16
  #endif
18
-
19
-
20
-
21
-
22
17
  //! Project version number for Mason.
23
18
  FOUNDATION_EXPORT double MasonVersionNumber;
24
19
 
@@ -0,0 +1,100 @@
1
+ //
2
+ // NSObject+MasonElement_Defaults.h
3
+ // Mason
4
+ //
5
+ // Created by Osei Fortune on 20/10/2025.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import <Mason/Mason-Swift.h>
10
+ NS_ASSUME_NONNULL_BEGIN
11
+
12
+ @interface NSObject (MasonElement_Defaults)<MasonElement>
13
+ -(void)objc_markNodeDirty;
14
+
15
+ -(BOOL)objc_isNodeDirty;
16
+
17
+ -(void)objc_configure:(void (^)(MasonStyle* style))block;
18
+
19
+ -(MasonLayout*)objc_layout;
20
+
21
+ -(void)objc_compute;
22
+
23
+
24
+ -(void)objc_computeWithWidth:(float)width height:(float)height;
25
+
26
+
27
+ -(void)objc_computeMaxContent;
28
+
29
+
30
+ -(void)objc_computeMinContent;
31
+
32
+
33
+ -(void)objc_computeWithSize:(float)width height:(float)height;
34
+
35
+
36
+ -(void)objc_computeWithViewSize;
37
+
38
+
39
+ -(void)objc_computeWithViewSizeAndLayout:(BOOL)layout;
40
+
41
+
42
+ -(void)objc_computeWithMaxContent;
43
+
44
+
45
+ -(void)objc_computeWithMinContent;
46
+
47
+
48
+ -(void)objc_attachAndApply;
49
+
50
+ -(void)objc_requestLayout;
51
+
52
+ -(void)objc_invalidateLayout;
53
+
54
+ -(void)objc_append:(id<MasonElement>)element;
55
+
56
+
57
+ -(void)objc_appendText:(NSString *)text;
58
+
59
+
60
+ -(void)objc_appendNode:(MasonNode *)node;
61
+
62
+
63
+ -(void)objc_appendTexts:(NSArray<NSString *> *)texts;
64
+
65
+
66
+ -(void)objc_appendElements:(NSArray<id<MasonElement>> *)elements;
67
+
68
+
69
+ -(void)objc_appendNodes:(NSArray<MasonNode*> *)nodes;
70
+
71
+
72
+ -(void)objc_prepend:(id<MasonElement>)element;
73
+
74
+
75
+ -(void)objc_prependText:(NSString *)text;
76
+
77
+
78
+ -(void)objc_prependNode:(MasonNode *)node;
79
+
80
+
81
+ -(void)objc_prependTexts:(NSArray<NSString *> *)texts;
82
+
83
+
84
+ -(void)objc_prependElements:(NSArray<id<MasonElement>> *)elements;
85
+
86
+
87
+ -(void)objc_prependNodes:(NSArray<MasonNode *> *)nodes;
88
+
89
+
90
+ - (void)objc_addChildAt:(id<MasonElement>)element atIndex:(NSInteger)index;
91
+
92
+
93
+ - (void)objc_addChildAtWithString:(NSString *)text atIndex:(NSInteger)index;
94
+
95
+
96
+ - (void)objc_addChildAtWithNode:(MasonNode *)node atIndex:(NSInteger)index;
97
+
98
+ @end
99
+
100
+ NS_ASSUME_NONNULL_END