@triniwiz/nativescript-masonkit 1.0.0-beta.7 → 1.0.0-beta.71

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 (150) hide show
  1. package/DOCS.md +930 -0
  2. package/br/index.android.d.ts +10 -0
  3. package/br/index.android.js +31 -0
  4. package/br/index.android.js.map +1 -0
  5. package/br/index.ios.d.ts +11 -0
  6. package/br/index.ios.js +30 -0
  7. package/br/index.ios.js.map +1 -0
  8. package/button/index.android.d.ts +4 -2
  9. package/button/index.android.js +9 -5
  10. package/button/index.android.js.map +1 -1
  11. package/button/index.ios.d.ts +4 -5
  12. package/button/index.ios.js +17 -71
  13. package/button/index.ios.js.map +1 -1
  14. package/common.d.ts +207 -73
  15. package/common.js +1236 -1392
  16. package/common.js.map +1 -1
  17. package/img/index.android.d.ts +5 -4
  18. package/img/index.android.js +18 -6
  19. package/img/index.android.js.map +1 -1
  20. package/img/index.ios.d.ts +3 -2
  21. package/img/index.ios.js +27 -21
  22. package/img/index.ios.js.map +1 -1
  23. package/index.android.d.ts +7 -1
  24. package/index.android.js +7 -1
  25. package/index.android.js.map +1 -1
  26. package/index.d.ts +129 -2
  27. package/index.ios.d.ts +7 -1
  28. package/index.ios.js +7 -1
  29. package/index.ios.js.map +1 -1
  30. package/input/common.d.ts +20 -0
  31. package/input/common.js +65 -0
  32. package/input/common.js.map +1 -0
  33. package/input/index.android.d.ts +20 -0
  34. package/input/index.android.js +118 -0
  35. package/input/index.android.js.map +1 -0
  36. package/input/index.ios.d.ts +23 -0
  37. package/input/index.ios.js +171 -0
  38. package/input/index.ios.js.map +1 -0
  39. package/li/index.android.d.ts +12 -0
  40. package/li/index.android.js +57 -0
  41. package/li/index.android.js.map +1 -0
  42. package/li/index.ios.d.ts +14 -0
  43. package/li/index.ios.js +128 -0
  44. package/li/index.ios.js.map +1 -0
  45. package/list/common.d.ts +33 -0
  46. package/list/common.js +157 -0
  47. package/list/common.js.map +1 -0
  48. package/list/index.android.d.ts +28 -0
  49. package/list/index.android.js +155 -0
  50. package/list/index.android.js.map +1 -0
  51. package/list/index.ios.d.ts +42 -0
  52. package/list/index.ios.js +321 -0
  53. package/list/index.ios.js.map +1 -0
  54. package/package.json +8 -2
  55. package/platforms/android/include.gradle +1 -0
  56. package/platforms/android/masonkit-release.aar +0 -0
  57. package/platforms/ios/Mason.xcframework/Info.plist +5 -5
  58. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/Mason-Swift.h +572 -176
  59. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/mason_native.h +181 -50
  60. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Info.plist +0 -0
  61. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Mason +0 -0
  62. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  63. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.abi.json +74785 -40729
  64. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.private.swiftinterface +1429 -346
  65. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  66. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios.swiftinterface +1429 -346
  67. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Modules/module.modulemap +0 -1
  68. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  69. package/platforms/ios/Mason.xcframework/ios-arm64/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8340 -4294
  70. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/Mason-Swift.h +1144 -352
  71. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/mason_native.h +181 -50
  72. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Info.plist +0 -0
  73. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Mason +0 -0
  74. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  75. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  76. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.abi.json +72517 -38461
  77. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1674 -591
  78. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  79. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1674 -591
  80. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.abi.json +72517 -38461
  81. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1674 -591
  82. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  83. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/Mason.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1674 -591
  84. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Modules/module.modulemap +0 -1
  85. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/_CodeSignature/CodeResources +31 -31
  86. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/DWARF/Mason +0 -0
  87. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/aarch64/Mason.yml +8335 -4291
  88. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/dSYMs/Mason.framework.dSYM/Contents/Resources/Relocations/x86_64/Mason.yml +7982 -4167
  89. package/properties.d.ts +83 -0
  90. package/properties.js +1345 -0
  91. package/properties.js.map +1 -0
  92. package/pseudo.d.ts +9 -0
  93. package/pseudo.js +58 -0
  94. package/pseudo.js.map +1 -0
  95. package/scroll/index.android.d.ts +3 -2
  96. package/scroll/index.android.js +20 -5
  97. package/scroll/index.android.js.map +1 -1
  98. package/scroll/index.ios.d.ts +7 -4
  99. package/scroll/index.ios.js +88 -26
  100. package/scroll/index.ios.js.map +1 -1
  101. package/style.d.ts +231 -12
  102. package/style.js +1982 -811
  103. package/style.js.map +1 -1
  104. package/symbols.d.ts +12 -0
  105. package/symbols.js +13 -0
  106. package/symbols.js.map +1 -0
  107. package/text/index.android.d.ts +11 -5
  108. package/text/index.android.js +86 -104
  109. package/text/index.android.js.map +1 -1
  110. package/text/index.ios.d.ts +14 -11
  111. package/text/index.ios.js +111 -181
  112. package/text/index.ios.js.map +1 -1
  113. package/text-node/index.android.d.ts +13 -0
  114. package/text-node/index.android.js +35 -0
  115. package/text-node/index.android.js.map +1 -0
  116. package/text-node/index.ios.d.ts +13 -0
  117. package/text-node/index.ios.js +35 -0
  118. package/text-node/index.ios.js.map +1 -0
  119. package/textarea/common.d.ts +8 -0
  120. package/textarea/common.js +28 -0
  121. package/textarea/common.js.map +1 -0
  122. package/textarea/index.android.d.ts +15 -0
  123. package/textarea/index.android.js +71 -0
  124. package/textarea/index.android.js.map +1 -0
  125. package/textarea/index.ios.d.ts +18 -0
  126. package/textarea/index.ios.js +134 -0
  127. package/textarea/index.ios.js.map +1 -0
  128. package/tree/index.android.d.ts +15 -2
  129. package/tree/index.android.js +83 -8
  130. package/tree/index.android.js.map +1 -1
  131. package/tree/index.ios.d.ts +24 -1
  132. package/tree/index.ios.js +72 -8
  133. package/tree/index.ios.js.map +1 -1
  134. package/utils/index.android.d.ts +13 -1
  135. package/utils/index.android.js +1 -1
  136. package/utils/index.android.js.map +1 -1
  137. package/utils/index.ios.d.ts +13 -1
  138. package/utils/index.ios.js +1 -1
  139. package/utils/index.ios.js.map +1 -1
  140. package/view/index.android.d.ts +3 -2
  141. package/view/index.android.js +22 -5
  142. package/view/index.android.js.map +1 -1
  143. package/view/index.ios.d.ts +4 -2
  144. package/view/index.ios.js +86 -16
  145. package/view/index.ios.js.map +1 -1
  146. package/web.d.ts +6 -0
  147. package/web.js +22 -0
  148. package/web.js.map +1 -1
  149. package/platforms/ios/Mason.xcframework/ios-arm64/Mason.framework/Headers/NSObject+MasonElement_Defaults.h +0 -100
  150. package/platforms/ios/Mason.xcframework/ios-arm64_x86_64-simulator/Mason.framework/Headers/NSObject+MasonElement_Defaults.h +0 -100
@@ -1,6 +1,6 @@
1
1
  #if 0
2
2
  #elif defined(__arm64__) && __arm64__
3
- // Generated by Apple Swift version 6.1.2 effective-5.10 (swiftlang-6.1.2.1.2 clang-1700.0.13.5)
3
+ // Generated by Apple Swift version 6.3.1 effective-5.10 (swiftlang-6.3.1.1.2 clang-2100.0.123.102)
4
4
  #ifndef MASON_SWIFT_H
5
5
  #define MASON_SWIFT_H
6
6
  #pragma clang diagnostic push
@@ -26,7 +26,7 @@
26
26
  #pragma clang diagnostic ignored "-Wauto-import"
27
27
  #if defined(__OBJC__)
28
28
  #include <Foundation/Foundation.h>
29
- #endif
29
+ #endif // defined(__OBJC__)
30
30
  #if defined(__cplusplus)
31
31
  #include <cstdint>
32
32
  #include <cstddef>
@@ -195,13 +195,32 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
195
195
  # endif
196
196
  #endif
197
197
  #if !defined(SWIFT_ENUM)
198
- # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
199
- # if __has_feature(generalized_swift_name)
200
- # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
198
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
199
+ # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
200
+ # if __has_feature(generalized_swift_name)
201
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
202
+ # else
203
+ # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
204
+ # endif
201
205
  # else
206
+ # define SWIFT_ENUM(_type, _name, _extensibility) _type _name; enum
202
207
  # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
203
208
  # endif
204
209
  #endif
210
+ #if !defined(SWIFT_ENUM_TAG)
211
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
212
+ # define SWIFT_ENUM_TAG enum
213
+ # else
214
+ # define SWIFT_ENUM_TAG
215
+ # endif
216
+ #endif
217
+ #if !defined(SWIFT_ENUM_FWD_DECL)
218
+ # if (defined(__cplusplus) && __cplusplus >= 201103L) || (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L) || __has_feature(objc_fixed_enum)
219
+ # define SWIFT_ENUM_FWD_DECL(_type, _name) enum _name : _type;
220
+ # else
221
+ # define SWIFT_ENUM_FWD_DECL(_type, _name) typedef _type _name;
222
+ # endif
223
+ #endif
205
224
  #if !defined(SWIFT_UNAVAILABLE)
206
225
  # define SWIFT_UNAVAILABLE __attribute__((unavailable))
207
226
  #endif
@@ -211,6 +230,9 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
211
230
  #if !defined(SWIFT_AVAILABILITY)
212
231
  # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
213
232
  #endif
233
+ #if !defined(SWIFT_AVAILABILITY_DOMAIN)
234
+ # define SWIFT_AVAILABILITY_DOMAIN(dom, ...) __attribute__((availability(domain: dom, __VA_ARGS__)))
235
+ #endif
214
236
  #if !defined(SWIFT_WEAK_IMPORT)
