@onekeyfe/react-native-segment-slider 3.0.81 → 3.0.85

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 (67) hide show
  1. package/lib/nitrogen/generated/android/c++/JFunc_void.hpp +3 -3
  2. package/lib/nitrogen/generated/android/c++/JFunc_void_double.hpp +3 -3
  3. package/lib/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.cpp +63 -62
  4. package/lib/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.hpp +20 -22
  5. package/lib/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.cpp +77 -77
  6. package/lib/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.hpp +4 -4
  7. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void.kt +1 -1
  8. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void_double.kt +1 -1
  9. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/HybridSegmentSliderSpec.kt +17 -19
  10. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/segmentsliderOnLoad.kt +1 -1
  11. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderManager.kt +40 -10
  12. package/lib/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderStateUpdater.kt +1 -1
  13. package/lib/nitrogen/generated/android/segmentslider+autolinking.cmake +1 -1
  14. package/lib/nitrogen/generated/android/segmentslider+autolinking.gradle +1 -1
  15. package/lib/nitrogen/generated/android/segmentsliderOnLoad.cpp +30 -20
  16. package/lib/nitrogen/generated/android/segmentsliderOnLoad.hpp +14 -5
  17. package/lib/nitrogen/generated/ios/SegmentSlider+autolinking.rb +2 -2
  18. package/lib/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.cpp +1 -1
  19. package/lib/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.hpp +3 -3
  20. package/lib/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Umbrella.hpp +1 -1
  21. package/lib/nitrogen/generated/ios/SegmentSliderAutolinking.mm +1 -1
  22. package/lib/nitrogen/generated/ios/SegmentSliderAutolinking.swift +9 -8
  23. package/lib/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.cpp +1 -1
  24. package/lib/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.hpp +7 -1
  25. package/lib/nitrogen/generated/ios/c++/views/HybridSegmentSliderComponent.mm +27 -1
  26. package/lib/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  27. package/lib/nitrogen/generated/ios/swift/Func_void_double.swift +1 -2
  28. package/lib/nitrogen/generated/ios/swift/HybridSegmentSliderSpec.swift +3 -4
  29. package/lib/nitrogen/generated/ios/swift/HybridSegmentSliderSpec_cxx.swift +18 -2
  30. package/lib/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.cpp +1 -1
  31. package/lib/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.hpp +1 -1
  32. package/lib/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.cpp +10 -34
  33. package/lib/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.hpp +9 -6
  34. package/nitrogen/generated/android/c++/JFunc_void.hpp +3 -3
  35. package/nitrogen/generated/android/c++/JFunc_void_double.hpp +3 -3
  36. package/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.cpp +63 -62
  37. package/nitrogen/generated/android/c++/JHybridSegmentSliderSpec.hpp +20 -22
  38. package/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.cpp +77 -77
  39. package/nitrogen/generated/android/c++/views/JHybridSegmentSliderStateUpdater.hpp +4 -4
  40. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void.kt +1 -1
  41. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/Func_void_double.kt +1 -1
  42. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/HybridSegmentSliderSpec.kt +17 -19
  43. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/segmentsliderOnLoad.kt +1 -1
  44. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderManager.kt +40 -10
  45. package/nitrogen/generated/android/kotlin/com/margelo/nitro/segmentslider/views/HybridSegmentSliderStateUpdater.kt +1 -1
  46. package/nitrogen/generated/android/segmentslider+autolinking.cmake +1 -1
  47. package/nitrogen/generated/android/segmentslider+autolinking.gradle +1 -1
  48. package/nitrogen/generated/android/segmentsliderOnLoad.cpp +30 -20
  49. package/nitrogen/generated/android/segmentsliderOnLoad.hpp +14 -5
  50. package/nitrogen/generated/ios/SegmentSlider+autolinking.rb +2 -2
  51. package/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.cpp +1 -1
  52. package/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Bridge.hpp +3 -3
  53. package/nitrogen/generated/ios/SegmentSlider-Swift-Cxx-Umbrella.hpp +1 -1
  54. package/nitrogen/generated/ios/SegmentSliderAutolinking.mm +1 -1
  55. package/nitrogen/generated/ios/SegmentSliderAutolinking.swift +9 -8
  56. package/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.cpp +1 -1
  57. package/nitrogen/generated/ios/c++/HybridSegmentSliderSpecSwift.hpp +7 -1
  58. package/nitrogen/generated/ios/c++/views/HybridSegmentSliderComponent.mm +27 -1
  59. package/nitrogen/generated/ios/swift/Func_void.swift +1 -2
  60. package/nitrogen/generated/ios/swift/Func_void_double.swift +1 -2
  61. package/nitrogen/generated/ios/swift/HybridSegmentSliderSpec.swift +3 -4
  62. package/nitrogen/generated/ios/swift/HybridSegmentSliderSpec_cxx.swift +18 -2
  63. package/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.cpp +1 -1
  64. package/nitrogen/generated/shared/c++/HybridSegmentSliderSpec.hpp +1 -1
  65. package/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.cpp +10 -34
  66. package/nitrogen/generated/shared/c++/views/HybridSegmentSliderComponent.hpp +9 -6
  67. package/package.json +4 -4
