@onekeyfe/react-native-segment-slider 3.0.40

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 (128) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/SegmentSlider.podspec +29 -0
  4. package/android/CMakeLists.txt +26 -0
  5. package/android/build.gradle +128 -0
  6. package/android/src/main/AndroidManifest.xml +2 -0
  7. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  8. package/android/src/main/java/com/margelo/nitro/segmentslider/HybridSegmentSlider.kt +364 -0
  9. package/android/src/main/java/com/margelo/nitro/segmentslider/SegmentSliderColorParser.kt +56 -0
  10. package/android/src/main/java/com/margelo/nitro/segmentslider/SegmentSliderPackage.kt +29 -0
  11. package/ios/HybridSegmentSlider.swift +412 -0
  12. package/ios/SegmentSliderColorParser.swift +152 -0
  13. package/lib/module/SegmentSlider.nitro.js +4 -0
  14. package/lib/module/SegmentSlider.nitro.js.map +1 -0
  15. package/lib/module/index.js +43 -0
  16. package/lib/module/index.js.map +1 -0
  17. package/lib/module/package.json +1 -0
  18. package/lib/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  19. package/lib/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
  20. package/lib/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.cpp +265 -0
  21. package/lib/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.hpp +106 -0
  22. package/lib/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.cpp +136 -0
  23. package/lib/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.hpp +49 -0
  24. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void.kt +80 -0
  25. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void_double.kt +80 -0
  26. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/HybridSegmentSliderSpec.kt +203 -0
  27. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/segmentsliderOnLoad.kt +35 -0
  28. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderManager.kt +50 -0
  29. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderStateUpdater.kt +23 -0
  30. package/lib/nitrogen/generated/android/segmentslider+autolinking.cmake +83 -0
  31. package/lib/nitrogen/generated/android/segmentslider+autolinking.gradle +27 -0
  32. package/lib/nitrogen/generated/android/segmentsliderOnLoad.cpp +50 -0
  33. package/lib/nitrogen/generated/android/segmentsliderOnLoad.hpp +25 -0
  34. package/lib/nitrogen/generated/ios/SegmentSlider+autolinking.rb +60 -0
  35. package/lib/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.cpp +49 -0
  36. package/lib/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.hpp +116 -0
  37. package/lib/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Umbrella.hpp +44 -0
  38. package/lib/nitrogen/generated/ios/SegmentSliderAutolinking.mm +33 -0
  39. package/lib/nitrogen/generated/ios/SegmentSliderAutolinking.swift +25 -0
  40. package/lib/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.cpp +11 -0
  41. package/lib/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.hpp +208 -0
  42. package/lib/nitrogen/generated/ios/c++/views/HybridSegmentSliderComponent.mm +196 -0
  43. package/lib/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  44. package/lib/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
  45. package/lib/nitrogen/generated/ios/swift/HybridSegmentSliderSpec.swift +76 -0
  46. package/lib/nitrogen/generated/ios/swift/HybridSegmentSliderSpec_cxx.swift +423 -0
  47. package/lib/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.cpp +62 -0
  48. package/lib/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.hpp +105 -0
  49. package/lib/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.cpp +327 -0
  50. package/lib/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.hpp +128 -0
  51. package/lib/nitrogen/generated/shared/json/SegmentSliderConfig.json +30 -0
  52. package/lib/nitrogen/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  53. package/lib/nitrogen/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
  54. package/lib/nitrogen/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.cpp +265 -0
  55. package/lib/nitrogen/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.hpp +106 -0
  56. package/lib/nitrogen/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.cpp +136 -0
  57. package/lib/nitrogen/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.hpp +49 -0
  58. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void.kt +80 -0
  59. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void_double.kt +80 -0
  60. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/HybridSegmentSliderSpec.kt +203 -0
  61. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/segmentsliderOnLoad.kt +35 -0
  62. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderManager.kt +50 -0
  63. package/lib/nitrogen/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderStateUpdater.kt +23 -0
  64. package/lib/nitrogen/nitrogen/generated/android/segmentslider+autolinking.cmake +83 -0
  65. package/lib/nitrogen/nitrogen/generated/android/segmentslider+autolinking.gradle +27 -0
  66. package/lib/nitrogen/nitrogen/generated/android/segmentsliderOnLoad.cpp +50 -0
  67. package/lib/nitrogen/nitrogen/generated/android/segmentsliderOnLoad.hpp +25 -0
  68. package/lib/nitrogen/nitrogen/generated/ios/SegmentSlider+autolinking.rb +60 -0
  69. package/lib/nitrogen/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.cpp +49 -0
  70. package/lib/nitrogen/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.hpp +116 -0
  71. package/lib/nitrogen/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Umbrella.hpp +44 -0
  72. package/lib/nitrogen/nitrogen/generated/ios/SegmentSliderAutolinking.mm +33 -0
  73. package/lib/nitrogen/nitrogen/generated/ios/SegmentSliderAutolinking.swift +25 -0
  74. package/lib/nitrogen/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.cpp +11 -0
  75. package/lib/nitrogen/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.hpp +208 -0
  76. package/lib/nitrogen/nitrogen/generated/ios/c++/views/HybridSegmentSliderComponent.mm +196 -0
  77. package/lib/nitrogen/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  78. package/lib/nitrogen/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
  79. package/lib/nitrogen/nitrogen/generated/ios/swift/HybridSegmentSliderSpec.swift +76 -0
  80. package/lib/nitrogen/nitrogen/generated/ios/swift/HybridSegmentSliderSpec_cxx.swift +423 -0
  81. package/lib/nitrogen/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.cpp +62 -0
  82. package/lib/nitrogen/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.hpp +105 -0
  83. package/lib/nitrogen/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.cpp +327 -0
  84. package/lib/nitrogen/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.hpp +128 -0
  85. package/lib/nitrogen/nitrogen/generated/shared/json/SegmentSliderConfig.json +30 -0
  86. package/lib/typescript/package.json +1 -0
  87. package/lib/typescript/src/SegmentSlider.nitro.d.ts +72 -0
  88. package/lib/typescript/src/SegmentSlider.nitro.d.ts.map +1 -0
  89. package/lib/typescript/src/index.d.ts +11 -0
  90. package/lib/typescript/src/index.d.ts.map +1 -0
  91. package/nitro.json +17 -0
  92. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  93. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +75 -0
  94. package/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.cpp +265 -0
  95. package/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.hpp +106 -0
  96. package/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.cpp +136 -0
  97. package/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.hpp +49 -0
  98. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void.kt +80 -0
  99. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void_double.kt +80 -0
  100. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/HybridSegmentSliderSpec.kt +203 -0
  101. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/segmentsliderOnLoad.kt +35 -0
  102. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderManager.kt +50 -0
  103. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderStateUpdater.kt +23 -0
  104. package/nitrogen/generated/android/segmentslider+autolinking.cmake +83 -0
  105. package/nitrogen/generated/android/segmentslider+autolinking.gradle +27 -0
  106. package/nitrogen/generated/android/segmentsliderOnLoad.cpp +50 -0
  107. package/nitrogen/generated/android/segmentsliderOnLoad.hpp +25 -0
  108. package/nitrogen/generated/ios/SegmentSlider+autolinking.rb +60 -0
  109. package/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.cpp +49 -0
  110. package/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.hpp +116 -0
  111. package/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Umbrella.hpp +44 -0
  112. package/nitrogen/generated/ios/SegmentSliderAutolinking.mm +33 -0
  113. package/nitrogen/generated/ios/SegmentSliderAutolinking.swift +25 -0
  114. package/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.cpp +11 -0
  115. package/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.hpp +208 -0
  116. package/nitrogen/generated/ios/c++/views/HybridSegmentSliderComponent.mm +196 -0
  117. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  118. package/nitrogen/generated/ios/swift/Func_void_double.swift +47 -0
  119. package/nitrogen/generated/ios/swift/HybridSegmentSliderSpec.swift +76 -0
  120. package/nitrogen/generated/ios/swift/HybridSegmentSliderSpec_cxx.swift +423 -0
  121. package/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.cpp +62 -0
  122. package/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.hpp +105 -0
  123. package/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.cpp +327 -0
  124. package/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.hpp +128 -0
  125. package/nitrogen/generated/shared/json/SegmentSliderConfig.json +30 -0
  126. package/package.json +170 -0
  127. package/src/SegmentSlider.nitro.ts +80 -0
  128. package/src/index.tsx +59 -0