215
237
  # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
216
238
  #endif
@@ -276,6 +298,49 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
276
298
  # define SWIFT_IMPORT_STDLIB_SYMBOL
277
299
  #endif
278
300
  #endif
301
+ #if !__has_feature(nullability)
302
+ # define _Nonnull
303
+ # define _Nullable
304
+ # define _Null_unspecified
305
+ #elif !defined(__OBJC__)
306
+ # pragma clang diagnostic ignored "-Wnullability-extension"
307
+ #endif
308
+ #if !__has_feature(nullability_nullable_result)
309
+ # define _Nullable_result _Nullable
310
+ #endif
311
+ #if __has_feature(objc_modules)
312
+ #if __has_warning("-Watimport-in-framework-header")
313
+ #pragma clang diagnostic ignored "-Watimport-in-framework-header"
314
+ #endif
315
+ #endif
316
+
317
+ #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
318
+ #pragma clang diagnostic ignored "-Wduplicate-method-arg"
319
+ #if __has_warning("-Wpragma-clang-attribute")
320
+ # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
321
+ #endif
322
+ #pragma clang diagnostic ignored "-Wunknown-pragmas"
323
+ #pragma clang diagnostic ignored "-Wnullability"
324
+ #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
325
+ #pragma clang diagnostic ignored "-Wunsafe-buffer-usage"
326
+
327
+ #if __has_attribute(external_source_symbol)
328
+ # pragma push_macro("any")
329
+ # undef any
330
+ # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="Mason",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
331
+ # pragma pop_macro("any")
332
+ #endif
333
+
334
+ #if defined(__cplusplus)
335
+ extern "C" {
336
+ #endif
337
+
338
+ #if defined(__cplusplus)
339
+ } // extern "C"
340
+ #endif
341
+ #if __has_attribute(external_source_symbol)
342
+ # pragma clang attribute pop
343
+ #endif
279
344
  #if defined(__OBJC__)
280
345
  #if __has_feature(objc_modules)
281
346
  #if __has_warning("-Watimport-in-framework-header")
@@ -289,7 +354,7 @@ typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4)));
289
354
  @import UIKit;
290
355
  #endif
291
356
 
292
- #endif
357
+ #endif // defined(__OBJC__)
293
358
  #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
294
359
  #pragma clang diagnostic ignored "-Wduplicate-method-arg"
295
360
  #if __has_warning("-Wpragma-clang-attribute")
@@ -372,7 +437,7 @@ SWIFT_PROTOCOL_NAMED("TextContainer")
372
437
  @protocol MasonTextContainer <NSObject>
373
438
  @property (nonatomic, readonly, strong) MasonTextEngine * _Nonnull engine;
374
439
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
375
- - (void)onTextStyleChangedWithChange:(int64_t)change;
440
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
376
441
  @end
377
442
 
378
443
  @class MasonStyle;
@@ -399,20 +464,26 @@ SWIFT_CLASS_NAMED("Button")
399
464
  - (void)requestLayout;
400
465
  - (void)addView:(UIView * _Nonnull)view;
401
466
  - (void)addView:(UIView * _Nonnull)view at:(NSInteger)at;
467
+ - (void)removeView:(UIView * _Nonnull)view;
468
+ - (void)removeViewAt:(NSInteger)index;
469
+ - (void)removeAllViews;
470
+ - (void)layoutSubviews;
402
471
  - (void)drawRect:(CGRect)rect;
403
472
  @property (nonatomic, readonly, strong) NSMutableData * _Nonnull textValues;
404
- - (void)onTextStyleChangedWithChange:(int64_t)change;
473
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
405
474
  - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
406
475
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
407
476
  @end
408
477
 
409
478
  @class UITouch;
410
479
  @class UIEvent;
480
+ @class UIWindow;
411
481
  @interface MasonButton (SWIFT_EXTENSION(Mason))
412
482
  - (void)touchesBegan:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
413
- - (void)touchesMoved:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
414
483
  - (void)touchesEnded:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
415
484
  - (void)touchesCancelled:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
485
+ - (void)touchesMoved:(NSSet<UITouch *> * _Nonnull)touches withEvent:(UIEvent * _Nullable)event;
486
+ - (void)willMoveToWindow:(UIWindow * _Nullable)newWindow;
416
487
  @end
417
488
 
418
489
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonClear, "Clear", open) {
@@ -480,7 +551,7 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonGridAutoFlowWrap, "GridAutoFlow", open)
480
551
  MasonGridAutoFlowWrapColumnDense = 3,
481
552
  };
482
553
 
483
- enum MasonGridPlacementCompatType : NSInteger;
554
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonGridPlacementCompatType)
484
555
  SWIFT_CLASS_NAMED("GridPlacementCompat")
485
556
  @interface GridPlacementCompat : NSObject
486
557
  - (nonnull instancetype)initWithSpan:(int16_t)span OBJC_DESIGNATED_INITIALIZER;
@@ -515,7 +586,16 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonGridTra
515
586
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
516
587
  @end
517
588
 
518
- enum MasonLoadingState : NSInteger;
589
+ SWIFT_CLASS_NAMED("HTMLParser")
590
+ @interface MasonHTMLParser : NSObject
591
+ - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)mason OBJC_DESIGNATED_INITIALIZER;
592
+ /// Parses an HTML string and returns a list of root-level MasonElement/MasonNode children.
593
+ - (NSArray<MasonNode *> * _Nonnull)parse:(NSString * _Nonnull)html SWIFT_WARN_UNUSED_RESULT;
594
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
595
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
596
+ @end
597
+
598
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonLoadingState)
519
599
  @class UIImage;
520
600
  SWIFT_CLASS_NAMED("Img")
521
601
  @interface MasonImg : UIView <MasonElementObjc>
@@ -531,6 +611,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) Class _Nonnull layer
531
611
  - (void)requestLayout;
532
612
  @property (nonatomic, copy) NSString * _Nullable src;
533
613
  - (void)updateImage:(UIImage * _Nullable)image;
614
+ - (void)layoutSubviews;
534
615
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
535
616
  - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
536
617
  @end
@@ -585,75 +666,50 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonLineHeight, "LineHeight", open) {
585
666
  MasonLineHeightPreLine = 3,
586
667
  };
587
668
 
669
+ typedef SWIFT_ENUM_NAMED(NSInteger, MasonListStylePosition, "ListStylePosition", open) {
670
+ MasonListStylePositionOutside = 0,
671
+ MasonListStylePositionInside = 1,
672
+ };
673
+
674
+ typedef SWIFT_ENUM_NAMED(NSInteger, MasonListStyleType, "ListStyleType", open) {
675
+ MasonListStyleTypeNone = 0,
676
+ MasonListStyleTypeCustom = 1,
677
+ MasonListStyleTypeDisc = 2,
678
+ MasonListStyleTypeCircle = 3,
679
+ MasonListStyleTypeSquare = 4,
680
+ MasonListStyleTypeDecimal = 5,
681
+ };
682
+
588
683
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonLoadingState, "LoadingState", open) {
589
684
  MasonLoadingStateLoading = 0,
590
685
  MasonLoadingStateLoaded = 1,
591
686
  MasonLoadingStateError = 2,
592
687
  };
593
688
 
594
- SWIFT_PROTOCOL("_TtP5Mason18MasonCharacterData_")
595
- @protocol MasonCharacterData
596
- @property (nonatomic, copy) NSString * _Nonnull data;
597
- @property (nonatomic, readonly) NSInteger length;
598
- - (nonnull instancetype)appendData:(NSString * _Nonnull)s;
599
- - (nonnull instancetype)insertData:(NSString * _Nonnull)s at:(NSInteger)offset;
600
- - (nonnull instancetype)deleteDataWithOffset:(NSInteger)offset count:(NSInteger)count;
601
- - (nonnull instancetype)replaceDataWithOffset:(NSInteger)offset count:(NSInteger)count with:(NSString * _Nonnull)s;
602
- - (NSString * _Nonnull)substringDataWithOffset:(NSInteger)offset count:(NSInteger)count SWIFT_WARN_UNUSED_RESULT;
603
- - (nonnull instancetype)deleteDataWithRange:(NSRange)range;
604
- - (nonnull instancetype)replaceDataWithRange:(NSRange)range with:(NSString * _Nonnull)s;
605
- @end
606
-
607
- @class MasonLayout;
608
- @class MasonDocument;
609
- enum MasonNodeType : int32_t;
610
- SWIFT_CLASS_NAMED("MasonNode")
611
- @interface MasonNode : NSObject
689
+ SWIFT_CLASS_NAMED("MasonBr")
690
+ @interface MasonBr : NSObject <MasonElementObjc>
612
691
  @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
613
- @property (nonatomic, copy) void (^ _Nullable onNodeAttached)(void);
614
- @property (nonatomic, copy) void (^ _Nullable onNodeDetached)(void);
615
- @property (nonatomic, readonly) void * _Nullable nativePtr;
616
- @property (nonatomic, readonly, strong) MasonLayout * _Nonnull computedLayout;
617
- @property (nonatomic, readonly, strong) MasonDocument * _Nullable document;
618
- - (MasonNode * _Nonnull)getRootNode SWIFT_WARN_UNUSED_RESULT;
619
- @property (nonatomic, readonly, strong) MasonNode * _Nullable parent;
620
- @property (nonatomic, readonly, strong) MasonNode * _Nullable parentNode;
621
- @property (nonatomic, readonly) enum MasonNodeType type;
622
- - (NSArray<MasonNode *> * _Nonnull)getChildren SWIFT_WARN_UNUSED_RESULT;
623
- - (NSArray<MasonNode *> * _Nonnull)getLayoutChildren SWIFT_WARN_UNUSED_RESULT;
624
- @property (nonatomic) BOOL inBatch;
625
- - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)doc children:(NSArray<MasonNode *> * _Nonnull)nodes OBJC_DESIGNATED_INITIALIZER;
626
- @property (nonatomic, readonly) BOOL isDirty;
627
- - (void)markDirty;
628
- - (UIView * _Nullable)getRoot SWIFT_WARN_UNUSED_RESULT;
629
- /// Helper to get default text attributes for new text nodes
630
- - (NSDictionary<NSAttributedStringKey, id> * _Nonnull)getDefaultAttributes SWIFT_WARN_UNUSED_RESULT;
692
+ @property (nonatomic, strong) MasonNode * _Nonnull node;
693
+ @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
694
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
631
695
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
632
696
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
633
697
  @end