@@ -2,19 +2,16 @@
2
2
  /// SegmentSliderAutolinking.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
+ import NitroModules
9
+
10
+ // TODO: Use empty enums once Swift supports exporting them as namespaces
11
+ // See: https://github.com/swiftlang/swift/pull/83616
8
12
  public final class SegmentSliderAutolinking {
9
13
  public typealias bridge = margelo.nitro.segmentslider.bridge.swift
10
14
 
11
- /**
12
- * Creates an instance of a Swift class that implements `HybridSegmentSliderSpec`,
13
- * and wraps it in a Swift class that can directly interop with C++ (`HybridSegmentSliderSpec_cxx`)
14
- *
15
- * This is generated by Nitrogen and will initialize the class specified
16
- * in the `"autolinking"` property of `nitro.json` (in this case, `HybridSegmentSlider`).
17
- */
18
15
  public static func createSegmentSlider() -> bridge.std__shared_ptr_HybridSegmentSliderSpec_ {
19
16
  let hybridObject = HybridSegmentSlider()
20
17
  return { () -> bridge.std__shared_ptr_HybridSegmentSliderSpec_ in
@@ -22,4 +19,8 @@ public final class SegmentSliderAutolinking {
22
19
  return __cxxWrapped.getCxxPart()
23
20
  }()
24
21
  }
22
+
23
+ public static func isSegmentSliderRecyclable() -> Bool {
24
+ return HybridSegmentSlider.self is any RecyclableView.Type
25
+ }
25
26
  }
@@ -2,7 +2,7 @@
2
2
  /// HybridSegmentSliderSpecSwift.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridSegmentSliderSpecSwift.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridSegmentSliderSpecSwift.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -49,6 +49,12 @@ namespace margelo::nitro::segmentslider {
49
49
  inline size_t getExternalMemorySize() noexcept override {
50
50
  return _swiftPart.getMemorySize();
51
51
  }
52
+ bool equals(const std::shared_ptr<HybridObject>& other) override {
53
+ if (auto otherCast = std::dynamic_pointer_cast<HybridSegmentSliderSpecSwift>(other)) {
54
+ return _swiftPart.equals(otherCast->_swiftPart);
55
+ }
56
+ return false;
57
+ }
52
58
  void dispose() noexcept override {
53
59
  _swiftPart.dispose();
54
60
  }
@@ -2,7 +2,7 @@
2
2
  /// HybridSegmentSliderComponent.mm
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #import "HybridSegmentSliderComponent.hpp"
@@ -17,6 +17,13 @@
17
17
  #import "HybridSegmentSliderSpecSwift.hpp"
18
18
  #import "SegmentSlider-Swift-Cxx-Umbrella.hpp"
19
19
 
20
+ #if __has_include(<cxxreact/ReactNativeVersion.h>)
21
+ #include <cxxreact/ReactNativeVersion.h>
22
+ #if REACT_NATIVE_VERSION_MINOR >= 82
23
+ #define ENABLE_RCT_COMPONENT_VIEW_INVALIDATE
24
+ #endif
25
+ #endif
26
+
20
27
  using namespace facebook;
21
28
  using namespace margelo::nitro::segmentslider;
22
29
  using namespace margelo::nitro::segmentslider::views;
@@ -25,6 +32,7 @@ using namespace margelo::nitro::segmentslider::views;
25
32
  * Represents the React Native View holder for the Nitro "SegmentSlider" HybridView.
26
33
  */
27
34
  @interface HybridSegmentSliderComponent: RCTViewComponentView
35
+ + (BOOL)shouldBeRecycled;
28
36
  @end
29
37
 
30
38
  @implementation HybridSegmentSliderComponent {
@@ -193,4 +201,22 @@ using namespace margelo::nitro::segmentslider::views;
193
201
  [super updateProps:props oldProps:oldProps];
194
202
  }
195
203
 
204
+ + (BOOL)shouldBeRecycled {
205
+ return SegmentSlider::SegmentSliderAutolinking::isSegmentSliderRecyclable();
206
+ }
207
+
208
+ - (void)prepareForRecycle {
209
+ [super prepareForRecycle];
210
+ SegmentSlider::HybridSegmentSliderSpec_cxx& swiftPart = _hybridView->getSwiftPart();
211
+ swiftPart.maybePrepareForRecycle();
212
+ }
213
+
214
+ #ifdef ENABLE_RCT_COMPONENT_VIEW_INVALIDATE
215
+ - (void)invalidate {
216
+ SegmentSlider::HybridSegmentSliderSpec_cxx& swiftPart = _hybridView->getSwiftPart();
217
+ swiftPart.onDropView();
218
+ [super invalidate];
219
+ }
220
+ #endif
221
+
196
222
  @end
@@ -2,10 +2,9 @@
2
2
  /// Func_void.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
- import Foundation
9
8
  import NitroModules
10
9
 
11
10
  /**
@@ -2,10 +2,9 @@
2
2
  /// Func_void_double.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
- import Foundation
9
8
  import NitroModules
10
9
 
11
10
  /**
@@ -2,10 +2,9 @@
2
2
  /// HybridSegmentSliderSpec.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
- import Foundation
9
8
  import NitroModules
10
9
 
11
10
  /// See ``HybridSegmentSliderSpec``
@@ -50,14 +49,14 @@ open class HybridSegmentSliderSpec_base {
50
49
  public init() { }
51
50
  public func getCxxWrapper() -> HybridSegmentSliderSpec_cxx {
52
51
  #if DEBUG
53
- guard self is HybridSegmentSliderSpec else {
52
+ guard self is any HybridSegmentSliderSpec else {
54
53
  fatalError("`self` is not a `HybridSegmentSliderSpec`! Did you accidentally inherit from `HybridSegmentSliderSpec_base` instead of `HybridSegmentSliderSpec`?")
55
54
  }
56
55
  #endif
57
56
  if let cxxWrapper = self.cxxWrapper {
58
57
  return cxxWrapper
59
58
  } else {
60
- let cxxWrapper = HybridSegmentSliderSpec_cxx(self as! HybridSegmentSliderSpec)
59
+ let cxxWrapper = HybridSegmentSliderSpec_cxx(self as! any HybridSegmentSliderSpec)
61
60
  self.cxxWrapper = cxxWrapper
62
61
  return cxxWrapper
63
62
  }
@@ -2,10 +2,9 @@
2
2
  /// HybridSegmentSliderSpec_cxx.swift
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
- import Foundation
9
8
  import NitroModules
10
9
 
11
10
  /**
@@ -96,6 +95,14 @@ open class HybridSegmentSliderSpec_cxx {
96
95
  return MemoryHelper.getSizeOf(self.__implementation) + self.__implementation.memorySize
97
96
  }
98
97
 
98
+ /**
99
+ * Compares this object with the given [other] object for reference equality.
100
+ */
101
+ @inline(__always)
102
+ public func equals(other: HybridSegmentSliderSpec_cxx) -> Bool {
103
+ return self.__implementation === other.__implementation
104
+ }
105
+
99
106
  /**
100
107
  * Call dispose() on the Swift class.
101
108
  * This _may_ be called manually from JS.
@@ -431,4 +438,13 @@ open class HybridSegmentSliderSpec_cxx {
431
438
  public final func afterUpdate() {
432
439
  __implementation.afterUpdate()
433
440
  }
441
+
442
+ public final func maybePrepareForRecycle() {
443
+ guard let recyclable = __implementation as? any RecyclableView else { return }
444
+ recyclable.prepareForRecycle()
445
+ }
446
+
447
+ public final func onDropView() {
448
+ __implementation.onDropView()
449
+ }
434
450
  }
@@ -2,7 +2,7 @@
2
2
  /// HybridSegmentSliderSpec.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridSegmentSliderSpec.hpp"
@@ -2,7 +2,7 @@
2
2
  /// HybridSegmentSliderSpec.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -2,7 +2,7 @@
2
2
  /// HybridSegmentSliderComponent.cpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #include "HybridSegmentSliderComponent.hpp"
@@ -12,6 +12,7 @@
12
12
  #include <utility>
13
13
  #include <NitroModules/NitroDefines.hpp>
14
14
  #include <NitroModules/JSIConverter.hpp>
15
+ #include <NitroModules/PropNameIDCache.hpp>
15
16
  #include <react/renderer/core/RawValue.h>
16
17
  #include <react/renderer/core/ShadowNode.h>
17
18
  #include <react/renderer/core/ComponentDescriptor.h>
@@ -210,7 +211,7 @@ namespace margelo::nitro::segmentslider::views {
210
211
  const react::RawValue* rawValue = rawProps.at("onChange", nullptr, nullptr);
211
212
  if (rawValue == nullptr) return sourceProps.onChange;
212
213
  const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
213
- return CachedProp<std::optional<std::function<void(double /* value */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onChange);
214
+ return CachedProp<std::optional<std::function<void(double /* value */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.onChange);
214
215
  } catch (const std::exception& exc) {
215
216
  throw std::runtime_error(std::string("SegmentSlider.onChange: ") + exc.what());
216
217
  }