@@ -0,0 +1,265 @@
1
+ ///
2
+ /// JHybridSegmentSliderSpec.cpp
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
+ #include "JHybridSegmentSliderSpec.hpp"
9
+
10
+
11
+
12
+ #include <string>
13
+ #include <functional>
14
+ #include <optional>
15
+ #include "JFunc_void_double.hpp"
16
+ #include <NitroModules/JNICallable.hpp>
17
+ #include "JFunc_void.hpp"
18
+
19
+ namespace margelo::nitro::segmentslider {
20
+
21
+ jni::local_ref<JHybridSegmentSliderSpec::jhybriddata> JHybridSegmentSliderSpec::initHybrid(jni::alias_ref<jhybridobject> jThis) {
22
+ return makeCxxInstance(jThis);
23
+ }
24
+
25
+ void JHybridSegmentSliderSpec::registerNatives() {
26
+ registerHybrid({
27
+ makeNativeMethod("initHybrid", JHybridSegmentSliderSpec::initHybrid),
28
+ });
29
+ }
30
+
31
+ size_t JHybridSegmentSliderSpec::getExternalMemorySize() noexcept {
32
+ static const auto method = javaClassStatic()->getMethod<jlong()>("getMemorySize");
33
+ return method(_javaPart);
34
+ }
35
+
36
+ void JHybridSegmentSliderSpec::dispose() noexcept {
37
+ static const auto method = javaClassStatic()->getMethod<void()>("dispose");
38
+ method(_javaPart);
39
+ }
40
+
41
+ std::string JHybridSegmentSliderSpec::toString() {
42
+ static const auto method = javaClassStatic()->getMethod<jni::JString()>("toString");
43
+ auto javaString = method(_javaPart);
44
+ return javaString->toStdString();
45
+ }
46
+
47
+ // Properties
48
+ double JHybridSegmentSliderSpec::getValue() {
49
+ static const auto method = javaClassStatic()->getMethod<double()>("getValue");
50
+ auto __result = method(_javaPart);
51
+ return __result;
52
+ }
53
+ void JHybridSegmentSliderSpec::setValue(double value) {
54
+ static const auto method = javaClassStatic()->getMethod<void(double /* value */)>("setValue");
55
+ method(_javaPart, value);
56
+ }
57
+ double JHybridSegmentSliderSpec::getMin() {
58
+ static const auto method = javaClassStatic()->getMethod<double()>("getMin");
59
+ auto __result = method(_javaPart);
60
+ return __result;
61
+ }
62
+ void JHybridSegmentSliderSpec::setMin(double min) {
63
+ static const auto method = javaClassStatic()->getMethod<void(double /* min */)>("setMin");
64
+ method(_javaPart, min);
65
+ }
66
+ double JHybridSegmentSliderSpec::getMax() {
67
+ static const auto method = javaClassStatic()->getMethod<double()>("getMax");
68
+ auto __result = method(_javaPart);
69
+ return __result;
70
+ }
71
+ void JHybridSegmentSliderSpec::setMax(double max) {
72
+ static const auto method = javaClassStatic()->getMethod<void(double /* max */)>("setMax");
73
+ method(_javaPart, max);
74
+ }
75
+ double JHybridSegmentSliderSpec::getSegments() {
76
+ static const auto method = javaClassStatic()->getMethod<double()>("getSegments");
77
+ auto __result = method(_javaPart);
78
+ return __result;
79
+ }
80
+ void JHybridSegmentSliderSpec::setSegments(double segments) {
81
+ static const auto method = javaClassStatic()->getMethod<void(double /* segments */)>("setSegments");
82
+ method(_javaPart, segments);
83
+ }
84
+ double JHybridSegmentSliderSpec::getSliderHeight() {
85
+ static const auto method = javaClassStatic()->getMethod<double()>("getSliderHeight");
86
+ auto __result = method(_javaPart);
87
+ return __result;
88
+ }
89
+ void JHybridSegmentSliderSpec::setSliderHeight(double sliderHeight) {
90
+ static const auto method = javaClassStatic()->getMethod<void(double /* sliderHeight */)>("setSliderHeight");
91
+ method(_javaPart, sliderHeight);
92
+ }
93
+ bool JHybridSegmentSliderSpec::getDisabled() {
94
+ static const auto method = javaClassStatic()->getMethod<jboolean()>("getDisabled");
95
+ auto __result = method(_javaPart);
96
+ return static_cast<bool>(__result);
97
+ }
98
+ void JHybridSegmentSliderSpec::setDisabled(bool disabled) {
99
+ static const auto method = javaClassStatic()->getMethod<void(jboolean /* disabled */)>("setDisabled");
100
+ method(_javaPart, disabled);
101
+ }
102
+ bool JHybridSegmentSliderSpec::getShowBubble() {
103
+ static const auto method = javaClassStatic()->getMethod<jboolean()>("getShowBubble");
104
+ auto __result = method(_javaPart);
105
+ return static_cast<bool>(__result);
106
+ }
107
+ void JHybridSegmentSliderSpec::setShowBubble(bool showBubble) {
108
+ static const auto method = javaClassStatic()->getMethod<void(jboolean /* showBubble */)>("setShowBubble");
109
+ method(_javaPart, showBubble);
110
+ }
111
+ bool JHybridSegmentSliderSpec::getCenterOrigin() {
112
+ static const auto method = javaClassStatic()->getMethod<jboolean()>("getCenterOrigin");
113
+ auto __result = method(_javaPart);
114
+ return static_cast<bool>(__result);
115
+ }
116
+ void JHybridSegmentSliderSpec::setCenterOrigin(bool centerOrigin) {
117
+ static const auto method = javaClassStatic()->getMethod<void(jboolean /* centerOrigin */)>("setCenterOrigin");
118
+ method(_javaPart, centerOrigin);
119
+ }
120
+ double JHybridSegmentSliderSpec::getEpoch() {
121
+ static const auto method = javaClassStatic()->getMethod<double()>("getEpoch");
122
+ auto __result = method(_javaPart);
123
+ return __result;
124
+ }
125
+ void JHybridSegmentSliderSpec::setEpoch(double epoch) {
126
+ static const auto method = javaClassStatic()->getMethod<void(double /* epoch */)>("setEpoch");
127
+ method(_javaPart, epoch);
128
+ }
129
+ std::string JHybridSegmentSliderSpec::getFillColor() {
130
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getFillColor");
131
+ auto __result = method(_javaPart);
132
+ return __result->toStdString();
133
+ }
134
+ void JHybridSegmentSliderSpec::setFillColor(const std::string& fillColor) {
135
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* fillColor */)>("setFillColor");
136
+ method(_javaPart, jni::make_jstring(fillColor));
137
+ }
138
+ std::string JHybridSegmentSliderSpec::getTrackColor() {
139
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getTrackColor");
140
+ auto __result = method(_javaPart);
141
+ return __result->toStdString();
142
+ }
143
+ void JHybridSegmentSliderSpec::setTrackColor(const std::string& trackColor) {
144
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* trackColor */)>("setTrackColor");
145
+ method(_javaPart, jni::make_jstring(trackColor));
146
+ }
147
+ std::string JHybridSegmentSliderSpec::getThumbColor() {
148
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getThumbColor");
149
+ auto __result = method(_javaPart);
150
+ return __result->toStdString();
151
+ }
152
+ void JHybridSegmentSliderSpec::setThumbColor(const std::string& thumbColor) {
153
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* thumbColor */)>("setThumbColor");
154
+ method(_javaPart, jni::make_jstring(thumbColor));
155
+ }
156
+ std::string JHybridSegmentSliderSpec::getThumbBorderColor() {
157
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getThumbBorderColor");
158
+ auto __result = method(_javaPart);
159
+ return __result->toStdString();
160
+ }
161
+ void JHybridSegmentSliderSpec::setThumbBorderColor(const std::string& thumbBorderColor) {
162
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* thumbBorderColor */)>("setThumbBorderColor");
163
+ method(_javaPart, jni::make_jstring(thumbBorderColor));
164
+ }
165
+ std::string JHybridSegmentSliderSpec::getMarkActiveColor() {
166
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getMarkActiveColor");
167
+ auto __result = method(_javaPart);
168
+ return __result->toStdString();
169
+ }
170
+ void JHybridSegmentSliderSpec::setMarkActiveColor(const std::string& markActiveColor) {
171
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* markActiveColor */)>("setMarkActiveColor");
172
+ method(_javaPart, jni::make_jstring(markActiveColor));
173
+ }
174
+ std::string JHybridSegmentSliderSpec::getMarkInactiveColor() {
175
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getMarkInactiveColor");
176
+ auto __result = method(_javaPart);
177
+ return __result->toStdString();
178
+ }
179
+ void JHybridSegmentSliderSpec::setMarkInactiveColor(const std::string& markInactiveColor) {
180
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* markInactiveColor */)>("setMarkInactiveColor");
181
+ method(_javaPart, jni::make_jstring(markInactiveColor));
182
+ }
183
+ std::string JHybridSegmentSliderSpec::getMarkBorderColor() {
184
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getMarkBorderColor");
185
+ auto __result = method(_javaPart);
186
+ return __result->toStdString();
187
+ }
188
+ void JHybridSegmentSliderSpec::setMarkBorderColor(const std::string& markBorderColor) {
189
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* markBorderColor */)>("setMarkBorderColor");
190
+ method(_javaPart, jni::make_jstring(markBorderColor));
191
+ }
192
+ std::string JHybridSegmentSliderSpec::getBubbleColor() {
193
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getBubbleColor");
194
+ auto __result = method(_javaPart);
195
+ return __result->toStdString();
196
+ }
197
+ void JHybridSegmentSliderSpec::setBubbleColor(const std::string& bubbleColor) {
198
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* bubbleColor */)>("setBubbleColor");
199
+ method(_javaPart, jni::make_jstring(bubbleColor));
200
+ }
201
+ std::string JHybridSegmentSliderSpec::getBubbleTextColor() {
202
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<jni::JString>()>("getBubbleTextColor");
203
+ auto __result = method(_javaPart);
204
+ return __result->toStdString();
205
+ }
206
+ void JHybridSegmentSliderSpec::setBubbleTextColor(const std::string& bubbleTextColor) {
207
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* bubbleTextColor */)>("setBubbleTextColor");
208
+ method(_javaPart, jni::make_jstring(bubbleTextColor));
209
+ }
210
+ std::optional<std::function<void(double /* value */)>> JHybridSegmentSliderSpec::getOnChange() {
211
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void_double::javaobject>()>("getOnChange_cxx");
212
+ auto __result = method(_javaPart);
213
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void(double /* value */)> {
214
+ if (__result->isInstanceOf(JFunc_void_double_cxx::javaClassStatic())) [[likely]] {
215
+ auto downcast = jni::static_ref_cast<JFunc_void_double_cxx::javaobject>(__result);
216
+ return downcast->cthis()->getFunction();
217
+ } else {
218
+ auto __resultRef = jni::make_global(__result);
219
+ return JNICallable<JFunc_void_double, void(double)>(std::move(__resultRef));
220
+ }
221
+ }()) : std::nullopt;
222
+ }
223
+ void JHybridSegmentSliderSpec::setOnChange(const std::optional<std::function<void(double /* value */)>>& onChange) {
224
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_double::javaobject> /* onChange */)>("setOnChange_cxx");
225
+ method(_javaPart, onChange.has_value() ? JFunc_void_double_cxx::fromCpp(onChange.value()) : nullptr);
226
+ }
227
+ std::optional<std::function<void()>> JHybridSegmentSliderSpec::getOnSlideStart() {
228
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnSlideStart_cxx");
229
+ auto __result = method(_javaPart);
230
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void()> {
231
+ if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
232
+ auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
233
+ return downcast->cthis()->getFunction();
234
+ } else {
235
+ auto __resultRef = jni::make_global(__result);
236
+ return JNICallable<JFunc_void, void()>(std::move(__resultRef));
237
+ }
238
+ }()) : std::nullopt;
239
+ }
240
+ void JHybridSegmentSliderSpec::setOnSlideStart(const std::optional<std::function<void()>>& onSlideStart) {
241
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onSlideStart */)>("setOnSlideStart_cxx");
242
+ method(_javaPart, onSlideStart.has_value() ? JFunc_void_cxx::fromCpp(onSlideStart.value()) : nullptr);
243
+ }
244
+ std::optional<std::function<void()>> JHybridSegmentSliderSpec::getOnSlideComplete() {
245
+ static const auto method = javaClassStatic()->getMethod<jni::local_ref<JFunc_void::javaobject>()>("getOnSlideComplete_cxx");
246
+ auto __result = method(_javaPart);
247
+ return __result != nullptr ? std::make_optional([&]() -> std::function<void()> {
248
+ if (__result->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
249
+ auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(__result);
250
+ return downcast->cthis()->getFunction();
251
+ } else {
252
+ auto __resultRef = jni::make_global(__result);
253
+ return JNICallable<JFunc_void, void()>(std::move(__resultRef));
254
+ }
255
+ }()) : std::nullopt;
256
+ }
257
+ void JHybridSegmentSliderSpec::setOnSlideComplete(const std::optional<std::function<void()>>& onSlideComplete) {
258
+ static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void::javaobject> /* onSlideComplete */)>("setOnSlideComplete_cxx");
259
+ method(_javaPart, onSlideComplete.has_value() ? JFunc_void_cxx::fromCpp(onSlideComplete.value()) : nullptr);
260
+ }
261
+
262
+ // Methods
263
+
264
+
265
+ } // namespace margelo::nitro::segmentslider
@@ -0,0 +1,106 @@
1
+ ///
2
+ /// HybridSegmentSliderSpec.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 <NitroModules/JHybridObject.hpp>
11
+ #include <fbjni/fbjni.h>
12
+ #include "HybridSegmentSliderSpec.hpp"
13
+
14
+
15
+
16
+
17
+ namespace margelo::nitro::segmentslider {
18
+
19
+ using namespace facebook;
20
+
21
+ class JHybridSegmentSliderSpec: public jni::HybridClass<JHybridSegmentSliderSpec, JHybridObject>,
22
+ public virtual HybridSegmentSliderSpec {
23
+ public:
24
+ static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/HybridSegmentSliderSpec;";
25
+ static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
26
+ static void registerNatives();
27
+
28
+ protected:
29
+ // C++ constructor (called from Java via `initHybrid()`)
30
+ explicit JHybridSegmentSliderSpec(jni::alias_ref<jhybridobject> jThis) :
31
+ HybridObject(HybridSegmentSliderSpec::TAG),
32
+ HybridBase(jThis),
33
+ _javaPart(jni::make_global(jThis)) {}
34
+
35
+ public:
36
+ ~JHybridSegmentSliderSpec() override {
37
+ // Hermes GC can destroy JS objects on a non-JNI Thread.
38
+ jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
39
+ }
40
+
41
+ public:
42
+ size_t getExternalMemorySize() noexcept override;
43
+ void dispose() noexcept override;
44
+ std::string toString() override;
45
+
46
+ public:
47
+ inline const jni::global_ref<JHybridSegmentSliderSpec::javaobject>& getJavaPart() const noexcept {
48
+ return _javaPart;
49
+ }
50
+
51
+ public:
52
+ // Properties
53
+ double getValue() override;
54
+ void setValue(double value) override;
55
+ double getMin() override;
56
+ void setMin(double min) override;
57
+ double getMax() override;
58
+ void setMax(double max) override;
59
+ double getSegments() override;
60
+ void setSegments(double segments) override;
61
+ double getSliderHeight() override;
62
+ void setSliderHeight(double sliderHeight) override;
63
+ bool getDisabled() override;
64
+ void setDisabled(bool disabled) override;
65
+ bool getShowBubble() override;
66
+ void setShowBubble(bool showBubble) override;
67
+ bool getCenterOrigin() override;
68
+ void setCenterOrigin(bool centerOrigin) override;
69
+ double getEpoch() override;
70
+ void setEpoch(double epoch) override;
71
+ std::string getFillColor() override;
72
+ void setFillColor(const std::string& fillColor) override;
73
+ std::string getTrackColor() override;
74
+ void setTrackColor(const std::string& trackColor) override;
75
+ std::string getThumbColor() override;
76
+ void setThumbColor(const std::string& thumbColor) override;
77
+ std::string getThumbBorderColor() override;
78
+ void setThumbBorderColor(const std::string& thumbBorderColor) override;
79
+ std::string getMarkActiveColor() override;
80
+ void setMarkActiveColor(const std::string& markActiveColor) override;
81
+ std::string getMarkInactiveColor() override;
82
+ void setMarkInactiveColor(const std::string& markInactiveColor) override;
83
+ std::string getMarkBorderColor() override;
84
+ void setMarkBorderColor(const std::string& markBorderColor) override;
85
+ std::string getBubbleColor() override;
86
+ void setBubbleColor(const std::string& bubbleColor) override;
87
+ std::string getBubbleTextColor() override;
88
+ void setBubbleTextColor(const std::string& bubbleTextColor) override;
89
+ std::optional<std::function<void(double /* value */)>> getOnChange() override;
90
+ void setOnChange(const std::optional<std::function<void(double /* value */)>>& onChange) override;
91
+ std::optional<std::function<void()>> getOnSlideStart() override;
92
+ void setOnSlideStart(const std::optional<std::function<void()>>& onSlideStart) override;
93
+ std::optional<std::function<void()>> getOnSlideComplete() override;
94
+ void setOnSlideComplete(const std::optional<std::function<void()>>& onSlideComplete) override;
95
+
96
+ public:
97
+ // Methods
98
+
99
+
100
+ private:
101
+ friend HybridBase;
102
+ using HybridBase::HybridBase;
103
+ jni::global_ref<JHybridSegmentSliderSpec::javaobject> _javaPart;
104
+ };
105
+
106
+ } // namespace margelo::nitro::segmentslider
@@ -0,0 +1,136 @@
1
+ ///
2
+ /// JHybridSegmentSliderStateUpdater.cpp
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
+ #include "JHybridSegmentSliderStateUpdater.hpp"
9
+ #include "views/HybridSegmentSliderComponent.hpp"
10
+ #include <NitroModules/NitroDefines.hpp>
11
+
12
+ namespace margelo::nitro::segmentslider::views {
13
+
14
+ using namespace facebook;
15
+ using ConcreteStateData = react::ConcreteState<HybridSegmentSliderState>;
16
+
17
+ void JHybridSegmentSliderStateUpdater::updateViewProps(jni::alias_ref<jni::JClass> /* class */,
18
+ jni::alias_ref<JHybridSegmentSliderSpec::javaobject> javaView,
19
+ jni::alias_ref<JStateWrapper::javaobject> stateWrapperInterface) {
20
+ JHybridSegmentSliderSpec* view = javaView->cthis();
21
+
22
+ // Get concrete StateWrapperImpl from passed StateWrapper interface object
23
+ jobject rawStateWrapper = stateWrapperInterface.get();
24
+ if (!stateWrapperInterface->isInstanceOf(react::StateWrapperImpl::javaClassStatic())) {
25
+ throw std::runtime_error("StateWrapper is not a StateWrapperImpl");
26
+ }
27
+ auto stateWrapper = jni::alias_ref<react::StateWrapperImpl::javaobject>{
28
+ static_cast<react::StateWrapperImpl::javaobject>(rawStateWrapper)};
29
+
30
+ std::shared_ptr<const react::State> state = stateWrapper->cthis()->getState();
31
+ auto concreteState = std::dynamic_pointer_cast<const ConcreteStateData>(state);
32
+ const HybridSegmentSliderState& data = concreteState->getData();
33
+ const std::optional<HybridSegmentSliderProps>& maybeProps = data.getProps();
34
+ if (!maybeProps.has_value()) {
35
+ // Props aren't set yet!
36
+ throw std::runtime_error("HybridSegmentSliderState's data doesn't contain any props!");
37
+ }
38
+ const HybridSegmentSliderProps& props = maybeProps.value();
39
+ if (props.value.isDirty) {
40
+ view->setValue(props.value.value);
41
+ // TODO: Set isDirty = false
42
+ }
43
+ if (props.min.isDirty) {
44
+ view->setMin(props.min.value);
45
+ // TODO: Set isDirty = false
46
+ }
47
+ if (props.max.isDirty) {
48
+ view->setMax(props.max.value);
49
+ // TODO: Set isDirty = false
50
+ }
51
+ if (props.segments.isDirty) {
52
+ view->setSegments(props.segments.value);
53
+ // TODO: Set isDirty = false
54
+ }
55
+ if (props.sliderHeight.isDirty) {
56
+ view->setSliderHeight(props.sliderHeight.value);
57
+ // TODO: Set isDirty = false
58
+ }
59
+ if (props.disabled.isDirty) {
60
+ view->setDisabled(props.disabled.value);
61
+ // TODO: Set isDirty = false
62
+ }
63
+ if (props.showBubble.isDirty) {
64
+ view->setShowBubble(props.showBubble.value);
65
+ // TODO: Set isDirty = false
66
+ }
67
+ if (props.centerOrigin.isDirty) {
68
+ view->setCenterOrigin(props.centerOrigin.value);
69
+ // TODO: Set isDirty = false
70
+ }
71
+ if (props.epoch.isDirty) {
72
+ view->setEpoch(props.epoch.value);
73
+ // TODO: Set isDirty = false
74
+ }
75
+ if (props.fillColor.isDirty) {
76
+ view->setFillColor(props.fillColor.value);
77
+ // TODO: Set isDirty = false
78
+ }
79
+ if (props.trackColor.isDirty) {
80
+ view->setTrackColor(props.trackColor.value);
81
+ // TODO: Set isDirty = false
82
+ }
83
+ if (props.thumbColor.isDirty) {
84
+ view->setThumbColor(props.thumbColor.value);
85
+ // TODO: Set isDirty = false
86
+ }
87
+ if (props.thumbBorderColor.isDirty) {
88
+ view->setThumbBorderColor(props.thumbBorderColor.value);
89
+ // TODO: Set isDirty = false
90
+ }
91
+ if (props.markActiveColor.isDirty) {
92
+ view->setMarkActiveColor(props.markActiveColor.value);
93
+ // TODO: Set isDirty = false
94
+ }
95
+ if (props.markInactiveColor.isDirty) {
96
+ view->setMarkInactiveColor(props.markInactiveColor.value);
97
+ // TODO: Set isDirty = false
98
+ }
99
+ if (props.markBorderColor.isDirty) {
100
+ view->setMarkBorderColor(props.markBorderColor.value);
101
+ // TODO: Set isDirty = false
102
+ }
103
+ if (props.bubbleColor.isDirty) {
104
+ view->setBubbleColor(props.bubbleColor.value);
105
+ // TODO: Set isDirty = false
106
+ }
107
+ if (props.bubbleTextColor.isDirty) {
108
+ view->setBubbleTextColor(props.bubbleTextColor.value);
109
+ // TODO: Set isDirty = false
110
+ }
111
+ if (props.onChange.isDirty) {
112
+ view->setOnChange(props.onChange.value);
113
+ // TODO: Set isDirty = false
114
+ }
115
+ if (props.onSlideStart.isDirty) {
116
+ view->setOnSlideStart(props.onSlideStart.value);
117
+ // TODO: Set isDirty = false
118
+ }
119
+ if (props.onSlideComplete.isDirty) {
120
+ view->setOnSlideComplete(props.onSlideComplete.value);
121
+ // TODO: Set isDirty = false
122
+ }
123
+
124
+ // Update hybridRef if it changed
125
+ if (props.hybridRef.isDirty) {
126
+ // hybridRef changed - call it with new this
127
+ const auto& maybeFunc = props.hybridRef.value;
128
+ if (maybeFunc.has_value()) {
129
+ std::shared_ptr<JHybridSegmentSliderSpec> shared = javaView->cthis()->shared_cast<JHybridSegmentSliderSpec>();
130
+ maybeFunc.value()(shared);
131
+ }
132
+ // TODO: Set isDirty = false
133
+ }
134
+ }
135
+
136
+ } // namespace margelo::nitro::segmentslider::views
@@ -0,0 +1,49 @@
1
+ ///
2
+ /// JHybridSegmentSliderStateUpdater.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
+ #ifndef RN_SERIALIZABLE_STATE
11
+ #error segmentslider was compiled without the 'RN_SERIALIZABLE_STATE' flag. This flag is required for Nitro Views - set it in your CMakeLists!
12
+ #endif
13
+
14
+ #include <fbjni/fbjni.h>
15
+ #include <react/fabric/StateWrapperImpl.h>
16
+ #include <react/fabric/CoreComponentsRegistry.h>
17
+ #include <react/renderer/core/ConcreteComponentDescriptor.h>
18
+ #include <NitroModules/NitroDefines.hpp>
19
+ #include <NitroModules/JStateWrapper.hpp>
20
+ #include "JHybridSegmentSliderSpec.hpp"
21
+ #include "views/HybridSegmentSliderComponent.hpp"
22
+
23
+ namespace margelo::nitro::segmentslider::views {
24
+
25
+ using namespace facebook;
26
+
27
+ class JHybridSegmentSliderStateUpdater: public jni::JavaClass<JHybridSegmentSliderStateUpdater> {
28
+ public:
29
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/views/HybridSegmentSliderStateUpdater;";
30
+
31
+ public:
32
+ static void updateViewProps(jni::alias_ref<jni::JClass> /* class */,
33
+ jni::alias_ref<JHybridSegmentSliderSpec::javaobject> view,
34
+ jni::alias_ref<JStateWrapper::javaobject> stateWrapperInterface);
35
+
36
+ public:
37
+ static void registerNatives() {
38
+ // Register JNI calls
39
+ javaClassStatic()->registerNatives({
40
+ makeNativeMethod("updateViewProps", JHybridSegmentSliderStateUpdater::updateViewProps),
41
+ });
42
+ // Register React Native view component descriptor
43
+ auto provider = react::concreteComponentDescriptorProvider<HybridSegmentSliderComponentDescriptor>();
44
+ auto providerRegistry = react::CoreComponentsRegistry::sharedProviderRegistry();
45
+ providerRegistry->add(provider);
46
+ }
47
+ };
48
+
49
+ } // namespace margelo::nitro::segmentslider::views
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// Func_void.kt
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
+ package com.margelo.nitro.segmentslider
9
+
10
+ import androidx.annotation.Keep
11
+ import com.facebook.jni.HybridData
12
+ import com.facebook.proguard.annotations.DoNotStrip
13
+ import dalvik.annotation.optimization.FastNative
14
+
15
+
16
+ /**
17
+ * Represents the JavaScript callback `() => void`.
18
+ * This can be either implemented in C++ (in which case it might be a callback coming from JS),
19
+ * or in Kotlin/Java (in which case it is a native callback).
20
+ */
21
+ @DoNotStrip
22
+ @Keep
23
+ @Suppress("ClassName", "RedundantUnitReturnType")
24
+ fun interface Func_void: () -> Unit {
25
+ /**
26
+ * Call the given JS callback.
27
+ * @throws Throwable if the JS function itself throws an error, or if the JS function/runtime has already been deleted.
28
+ */
29
+ @DoNotStrip
30
+ @Keep
31
+ override fun invoke(): Unit
32
+ }
33
+
34
+ /**
35
+ * Represents the JavaScript callback `() => void`.
36
+ * This is implemented in C++, via a `std::function<...>`.
37
+ * The callback might be coming from JS.
38
+ */
39
+ @DoNotStrip
40
+ @Keep
41
+ @Suppress(
42
+ "KotlinJniMissingFunction", "unused",
43
+ "RedundantSuppression", "RedundantUnitReturnType", "FunctionName",
44
+ "ConvertSecondaryConstructorToPrimary", "ClassName", "LocalVariableName",
45
+ )
46
+ class Func_void_cxx: Func_void {
47
+ @DoNotStrip
48
+ @Keep
49
+ private val mHybridData: HybridData
50
+
51
+ @DoNotStrip
52
+ @Keep
53
+ private constructor(hybridData: HybridData) {
54
+ mHybridData = hybridData
55
+ }
56
+
57
+ @DoNotStrip
58
+ @Keep
59
+ override fun invoke(): Unit
60
+ = invoke_cxx()
61
+
62
+ @FastNative
63
+ private external fun invoke_cxx(): Unit
64
+ }
65
+
66
+ /**
67
+ * Represents the JavaScript callback `() => void`.
68
+ * This is implemented in Java/Kotlin, via a `() -> Unit`.
69
+ * The callback is always coming from native.
70
+ */
71
+ @DoNotStrip
72
+ @Keep
73
+ @Suppress("ClassName", "RedundantUnitReturnType", "unused")
74
+ class Func_void_java(private val function: () -> Unit): Func_void {
75
+ @DoNotStrip
76
+ @Keep
77
+ override fun invoke(): Unit {
78
+ return this.function()
79
+ }
80
+ }