634
698
 
635
- SWIFT_CLASS_NAMED("MasonTextNode")
636
- @interface MasonTextNode : MasonNode <MasonCharacterData>
699
+ SWIFT_PROTOCOL("_TtP5Mason18MasonCharacterData_")
700
+ @protocol MasonCharacterData
637
701
  @property (nonatomic, copy) NSString * _Nonnull data;
638
- - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)doc data:(NSString * _Nonnull)text attributes:(NSDictionary<NSAttributedStringKey, id> * _Nullable)attrs OBJC_DESIGNATED_INITIALIZER;
639
- - (void)appendChild:(MasonNode * _Nonnull)child;
640
702
  @property (nonatomic, readonly) NSInteger length;
641
- - (NSString * _Nonnull)substringDataWithOffset:(NSInteger)offset count:(NSInteger)count SWIFT_WARN_UNUSED_RESULT;
642
703
  - (nonnull instancetype)appendData:(NSString * _Nonnull)s;
643
704
  - (nonnull instancetype)insertData:(NSString * _Nonnull)s at:(NSInteger)offset;
644
705
  - (nonnull instancetype)deleteDataWithOffset:(NSInteger)offset count:(NSInteger)count;
645
706
  - (nonnull instancetype)replaceDataWithOffset:(NSInteger)offset count:(NSInteger)count with:(NSString * _Nonnull)s;
707
+ - (NSString * _Nonnull)substringDataWithOffset:(NSInteger)offset count:(NSInteger)count SWIFT_WARN_UNUSED_RESULT;
646
708
  - (nonnull instancetype)deleteDataWithRange:(NSRange)range;
647
709
  - (nonnull instancetype)replaceDataWithRange:(NSRange)range with:(NSString * _Nonnull)s;
648
- - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)doc children:(NSArray<MasonNode *> * _Nonnull)nodes SWIFT_UNAVAILABLE;
649
- @end
650
-
651
- SWIFT_CLASS_NAMED("MasonBr")
652
- @interface MasonBr : MasonTextNode
653
- - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)doc data:(NSString * _Nonnull)text attributes:(NSDictionary<NSAttributedStringKey, id> * _Nullable)attrs OBJC_DESIGNATED_INITIALIZER;
654
710
  @end
655
711
 
656
- enum MasonDimensionCompatType : NSInteger;
712
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonDimensionCompatType)
657
713
  SWIFT_CLASS_NAMED("MasonDimensionCompat")
658
714
  @interface MasonDimensionCompat : NSObject
659
715
  - (nonnull instancetype)initWithPoints:(float)points OBJC_DESIGNATED_INITIALIZER;
@@ -712,6 +768,44 @@ SWIFT_CLASS_NAMED("MasonDocument")
712
768
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
713
769
  @end
714
770
 
771
+ @class MasonEventOptions;
772
+ SWIFT_CLASS_NAMED("MasonEvent")
773
+ @interface MasonEvent : NSObject
774
+ @property (nonatomic, readonly, copy) NSString * _Nonnull type;
775
+ @property (nonatomic, readonly) BOOL bubbles;
776
+ @property (nonatomic, readonly) BOOL cancelable;
777
+ @property (nonatomic, readonly) BOOL isComposing;
778
+ @property (nonatomic, readonly) double timeStamp;
779
+ @property (nonatomic, readonly) BOOL defaultPrevented;
780
+ @property (nonatomic, readonly) BOOL propagationStopped;
781
+ @property (nonatomic, readonly) BOOL immediatePropagationStopped;
782
+ @property (nonatomic, readonly) id _Nullable target;
783
+ @property (nonatomic, readonly) id _Nullable currentTarget;
784
+ - (nonnull instancetype)initWithType:(NSString * _Nonnull)eventType bubbles:(BOOL)eventBubbles cancelable:(BOOL)eventCancelable options:(MasonEventOptions * _Nullable)options OBJC_DESIGNATED_INITIALIZER;
785
+ - (void)preventDefault;
786
+ - (void)stopPropagation;
787
+ - (void)stopImmediatePropagation;
788
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
789
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
790
+ @end
791
+
792
+ SWIFT_CLASS_NAMED("MasonEventOptions")
793
+ @interface MasonEventOptions : NSObject
794
+ @property (nonatomic) BOOL isComposing;
795
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
796
+ - (nonnull instancetype)initWithIsComposing:(BOOL)isComposing OBJC_DESIGNATED_INITIALIZER;
797
+ @end
798
+
799
+ @class NSURL;
800
+ SWIFT_CLASS_NAMED("MasonFileInputEvent")
801
+ @interface MasonFileInputEvent : MasonEvent
802
+ @property (nonatomic, readonly, copy) NSString * _Nullable data;
803
+ @property (nonatomic, readonly, copy) NSString * _Nullable inputType;
804
+ @property (nonatomic, readonly, copy) NSArray<NSURL *> * _Nonnull rawData;
805
+ - (nonnull instancetype)initWithType:(NSString * _Nonnull)type data:(NSString * _Nullable)inputData inputType:(NSString * _Nullable)masonInputType options:(MasonEventOptions * _Nullable)options rawData:(NSArray<NSURL *> * _Nonnull)inputRawData OBJC_DESIGNATED_INITIALIZER;
806
+ - (nonnull instancetype)initWithType:(NSString * _Nonnull)eventType bubbles:(BOOL)eventBubbles cancelable:(BOOL)eventCancelable options:(MasonEventOptions * _Nullable)options SWIFT_UNAVAILABLE;
807
+ @end
808
+
715
809
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonFloat, "MasonFloat", open) {
716
810
  MasonFloatNone = 0,
717
811
  MasonFloatLeft = 1,
@@ -721,28 +815,101 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonFloat, "MasonFloat", open) {
721
815
  SWIFT_CLASS("_TtC5Mason15MasonImageLayer")
722
816
  @interface MasonImageLayer : CALayer
723
817
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
724
- - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
725
818
  - (nonnull instancetype)initWithLayer:(id _Nonnull)layer OBJC_DESIGNATED_INITIALIZER;
819
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
726
820
  - (void)drawInContext:(CGContextRef _Nonnull)context;
821
+ - (void)layoutSublayers;
727
822
  @end
728
823
 
824
+ SWIFT_ENUM_FWD_DECL(int8_t, MasonInputType)
825
+ @class NSDate;
826
+ SWIFT_CLASS_NAMED("MasonInput")
827
+ @interface MasonInput : UIView
828
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
829
+ @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
830
+ @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
831
+ @property (nonatomic) BOOL multiple;
832
+ @property (nonatomic, copy) NSString * _Nonnull accept;
833
+ @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
834
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
835
+ @property (nonatomic) enum MasonInputType type;
836
+ @property (nonatomic) int32_t size;
837
+ @property (nonatomic, copy) NSString * _Nonnull value;
838
+ @property (nonatomic) double valueAsNumber;
839
+ @property (nonatomic, copy) NSDate * _Nullable valueAsDate;
840
+ @property (nonatomic, copy) NSString * _Nonnull placeholder;
841
+ - (void)drawRect:(CGRect)rect;
842
+ - (void)layoutSubviews;
843
+ - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
844
+ @end
845
+
846
+ SWIFT_CLASS_NAMED("MasonInputEvent")
847
+ @interface MasonInputEvent : MasonEvent
848
+ @property (nonatomic, readonly, copy) NSString * _Nullable data;
849
+ @property (nonatomic, readonly, copy) NSString * _Nullable inputType;
850
+ - (nonnull instancetype)initWithType:(NSString * _Nonnull)type data:(NSString * _Nullable)inputData inputType:(NSString * _Nullable)masonInputType options:(MasonEventOptions * _Nullable)options OBJC_DESIGNATED_INITIALIZER;
851
+ - (nonnull instancetype)initWithType:(NSString * _Nonnull)eventType bubbles:(BOOL)eventBubbles cancelable:(BOOL)eventCancelable options:(MasonEventOptions * _Nullable)options SWIFT_UNAVAILABLE;
852
+ @end
853
+
854
+ typedef SWIFT_ENUM_NAMED(int8_t, MasonInputType, "MasonInputType", open) {
855
+ MasonInputTypeText = 0,
856
+ MasonInputTypeButton = 1,
857
+ MasonInputTypeCheckbox = 2,
858
+ MasonInputTypeEmail = 3,
859
+ MasonInputTypePassword = 4,
860
+ MasonInputTypeDate = 5,
861
+ MasonInputTypeRadio = 6,
862
+ MasonInputTypeNumber = 7,
863
+ MasonInputTypeRange = 8,
864
+ MasonInputTypeTel = 9,
865
+ MasonInputTypeUrl = 10,
866
+ MasonInputTypeColor = 11,
867
+ MasonInputTypeFile = 12,
868
+ MasonInputTypeSubmit = 13,
869
+ };
870
+
871
+ @class MasonRectHelper;
872
+ @class MasonSizeHelper;
729
873
  SWIFT_CLASS_NAMED("MasonLayout")
730
874
  @interface MasonLayout : NSObject
731
- @property (nonatomic, readonly) NSInteger order;
875
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonLayout * _Nonnull empty;)
876
+ + (MasonLayout * _Nonnull)empty SWIFT_WARN_UNUSED_RESULT;
732
877
  @property (nonatomic, readonly) float x;
733
878
  @property (nonatomic, readonly) float y;
734
879
  @property (nonatomic, readonly) float width;
735
880
  @property (nonatomic, readonly) float height;