@@ -220,7 +221,7 @@ namespace margelo::nitro::segmentslider::views {
220
221
  const react::RawValue* rawValue = rawProps.at("onSlideStart", nullptr, nullptr);
221
222
  if (rawValue == nullptr) return sourceProps.onSlideStart;
222
223
  const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
223
- return CachedProp<std::optional<std::function<void()>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onSlideStart);
224
+ return CachedProp<std::optional<std::function<void()>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.onSlideStart);
224
225
  } catch (const std::exception& exc) {
225
226
  throw std::runtime_error(std::string("SegmentSlider.onSlideStart: ") + exc.what());
226
227
  }
@@ -230,7 +231,7 @@ namespace margelo::nitro::segmentslider::views {
230
231
  const react::RawValue* rawValue = rawProps.at("onSlideComplete", nullptr, nullptr);
231
232
  if (rawValue == nullptr) return sourceProps.onSlideComplete;
232
233
  const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
233
- return CachedProp<std::optional<std::function<void()>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.onSlideComplete);
234
+ return CachedProp<std::optional<std::function<void()>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.onSlideComplete);
234
235
  } catch (const std::exception& exc) {
235
236
  throw std::runtime_error(std::string("SegmentSlider.onSlideComplete: ") + exc.what());
236
237
  }
