aix 0.0.15 → 0.1.0-alpha.1

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 (241) hide show
  1. package/Aix.podspec +32 -0
  2. package/LICENSE +2 -2
  3. package/README.md +165 -33
  4. package/android/CMakeLists.txt +32 -0
  5. package/android/build.gradle +148 -0
  6. package/android/fix-prefab.gradle +51 -0
  7. package/android/gradle.properties +5 -0
  8. package/android/src/main/AndroidManifest.xml +2 -0
  9. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  10. package/android/src/main/java/com/aix/AixPackage.kt +29 -0
  11. package/android/src/main/java/com/aix/HybridAix.kt +27 -0
  12. package/ios/Bridge.h +8 -0
  13. package/ios/HybridAix.swift +1072 -0
  14. package/ios/HybridAixCellView.swift +174 -0
  15. package/ios/HybridAixComposer.swift +119 -0
  16. package/lib/commonjs/aix.js +25 -0
  17. package/lib/commonjs/aix.js.map +1 -0
  18. package/lib/commonjs/fade-in/createUsePool.js +50 -0
  19. package/lib/commonjs/fade-in/createUsePool.js.map +1 -0
  20. package/lib/commonjs/fade-in/createUseStaggered.js +82 -0
  21. package/lib/commonjs/fade-in/createUseStaggered.js.map +1 -0
  22. package/lib/commonjs/fade-in/index.js +78 -0
  23. package/lib/commonjs/fade-in/index.js.map +1 -0
  24. package/lib/commonjs/footer.js +28 -0
  25. package/lib/commonjs/footer.js.map +1 -0
  26. package/lib/commonjs/index.js +48 -0
  27. package/lib/commonjs/index.js.map +1 -0
  28. package/lib/commonjs/package.json +1 -0
  29. package/lib/commonjs/views/aix.nitro.js +6 -0
  30. package/lib/commonjs/views/aix.nitro.js.map +1 -0
  31. package/lib/module/aix.js +20 -0
  32. package/lib/module/aix.js.map +1 -0
  33. package/lib/module/fade-in/createUsePool.js +46 -0
  34. package/lib/module/fade-in/createUsePool.js.map +1 -0
  35. package/lib/module/fade-in/createUseStaggered.js +79 -0
  36. package/lib/module/fade-in/createUseStaggered.js.map +1 -0
  37. package/lib/module/fade-in/index.js +74 -0
  38. package/lib/module/fade-in/index.js.map +1 -0
  39. package/lib/module/footer.js +23 -0
  40. package/lib/module/footer.js.map +1 -0
  41. package/lib/module/index.js +13 -0
  42. package/lib/module/index.js.map +1 -0
  43. package/lib/module/package.json +1 -0
  44. package/lib/module/views/aix.nitro.js +4 -0
  45. package/lib/module/views/aix.nitro.js.map +1 -0
  46. package/lib/typescript/src/aix.d.ts +14 -0
  47. package/lib/typescript/src/aix.d.ts.map +1 -0
  48. package/lib/typescript/src/fade-in/createUsePool.d.ts +5 -0
  49. package/lib/typescript/src/fade-in/createUsePool.d.ts.map +1 -0
  50. package/lib/typescript/src/fade-in/createUseStaggered.d.ts +2 -0
  51. package/lib/typescript/src/fade-in/createUseStaggered.d.ts.map +1 -0
  52. package/lib/typescript/src/fade-in/index.d.ts +5 -0
  53. package/lib/typescript/src/fade-in/index.d.ts.map +1 -0
  54. package/lib/typescript/src/footer.d.ts +5 -0
  55. package/lib/typescript/src/footer.d.ts.map +1 -0
  56. package/lib/typescript/src/index.d.ts +10 -0
  57. package/lib/typescript/src/index.d.ts.map +1 -0
  58. package/lib/typescript/src/views/aix.nitro.d.ts +101 -0
  59. package/lib/typescript/src/views/aix.nitro.d.ts.map +1 -0
  60. package/nitro.json +26 -0
  61. package/nitrogen/generated/.gitattributes +1 -0
  62. package/nitrogen/generated/android/Aix+autolinking.cmake +91 -0
  63. package/nitrogen/generated/android/Aix+autolinking.gradle +27 -0
  64. package/nitrogen/generated/android/AixOnLoad.cpp +70 -0
  65. package/nitrogen/generated/android/AixOnLoad.hpp +25 -0
  66. package/nitrogen/generated/android/c++/JAixAdditionalContentInsets.hpp +61 -0
  67. package/nitrogen/generated/android/c++/JAixAdditionalContentInsetsProp.hpp +63 -0
  68. package/nitrogen/generated/android/c++/JAixScrollIndicatorInsetValue.hpp +61 -0
  69. package/nitrogen/generated/android/c++/JAixScrollIndicatorInsets.hpp +63 -0
  70. package/nitrogen/generated/android/c++/JAixScrollOnFooterSizeUpdate.hpp +65 -0
  71. package/nitrogen/generated/android/c++/JHybridAixCellViewSpec.cpp +65 -0
  72. package/nitrogen/generated/android/c++/JHybridAixCellViewSpec.hpp +68 -0
  73. package/nitrogen/generated/android/c++/JHybridAixComposerSpec.cpp +48 -0
  74. package/nitrogen/generated/android/c++/JHybridAixComposerSpec.hpp +65 -0
  75. package/nitrogen/generated/android/c++/JHybridAixSpec.cpp +137 -0
  76. package/nitrogen/generated/android/c++/JHybridAixSpec.hpp +79 -0
  77. package/nitrogen/generated/android/c++/views/JHybridAixCellViewStateUpdater.cpp +60 -0
  78. package/nitrogen/generated/android/c++/views/JHybridAixCellViewStateUpdater.hpp +49 -0
  79. package/nitrogen/generated/android/c++/views/JHybridAixComposerStateUpdater.cpp +53 -0
  80. package/nitrogen/generated/android/c++/views/JHybridAixComposerStateUpdater.hpp +49 -0
  81. package/nitrogen/generated/android/c++/views/JHybridAixStateUpdater.cpp +80 -0
  82. package/nitrogen/generated/android/c++/views/JHybridAixStateUpdater.hpp +49 -0
  83. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/AixAdditionalContentInsets.kt +41 -0
  84. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/AixAdditionalContentInsetsProp.kt +41 -0
  85. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/AixOnLoad.kt +35 -0
  86. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/AixScrollIndicatorInsetValue.kt +41 -0
  87. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/AixScrollIndicatorInsets.kt +41 -0
  88. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/AixScrollOnFooterSizeUpdate.kt +44 -0
  89. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/HybridAixCellViewSpec.kt +65 -0
  90. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/HybridAixComposerSpec.kt +55 -0
  91. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/HybridAixSpec.kt +101 -0
  92. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/views/HybridAixCellViewManager.kt +50 -0
  93. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/views/HybridAixCellViewStateUpdater.kt +23 -0
  94. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/views/HybridAixComposerManager.kt +50 -0
  95. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/views/HybridAixComposerStateUpdater.kt +23 -0
  96. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/views/HybridAixManager.kt +50 -0
  97. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/views/HybridAixStateUpdater.kt +23 -0
  98. package/nitrogen/generated/ios/Aix+autolinking.rb +60 -0
  99. package/nitrogen/generated/ios/Aix-Swift-Cxx-Bridge.cpp +67 -0
  100. package/nitrogen/generated/ios/Aix-Swift-Cxx-Bridge.hpp +222 -0
  101. package/nitrogen/generated/ios/Aix-Swift-Cxx-Umbrella.hpp +70 -0
  102. package/nitrogen/generated/ios/AixAutolinking.mm +49 -0
  103. package/nitrogen/generated/ios/AixAutolinking.swift +55 -0
  104. package/nitrogen/generated/ios/c++/HybridAixCellViewSpecSwift.cpp +11 -0
  105. package/nitrogen/generated/ios/c++/HybridAixCellViewSpecSwift.hpp +80 -0
  106. package/nitrogen/generated/ios/c++/HybridAixComposerSpecSwift.cpp +11 -0
  107. package/nitrogen/generated/ios/c++/HybridAixComposerSpecSwift.hpp +69 -0
  108. package/nitrogen/generated/ios/c++/HybridAixSpecSwift.cpp +11 -0
  109. package/nitrogen/generated/ios/c++/HybridAixSpecSwift.hpp +142 -0
  110. package/nitrogen/generated/ios/c++/views/HybridAixCellViewComponent.mm +101 -0
  111. package/nitrogen/generated/ios/c++/views/HybridAixComponent.mm +126 -0
  112. package/nitrogen/generated/ios/c++/views/HybridAixComposerComponent.mm +92 -0
  113. package/nitrogen/generated/ios/swift/AixAdditionalContentInsets.swift +47 -0
  114. package/nitrogen/generated/ios/swift/AixAdditionalContentInsetsProp.swift +71 -0
  115. package/nitrogen/generated/ios/swift/AixScrollIndicatorInsetValue.swift +47 -0
  116. package/nitrogen/generated/ios/swift/AixScrollIndicatorInsets.swift +71 -0
  117. package/nitrogen/generated/ios/swift/AixScrollOnFooterSizeUpdate.swift +89 -0
  118. package/nitrogen/generated/ios/swift/HybridAixCellViewSpec.swift +57 -0
  119. package/nitrogen/generated/ios/swift/HybridAixCellViewSpec_cxx.swift +151 -0
  120. package/nitrogen/generated/ios/swift/HybridAixComposerSpec.swift +56 -0
  121. package/nitrogen/generated/ios/swift/HybridAixComposerSpec_cxx.swift +131 -0
  122. package/nitrogen/generated/ios/swift/HybridAixSpec.swift +63 -0
  123. package/nitrogen/generated/ios/swift/HybridAixSpec_cxx.swift +292 -0
  124. package/nitrogen/generated/shared/c++/AixAdditionalContentInsets.hpp +79 -0
  125. package/nitrogen/generated/shared/c++/AixAdditionalContentInsetsProp.hpp +81 -0
  126. package/nitrogen/generated/shared/c++/AixScrollIndicatorInsetValue.hpp +79 -0
  127. package/nitrogen/generated/shared/c++/AixScrollIndicatorInsets.hpp +81 -0
  128. package/nitrogen/generated/shared/c++/AixScrollOnFooterSizeUpdate.hpp +83 -0
  129. package/nitrogen/generated/shared/c++/HybridAixCellViewSpec.cpp +24 -0
  130. package/nitrogen/generated/shared/c++/HybridAixCellViewSpec.hpp +65 -0
  131. package/nitrogen/generated/shared/c++/HybridAixComposerSpec.cpp +21 -0
  132. package/nitrogen/generated/shared/c++/HybridAixComposerSpec.hpp +62 -0
  133. package/nitrogen/generated/shared/c++/HybridAixSpec.cpp +36 -0
  134. package/nitrogen/generated/shared/c++/HybridAixSpec.hpp +85 -0
  135. package/nitrogen/generated/shared/c++/views/HybridAixCellViewComponent.cpp +99 -0
  136. package/nitrogen/generated/shared/c++/views/HybridAixCellViewComponent.hpp +108 -0
  137. package/nitrogen/generated/shared/c++/views/HybridAixComponent.cpp +159 -0
  138. package/nitrogen/generated/shared/c++/views/HybridAixComponent.hpp +117 -0
  139. package/nitrogen/generated/shared/c++/views/HybridAixComposerComponent.cpp +75 -0
  140. package/nitrogen/generated/shared/c++/views/HybridAixComposerComponent.hpp +106 -0
  141. package/nitrogen/generated/shared/json/AixCellViewConfig.json +11 -0
  142. package/nitrogen/generated/shared/json/AixComposerConfig.json +9 -0
  143. package/nitrogen/generated/shared/json/AixConfig.json +16 -0
  144. package/package.json +113 -14
  145. package/src/aix.tsx +43 -0
  146. package/src/fade-in/createUsePool.ts +46 -0
  147. package/src/fade-in/createUseStaggered.ts +82 -0
  148. package/src/fade-in/index.tsx +97 -0
  149. package/src/footer.tsx +30 -0
  150. package/src/index.ts +20 -16
  151. package/src/views/aix.nitro.ts +148 -0
  152. package/docs/API.md +0 -288
  153. package/jest.config.js +0 -17
  154. package/lib/__tests__/deferredIterable.test.d.ts +0 -1
  155. package/lib/__tests__/deferredIterable.test.js +0 -108
  156. package/lib/__tests__/filter.test.d.ts +0 -1
  157. package/lib/__tests__/filter.test.js +0 -53
  158. package/lib/__tests__/flatMap.test.d.ts +0 -1
  159. package/lib/__tests__/flatMap.test.js +0 -77
  160. package/lib/__tests__/lookahead.test.d.ts +0 -1
  161. package/lib/__tests__/lookahead.test.js +0 -57
  162. package/lib/__tests__/map.test.d.ts +0 -1
  163. package/lib/__tests__/map.test.js +0 -53
  164. package/lib/__tests__/merge.test.d.ts +0 -1
  165. package/lib/__tests__/merge.test.js +0 -55
  166. package/lib/__tests__/reduce.test.d.ts +0 -1
  167. package/lib/__tests__/reduce.test.js +0 -52
  168. package/lib/__tests__/spanAll.test.d.ts +0 -1
  169. package/lib/__tests__/spanAll.test.js +0 -120
  170. package/lib/concat.d.ts +0 -4
  171. package/lib/concat.js +0 -126
  172. package/lib/deferred.d.ts +0 -9
  173. package/lib/deferred.js +0 -18
  174. package/lib/deferredIterable.d.ts +0 -22
  175. package/lib/deferredIterable.js +0 -111
  176. package/lib/filter.d.ts +0 -7
  177. package/lib/filter.js +0 -99
  178. package/lib/flatMap.d.ts +0 -1
  179. package/lib/flatMap.js +0 -119
  180. package/lib/fromEvent.d.ts +0 -5
  181. package/lib/fromEvent.js +0 -13
  182. package/lib/index.d.ts +0 -16
  183. package/lib/index.js +0 -34
  184. package/lib/insert.d.ts +0 -4
  185. package/lib/insert.js +0 -113
  186. package/lib/interval.d.ts +0 -4
  187. package/lib/interval.js +0 -64
  188. package/lib/iterableToArray.d.ts +0 -1
  189. package/lib/iterableToArray.js +0 -87
  190. package/lib/iteratorToIterable.d.ts +0 -6
  191. package/lib/iteratorToIterable.js +0 -70
  192. package/lib/lookahead.d.ts +0 -10
  193. package/lib/lookahead.js +0 -78
  194. package/lib/map.d.ts +0 -4
  195. package/lib/map.js +0 -98
  196. package/lib/merge.d.ts +0 -6
  197. package/lib/merge.js +0 -21
  198. package/lib/of.d.ts +0 -3
  199. package/lib/of.js +0 -5
  200. package/lib/reduce.d.ts +0 -4
  201. package/lib/reduce.js +0 -92
  202. package/lib/restToIterable.d.ts +0 -4
  203. package/lib/restToIterable.js +0 -73
  204. package/lib/spanAll.d.ts +0 -1
  205. package/lib/spanAll.js +0 -29
  206. package/lib/tap.d.ts +0 -4
  207. package/lib/tap.js +0 -96
  208. package/lib/toCallbacks.d.ts +0 -11
  209. package/lib/toCallbacks.js +0 -97
  210. package/lib/zip.d.ts +0 -4
  211. package/lib/zip.js +0 -75
  212. package/src/__tests__/deferredIterable.test.ts +0 -22
  213. package/src/__tests__/filter.test.ts +0 -10
  214. package/src/__tests__/flatMap.test.ts +0 -12
  215. package/src/__tests__/lookahead.test.ts +0 -9
  216. package/src/__tests__/map.test.ts +0 -10
  217. package/src/__tests__/merge.test.ts +0 -9
  218. package/src/__tests__/reduce.test.ts +0 -10
  219. package/src/__tests__/spanAll.test.ts +0 -17
  220. package/src/concat.ts +0 -13
  221. package/src/deferred.ts +0 -16
  222. package/src/deferredIterable.ts +0 -111
  223. package/src/filter.ts +0 -16
  224. package/src/flatMap.ts +0 -9
  225. package/src/fromEvent.ts +0 -16
  226. package/src/insert.ts +0 -13
  227. package/src/interval.ts +0 -20
  228. package/src/iterableToArray.ts +0 -7
  229. package/src/iteratorToIterable.ts +0 -12
  230. package/src/lookahead.ts +0 -27
  231. package/src/map.ts +0 -11
  232. package/src/merge.ts +0 -18
  233. package/src/of.ts +0 -4
  234. package/src/reduce.ts +0 -12
  235. package/src/restToIterable.ts +0 -8
  236. package/src/spanAll.ts +0 -26
  237. package/src/tap.ts +0 -11
  238. package/src/toCallbacks.ts +0 -27
  239. package/src/zip.ts +0 -19
  240. package/tsconfig.json +0 -63
  241. package/yarn.lock +0 -3514