736
- @property (nonatomic, readonly, copy) NSArray<MasonLayout *> * _Nonnull children;
737
- SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MasonLayout * _Nonnull zero;)
738
- + (MasonLayout * _Nonnull)zero SWIFT_WARN_UNUSED_RESULT;
881
+ @property (nonatomic, readonly) float borderTop;
882
+ @property (nonatomic, readonly) float borderRight;
883
+ @property (nonatomic, readonly) float borderBottom;
884
+ @property (nonatomic, readonly) float borderLeft;
885
+ @property (nonatomic, readonly) float marginTop;
886
+ @property (nonatomic, readonly) float marginRight;
887
+ @property (nonatomic, readonly) float marginBottom;
888
+ @property (nonatomic, readonly) float marginLeft;
889
+ @property (nonatomic, readonly) float paddingTop;
890
+ @property (nonatomic, readonly) float paddingRight;
891
+ @property (nonatomic, readonly) float paddingBottom;
892
+ @property (nonatomic, readonly) float paddingLeft;
893
+ @property (nonatomic, readonly) float contentWidth;
894
+ @property (nonatomic, readonly) float contentHeight;
895
+ @property (nonatomic, readonly) float scrollbarWidth;
896
+ @property (nonatomic, readonly) float scrollbarHeight;
897
+ @property (nonatomic, readonly) BOOL sizeIsEmpty;
898
+ @property (nonatomic, readonly) BOOL paddingIsEmpty;
899
+ @property (nonatomic, readonly) BOOL marginIsEmpty;
900
+ @property (nonatomic, readonly) BOOL borderIsEmpty;
901
+ @property (nonatomic, readonly, strong) MasonRectHelper * _Nonnull border;
902
+ @property (nonatomic, readonly, strong) MasonRectHelper * _Nonnull margin;
903
+ @property (nonatomic, readonly, strong) MasonRectHelper * _Nonnull padding;
904
+ @property (nonatomic, readonly, strong) MasonSizeHelper * _Nonnull contentSize;
905
+ @property (nonatomic, readonly, strong) MasonSizeHelper * _Nonnull scrollbarSize;
739
906
  @property (nonatomic, readonly) BOOL hasChildren;
740
- @property (nonatomic, readonly, copy) NSString * _Nonnull description;
907
+ @property (nonatomic, readonly, copy) NSArray<MasonLayout *> * _Nonnull children;
741
908
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
742
909
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
743
910
  @end
744
911
 
745
- enum MasonLengthPercentageAutoCompatType : NSInteger;
912
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonLengthPercentageAutoCompatType)
746
913
  SWIFT_CLASS_NAMED("MasonLengthPercentageAutoCompat")
747
914
  @interface MasonLengthPercentageAutoCompat : NSObject
748
915
  - (nonnull instancetype)initWithPoints:(float)points OBJC_DESIGNATED_INITIALIZER;
@@ -792,7 +959,7 @@ SWIFT_CLASS_NAMED("MasonLengthPercentageAutoSizeCompat")
792
959
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
793
960
  @end
794
961
 
795
- enum MasonLengthPercentageCompatType : NSInteger;
962
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonLengthPercentageCompatType)
796
963
  SWIFT_CLASS_NAMED("MasonLengthPercentageCompat")
797
964
  @interface MasonLengthPercentageCompat : NSObject
798
965
  - (nonnull instancetype)initWithPoints:(float)points OBJC_DESIGNATED_INITIALIZER;
@@ -839,9 +1006,160 @@ SWIFT_CLASS_NAMED("MasonLengthPercentageSizeCompat")
839
1006
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
840
1007
  @end
841
1008
 
1009
+ SWIFT_CLASS_NAMED("MasonLi")
1010
+ @interface MasonLi : UIView <MasonElementObjc>
1011
+ - (void)requestLayout;
1012
+ - (void)drawRect:(CGRect)rect;
1013
+ @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
1014
+ @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
1015
+ @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
1016
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
1017
+ @property (nonatomic) BOOL isOrdered;
1018
+ - (void)layoutSubviews;
1019
+ /// Reset view state for recycling
1020
+ - (void)resetForRecycle;
1021
+ /// Set marker value and position for this list item
1022
+ - (void)bindWithPosition:(NSInteger)position isOrdered:(BOOL)isOrdered;
1023
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
1024
+ - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
1025
+ @end
1026
+
1027
+ @protocol MasonListDelegate;
1028
+ @class UICollectionView;
1029
+ @class NSIndexPath;
1030
+ @class UICollectionViewCell;
1031
+ SWIFT_CLASS_NAMED("MasonList")
1032
+ @interface MasonList : UIView <MasonElementObjc, UICollectionViewDataSource, UICollectionViewDataSourcePrefetching, UICollectionViewDelegateFlowLayout>
1033
+ @property (nonatomic, strong) id <MasonListDelegate> _Nullable delegate;
1034
+ - (void)drawRect:(CGRect)rect;
1035
+ @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
1036
+ @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
1037
+ @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
1038
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
1039
+ /// Static items keyed by their position in the overall list.
1040
+ /// Positions not in this dictionary are virtual (recycled via delegate).
1041
+ @property (nonatomic, readonly, copy) NSDictionary<NSNumber *, MasonLi *> * _Nonnull staticItems;
1042
+ /// Backward-compat: flat array of static views (unpositioned).
1043
+ /// Setting this clears staticItems and assigns positions 0..<array.count.
1044
+ @property (nonatomic, copy) NSArray<MasonLi *> * _Nonnull staticViews;
1045
+ @property (nonatomic, strong) NSMutableData * _Nonnull values;
1046
+ /// Virtual item count (set by user). Total count = staticItems.count + this value.
1047
+ @property (nonatomic) NSInteger count;
1048
+ - (void)layoutSubviews;
1049
+ - (void)registerWithCellClass:(Class _Nullable)cellClass forCellWithReuseIdentifier:(NSString * _Nonnull)identifier;
1050
+ /// Appends a static item at the end of the list (position = current count).
1051
+ - (void)addView:(MasonLi * _Nonnull)item;
1052
+ /// Inserts a static item at the given position, shifting existing entries at >= index.
1053
+ - (void)addView:(MasonLi * _Nonnull)item at:(NSInteger)index;
1054
+ - (void)reload;
1055
+ @property (nonatomic) BOOL isOrdered;
1056
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
1057
+ - (void)invalidateSizeCache;
1058
+ - (void)invalidateSizeCacheAt:(NSInteger)index;
1059
+ - (void)collectionView:(UICollectionView * _Nonnull)collectionView prefetchItemsAtIndexPaths:(NSArray<NSIndexPath *> * _Nonnull)indexPaths;
1060
+ - (NSInteger)collectionView:(UICollectionView * _Nonnull)collectionView numberOfItemsInSection:(NSInteger)section SWIFT_WARN_UNUSED_RESULT;
1061
+ - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView * _Nonnull)collectionView SWIFT_WARN_UNUSED_RESULT;
1062
+ - (UICollectionViewCell * _Nonnull)collectionView:(UICollectionView * _Nonnull)collectionView cellForItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
1063
+ - (void)collectionView:(UICollectionView * _Nonnull)collectionView willDisplayCell:(UICollectionViewCell * _Nonnull)cell forItemAtIndexPath:(NSIndexPath * _Nonnull)indexPath;
1064
+ - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
1065
+ @end
1066
+
1067
+ SWIFT_PROTOCOL_NAMED("MasonListDelegate")
1068
+ @protocol MasonListDelegate
1069
+ - (UICollectionViewCell * _Nonnull)list:(UICollectionView * _Nonnull)list cellForItemAt:(NSIndexPath * _Nonnull)indexPath SWIFT_WARN_UNUSED_RESULT;
1070
+ - (void)list:(UICollectionView * _Nonnull)list willDisplay:(UICollectionViewCell * _Nonnull)cell forItemAt:(NSIndexPath * _Nonnull)indexPath;
1071
+ @end
1072
+
1073
+ @class UICollectionViewLayoutAttributes;
1074
+ SWIFT_CLASS_NAMED("MasonListCell")
1075
+ @interface MasonListCell : UICollectionViewCell
1076
+ @property (nonatomic, copy) void (^ _Nullable willMove)(MasonListCell * _Nonnull);
1077
+ + (MasonListCell * _Nonnull)initWithEmptyBackground SWIFT_METHOD_FAMILY(none) SWIFT_WARN_UNUSED_RESULT;
1078
+ - (void)setViewWithCompat:(id <MasonElementObjc> _Nullable)view;
1079
+ - (void)willMoveToSuperview:(UIView * _Nullable)newSuperview;
1080
+ - (void)prepareForReuse;
1081
+ - (UICollectionViewLayoutAttributes * _Nonnull)preferredLayoutAttributesFittingAttributes:(UICollectionViewLayoutAttributes * _Nonnull)layoutAttributes SWIFT_WARN_UNUSED_RESULT;
1082
+ - (void)layoutSubviews;
1083
+ - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
1084
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
1085
+ @end
1086
+
1087
+ @class MasonMouseEventOptions;
1088
+ SWIFT_CLASS_NAMED("MasonMouseEvent")
1089
+ @interface MasonMouseEvent : MasonEvent
1090
+ @property (nonatomic, readonly) NSInteger button;
1091
+ @property (nonatomic, readonly) NSInteger buttons;
1092
+ @property (nonatomic, readonly) float clientX;
1093
+ @property (nonatomic, readonly) float clientY;
1094
+ @property (nonatomic, readonly) BOOL ctrlKey;
1095
+ @property (nonatomic, readonly) BOOL shiftKey;
1096
+ @property (nonatomic, readonly) BOOL altKey;
1097
+ @property (nonatomic, readonly) BOOL metaKey;
1098
+ @property (nonatomic, readonly) NSInteger detail;
1099
+ @property (nonatomic, readonly) float screenX;
1100
+ @property (nonatomic, readonly) float screenY;
1101
+ @property (nonatomic, readonly) id _Nullable relatedTarget;
1102
+ @property (nonatomic, readonly) id _Nullable region;
1103
+ @property (nonatomic, readonly) NSInteger movementX;
1104
+ @property (nonatomic, readonly) NSInteger movementY;
1105
+ @property (nonatomic, readonly) float pageX;
1106
+ @property (nonatomic, readonly) float pageY;
1107
+ - (nonnull instancetype)initWithType:(NSString * _Nonnull)type options:(MasonMouseEventOptions * _Nullable)options OBJC_DESIGNATED_INITIALIZER;
1108
+ - (nonnull instancetype)initWithType:(NSString * _Nonnull)eventType bubbles:(BOOL)eventBubbles cancelable:(BOOL)eventCancelable options:(MasonEventOptions * _Nullable)options SWIFT_UNAVAILABLE;
1109
+ @end
1110
+
1111
+ SWIFT_CLASS_NAMED("MasonMouseEventOptions")
1112
+ @interface MasonMouseEventOptions : MasonEventOptions
1113
+ - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1114
+ - (nonnull instancetype)initWithIsComposing:(BOOL)isComposing OBJC_DESIGNATED_INITIALIZER;
1115
+ @end
1116
+
1117
+ SWIFT_ENUM_FWD_DECL(uint16_t, PseudoState)
1118
+ SWIFT_ENUM_FWD_DECL(int32_t, MasonNodeType)
1119
+ SWIFT_CLASS_NAMED("MasonNode")
1120
+ @interface MasonNode : NSObject
1121
+ @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
1122
+ @property (nonatomic, copy) void (^ _Nullable onNodeAttached)(void);
1123
+ @property (nonatomic, copy) void (^ _Nullable onNodeDetached)(void);
1124
+ @property (nonatomic, readonly) void * _Nullable nativePtr;
1125
+ @property (nonatomic, readonly, strong) MasonLayout * _Nonnull computedLayout;
1126
+ /// Set to true by applyToView after Mason has applied layout to this node’s view.
1127
+ /// NativeScript can read this to skip redundant layout passes for Mason-managed children.
1128
+ @property (nonatomic) BOOL isLayoutValid;
1129
+ @property (nonatomic, readonly, strong) MasonDocument * _Nullable document;
1130
+ - (void)setPseudoString:(uint16_t)pseudoState :(NSString * _Nonnull)key :(NSString * _Nonnull)value;
1131
+ - (NSString * _Nullable)getPseudoString:(uint16_t)pseudoState :(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT;
1132
+ - (void)clearPseudoString:(uint16_t)pseudoState :(NSString * _Nonnull)key;
1133
+ /// Current active pseudo state bitmask read from the native state buffer.
1134
+ @property (nonatomic, readonly) uint16_t pseudoMask;
1135
+ - (BOOL)hasPseudo:(enum PseudoState)state SWIFT_WARN_UNUSED_RESULT;
1136
+ - (void)setPseudo:(enum PseudoState)state :(BOOL)enabled autoDirty:(BOOL)autoDirty;
1137
+ /// Get existing pseudo style buffer (read-only).
1138
+ - (NSMutableData * _Nullable)getPseudoBuffer:(uint16_t)flags SWIFT_WARN_UNUSED_RESULT;
1139
+ /// Prepare (create if needed) a mutable pseudo style buffer.
1140
+ /// Clones from base style on first call for a given state.
1141
+ - (NSMutableData * _Nonnull)preparePseudoBuffer:(uint16_t)flags SWIFT_WARN_UNUSED_RESULT;
1142
+ - (MasonNode * _Nonnull)getRootNode SWIFT_WARN_UNUSED_RESULT;
1143
+ @property (nonatomic, readonly, strong) MasonNode * _Nullable parent;
1144
+ @property (nonatomic, readonly, strong) MasonNode * _Nullable parentNode;
1145
+ @property (nonatomic, readonly) enum MasonNodeType type;
1146
+ - (NSArray<MasonNode *> * _Nonnull)getChildren SWIFT_WARN_UNUSED_RESULT;
1147
+ - (NSArray<MasonNode *> * _Nonnull)getLayoutChildren SWIFT_WARN_UNUSED_RESULT;
1148
+ @property (nonatomic) BOOL inBatch;
1149
+ - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)doc children:(NSArray<MasonNode *> * _Nonnull)nodes OBJC_DESIGNATED_INITIALIZER;
1150
+ @property (nonatomic, readonly) BOOL isDirty;
1151
+ - (void)markDirty;
1152
+ - (UIView * _Nullable)getRoot SWIFT_WARN_UNUSED_RESULT;
1153
+ /// Helper to get default text attributes for new text nodes
1154
+ - (NSDictionary<NSAttributedStringKey, id> * _Nonnull)getDefaultAttributes SWIFT_WARN_UNUSED_RESULT;
1155
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1156
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1157
+ @end
1158
+
842
1159
  @interface MasonNode (SWIFT_EXTENSION(Mason))