@@ -240,37 +241,12 @@ namespace margelo::nitro::segmentslider::views {
240
241
  const react::RawValue* rawValue = rawProps.at("hybridRef", nullptr, nullptr);
241
242
  if (rawValue == nullptr) return sourceProps.hybridRef;
242
243
  const auto& [runtime, value] = (std::pair<jsi::Runtime*, jsi::Value>)*rawValue;
243
- return CachedProp<std::optional<std::function<void(const std::shared_ptr<HybridSegmentSliderSpec>& /* ref */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, "f"), sourceProps.hybridRef);
244
+ return CachedProp<std::optional<std::function<void(const std::shared_ptr<HybridSegmentSliderSpec>& /* ref */)>>>::fromRawValue(*runtime, value.asObject(*runtime).getProperty(*runtime, PropNameIDCache::get(*runtime, "f")), sourceProps.hybridRef);
244
245
  } catch (const std::exception& exc) {
245
246
  throw std::runtime_error(std::string("SegmentSlider.hybridRef: ") + exc.what());
246
247
  }
247
248
  }()) { }
248
249
 
249
- HybridSegmentSliderProps::HybridSegmentSliderProps(const HybridSegmentSliderProps& other):
250
- react::ViewProps(),
251
- defaultValue(other.defaultValue),
252
- min(other.min),
253
- max(other.max),
254
- segments(other.segments),
255
- sliderHeight(other.sliderHeight),
256
- disabled(other.disabled),
257
- showBubble(other.showBubble),
258
- centerOrigin(other.centerOrigin),
259
- snapTapToSegment(other.snapTapToSegment),
260
- fillColor(other.fillColor),
261
- trackColor(other.trackColor),
262
- thumbColor(other.thumbColor),
263
- thumbBorderColor(other.thumbBorderColor),
264
- markActiveColor(other.markActiveColor),
265
- markInactiveColor(other.markInactiveColor),
266
- markBorderColor(other.markBorderColor),
267
- bubbleColor(other.bubbleColor),
268
- bubbleTextColor(other.bubbleTextColor),
269
- onChange(other.onChange),
270
- onSlideStart(other.onSlideStart),
271
- onSlideComplete(other.onSlideComplete),
272
- hybridRef(other.hybridRef) { }
273
-
274
250
  bool HybridSegmentSliderProps::filterObjectKeys(const std::string& propName) {
275
251
  switch (hashString(propName)) {
276
252
  case hashString("defaultValue"): return true;
@@ -316,10 +292,10 @@ namespace margelo::nitro::segmentslider::views {
316
292
  void HybridSegmentSliderComponentDescriptor::adopt(react::ShadowNode& shadowNode) const {
317
293
  // This is called immediately after `ShadowNode` is created, cloned or in progress.
318
294
  // On Android, we need to wrap props in our state, which gets routed through Java and later unwrapped in JNI/C++.
319
- auto& concreteShadowNode = dynamic_cast<HybridSegmentSliderShadowNode&>(shadowNode);
320
- const HybridSegmentSliderProps& props = concreteShadowNode.getConcreteProps();
321
- HybridSegmentSliderState state;
322
- state.setProps(props);
295
+ auto& concreteShadowNode = static_cast<HybridSegmentSliderShadowNode&>(shadowNode);
296
+ const std::shared_ptr<const HybridSegmentSliderProps>& constProps = concreteShadowNode.getConcreteSharedProps();
297
+ const std::shared_ptr<HybridSegmentSliderProps>& props = std::const_pointer_cast<HybridSegmentSliderProps>(constProps);
298
+ HybridSegmentSliderState state{props};
323
299
  concreteShadowNode.setStateData(std::move(state));
324
300
  }
325
301
  #endif
@@ -2,7 +2,7 @@
2
2
  /// HybridSegmentSliderComponent.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -37,7 +37,6 @@ namespace margelo::nitro::segmentslider::views {
37
37
  class HybridSegmentSliderProps final: public react::ViewProps {
38
38
  public:
39
39
  HybridSegmentSliderProps() = default;
40
- HybridSegmentSliderProps(const HybridSegmentSliderProps&);
41
40
  HybridSegmentSliderProps(const react::PropsParserContext& context,
42
41
  const HybridSegmentSliderProps& sourceProps,
43
42
  const react::RawProps& rawProps);
@@ -76,10 +75,14 @@ namespace margelo::nitro::segmentslider::views {
76
75
  class HybridSegmentSliderState final {
77
76
  public:
78
77
  HybridSegmentSliderState() = default;
78
+ explicit HybridSegmentSliderState(const std::shared_ptr<HybridSegmentSliderProps>& props):
79
+ _props(props) {}
79
80
 
80
81
  public:
81
- void setProps(const HybridSegmentSliderProps& props) { _props.emplace(props); }
82
- const std::optional<HybridSegmentSliderProps>& getProps() const { return _props; }
82
+ [[nodiscard]]
83
+ const std::shared_ptr<HybridSegmentSliderProps>& getProps() const {
84
+ return _props;
85
+ }
83
86
 
84
87
  public:
85
88
  #ifdef ANDROID
@@ -93,7 +96,7 @@ namespace margelo::nitro::segmentslider::views {
93
96
  #endif
94
97
 
95
98
  private:
96
- std::optional<HybridSegmentSliderProps> _props;
99
+ std::shared_ptr<HybridSegmentSliderProps> _props;
97
100
  };
98
101
 
99
102
  /**
@@ -109,7 +112,7 @@ namespace margelo::nitro::segmentslider::views {
109
112
  */
110
113
  class HybridSegmentSliderComponentDescriptor final: public react::ConcreteComponentDescriptor<HybridSegmentSliderShadowNode> {
111
114
  public:
112
- HybridSegmentSliderComponentDescriptor(const react::ComponentDescriptorParameters& parameters);
115
+ explicit HybridSegmentSliderComponentDescriptor(const react::ComponentDescriptorParameters& parameters);
113
116
 
114
117
  public:
115
118
  /**
@@ -2,7 +2,7 @@
2
2
  /// JFunc_void.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -23,7 +23,7 @@ namespace margelo::nitro::segmentslider {
23
23
  */
24
24
  struct JFunc_void: public jni::JavaClass<JFunc_void> {
25
25
  public:
26
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/Func_void;";
26
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/Func_void;";
27
27
 
28
28
  public:
29
29
  /**
@@ -59,7 +59,7 @@ namespace margelo::nitro::segmentslider {
59
59
  }
60
60
 
61
61
  public:
62
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/Func_void_cxx;";
62
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/Func_void_cxx;";
63
63
  static void registerNatives() {
64
64
  registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_cxx::invoke_cxx)});
65
65
  }
@@ -2,7 +2,7 @@
2
2
  /// JFunc_void_double.hpp
3
3
  /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
4
  /// https://github.com/mrousavy/nitro
5
- /// Copyright © 2026 Marc Rousavy @ Margelo
5
+ /// Copyright © Marc Rousavy @ Margelo
6
6
  ///
7
7
 
8
8
  #pragma once
@@ -23,7 +23,7 @@ namespace margelo::nitro::segmentslider {
23
23
  */
24
24
  struct JFunc_void_double: public jni::JavaClass<JFunc_void_double> {
25
25
  public:
26
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/Func_void_double;";
26
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/Func_void_double;";
27
27
 
28
28
  public:
29
29
  /**
@@ -59,7 +59,7 @@ namespace margelo::nitro::segmentslider {
59
59
  }
60
60
 
61
61
  public:
62
- static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/Func_void_double_cxx;";
62
+ static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/segmentslider/Func_void_double_cxx;";
63
63
  static void registerNatives() {
64
64
  registerHybrid({makeNativeMethod("invoke_cxx", JFunc_void_double_cxx::invoke_cxx)});
65
65
  }