@@ -0,0 +1,142 @@
1
+ ///
2
+ /// HybridAixSpecSwift.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #include "HybridAixSpec.hpp"
11
+
12
+ // Forward declaration of `HybridAixSpec_cxx` to properly resolve imports.
13
+ namespace Aix { class HybridAixSpec_cxx; }
14
+
15
+ // Forward declaration of `AixScrollOnFooterSizeUpdate` to properly resolve imports.
16
+ namespace margelo::nitro::aix { struct AixScrollOnFooterSizeUpdate; }
17
+ // Forward declaration of `AixAdditionalContentInsetsProp` to properly resolve imports.
18
+ namespace margelo::nitro::aix { struct AixAdditionalContentInsetsProp; }
19
+ // Forward declaration of `AixAdditionalContentInsets` to properly resolve imports.
20
+ namespace margelo::nitro::aix { struct AixAdditionalContentInsets; }
21
+ // Forward declaration of `AixScrollIndicatorInsets` to properly resolve imports.
22
+ namespace margelo::nitro::aix { struct AixScrollIndicatorInsets; }
23
+ // Forward declaration of `AixScrollIndicatorInsetValue` to properly resolve imports.
24
+ namespace margelo::nitro::aix { struct AixScrollIndicatorInsetValue; }
25
+
26
+ #include "AixScrollOnFooterSizeUpdate.hpp"
27
+ #include <optional>
28
+ #include "AixAdditionalContentInsetsProp.hpp"
29
+ #include "AixAdditionalContentInsets.hpp"
30
+ #include "AixScrollIndicatorInsets.hpp"
31
+ #include "AixScrollIndicatorInsetValue.hpp"
32
+ #include <string>
33
+
34
+ #include "Aix-Swift-Cxx-Umbrella.hpp"
35
+
36
+ namespace margelo::nitro::aix {
37
+
38
+ /**
39
+ * The C++ part of HybridAixSpec_cxx.swift.
40
+ *
41
+ * HybridAixSpecSwift (C++) accesses HybridAixSpec_cxx (Swift), and might
42
+ * contain some additional bridging code for C++ <> Swift interop.
43
+ *
44
+ * Since this obviously introduces an overhead, I hope at some point in
45
+ * the future, HybridAixSpec_cxx can directly inherit from the C++ class HybridAixSpec
46
+ * to simplify the whole structure and memory management.
47
+ */
48
+ class HybridAixSpecSwift: public virtual HybridAixSpec {
49
+ public:
50
+ // Constructor from a Swift instance
51
+ explicit HybridAixSpecSwift(const Aix::HybridAixSpec_cxx& swiftPart):
52
+ HybridObject(HybridAixSpec::TAG),
53
+ _swiftPart(swiftPart) { }
54
+
55
+ public:
56
+ // Get the Swift part
57
+ inline Aix::HybridAixSpec_cxx& getSwiftPart() noexcept {
58
+ return _swiftPart;
59
+ }
60
+
61
+ public:
62
+ inline size_t getExternalMemorySize() noexcept override {
63
+ return _swiftPart.getMemorySize();
64
+ }
65
+ void dispose() noexcept override {
66
+ _swiftPart.dispose();
67
+ }
68
+ std::string toString() override {
69
+ return _swiftPart.toString();
70
+ }
71
+
72
+ public:
73
+ // Properties
74
+ inline bool getShouldStartAtEnd() noexcept override {
75
+ return _swiftPart.getShouldStartAtEnd();
76
+ }
77
+ inline void setShouldStartAtEnd(bool shouldStartAtEnd) noexcept override {
78
+ _swiftPart.setShouldStartAtEnd(std::forward<decltype(shouldStartAtEnd)>(shouldStartAtEnd));
79
+ }
80
+ inline std::optional<AixScrollOnFooterSizeUpdate> getScrollOnFooterSizeUpdate() noexcept override {
81
+ auto __result = _swiftPart.getScrollOnFooterSizeUpdate();
82
+ return __result;
83
+ }
84
+ inline void setScrollOnFooterSizeUpdate(const std::optional<AixScrollOnFooterSizeUpdate>& scrollOnFooterSizeUpdate) noexcept override {
85
+ _swiftPart.setScrollOnFooterSizeUpdate(scrollOnFooterSizeUpdate);
86
+ }
87
+ inline std::optional<double> getScrollEndReachedThreshold() noexcept override {
88
+ auto __result = _swiftPart.getScrollEndReachedThreshold();
89
+ return __result;
90
+ }
91
+ inline void setScrollEndReachedThreshold(std::optional<double> scrollEndReachedThreshold) noexcept override {
92
+ _swiftPart.setScrollEndReachedThreshold(scrollEndReachedThreshold);
93
+ }
94
+ inline std::optional<AixAdditionalContentInsetsProp> getAdditionalContentInsets() noexcept override {
95
+ auto __result = _swiftPart.getAdditionalContentInsets();
96
+ return __result;
97
+ }
98
+ inline void setAdditionalContentInsets(const std::optional<AixAdditionalContentInsetsProp>& additionalContentInsets) noexcept override {
99
+ _swiftPart.setAdditionalContentInsets(additionalContentInsets);
100
+ }
101
+ inline std::optional<AixScrollIndicatorInsets> getAdditionalScrollIndicatorInsets() noexcept override {
102
+ auto __result = _swiftPart.getAdditionalScrollIndicatorInsets();
103
+ return __result;
104
+ }
105
+ inline void setAdditionalScrollIndicatorInsets(const std::optional<AixScrollIndicatorInsets>& additionalScrollIndicatorInsets) noexcept override {
106
+ _swiftPart.setAdditionalScrollIndicatorInsets(additionalScrollIndicatorInsets);
107
+ }
108
+ inline std::optional<std::string> getMainScrollViewID() noexcept override {
109
+ auto __result = _swiftPart.getMainScrollViewID();
110
+ return __result;
111
+ }
112
+ inline void setMainScrollViewID(const std::optional<std::string>& mainScrollViewID) noexcept override {
113
+ _swiftPart.setMainScrollViewID(mainScrollViewID);
114
+ }
115
+ inline std::optional<double> getPenultimateCellIndex() noexcept override {
116
+ auto __result = _swiftPart.getPenultimateCellIndex();
117
+ return __result;
118
+ }
119
+ inline void setPenultimateCellIndex(std::optional<double> penultimateCellIndex) noexcept override {
120
+ _swiftPart.setPenultimateCellIndex(penultimateCellIndex);
121
+ }
122
+
123
+ public:
124
+ // Methods
125
+ inline void scrollToEnd(std::optional<bool> animated) override {
126
+ auto __result = _swiftPart.scrollToEnd(animated);
127
+ if (__result.hasError()) [[unlikely]] {
128
+ std::rethrow_exception(__result.error());
129
+ }
130
+ }
131
+ inline void scrollToIndexWhenBlankSizeReady(double index, std::optional<bool> animated, std::optional<bool> waitForKeyboardToEnd) override {
132
+ auto __result = _swiftPart.scrollToIndexWhenBlankSizeReady(std::forward<decltype(index)>(index), animated, waitForKeyboardToEnd);
133
+ if (__result.hasError()) [[unlikely]] {
134
+ std::rethrow_exception(__result.error());
135
+ }
136
+ }
137
+
138
+ private:
139
+ Aix::HybridAixSpec_cxx _swiftPart;
140
+ };
141
+
142
+ } // namespace margelo::nitro::aix
@@ -0,0 +1,101 @@
1
+ ///
2
+ /// HybridAixCellViewComponent.mm
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #import "HybridAixCellViewComponent.hpp"
9
+ #import <memory>
10
+ #import <react/renderer/componentregistry/ComponentDescriptorProvider.h>
11
+ #import <React/RCTViewComponentView.h>
12
+ #import <React/RCTComponentViewFactory.h>
13
+ #import <React/UIView+ComponentViewProtocol.h>
14
+ #import <NitroModules/NitroDefines.hpp>
15
+ #import <UIKit/UIKit.h>
16
+
17
+ #import "HybridAixCellViewSpecSwift.hpp"
18
+ #import "Aix-Swift-Cxx-Umbrella.hpp"
19
+
20
+ using namespace facebook;
21
+ using namespace margelo::nitro::aix;
22
+ using namespace margelo::nitro::aix::views;
23
+
24
+ /**
25
+ * Represents the React Native View holder for the Nitro "AixCellView" HybridView.
26
+ */
27
+ @interface HybridAixCellViewComponent: RCTViewComponentView
28
+ @end
29
+
30
+ @implementation HybridAixCellViewComponent {
31
+ std::shared_ptr<HybridAixCellViewSpecSwift> _hybridView;
32
+ }
33
+
34
+ + (void) load {
35
+ [super load];
36
+ [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[HybridAixCellViewComponent class]];
37
+ }
38
+
39
+ + (react::ComponentDescriptorProvider) componentDescriptorProvider {
40
+ return react::concreteComponentDescriptorProvider<HybridAixCellViewComponentDescriptor>();
41
+ }
42
+
43
+ - (instancetype) init {
44
+ if (self = [super init]) {
45
+ std::shared_ptr<HybridAixCellViewSpec> hybridView = Aix::AixAutolinking::createAixCellView();
46
+ _hybridView = std::dynamic_pointer_cast<HybridAixCellViewSpecSwift>(hybridView);
47
+ [self updateView];
48
+ }
49
+ return self;
50
+ }
51
+
52
+ - (void) updateView {
53
+ // 1. Get Swift part
54
+ Aix::HybridAixCellViewSpec_cxx& swiftPart = _hybridView->getSwiftPart();
55
+
56
+ // 2. Get UIView*
57
+ void* viewUnsafe = swiftPart.getView();
58
+ UIView* view = (__bridge_transfer UIView*) viewUnsafe;
59
+
60
+ // 3. Update RCTViewComponentView's [contentView]
61
+ [self setContentView:view];
62
+ }
63
+
64
+ - (void) updateProps:(const std::shared_ptr<const react::Props>&)props
65
+ oldProps:(const std::shared_ptr<const react::Props>&)oldProps {
66
+ // 1. Downcast props
67
+ const auto& newViewPropsConst = *std::static_pointer_cast<HybridAixCellViewProps const>(props);
68
+ auto& newViewProps = const_cast<HybridAixCellViewProps&>(newViewPropsConst);
69
+ Aix::HybridAixCellViewSpec_cxx& swiftPart = _hybridView->getSwiftPart();
70
+
71
+ // 2. Update each prop individually
72
+ swiftPart.beforeUpdate();
73
+
74
+ // isLast: boolean
75
+ if (newViewProps.isLast.isDirty) {
76
+ swiftPart.setIsLast(newViewProps.isLast.value);
77
+ newViewProps.isLast.isDirty = false;
78
+ }
79
+ // index: number
80
+ if (newViewProps.index.isDirty) {
81
+ swiftPart.setIndex(newViewProps.index.value);
82
+ newViewProps.index.isDirty = false;
83
+ }
84
+
85
+ swiftPart.afterUpdate();
86
+
87
+ // 3. Update hybridRef if it changed
88
+ if (newViewProps.hybridRef.isDirty) {
89
+ // hybridRef changed - call it with new this
90
+ const auto& maybeFunc = newViewProps.hybridRef.value;
91
+ if (maybeFunc.has_value()) {
92
+ maybeFunc.value()(_hybridView);
93
+ }
94
+ newViewProps.hybridRef.isDirty = false;
95
+ }
96
+
97
+ // 4. Continue in base class
98
+ [super updateProps:props oldProps:oldProps];
99
+ }
100
+
101
+ @end
@@ -0,0 +1,126 @@
1
+ ///
2
+ /// HybridAixComponent.mm
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #import "HybridAixComponent.hpp"
9
+ #import <memory>
10
+ #import <react/renderer/componentregistry/ComponentDescriptorProvider.h>
11
+ #import <React/RCTViewComponentView.h>
12
+ #import <React/RCTComponentViewFactory.h>
13
+ #import <React/UIView+ComponentViewProtocol.h>
14
+ #import <NitroModules/NitroDefines.hpp>
15
+ #import <UIKit/UIKit.h>
16
+
17
+ #import "HybridAixSpecSwift.hpp"
18
+ #import "Aix-Swift-Cxx-Umbrella.hpp"
19
+
20
+ using namespace facebook;
21
+ using namespace margelo::nitro::aix;
22
+ using namespace margelo::nitro::aix::views;
23
+
24
+ /**
25
+ * Represents the React Native View holder for the Nitro "Aix" HybridView.
26
+ */
27
+ @interface HybridAixComponent: RCTViewComponentView
28
+ @end
29
+
30
+ @implementation HybridAixComponent {
31
+ std::shared_ptr<HybridAixSpecSwift> _hybridView;
32
+ }
33
+
34
+ + (void) load {
35
+ [super load];
36
+ [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[HybridAixComponent class]];
37
+ }
38
+
39
+ + (react::ComponentDescriptorProvider) componentDescriptorProvider {
40
+ return react::concreteComponentDescriptorProvider<HybridAixComponentDescriptor>();
41
+ }
42
+
43
+ - (instancetype) init {
44
+ if (self = [super init]) {
45
+ std::shared_ptr<HybridAixSpec> hybridView = Aix::AixAutolinking::createAix();
46
+ _hybridView = std::dynamic_pointer_cast<HybridAixSpecSwift>(hybridView);
47
+ [self updateView];
48
+ }
49
+ return self;
50
+ }
51
+
52
+ - (void) updateView {
53
+ // 1. Get Swift part
54
+ Aix::HybridAixSpec_cxx& swiftPart = _hybridView->getSwiftPart();
55
+
56
+ // 2. Get UIView*
57
+ void* viewUnsafe = swiftPart.getView();
58
+ UIView* view = (__bridge_transfer UIView*) viewUnsafe;
59
+
60
+ // 3. Update RCTViewComponentView's [contentView]
61
+ [self setContentView:view];
62
+ }
63
+
64
+ - (void) updateProps:(const std::shared_ptr<const react::Props>&)props
65
+ oldProps:(const std::shared_ptr<const react::Props>&)oldProps {
66
+ // 1. Downcast props
67
+ const auto& newViewPropsConst = *std::static_pointer_cast<HybridAixProps const>(props);
68
+ auto& newViewProps = const_cast<HybridAixProps&>(newViewPropsConst);
69
+ Aix::HybridAixSpec_cxx& swiftPart = _hybridView->getSwiftPart();
70
+
71
+ // 2. Update each prop individually
72
+ swiftPart.beforeUpdate();
73
+
74
+ // shouldStartAtEnd: boolean
75
+ if (newViewProps.shouldStartAtEnd.isDirty) {
76
+ swiftPart.setShouldStartAtEnd(newViewProps.shouldStartAtEnd.value);
77
+ newViewProps.shouldStartAtEnd.isDirty = false;
78
+ }
79
+ // scrollOnFooterSizeUpdate: optional
80
+ if (newViewProps.scrollOnFooterSizeUpdate.isDirty) {
81
+ swiftPart.setScrollOnFooterSizeUpdate(newViewProps.scrollOnFooterSizeUpdate.value);
82
+ newViewProps.scrollOnFooterSizeUpdate.isDirty = false;
83
+ }
84
+ // scrollEndReachedThreshold: optional
85
+ if (newViewProps.scrollEndReachedThreshold.isDirty) {
86
+ swiftPart.setScrollEndReachedThreshold(newViewProps.scrollEndReachedThreshold.value);
87
+ newViewProps.scrollEndReachedThreshold.isDirty = false;
88
+ }
89
+ // additionalContentInsets: optional
90
+ if (newViewProps.additionalContentInsets.isDirty) {
91
+ swiftPart.setAdditionalContentInsets(newViewProps.additionalContentInsets.value);
92
+ newViewProps.additionalContentInsets.isDirty = false;
93
+ }
94
+ // additionalScrollIndicatorInsets: optional
95
+ if (newViewProps.additionalScrollIndicatorInsets.isDirty) {
96
+ swiftPart.setAdditionalScrollIndicatorInsets(newViewProps.additionalScrollIndicatorInsets.value);
97
+ newViewProps.additionalScrollIndicatorInsets.isDirty = false;
98
+ }
99
+ // mainScrollViewID: optional
100
+ if (newViewProps.mainScrollViewID.isDirty) {
101
+ swiftPart.setMainScrollViewID(newViewProps.mainScrollViewID.value);
102
+ newViewProps.mainScrollViewID.isDirty = false;
103
+ }
104
+ // penultimateCellIndex: optional
105
+ if (newViewProps.penultimateCellIndex.isDirty) {
106
+ swiftPart.setPenultimateCellIndex(newViewProps.penultimateCellIndex.value);
107
+ newViewProps.penultimateCellIndex.isDirty = false;
108
+ }
109
+
110
+ swiftPart.afterUpdate();
111
+
112
+ // 3. Update hybridRef if it changed
113
+ if (newViewProps.hybridRef.isDirty) {
114
+ // hybridRef changed - call it with new this
115
+ const auto& maybeFunc = newViewProps.hybridRef.value;
116
+ if (maybeFunc.has_value()) {
117
+ maybeFunc.value()(_hybridView);
118
+ }
119
+ newViewProps.hybridRef.isDirty = false;
120
+ }
121
+
122
+ // 4. Continue in base class
123
+ [super updateProps:props oldProps:oldProps];
124
+ }
125
+
126
+ @end
@@ -0,0 +1,92 @@
1
+ ///
2
+ /// HybridAixComposerComponent.mm
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #import "HybridAixComposerComponent.hpp"
9
+ #import <memory>
10
+ #import <react/renderer/componentregistry/ComponentDescriptorProvider.h>
11
+ #import <React/RCTViewComponentView.h>
12
+ #import <React/RCTComponentViewFactory.h>
13
+ #import <React/UIView+ComponentViewProtocol.h>
14
+ #import <NitroModules/NitroDefines.hpp>
15
+ #import <UIKit/UIKit.h>
16
+
17
+ #import "HybridAixComposerSpecSwift.hpp"
18
+ #import "Aix-Swift-Cxx-Umbrella.hpp"
19
+
20
+ using namespace facebook;
21
+ using namespace margelo::nitro::aix;
22
+ using namespace margelo::nitro::aix::views;
23
+
24
+ /**
25
+ * Represents the React Native View holder for the Nitro "AixComposer" HybridView.
26
+ */
27
+ @interface HybridAixComposerComponent: RCTViewComponentView
28
+ @end
29
+
30
+ @implementation HybridAixComposerComponent {
31
+ std::shared_ptr<HybridAixComposerSpecSwift> _hybridView;
32
+ }
33
+
34
+ + (void) load {
35
+ [super load];
36
+ [RCTComponentViewFactory.currentComponentViewFactory registerComponentViewClass:[HybridAixComposerComponent class]];
37
+ }
38
+
39
+ + (react::ComponentDescriptorProvider) componentDescriptorProvider {
40
+ return react::concreteComponentDescriptorProvider<HybridAixComposerComponentDescriptor>();
41
+ }
42
+
43
+ - (instancetype) init {
44
+ if (self = [super init]) {
45
+ std::shared_ptr<HybridAixComposerSpec> hybridView = Aix::AixAutolinking::createAixComposer();
46
+ _hybridView = std::dynamic_pointer_cast<HybridAixComposerSpecSwift>(hybridView);
47
+ [self updateView];
48
+ }
49
+ return self;
50
+ }
51
+
52
+ - (void) updateView {
53
+ // 1. Get Swift part
54
+ Aix::HybridAixComposerSpec_cxx& swiftPart = _hybridView->getSwiftPart();
55
+
56
+ // 2. Get UIView*
57
+ void* viewUnsafe = swiftPart.getView();
58
+ UIView* view = (__bridge_transfer UIView*) viewUnsafe;
59
+
60
+ // 3. Update RCTViewComponentView's [contentView]
61
+ [self setContentView:view];
62
+ }
63
+
64
+ - (void) updateProps:(const std::shared_ptr<const react::Props>&)props
65
+ oldProps:(const std::shared_ptr<const react::Props>&)oldProps {
66
+ // 1. Downcast props
67
+ const auto& newViewPropsConst = *std::static_pointer_cast<HybridAixComposerProps const>(props);
68
+ auto& newViewProps = const_cast<HybridAixComposerProps&>(newViewPropsConst);
69
+ Aix::HybridAixComposerSpec_cxx& swiftPart = _hybridView->getSwiftPart();
70
+
71
+ // 2. Update each prop individually
72
+ swiftPart.beforeUpdate();
73
+
74
+
75
+
76
+ swiftPart.afterUpdate();
77
+
78
+ // 3. Update hybridRef if it changed
79
+ if (newViewProps.hybridRef.isDirty) {
80
+ // hybridRef changed - call it with new this
81
+ const auto& maybeFunc = newViewProps.hybridRef.value;
82
+ if (maybeFunc.has_value()) {
83
+ maybeFunc.value()(_hybridView);
84
+ }
85
+ newViewProps.hybridRef.isDirty = false;
86
+ }
87
+
88
+ // 4. Continue in base class
89
+ [super updateProps:props oldProps:oldProps];
90
+ }
91
+
92
+ @end
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// AixAdditionalContentInsets.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Represents an instance of `AixAdditionalContentInsets`, backed by a C++ struct.
13
+ */
14
+ public typealias AixAdditionalContentInsets = margelo.nitro.aix.AixAdditionalContentInsets
15
+
16
+ public extension AixAdditionalContentInsets {
17
+ private typealias bridge = margelo.nitro.aix.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `AixAdditionalContentInsets`.
21
+ */
22
+ init(whenKeyboardOpen: Double, whenKeyboardClosed: Double) {
23
+ self.init(whenKeyboardOpen, whenKeyboardClosed)
24
+ }
25
+
26
+ var whenKeyboardOpen: Double {
27
+ @inline(__always)
28
+ get {
29
+ return self.__whenKeyboardOpen
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__whenKeyboardOpen = newValue
34
+ }
35
+ }
36
+
37
+ var whenKeyboardClosed: Double {
38
+ @inline(__always)
39
+ get {
40
+ return self.__whenKeyboardClosed
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__whenKeyboardClosed = newValue
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,71 @@
1
+ ///
2
+ /// AixAdditionalContentInsetsProp.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Represents an instance of `AixAdditionalContentInsetsProp`, backed by a C++ struct.
13
+ */
14
+ public typealias AixAdditionalContentInsetsProp = margelo.nitro.aix.AixAdditionalContentInsetsProp
15
+
16
+ public extension AixAdditionalContentInsetsProp {
17
+ private typealias bridge = margelo.nitro.aix.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `AixAdditionalContentInsetsProp`.
21
+ */
22
+ init(top: AixAdditionalContentInsets?, bottom: AixAdditionalContentInsets?) {
23
+ self.init({ () -> bridge.std__optional_AixAdditionalContentInsets_ in
24
+ if let __unwrappedValue = top {
25
+ return bridge.create_std__optional_AixAdditionalContentInsets_(__unwrappedValue)
26
+ } else {
27
+ return .init()
28
+ }
29
+ }(), { () -> bridge.std__optional_AixAdditionalContentInsets_ in
30
+ if let __unwrappedValue = bottom {
31
+ return bridge.create_std__optional_AixAdditionalContentInsets_(__unwrappedValue)
32
+ } else {
33
+ return .init()
34
+ }
35
+ }())
36
+ }
37
+
38
+ var top: AixAdditionalContentInsets? {
39
+ @inline(__always)
40
+ get {
41
+ return self.__top.value
42
+ }
43
+ @inline(__always)
44
+ set {
45
+ self.__top = { () -> bridge.std__optional_AixAdditionalContentInsets_ in
46
+ if let __unwrappedValue = newValue {
47
+ return bridge.create_std__optional_AixAdditionalContentInsets_(__unwrappedValue)
48
+ } else {
49
+ return .init()
50
+ }
51
+ }()
52
+ }
53
+ }
54
+
55
+ var bottom: AixAdditionalContentInsets? {
56
+ @inline(__always)
57
+ get {
58
+ return self.__bottom.value
59
+ }
60
+ @inline(__always)
61
+ set {
62
+ self.__bottom = { () -> bridge.std__optional_AixAdditionalContentInsets_ in
63
+ if let __unwrappedValue = newValue {
64
+ return bridge.create_std__optional_AixAdditionalContentInsets_(__unwrappedValue)
65
+ } else {
66
+ return .init()
67
+ }
68
+ }()
69
+ }
70
+ }
71
+ }
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// AixScrollIndicatorInsetValue.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Represents an instance of `AixScrollIndicatorInsetValue`, backed by a C++ struct.
13
+ */
14
+ public typealias AixScrollIndicatorInsetValue = margelo.nitro.aix.AixScrollIndicatorInsetValue
15
+
16
+ public extension AixScrollIndicatorInsetValue {
17
+ private typealias bridge = margelo.nitro.aix.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `AixScrollIndicatorInsetValue`.
21
+ */
22
+ init(whenKeyboardOpen: Double, whenKeyboardClosed: Double) {
23
+ self.init(whenKeyboardOpen, whenKeyboardClosed)
24
+ }
25
+
26
+ var whenKeyboardOpen: Double {
27
+ @inline(__always)
28
+ get {
29
+ return self.__whenKeyboardOpen
30
+ }
31
+ @inline(__always)
32
+ set {
33
+ self.__whenKeyboardOpen = newValue
34
+ }
35
+ }
36
+
37
+ var whenKeyboardClosed: Double {
38
+ @inline(__always)
39
+ get {
40
+ return self.__whenKeyboardClosed
41
+ }
42
+ @inline(__always)
43
+ set {
44
+ self.__whenKeyboardClosed = newValue
45
+ }
46
+ }
47
+ }
@@ -0,0 +1,71 @@
1
+ ///
2
+ /// AixScrollIndicatorInsets.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2026 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import Foundation
9
+ import NitroModules
10
+
11
+ /**
12
+ * Represents an instance of `AixScrollIndicatorInsets`, backed by a C++ struct.
13
+ */
14
+ public typealias AixScrollIndicatorInsets = margelo.nitro.aix.AixScrollIndicatorInsets
15
+
16
+ public extension AixScrollIndicatorInsets {
17
+ private typealias bridge = margelo.nitro.aix.bridge.swift
18
+
19
+ /**
20
+ * Create a new instance of `AixScrollIndicatorInsets`.
21
+ */
22
+ init(top: AixScrollIndicatorInsetValue?, bottom: AixScrollIndicatorInsetValue?) {
23
+ self.init({ () -> bridge.std__optional_AixScrollIndicatorInsetValue_ in
24
+ if let __unwrappedValue = top {
25
+ return bridge.create_std__optional_AixScrollIndicatorInsetValue_(__unwrappedValue)
26
+ } else {
27
+ return .init()
28
+ }
29
+ }(), { () -> bridge.std__optional_AixScrollIndicatorInsetValue_ in
30
+ if let __unwrappedValue = bottom {
31
+ return bridge.create_std__optional_AixScrollIndicatorInsetValue_(__unwrappedValue)
32
+ } else {
33
+ return .init()
34
+ }
35
+ }())
36
+ }
37
+
38
+ var top: AixScrollIndicatorInsetValue? {
39
+ @inline(__always)
40
+ get {
41
+ return self.__top.value
42
+ }
43
+ @inline(__always)
44
+ set {
45
+ self.__top = { () -> bridge.std__optional_AixScrollIndicatorInsetValue_ in
46
+ if let __unwrappedValue = newValue {
47
+ return bridge.create_std__optional_AixScrollIndicatorInsetValue_(__unwrappedValue)
48
+ } else {
49
+ return .init()
50
+ }
51
+ }()
52
+ }
53
+ }
54
+
55
+ var bottom: AixScrollIndicatorInsetValue? {
56
+ @inline(__always)
57
+ get {
58
+ return self.__bottom.value
59
+ }
60
+ @inline(__always)
61
+ set {
62
+ self.__bottom = { () -> bridge.std__optional_AixScrollIndicatorInsetValue_ in
63
+ if let __unwrappedValue = newValue {
64
+ return bridge.create_std__optional_AixScrollIndicatorInsetValue_(__unwrappedValue)
65
+ } else {
66
+ return .init()
67
+ }
68
+ }()
69
+ }
70
+ }
71
+ }