843
1160
  - (void)setChildrenWithValue:(NSArray<MasonNode *> * _Nonnull)value;
844
1161
  - (void)appendChild:(MasonNode * _Nonnull)child;
1162
+ - (void)removeAllChildren;
845
1163
  @end
846
1164
 
847
1165
  typedef SWIFT_ENUM_NAMED(int32_t, MasonNodeType, "MasonNodeType", open) {
@@ -850,7 +1168,7 @@ typedef SWIFT_ENUM_NAMED(int32_t, MasonNodeType, "MasonNodeType", open) {
850
1168
  MasonNodeTypeDocument = 2,
851
1169
  };
852
1170
 
853
- enum MasonOverflow : NSInteger;
1171
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonOverflow)
854
1172
  SWIFT_CLASS_NAMED("MasonOverflowPointCompat")
855
1173
  @interface MasonOverflowPointCompat : NSObject
856
1174
  @property (nonatomic) enum MasonOverflow x;
@@ -860,23 +1178,45 @@ SWIFT_CLASS_NAMED("MasonOverflowPointCompat")
860
1178
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
861
1179
  @end
862
1180
 
1181
+ SWIFT_CLASS_NAMED("MasonRectHelper")
1182
+ @interface MasonRectHelper : NSObject
1183
+ @property (nonatomic, readonly) float top;
1184
+ @property (nonatomic, readonly) float right;
1185
+ @property (nonatomic, readonly) float bottom;
1186
+ @property (nonatomic, readonly) float left;
1187
+ - (BOOL)isEmpty SWIFT_WARN_UNUSED_RESULT;
1188
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1189
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1190
+ @end
1191
+
1192
+ SWIFT_CLASS_NAMED("MasonSizeHelper")
1193
+ @interface MasonSizeHelper : NSObject
1194
+ @property (nonatomic, readonly) float width;
1195
+ @property (nonatomic, readonly) float height;
1196
+ - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1197
+ + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1198
+ @end
1199
+
863
1200
  @class NSCFontFace;
864
1201
  @class MasonVerticalAlignValue;
865
- enum MasonObjectFit : NSInteger;
1202
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonObjectFit)
866
1203
  @class UIColor;
867
- enum MasonTextJustify : NSInteger;
1204
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonTextJustify)
868
1205
  @class MasonTextOverflowCompat;
869
- enum MasonTextTransform : NSInteger;
870
- enum MasonWhiteSpace : NSInteger;
871
- enum MasonTextWrap : NSInteger;
872
- enum MasonPosition : NSInteger;
873
- enum MasonTextAlign : NSInteger;
1206
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonTextTransform)
1207
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonWhiteSpace)
1208
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonTextWrap)
1209
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonPosition)
1210
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonTextAlign)
874
1211
  SWIFT_CLASS_NAMED("MasonStyle")
875
1212
  @interface MasonStyle : NSObject
876
1213
  @property (nonatomic, readonly, strong) NSCFontFace * _Null_unspecified font;
877
- @property (nonatomic, strong) NSMutableData * _Nonnull values;
878
- @property (nonatomic, strong) NSMutableData * _Nonnull textValues;
1214
+ - (void)prepareMut;
1215
+ @property (nonatomic, readonly, strong) NSMutableData * _Nonnull values;
879
1216
  - (nonnull instancetype)initWithNode:(MasonNode * _Nonnull)node OBJC_DESIGNATED_INITIALIZER;
1217
+ @property (nonatomic) enum MasonListStylePosition listStylePosition;
1218
+ @property (nonatomic) enum MasonListStyleType listStyleType;
1219
+ @property (nonatomic) int32_t zIndex;
880
1220
  @property (nonatomic, strong) MasonVerticalAlignValue * _Nonnull verticalAlign;
881
1221
  @property (nonatomic) enum MasonObjectFit objectFit;
882
1222
  @property (nonatomic, getter=float, setter=setFloat:) enum MasonFloat float_;
@@ -898,8 +1238,10 @@ SWIFT_CLASS_NAMED("MasonStyle")
898
1238
  - (void)setLineHeight:(float)value :(BOOL)isRelative;
899
1239
  @property (nonatomic) float lineHeight;
900
1240
  @property (nonatomic) float letterSpacing;
1241
+ @property (nonatomic, copy) NSString * _Nonnull fontVariantNumericString;
901
1242
  @property (nonatomic) uint32_t decorationColor;
902
1243
  - (void)setDecorationColorWithUi:(UIColor * _Nonnull)color;
1244
+ - (void)setDecorationColorWithCss:(NSString * _Nonnull)color;
903
1245
  @property (nonatomic) enum MasonDecorationLine decorationLine;
904
1246
  @property (nonatomic) int32_t fontSize;
905
1247
  - (void)setFontStyle:(enum MasonFontStyle)style :(int32_t)slant;
@@ -944,8 +1286,21 @@ SWIFT_CLASS_NAMED("MasonStyle")
944
1286
  - (void)setPaddingBottom:(float)value :(NSInteger)type;
945
1287
  - (void)setPaddingWithValueType:(float)value :(NSInteger)type;
946
1288
  @property (nonatomic, copy) NSString * _Nonnull textShadow;
1289
+ @property (nonatomic, copy) NSString * _Nonnull boxShadow;
947
1290
  @property (nonatomic, copy) NSString * _Nonnull borderRadius;
1291
+ @property (nonatomic, copy) NSString * _Nonnull cornerShape;
1292
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeTopLeft;
1293
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeTopRight;
1294
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeBottomRight;
1295
+ @property (nonatomic, copy) NSString * _Nonnull cornerShapeBottomLeft;
948
1296
  @property (nonatomic, copy) NSString * _Nonnull border;
1297
+ @property (nonatomic, copy) NSString * _Nonnull paddingCss;
1298
+ @property (nonatomic, copy) NSString * _Nonnull marginCss;
1299
+ @property (nonatomic, copy) NSString * _Nonnull insetCss;
1300
+ @property (nonatomic, copy) NSString * _Nonnull borderLeft;
1301
+ @property (nonatomic, copy) NSString * _Nonnull borderTop;
1302
+ @property (nonatomic, copy) NSString * _Nonnull borderRight;
1303
+ @property (nonatomic, copy) NSString * _Nonnull borderBottom;
949
1304
  @property (nonatomic, strong) MasonLengthPercentageRectCompat * _Nonnull borderWidthCompat;
950
1305
  - (void)setBorderLeftWidth:(float)value :(NSInteger)type;
951
1306
  - (void)setBorderRightWidth:(float)value :(NSInteger)type;
@@ -969,6 +1324,7 @@ SWIFT_CLASS_NAMED("MasonStyle")
969
1324
  - (void)setSizeWidth:(float)value :(NSInteger)type;
970
1325
  - (void)setSizeHeight:(float)value :(NSInteger)type;
971
1326
  - (void)setSizeWidthHeight:(float)value :(NSInteger)type;
1327
+ - (void)setSizePoints:(float)width :(float)height;
972
1328
  @property (nonatomic, strong) MasonDimensionSizeCompat * _Nonnull maxSizeCompat;
973
1329
  - (void)setMaxSizeWidth:(float)value :(NSInteger)type;
974
1330
  - (void)setMaxSizeHeight:(float)value :(NSInteger)type;
@@ -980,6 +1336,7 @@ SWIFT_CLASS_NAMED("MasonStyle")
980
1336
  - (void)setColumnGap:(float)value :(NSInteger)type;
981
1337
  @property (nonatomic, copy) NSString * _Nonnull gridArea;
982
1338
  @property (nonatomic, copy) NSString * _Nonnull gridTemplateAreas;
1339
+ @property (nonatomic, copy) NSString * _Nonnull transform;
983
1340
  @property (nonatomic, copy) NSString * _Nonnull gridAutoRows;
984
1341
  @property (nonatomic, copy) NSString * _Nonnull gridAutoColumns;
985
1342
  @property (nonatomic) enum MasonGridAutoFlowWrap gridAutoFlow;
@@ -991,13 +1348,16 @@ SWIFT_CLASS_NAMED("MasonStyle")
991
1348
  @property (nonatomic, copy) NSString * _Nonnull gridRowEnd;
992
1349
  @property (nonatomic, copy) NSString * _Nonnull gridTemplateRows;
993
1350
  @property (nonatomic, copy) NSString * _Nonnull gridTemplateColumns;
1351
+ @property (nonatomic, copy) NSString * _Nonnull borderImage;
1352
+ @property (nonatomic, copy) NSString * _Nonnull backdropFilter;
1353
+ @property (nonatomic, copy) NSString * _Nonnull fontFeatureSettings;
994
1354
  - (void)updateNativeStyle;
995
1355
  @property (nonatomic, readonly, copy) NSString * _Nonnull description;
996
1356
  - (nonnull instancetype)init SWIFT_UNAVAILABLE;
997
1357
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
998
1358
  @end
999
1359
 
1000
- enum MasonTextType : NSInteger;
1360
+ SWIFT_ENUM_FWD_DECL(NSInteger, MasonTextType)
1001
1361
  SWIFT_CLASS_NAMED("MasonText")
1002
1362
  @interface MasonText : UIView <MasonElementObjc, MasonTextContainer>
1003
1363
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
@@ -1006,15 +1366,19 @@ SWIFT_CLASS_NAMED("MasonText")
1006
1366
  SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) Class _Nonnull layerClass;)
1007
1367
  + (Class _Nonnull)layerClass SWIFT_WARN_UNUSED_RESULT;
1008
1368
  @property (nonatomic, readonly, strong) NSMutableData * _Nonnull textValues;
1009
- - (void)onTextStyleChangedWithChange:(int64_t)change;
1369
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
1010
1370
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
1011
1371
  @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
1012
1372
  - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)mason type:(enum MasonTextType)textType OBJC_DESIGNATED_INITIALIZER;
1013
1373
  - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)mason OBJC_DESIGNATED_INITIALIZER;
1014
1374
  - (void)setNeedsDisplay;
1015
1375
  - (void)requestLayout;
1376
+ - (void)layoutSubviews;
1016
1377
  - (void)addView:(UIView * _Nonnull)view;
1017
1378
  - (void)addView:(UIView * _Nonnull)view at:(NSInteger)at;
1379
+ - (void)removeView:(UIView * _Nonnull)view;
1380
+ - (void)removeViewAt:(NSInteger)index;
1381
+ - (void)removeAllViews;
1018
1382
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
1019
1383
  @property (nonatomic, strong) MasonTextOverflowCompat * _Nonnull textOverflowCompat;
1020
1384
  @property (nonatomic) uint32_t color;
@@ -1046,6 +1410,49 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) Class _Nonnull layer
1046
1410
  - (MasonNode * _Nullable)removeChild:(MasonNode * _Nonnull)child;
1047
1411
  @end
1048
1412
 
1413
+ @class NSTextContainer;
1414
+ @class NSAttributedString;
1415
+ @class UIFont;
1416
+ @class UITextPosition;
1417
+ SWIFT_CLASS_NAMED("MasonTextInput")
1418
+ @interface MasonTextInput : UITextView <UITextViewDelegate>
1419
+ - (nonnull instancetype)initWithFrame:(CGRect)frame textContainer:(NSTextContainer * _Nullable)textContainer SWIFT_UNAVAILABLE;
1420
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
1421
+ @property (nonatomic, copy) NSString * _Nullable placeholder;
1422
+ @property (nonatomic, copy) NSString * _Null_unspecified text;
1423
+ @property (nonatomic, strong) NSAttributedString * _Null_unspecified attributedText;
1424
+ @property (nonatomic, strong) UIFont * _Nullable font;
1425
+ @property (nonatomic) NSTextAlignment textAlignment;
1426
+ - (void)layoutSubviews;
1427
+ - (void)textViewDidChange:(UITextView * _Nonnull)textView;
1428
+ - (void)textViewDidBeginEditing:(UITextView * _Nonnull)textView;
1429
+ - (void)textViewDidEndEditing:(UITextView * _Nonnull)textView;
1430
+ - (void)paste:(id _Nullable)sender;
1431
+ - (void)cut:(id _Nullable)sender;
1432
+ - (BOOL)textView:(UITextView * _Nonnull)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString * _Nonnull)text SWIFT_WARN_UNUSED_RESULT;
1433
+ - (CGRect)caretRectForPosition:(UITextPosition * _Nonnull)position SWIFT_WARN_UNUSED_RESULT;
1434
+ @end
1435
+
1436
+ SWIFT_CLASS_NAMED("MasonTextArea")
1437
+ @interface MasonTextArea : MasonTextInput <MasonElementObjc>
1438
+ @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
1439
+ @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
1440
+ @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
1441
+ @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
1442
+ @property (nonatomic) NSInteger rows;
1443
+ @property (nonatomic) NSInteger cols;
1444
+ @property (nonatomic, copy) NSString * _Nonnull name;
1445
+ @property (nonatomic) NSInteger maxLength;
1446
+ @property (nonatomic, copy) NSString * _Nonnull value;
1447
+ - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)doc OBJC_DESIGNATED_INITIALIZER;
1448
+ - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
1449
+ - (void)drawRect:(CGRect)rect;
1450
+ - (void)layoutSubviews;
1451
+ - (void)textViewDidChange:(UITextView * _Nonnull)textView;
1452
+ - (void)onStyleChange:(uint64_t)low :(uint64_t)high;
1453
+ - (BOOL)textView:(UITextView * _Nonnull)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString * _Nonnull)text SWIFT_WARN_UNUSED_RESULT;
1454
+ @end
1455
+
1049
1456
  SWIFT_CLASS("_TtC5Mason14MasonTextLayer")
1050
1457
  @interface MasonTextLayer : CALayer
1051
1458
  - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
@@ -1054,7 +1461,22 @@ SWIFT_CLASS("_TtC5Mason14MasonTextLayer")
1054
1461
  - (void)drawInContext:(CGContextRef _Nonnull)context;
1055
1462
  @end
1056
1463
 
1057
- @class NSAttributedString;
1464
+ SWIFT_CLASS_NAMED("MasonTextNode")
1465
+ @interface MasonTextNode : MasonNode <MasonCharacterData>
1466
+ @property (nonatomic, copy) NSString * _Nonnull data;
1467
+ - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)doc data:(NSString * _Nonnull)text attributes:(NSDictionary<NSAttributedStringKey, id> * _Nullable)attrs OBJC_DESIGNATED_INITIALIZER;
1468
+ - (void)appendChild:(MasonNode * _Nonnull)child;
1469
+ @property (nonatomic, readonly) NSInteger length;
1470
+ - (NSString * _Nonnull)substringDataWithOffset:(NSInteger)offset count:(NSInteger)count SWIFT_WARN_UNUSED_RESULT;
1471
+ - (nonnull instancetype)appendData:(NSString * _Nonnull)s;
1472
+ - (nonnull instancetype)insertData:(NSString * _Nonnull)s at:(NSInteger)offset;
1473
+ - (nonnull instancetype)deleteDataWithOffset:(NSInteger)offset count:(NSInteger)count;
1474
+ - (nonnull instancetype)replaceDataWithOffset:(NSInteger)offset count:(NSInteger)count with:(NSString * _Nonnull)s;
1475
+ - (nonnull instancetype)deleteDataWithRange:(NSRange)range;
1476
+ - (nonnull instancetype)replaceDataWithRange:(NSRange)range with:(NSString * _Nonnull)s;
1477
+ - (nonnull instancetype)initWithMason:(NSCMason * _Nonnull)doc children:(NSArray<MasonNode *> * _Nonnull)nodes SWIFT_UNAVAILABLE;
1478
+ @end
1479
+
1058
1480
  @interface MasonTextNode (SWIFT_EXTENSION(Mason))
1059
1481
  /// Get attributed string representation of this text node
1060
1482
  - (NSAttributedString * _Nonnull)attributed SWIFT_WARN_UNUSED_RESULT;
@@ -1075,6 +1497,10 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonTextType, "MasonTextType", open) {
1075
1497
  MasonTextTypeBlockquote = 11,
1076
1498
  MasonTextTypeB = 12,
1077
1499
  MasonTextTypePre = 13,
1500
+ MasonTextTypeStrong = 14,
1501
+ MasonTextTypeEm = 15,
1502
+ MasonTextTypeI = 16,
1503
+ MasonTextTypeA = 17,
1078
1504
  };
1079
1505
 
1080
1506
  SWIFT_CLASS_NAMED("MasonUIView")
@@ -1083,15 +1509,22 @@ SWIFT_CLASS_NAMED("MasonUIView")
1083
1509
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
1084
1510
  @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
1085
1511
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
1512
+ @property (nonatomic) CGSize contentSize;
1513
+ @property (nonatomic) CGPoint contentOffset;
1086
1514
  @property (nonatomic, readonly, strong) MasonStyle * _Nonnull style;
1087
1515
  - (void)markNodeDirty;
1088
1516
  - (BOOL)isNodeDirty SWIFT_WARN_UNUSED_RESULT;
1517
+ - (void)layoutSubviews;
1518
+ - (void)willMoveToWindow:(UIWindow * _Nullable)newWindow;
1519
+ - (void)willMoveToSuperview:(UIView * _Nullable)newSuperview;
1089
1520
  - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder SWIFT_UNAVAILABLE;
1090
1521
  + (MasonUIView * _Nonnull)createGridView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
1091
1522
  + (MasonUIView * _Nonnull)createFlexView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
1092
1523
  + (MasonUIView * _Nonnull)createBlockView:(NSCMason * _Nonnull)mason SWIFT_WARN_UNUSED_RESULT;
1093
1524
  - (void)addView:(UIView * _Nonnull)view;
1094
1525
  - (void)addView:(UIView * _Nonnull)view at:(NSInteger)at;
1526
+ - (void)removeView:(UIView * _Nonnull)view;
1527
+ - (void)removeViewAt:(NSInteger)index;
1095
1528
  - (void)addSubviews:(NSArray<UIView *> * _Nonnull)views;
1096
1529
  - (void)addSubviews:(NSArray<UIView *> * _Nonnull)views at:(NSInteger)index;
1097
1530
  @property (nonatomic) BOOL inBatch;
@@ -1127,7 +1560,7 @@ SWIFT_CLASS_NAMED("MasonUIView")
1127
1560
  @property (nonatomic, copy) NSString * _Nonnull gridRowEnd;
1128
1561
  @property (nonatomic, copy) NSString * _Nonnull gridTemplateRows;
1129
1562
  @property (nonatomic, copy) NSString * _Nonnull gridTemplateColumns;
1130
- - (void)setPadding:(float)left :(float)right :(float)top :(float)bottom;
1563
+ - (void)setPadding:(float)left :(float)top :(float)right :(float)bottom;
1131
1564
  - (MasonLengthPercentageRectCompat * _Nonnull)getPadding SWIFT_WARN_UNUSED_RESULT;
1132
1565
  - (void)setPaddingLeft:(float)left :(NSInteger)type;
1133
1566
  - (void)setPaddingRight:(float)right :(NSInteger)type;
@@ -1186,7 +1619,7 @@ SWIFT_CLASS_NAMED("MasonUIView")
1186
1619
  - (MasonDimensionCompat * _Nonnull)getMaxSizeWidth SWIFT_WARN_UNUSED_RESULT;
1187
1620
  - (MasonDimensionCompat * _Nonnull)getMaxSizeHeight SWIFT_WARN_UNUSED_RESULT;
1188
1621
  - (void)setGap:(float)width :(float)height;
1189
- - (void)setGapWithWidthHeightType:(float)width :(NSInteger)width_type :(float)height :(NSInteger)height_type;
1622
+ - (void)setGapWithWidthHeightType:(float)width :(int8_t)width_type :(float)height :(int8_t)height_type;
1190
1623
  - (MasonLengthPercentageSizeCompat * _Nonnull)getGap SWIFT_WARN_UNUSED_RESULT;
1191
1624
  - (void)setRowGap:(float)row :(NSInteger)type;
1192
1625
  - (void)setColumnGap:(float)column :(NSInteger)type;
@@ -1261,98 +1694,7 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) MinSizing *
1261
1694
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1262
1695
  @end
1263
1696
 
1264
- SWIFT_CLASS_NAMED("NSCFontDescriptors")
1265
- @interface NSCFontDescriptors : NSObject
1266
- - (nonnull instancetype)initWithFamily:(NSString * _Nonnull)family OBJC_DESIGNATED_INITIALIZER;
1267
- - (void)update:(NSString * _Nonnull)value;
1268
- - (void)setFontWeight:(NSString * _Nonnull)value;
1269
- - (void)setFontStyle:(NSString * _Nonnull)value;
1270
- - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1271
- + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1272
- @end
1273
-
1274
- typedef SWIFT_ENUM_NAMED(NSInteger, NSCFontDisplay, "NSCFontDisplay", open) {
1275
- NSCFontDisplayAuto = 0,
1276
- NSCFontDisplayBlock = 1,
1277
- NSCFontDisplayFallback = 2,
1278
- NSCFontDisplayOptional = 3,
1279
- NSCFontDisplaySwap = 4,
1280
- };
1281
-
1282
- @class NSData;
1283
- enum NSCFontFaceStatus : NSInteger;
1284
- enum NSCFontWeight : NSInteger;
1285
- SWIFT_CLASS_NAMED("NSCFontFace")
1286
- @interface NSCFontFace : NSObject
1287
- @property (nonatomic, readonly) CGFontRef _Nullable font;
1288
- @property (nonatomic, readonly, strong) NSData * _Nullable fontData;
1289
- - (void)updateDescriptorWithValue:(NSString * _Nonnull)value;
1290
- + (NSCFontFace * _Nullable)loadFromStyleWithStyle:(NSString * _Nonnull)style SWIFT_WARN_UNUSED_RESULT;
1291
- + (void)importFromRemoteWithUrl:(NSString * _Nonnull)url load:(BOOL)load callback:(void (^ _Nonnull)(NSArray<NSCFontFace *> * _Nullable, NSString * _Nullable))callback;
1292
- - (nonnull instancetype)initWithFamily:(NSString * _Nonnull)family OBJC_DESIGNATED_INITIALIZER;
1293
- - (nonnull instancetype)initWithFamily:(NSString * _Nonnull)family owner:(MasonStyle * _Nonnull)style OBJC_DESIGNATED_INITIALIZER;
1294
- - (nonnull instancetype)initWithFamily:(NSString * _Nonnull)family source:(NSString * _Nonnull)source OBJC_DESIGNATED_INITIALIZER;
1295
- - (nonnull instancetype)initWithFamily:(NSString * _Nonnull)family data:(NSData * _Nonnull)source OBJC_DESIGNATED_INITIALIZER;
1296
- - (nonnull instancetype)init:(NSString * _Nonnull)family :(NSString * _Nullable)source :(NSCFontDescriptors * _Nullable)descriptors OBJC_DESIGNATED_INITIALIZER;
1297
- - (nonnull instancetype)init:(NSString * _Nonnull)family data:(NSData * _Nullable)data :(NSCFontDescriptors * _Nullable)descriptors OBJC_DESIGNATED_INITIALIZER;
1298
- @property (nonatomic) enum NSCFontFaceStatus status;
1299
- @property (nonatomic) enum NSCFontDisplay display;
1300
- - (void)setFontDisplayWithValue:(NSString * _Nonnull)value;
1301
- @property (nonatomic, copy) NSString * _Nonnull style;
1302
- - (void)setFontStyleWithValue:(NSString * _Nonnull)value angle:(NSString * _Nullable)angle;
1303
- @property (nonatomic) enum NSCFontWeight weight;
1304
- - (void)setFontWeightWithValue:(NSString * _Nonnull)value;
1305
- @property (nonatomic, readonly, copy) NSString * _Nonnull family;
1306
- @property (nonatomic, readonly, copy) NSString * _Nonnull ascentOverride;
1307
- @property (nonatomic, readonly, copy) NSString * _Nonnull descentOverride;
1308
- - (void)load:(void (^ _Nonnull)(NSString * _Nullable))callback;
1309
- - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1310
- + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1311
- @end
1312
-
1313
- enum NSCFontFaceSetStatus : NSInteger;
1314
- @class NSEnumerator;
1315
- SWIFT_CLASS_NAMED("NSCFontFaceSet")
1316
- @interface NSCFontFaceSet : NSObject
1317
- SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) NSCFontFaceSet * _Nonnull instance;)
1318
- + (NSCFontFaceSet * _Nonnull)instance SWIFT_WARN_UNUSED_RESULT;
1319
- @property (nonatomic) enum NSCFontFaceSetStatus status;
1320
- @property (nonatomic, copy) void (^ _Nullable onStatus)(enum NSCFontFaceSetStatus);
1321
- - (NSEnumerator * _Nonnull)iter SWIFT_WARN_UNUSED_RESULT;
1322
- - (NSArray * _Nonnull)array SWIFT_WARN_UNUSED_RESULT;
1323
- - (void)add:(NSCFontFace * _Nonnull)font;
1324
- - (void)clear;
1325
- - (void)delete:(NSCFontFace * _Nonnull)font;
1326
- - (BOOL)check:(NSString * _Nonnull)font :(NSString * _Nullable)text SWIFT_WARN_UNUSED_RESULT;
1327
- - (void)load:(NSString * _Nonnull)font :(NSString * _Nullable)text :(void (^ _Nonnull)(NSArray<NSCFontFace *> * _Nonnull, NSString * _Nullable))callback;
1328
- @property (nonatomic, readonly) NSInteger size;
1329
- - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1330
- @end
1331
-
1332
- typedef SWIFT_ENUM_NAMED(NSInteger, NSCFontFaceSetStatus, "NSCFontFaceSetStatus", open) {
1333
- NSCFontFaceSetStatusLoading = 0,
1334
- NSCFontFaceSetStatusLoaded = 1,
1335
- };
1336
-
1337
- typedef SWIFT_ENUM_NAMED(NSInteger, NSCFontFaceStatus, "NSCFontFaceStatus", open) {
1338
- NSCFontFaceStatusUnloaded = 0,
1339
- NSCFontFaceStatusLoading = 1,
1340
- NSCFontFaceStatusLoaded = 2,
1341
- NSCFontFaceStatusError = 3,
1342
- };
1343
-
1344
- typedef SWIFT_ENUM_NAMED(NSInteger, NSCFontWeight, "NSCFontWeight", open) {
1345
- NSCFontWeightThin = 0,
1346
- NSCFontWeightExtraLight = 1,
1347
- NSCFontWeightLight = 2,
1348
- NSCFontWeightNormal = 3,
1349
- NSCFontWeightMedium = 4,
1350
- NSCFontWeightSemiBold = 5,
1351
- NSCFontWeightBold = 6,
1352
- NSCFontWeightExtraBold = 7,
1353
- NSCFontWeightBlack = 8,
1354
- };
1355
-
1697
+ @class NSUUID;
1356
1698
  @class MasonScroll;
1357
1699
  SWIFT_CLASS_NAMED("NSCMason")
1358
1700
  @interface NSCMason : NSObject
@@ -1367,6 +1709,11 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) NSCMason * _Nonnull sh
1367
1709
  - (MasonStyle * _Nonnull)styleForView:(UIView * _Nonnull)view SWIFT_WARN_UNUSED_RESULT;
1368
1710
  - (MasonStyle * _Nullable)styleForViewOrNode:(id _Nullable)viewOrNode SWIFT_WARN_UNUSED_RESULT;
1369
1711
  - (MasonLayout * _Nonnull)layoutForView:(UIView * _Nonnull)view;
1712
+ - (NSUUID * _Nonnull)addEventListener:(MasonNode * _Nonnull)node :(NSString * _Nonnull)event :(void (^ _Nonnull)(MasonEvent * _Nonnull))listener;
1713
+ - (BOOL)removeEventListener:(MasonNode * _Nonnull)node :(NSString * _Nonnull)event id:(NSUUID * _Nonnull)id;
1714
+ - (BOOL)removeEventListener:(MasonNode * _Nonnull)node :(NSString * _Nonnull)event;
1715
+ - (void)dispatch:(MasonEvent * _Nonnull)event :(MasonNode * _Nonnull)node;
1716
+ @property (nonatomic, strong) MasonHTMLParser * _Nonnull htmlParser;
1370
1717
  - (void)clear;
1371
1718
  - (MasonDocument * _Nonnull)createDocument SWIFT_WARN_UNUSED_RESULT;
1372
1719
  - (MasonUIView * _Nonnull)createView SWIFT_WARN_UNUSED_RESULT;
@@ -1378,13 +1725,28 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) NSCMason * _Nonnull sh
1378
1725
  - (MasonButton * _Nonnull)createButton SWIFT_WARN_UNUSED_RESULT;
1379
1726
  - (MasonNode * _Nonnull)createNode SWIFT_WARN_UNUSED_RESULT;
1380
1727
  - (MasonBr * _Nonnull)createBr SWIFT_WARN_UNUSED_RESULT;
1728
+ - (MasonInput * _Nonnull)createInput:(enum MasonInputType)type SWIFT_WARN_UNUSED_RESULT;
1381
1729
  - (void)printTree:(MasonNode * _Nonnull)node;
1382
1730
  - (MasonNode * _Nonnull)createTextNode SWIFT_WARN_UNUSED_RESULT;
1383
1731
  - (MasonNode * _Nonnull)createImageNode SWIFT_WARN_UNUSED_RESULT;
1732
+ - (MasonNode * _Nonnull)createButtonNode SWIFT_WARN_UNUSED_RESULT;
1733
+ - (MasonNode * _Nonnull)createLineBreakNode SWIFT_WARN_UNUSED_RESULT;
1734
+ - (MasonList * _Nonnull)createListViewWithIsOrdered:(BOOL)isOrdered SWIFT_WARN_UNUSED_RESULT;
1735
+ - (MasonNode * _Nonnull)createListItemNode SWIFT_WARN_UNUSED_RESULT;
1736
+ - (MasonLi * _Nonnull)createListItem SWIFT_WARN_UNUSED_RESULT;
1737
+ - (MasonTextArea * _Nonnull)createTextArea SWIFT_WARN_UNUSED_RESULT;
1738
+ @property (nonatomic) BOOL preflight;
1739
+ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) float scale;)
1740
+ + (float)scale SWIFT_WARN_UNUSED_RESULT;
1384
1741
  @end
1385
1742
 
1386
1743
  @interface NSObject (SWIFT_EXTENSION(Mason))
1387
- - (void)mason_syncStyle:(NSString * _Nonnull)state :(NSString * _Nonnull)textState;
1744
+ @property (nonatomic, copy) NSString * _Nonnull mason_innerHTML;
1745
+ - (NSUUID * _Nonnull)mason_addEventListener:(NSString * _Nonnull)event :(void (^ _Nonnull)(MasonEvent * _Nonnull))listener;
1746
+ - (BOOL)mason_removeEventListener:(NSString * _Nonnull)event id:(NSUUID * _Nonnull)id;
1747
+ - (BOOL)mason_removeEventListener:(NSString * _Nonnull)event;
1748
+ - (void)mason_dispatch:(MasonEvent * _Nonnull)event;
1749
+ - (void)mason_syncStyle:(NSString * _Nonnull)low :(NSString * _Nonnull)high;
1388
1750
  - (void)mason_addView:(UIView * _Nonnull)view;
1389
1751
  - (void)mason_addView:(UIView * _Nonnull)view at:(NSInteger)at;
1390
1752
  - (void)mason_markNodeDirty;
@@ -1421,6 +1783,13 @@ SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) NSCMason * _Nonnull sh
1421
1783
  - (void)mason_replaceChildAtText:(NSString * _Nonnull)text :(NSInteger)index;
1422
1784
  - (void)mason_replaceChildAtElement:(id <MasonElementObjc> _Nonnull)element :(NSInteger)index;
1423
1785
  - (void)mason_replaceChildAtNode:(MasonNode * _Nonnull)node :(NSInteger)index;
1786
+ /// Remove the child node (view or text node) at <code>index</code> from the mason tree.
1787
+ /// Counterpart to <code>mason_addChildAt</code>; <code>MasonNode.removeChildAt</code> already
1788
+ /// handles both <code>MasonTextNode</code> and element children.
1789
+ - (void)mason_removeChildAt:(NSInteger)index;
1790
+ /// Remove a specific child node (e.g. the <code>MasonTextNode</code> a framework stamped
1791
+ /// onto its JS text node) without needing its index.
1792
+ - (void)mason_removeChildNode:(MasonNode * _Nonnull)node;
1424
1793
  @end
1425
1794
 
1426
1795
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonObjectFit, "ObjectFit", open) {
@@ -1444,9 +1813,21 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonPosition, "Position", open) {
1444
1813
  MasonPositionAbsolute = 1,
1445
1814
  };
1446
1815
 
1816
+ typedef SWIFT_ENUM_NAMED(uint16_t, PseudoState, "PseudoState", open) {
1817
+ PseudoStateDefault = 0,
1818
+ PseudoStateHover = 0x01,
1819
+ PseudoStateActive = 0x02,
1820
+ PseudoStateFocus = 0x04,
1821
+ PseudoStateFocusWithin = 0x08,
1822
+ PseudoStateFocusVisible = 0x10,
1823
+ PseudoStateDisabled = 0x40,
1824
+ PseudoStateChecked = 0x80,
1825
+ };
1826
+
1447
1827
  SWIFT_CLASS_NAMED("Scroll")
1448
1828
  @interface MasonScroll : UIScrollView <MasonElementObjc, UIScrollViewDelegate>
1449
1829
  - (void)drawRect:(CGRect)rect;
1830
+ - (void)layoutSubviews;
1450
1831
  @property (nonatomic, readonly, strong) MasonNode * _Nonnull node;
1451
1832
  @property (nonatomic, readonly, strong) NSCMason * _Nonnull mason;
1452
1833
  @property (nonatomic, readonly, strong) UIView * _Nonnull uiView;
@@ -1456,6 +1837,8 @@ SWIFT_CLASS_NAMED("Scroll")
1456
1837
  - (void)scrollViewDidScroll:(UIScrollView * _Nonnull)scrollView;
1457
1838
  - (void)addView:(UIView * _Nonnull)view;
1458
1839
  - (void)addView:(UIView * _Nonnull)view at:(NSInteger)at;
1840
+ - (void)removeView:(UIView * _Nonnull)view;
1841
+ - (void)removeViewAt:(NSInteger)index;
1459
1842
  - (void)setSize:(float)width :(float)height;
1460
1843
  - (nonnull instancetype)initWithFrame:(CGRect)frame SWIFT_UNAVAILABLE;
1461
1844
  @end
@@ -1558,6 +1941,19 @@ SWIFT_CLASS_NAMED("TrackSizingFunction")
1558
1941
  + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1559
1942
  @end
1560
1943
 
1944
+ typedef SWIFT_ENUM(uint8_t, TransformOpType, open) {
1945
+ TransformOpTypeNone = 0,
1946
+ TransformOpTypeTranslate = 1,
1947
+ TransformOpTypeTranslateX = 2,
1948
+ TransformOpTypeTranslateY = 3,
1949
+ TransformOpTypeScale = 4,
1950
+ TransformOpTypeScaleX = 5,
1951
+ TransformOpTypeScaleY = 6,
1952
+ TransformOpTypeRotate = 7,
1953
+ TransformOpTypeSkewX = 8,
1954
+ TransformOpTypeSkewY = 9,
1955
+ };
1956
+
1561
1957
  typedef SWIFT_ENUM_NAMED(NSInteger, MasonWhiteSpace, "WhiteSpace", open) {
1562
1958
  MasonWhiteSpaceNormal = 0,
1563
1959
  MasonWhiteSpacePre = 1,
@@ -1567,7 +1963,7 @@ typedef SWIFT_ENUM_NAMED(NSInteger, MasonWhiteSpace, "WhiteSpace", open) {
1567
1963
  MasonWhiteSpaceBreakSpaces = 5,
1568
1964
  };
1569
1965
 
1570
- #endif
1966
+ #endif // defined(__OBJC__)
1571
1967
  #if __has_attribute(external_source_symbol)
1572
1968
  # pragma clang attribute pop
1573
1969
  #endif