@iternio/react-native-auto-play 0.0.1 → 0.0.3

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 (73) hide show
  1. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoSession.kt +2 -0
  2. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/{hybrid/HybridAutoPlay.kt → HybridAutoPlay.kt} +20 -20
  3. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/{hybrid/HybridSearchTemplate.kt → HybridSearchTemplate.kt} +3 -3
  4. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/VirtualRenderer.kt +1 -1
  5. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/GridTemplate.kt +1 -16
  6. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/InformationTemplate.kt +1 -14
  7. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/ListTemplate.kt +1 -16
  8. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/MapTemplate.kt +5 -1
  9. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/MessageTemplate.kt +1 -16
  10. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/Parser.kt +58 -17
  11. package/ios/Assets/MaterialSymbolsOutlined-Regular.ttf +0 -0
  12. package/ios/Types.swift +1 -0
  13. package/ios/hybrid/HybridAutoPlay.swift +5 -4
  14. package/ios/hybrid/HybridGridTemplate.swift +3 -6
  15. package/ios/hybrid/HybridInformationTemplate.swift +9 -9
  16. package/ios/hybrid/HybridListTemplate.swift +3 -6
  17. package/ios/hybrid/HybridMapTemplate.swift +21 -16
  18. package/ios/hybrid/HybridSearchTemplate.swift +7 -11
  19. package/ios/templates/AutoPlayTemplate.swift +31 -48
  20. package/ios/templates/GridTemplate.swift +31 -22
  21. package/ios/templates/InformationTemplate.swift +29 -21
  22. package/ios/templates/ListTemplate.swift +29 -20
  23. package/ios/templates/MapTemplate.swift +162 -61
  24. package/ios/templates/MessageTemplate.swift +19 -12
  25. package/ios/templates/SearchTemplate.swift +17 -25
  26. package/ios/templates/TemplateStore.swift +3 -3
  27. package/ios/utils/RootModule.swift +36 -38
  28. package/lib/templates/MapTemplate.d.ts +14 -3
  29. package/lib/templates/Template.d.ts +1 -0
  30. package/lib/types/Button.d.ts +5 -4
  31. package/lib/types/Maneuver.d.ts +3 -1
  32. package/lib/utils/NitroMapButton.d.ts +2 -2
  33. package/lib/utils/NitroMapButton.js +4 -9
  34. package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.cpp +2 -0
  35. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +74 -0
  36. package/nitrogen/generated/android/c++/JGridTemplateConfig.hpp +1 -0
  37. package/nitrogen/generated/android/c++/JHybridGridTemplateSpec.cpp +1 -0
  38. package/nitrogen/generated/android/c++/JHybridInformationTemplateSpec.cpp +2 -0
  39. package/nitrogen/generated/android/c++/JHybridListTemplateSpec.cpp +2 -0
  40. package/nitrogen/generated/android/c++/JHybridMapTemplateSpec.cpp +3 -2
  41. package/nitrogen/generated/android/c++/JHybridMessageTemplateSpec.cpp +2 -0
  42. package/nitrogen/generated/android/c++/JInformationTemplateConfig.hpp +2 -0
  43. package/nitrogen/generated/android/c++/JListTemplateConfig.hpp +2 -0
  44. package/nitrogen/generated/android/c++/JMapTemplateConfig.hpp +31 -11
  45. package/nitrogen/generated/android/c++/JMessageTemplateConfig.hpp +2 -0
  46. package/nitrogen/generated/android/c++/JNitroBaseMapTemplateConfig.hpp +17 -1
  47. package/nitrogen/generated/android/c++/JNitroMapButton.hpp +9 -9
  48. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_bool.kt +80 -0
  49. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/MapTemplateConfig.kt +12 -6
  50. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroBaseMapTemplateConfig.kt +7 -4
  51. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroMapButton.kt +5 -5
  52. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.cpp +8 -0
  53. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.hpp +37 -0
  54. package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
  55. package/nitrogen/generated/ios/swift/MapTemplateConfig.swift +70 -6
  56. package/nitrogen/generated/ios/swift/NitroBaseMapTemplateConfig.swift +42 -1
  57. package/nitrogen/generated/ios/swift/NitroMapButton.swift +54 -54
  58. package/nitrogen/generated/shared/c++/MapTemplateConfig.hpp +14 -6
  59. package/nitrogen/generated/shared/c++/NitroBaseMapTemplateConfig.hpp +5 -1
  60. package/nitrogen/generated/shared/c++/NitroMapButton.hpp +10 -10
  61. package/package.json +2 -1
  62. package/src/templates/MapTemplate.ts +32 -12
  63. package/src/templates/Template.ts +1 -0
  64. package/src/types/Button.ts +5 -4
  65. package/src/types/Maneuver.ts +1 -1
  66. package/src/utils/NitroMapButton.ts +6 -14
  67. /package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/{hybrid/HybridAndroidAutoTelemetry.kt → HybridAndroidAutoTelemetry.kt} +0 -0
  68. /package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/{hybrid/HybridCluster.kt → HybridCluster.kt} +0 -0
  69. /package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/{hybrid/HybridGridTemplate.kt → HybridGridTemplate.kt} +0 -0
  70. /package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/{hybrid/HybridInformationTemplate.kt → HybridInformationTemplate.kt} +0 -0
  71. /package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/{hybrid/HybridListTemplate.kt → HybridListTemplate.kt} +0 -0
  72. /package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/{hybrid/HybridMapTemplate.kt → HybridMapTemplate.kt} +0 -0
  73. /package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/{hybrid/HybridMessageTemplate.kt → HybridMessageTemplate.kt} +0 -0
@@ -16,8 +16,8 @@
16
16
  #include "JFunc_void.hpp"
17
17
  #include "JGlyphImage.hpp"
18
18
  #include "JNitroColor.hpp"
19
+ #include "JNitroImage.hpp"
19
20
  #include "JNitroMapButtonType.hpp"
20
- #include "JVariant_GlyphImage_AssetImage.hpp"
21
21
  #include "NitroColor.hpp"
22
22
  #include "NitroMapButtonType.hpp"
23
23
  #include <functional>
@@ -46,14 +46,14 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
46
46
  static const auto clazz = javaClassStatic();
47
47
  static const auto fieldType = clazz->getField<JNitroMapButtonType>("type");
48
48
  jni::local_ref<JNitroMapButtonType> type = this->getFieldValue(fieldType);
49
- static const auto fieldImage = clazz->getField<JVariant_GlyphImage_AssetImage>("image");
50
- jni::local_ref<JVariant_GlyphImage_AssetImage> image = this->getFieldValue(fieldImage);
49
+ static const auto fieldImage = clazz->getField<JNitroImage>("image");
50
+ jni::local_ref<JNitroImage> image = this->getFieldValue(fieldImage);
51
51
  static const auto fieldOnPress = clazz->getField<JFunc_void::javaobject>("onPress");
52
52
  jni::local_ref<JFunc_void::javaobject> onPress = this->getFieldValue(fieldOnPress);
53
53
  return NitroMapButton(
54
54
  type->toCpp(),
55
- image != nullptr ? std::make_optional(image->toCpp()) : std::nullopt,
56
- [&]() -> std::function<void()> {
55
+ image->toCpp(),
56
+ onPress != nullptr ? std::make_optional([&]() -> std::function<void()> {
57
57
  if (onPress->isInstanceOf(JFunc_void_cxx::javaClassStatic())) [[likely]] {
58
58
  auto downcast = jni::static_ref_cast<JFunc_void_cxx::javaobject>(onPress);
59
59
  return downcast->cthis()->getFunction();
@@ -63,7 +63,7 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
63
63
  return onPressRef->invoke();
64
64
  };
65
65
  }
66
- }()
66
+ }()) : std::nullopt
67
67
  );
68
68
  }
69
69
 
@@ -73,14 +73,14 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay {
73
73
  */
74
74
  [[maybe_unused]]
75
75
  static jni::local_ref<JNitroMapButton::javaobject> fromCpp(const NitroMapButton& value) {
76
- using JSignature = JNitroMapButton(jni::alias_ref<JNitroMapButtonType>, jni::alias_ref<JVariant_GlyphImage_AssetImage>, jni::alias_ref<JFunc_void::javaobject>);
76
+ using JSignature = JNitroMapButton(jni::alias_ref<JNitroMapButtonType>, jni::alias_ref<JNitroImage>, jni::alias_ref<JFunc_void::javaobject>);
77
77
  static const auto clazz = javaClassStatic();
78
78
  static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
79
79
  return create(
80
80
  clazz,
81
81
  JNitroMapButtonType::fromCpp(value.type),
82
- value.image.has_value() ? JVariant_GlyphImage_AssetImage::fromCpp(value.image.value()) : nullptr,
83
- JFunc_void_cxx::fromCpp(value.onPress)
82
+ JNitroImage::fromCpp(value.image),
83
+ value.onPress.has_value() ? JFunc_void_cxx::fromCpp(value.onPress.value()) : nullptr
84
84
  );
85
85
  }
86
86
  };
@@ -0,0 +1,80 @@
1
+ ///
2
+ /// Func_void_bool.kt
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ package com.margelo.nitro.swe.iternio.reactnativeautoplay
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 `(isPanningInterfaceVisible: boolean) => 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_bool: (Boolean) -> 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(isPanningInterfaceVisible: Boolean): Unit
32
+ }
33
+
34
+ /**
35
+ * Represents the JavaScript callback `(isPanningInterfaceVisible: boolean) => 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_bool_cxx: Func_void_bool {
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(isPanningInterfaceVisible: Boolean): Unit
60
+ = invoke_cxx(isPanningInterfaceVisible)
61
+
62
+ @FastNative
63
+ private external fun invoke_cxx(isPanningInterfaceVisible: Boolean): Unit
64
+ }
65
+
66
+ /**
67
+ * Represents the JavaScript callback `(isPanningInterfaceVisible: boolean) => void`.
68
+ * This is implemented in Java/Kotlin, via a `(Boolean) -> Unit`.
69
+ * The callback is always coming from native.
70
+ */
71
+ @DoNotStrip
72
+ @Keep
73
+ @Suppress("ClassName", "RedundantUnitReturnType", "unused")
74
+ class Func_void_bool_java(private val function: (Boolean) -> Unit): Func_void_bool {
75
+ @DoNotStrip
76
+ @Keep
77
+ override fun invoke(isPanningInterfaceVisible: Boolean): Unit {
78
+ return this.function(isPanningInterfaceVisible)
79
+ }
80
+ }
@@ -43,7 +43,7 @@ data class MapTemplateConfig(
43
43
  val visibleTravelEstimate: VisibleTravelEstimate?,
44
44
  @DoNotStrip
45
45
  @Keep
46
- val onDidUpdatePanGestureWithTranslation: Func_void_Point_std__optional_Point_?,
46
+ val onDidPan: Func_void_Point_std__optional_Point_?,
47
47
  @DoNotStrip
48
48
  @Keep
49
49
  val onDidUpdateZoomGestureWithCenter: Func_void_Point_double?,
@@ -67,13 +67,19 @@ data class MapTemplateConfig(
67
67
  val mapButtons: Array<NitroMapButton>?,
68
68
  @DoNotStrip
69
69
  @Keep
70
- val headerActions: Array<NitroAction>?
70
+ val headerActions: Array<NitroAction>?,
71
+ @DoNotStrip
72
+ @Keep
73
+ val panButtonScrollPercentage: Double?,
74
+ @DoNotStrip
75
+ @Keep
76
+ val onDidChangePanningInterface: Func_void_bool?
71
77
  ) {
72
78
  /**
73
79
  * Create a new instance of MapTemplateConfig from Kotlin
74
80
  */
75
- constructor(id: String, onWillAppear: ((animated: Boolean?) -> Unit)?, onWillDisappear: ((animated: Boolean?) -> Unit)?, onDidAppear: ((animated: Boolean?) -> Unit)?, onDidDisappear: ((animated: Boolean?) -> Unit)?, onPopped: (() -> Unit)?, autoDismissMs: Double?, visibleTravelEstimate: VisibleTravelEstimate?, onDidUpdatePanGestureWithTranslation: ((translation: Point, velocity: Point?) -> Unit)?, onDidUpdateZoomGestureWithCenter: ((center: Point, scale: Double) -> Unit)?, onClick: ((center: Point) -> Unit)?, onDoubleClick: ((center: Point) -> Unit)?, onAppearanceDidChange: ((colorScheme: ColorScheme) -> Unit)?, onStopNavigation: () -> Unit, onAutoDriveEnabled: (() -> Unit)?, mapButtons: Array<NitroMapButton>?, headerActions: Array<NitroAction>?):
76
- this(id, onWillAppear?.let { Func_void_std__optional_bool__java(it) }, onWillDisappear?.let { Func_void_std__optional_bool__java(it) }, onDidAppear?.let { Func_void_std__optional_bool__java(it) }, onDidDisappear?.let { Func_void_std__optional_bool__java(it) }, onPopped?.let { Func_void_java(it) }, autoDismissMs, visibleTravelEstimate, onDidUpdatePanGestureWithTranslation?.let { Func_void_Point_std__optional_Point__java(it) }, onDidUpdateZoomGestureWithCenter?.let { Func_void_Point_double_java(it) }, onClick?.let { Func_void_Point_java(it) }, onDoubleClick?.let { Func_void_Point_java(it) }, onAppearanceDidChange?.let { Func_void_ColorScheme_java(it) }, Func_void_java(onStopNavigation), onAutoDriveEnabled?.let { Func_void_java(it) }, mapButtons, headerActions)
81
+ constructor(id: String, onWillAppear: ((animated: Boolean?) -> Unit)?, onWillDisappear: ((animated: Boolean?) -> Unit)?, onDidAppear: ((animated: Boolean?) -> Unit)?, onDidDisappear: ((animated: Boolean?) -> Unit)?, onPopped: (() -> Unit)?, autoDismissMs: Double?, visibleTravelEstimate: VisibleTravelEstimate?, onDidPan: ((translation: Point, velocity: Point?) -> Unit)?, onDidUpdateZoomGestureWithCenter: ((center: Point, scale: Double) -> Unit)?, onClick: ((center: Point) -> Unit)?, onDoubleClick: ((center: Point) -> Unit)?, onAppearanceDidChange: ((colorScheme: ColorScheme) -> Unit)?, onStopNavigation: () -> Unit, onAutoDriveEnabled: (() -> Unit)?, mapButtons: Array<NitroMapButton>?, headerActions: Array<NitroAction>?, panButtonScrollPercentage: Double?, onDidChangePanningInterface: ((isPanningInterfaceVisible: Boolean) -> Unit)?):
82
+ this(id, onWillAppear?.let { Func_void_std__optional_bool__java(it) }, onWillDisappear?.let { Func_void_std__optional_bool__java(it) }, onDidAppear?.let { Func_void_std__optional_bool__java(it) }, onDidDisappear?.let { Func_void_std__optional_bool__java(it) }, onPopped?.let { Func_void_java(it) }, autoDismissMs, visibleTravelEstimate, onDidPan?.let { Func_void_Point_std__optional_Point__java(it) }, onDidUpdateZoomGestureWithCenter?.let { Func_void_Point_double_java(it) }, onClick?.let { Func_void_Point_java(it) }, onDoubleClick?.let { Func_void_Point_java(it) }, onAppearanceDidChange?.let { Func_void_ColorScheme_java(it) }, Func_void_java(onStopNavigation), onAutoDriveEnabled?.let { Func_void_java(it) }, mapButtons, headerActions, panButtonScrollPercentage, onDidChangePanningInterface?.let { Func_void_bool_java(it) })
77
83
 
78
84
  private companion object {
79
85
  /**
@@ -83,8 +89,8 @@ data class MapTemplateConfig(
83
89
  @Keep
84
90
  @Suppress("unused")
85
91
  @JvmStatic
86
- private fun fromCpp(id: String, onWillAppear: Func_void_std__optional_bool_?, onWillDisappear: Func_void_std__optional_bool_?, onDidAppear: Func_void_std__optional_bool_?, onDidDisappear: Func_void_std__optional_bool_?, onPopped: Func_void?, autoDismissMs: Double?, visibleTravelEstimate: VisibleTravelEstimate?, onDidUpdatePanGestureWithTranslation: Func_void_Point_std__optional_Point_?, onDidUpdateZoomGestureWithCenter: Func_void_Point_double?, onClick: Func_void_Point?, onDoubleClick: Func_void_Point?, onAppearanceDidChange: Func_void_ColorScheme?, onStopNavigation: Func_void, onAutoDriveEnabled: Func_void?, mapButtons: Array<NitroMapButton>?, headerActions: Array<NitroAction>?): MapTemplateConfig {
87
- return MapTemplateConfig(id, onWillAppear, onWillDisappear, onDidAppear, onDidDisappear, onPopped, autoDismissMs, visibleTravelEstimate, onDidUpdatePanGestureWithTranslation, onDidUpdateZoomGestureWithCenter, onClick, onDoubleClick, onAppearanceDidChange, onStopNavigation, onAutoDriveEnabled, mapButtons, headerActions)
92
+ private fun fromCpp(id: String, onWillAppear: Func_void_std__optional_bool_?, onWillDisappear: Func_void_std__optional_bool_?, onDidAppear: Func_void_std__optional_bool_?, onDidDisappear: Func_void_std__optional_bool_?, onPopped: Func_void?, autoDismissMs: Double?, visibleTravelEstimate: VisibleTravelEstimate?, onDidPan: Func_void_Point_std__optional_Point_?, onDidUpdateZoomGestureWithCenter: Func_void_Point_double?, onClick: Func_void_Point?, onDoubleClick: Func_void_Point?, onAppearanceDidChange: Func_void_ColorScheme?, onStopNavigation: Func_void, onAutoDriveEnabled: Func_void?, mapButtons: Array<NitroMapButton>?, headerActions: Array<NitroAction>?, panButtonScrollPercentage: Double?, onDidChangePanningInterface: Func_void_bool?): MapTemplateConfig {
93
+ return MapTemplateConfig(id, onWillAppear, onWillDisappear, onDidAppear, onDidDisappear, onPopped, autoDismissMs, visibleTravelEstimate, onDidPan, onDidUpdateZoomGestureWithCenter, onClick, onDoubleClick, onAppearanceDidChange, onStopNavigation, onAutoDriveEnabled, mapButtons, headerActions, panButtonScrollPercentage, onDidChangePanningInterface)
88
94
  }
89
95
  }
90
96
  }
@@ -25,6 +25,9 @@ data class NitroBaseMapTemplateConfig(
25
25
  val headerActions: Array<NitroAction>?,
26
26
  @DoNotStrip
27
27
  @Keep
28
+ val onDidChangePanningInterface: Func_void_bool?,
29
+ @DoNotStrip
30
+ @Keep
28
31
  val onWillAppear: Func_void_std__optional_bool_?,
29
32
  @DoNotStrip
30
33
  @Keep
@@ -45,8 +48,8 @@ data class NitroBaseMapTemplateConfig(
45
48
  /**
46
49
  * Create a new instance of NitroBaseMapTemplateConfig from Kotlin
47
50
  */
48
- constructor(mapButtons: Array<NitroMapButton>?, headerActions: Array<NitroAction>?, onWillAppear: ((animated: Boolean?) -> Unit)?, onWillDisappear: ((animated: Boolean?) -> Unit)?, onDidAppear: ((animated: Boolean?) -> Unit)?, onDidDisappear: ((animated: Boolean?) -> Unit)?, onPopped: (() -> Unit)?, autoDismissMs: Double?):
49
- this(mapButtons, headerActions, onWillAppear?.let { Func_void_std__optional_bool__java(it) }, onWillDisappear?.let { Func_void_std__optional_bool__java(it) }, onDidAppear?.let { Func_void_std__optional_bool__java(it) }, onDidDisappear?.let { Func_void_std__optional_bool__java(it) }, onPopped?.let { Func_void_java(it) }, autoDismissMs)
51
+ constructor(mapButtons: Array<NitroMapButton>?, headerActions: Array<NitroAction>?, onDidChangePanningInterface: ((isPanningInterfaceVisible: Boolean) -> Unit)?, onWillAppear: ((animated: Boolean?) -> Unit)?, onWillDisappear: ((animated: Boolean?) -> Unit)?, onDidAppear: ((animated: Boolean?) -> Unit)?, onDidDisappear: ((animated: Boolean?) -> Unit)?, onPopped: (() -> Unit)?, autoDismissMs: Double?):
52
+ this(mapButtons, headerActions, onDidChangePanningInterface?.let { Func_void_bool_java(it) }, onWillAppear?.let { Func_void_std__optional_bool__java(it) }, onWillDisappear?.let { Func_void_std__optional_bool__java(it) }, onDidAppear?.let { Func_void_std__optional_bool__java(it) }, onDidDisappear?.let { Func_void_std__optional_bool__java(it) }, onPopped?.let { Func_void_java(it) }, autoDismissMs)
50
53
 
51
54
  private companion object {
52
55
  /**
@@ -56,8 +59,8 @@ data class NitroBaseMapTemplateConfig(
56
59
  @Keep
57
60
  @Suppress("unused")
58
61
  @JvmStatic
59
- private fun fromCpp(mapButtons: Array<NitroMapButton>?, headerActions: Array<NitroAction>?, onWillAppear: Func_void_std__optional_bool_?, onWillDisappear: Func_void_std__optional_bool_?, onDidAppear: Func_void_std__optional_bool_?, onDidDisappear: Func_void_std__optional_bool_?, onPopped: Func_void?, autoDismissMs: Double?): NitroBaseMapTemplateConfig {
60
- return NitroBaseMapTemplateConfig(mapButtons, headerActions, onWillAppear, onWillDisappear, onDidAppear, onDidDisappear, onPopped, autoDismissMs)
62
+ private fun fromCpp(mapButtons: Array<NitroMapButton>?, headerActions: Array<NitroAction>?, onDidChangePanningInterface: Func_void_bool?, onWillAppear: Func_void_std__optional_bool_?, onWillDisappear: Func_void_std__optional_bool_?, onDidAppear: Func_void_std__optional_bool_?, onDidDisappear: Func_void_std__optional_bool_?, onPopped: Func_void?, autoDismissMs: Double?): NitroBaseMapTemplateConfig {
63
+ return NitroBaseMapTemplateConfig(mapButtons, headerActions, onDidChangePanningInterface, onWillAppear, onWillDisappear, onDidAppear, onDidDisappear, onPopped, autoDismissMs)
61
64
  }
62
65
  }
63
66
  }
@@ -22,16 +22,16 @@ data class NitroMapButton(
22
22
  val type: NitroMapButtonType,
23
23
  @DoNotStrip
24
24
  @Keep
25
- val image: Variant_GlyphImage_AssetImage?,
25
+ val image: NitroImage,
26
26
  @DoNotStrip
27
27
  @Keep
28
- val onPress: Func_void
28
+ val onPress: Func_void?
29
29
  ) {
30
30
  /**
31
31
  * Create a new instance of NitroMapButton from Kotlin
32
32
  */
33
- constructor(type: NitroMapButtonType, image: Variant_GlyphImage_AssetImage?, onPress: () -> Unit):
34
- this(type, image, Func_void_java(onPress))
33
+ constructor(type: NitroMapButtonType, image: NitroImage, onPress: (() -> Unit)?):
34
+ this(type, image, onPress?.let { Func_void_java(it) })
35
35
 
36
36
  private companion object {
37
37
  /**
@@ -41,7 +41,7 @@ data class NitroMapButton(
41
41
  @Keep
42
42
  @Suppress("unused")
43
43
  @JvmStatic
44
- private fun fromCpp(type: NitroMapButtonType, image: Variant_GlyphImage_AssetImage?, onPress: Func_void): NitroMapButton {
44
+ private fun fromCpp(type: NitroMapButtonType, image: NitroImage, onPress: Func_void?): NitroMapButton {
45
45
  return NitroMapButton(type, image, onPress)
46
46
  }
47
47
  }
@@ -149,6 +149,14 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay::bridge::swift {
149
149
  };
150
150
  }
151
151
 
152
+ // pragma MARK: std::function<void(bool /* isPanningInterfaceVisible */)>
153
+ Func_void_bool create_Func_void_bool(void* NON_NULL swiftClosureWrapper) noexcept {
154
+ auto swiftClosure = ReactNativeAutoPlay::Func_void_bool::fromUnsafe(swiftClosureWrapper);
155
+ return [swiftClosure = std::move(swiftClosure)](bool isPanningInterfaceVisible) mutable -> void {
156
+ swiftClosure.call(isPanningInterfaceVisible);
157
+ };
158
+ }
159
+
152
160
  // pragma MARK: std::shared_ptr<HybridGridTemplateSpec>
153
161
  std::shared_ptr<HybridGridTemplateSpec> create_std__shared_ptr_HybridGridTemplateSpec_(void* NON_NULL swiftUnsafePointer) noexcept {
154
162
  ReactNativeAutoPlay::HybridGridTemplateSpec_cxx swiftPart = ReactNativeAutoPlay::HybridGridTemplateSpec_cxx::fromUnsafe(swiftUnsafePointer);
@@ -823,6 +823,43 @@ namespace margelo::nitro::swe::iternio::reactnativeautoplay::bridge::swift {
823
823
  return *optional;
824
824
  }
825
825
 
826
+ // pragma MARK: std::function<void(bool /* isPanningInterfaceVisible */)>
827
+ /**
828
+ * Specialized version of `std::function<void(bool)>`.
829
+ */
830
+ using Func_void_bool = std::function<void(bool /* isPanningInterfaceVisible */)>;
831
+ /**
832
+ * Wrapper class for a `std::function<void(bool / * isPanningInterfaceVisible * /)>`, this can be used from Swift.
833
+ */
834
+ class Func_void_bool_Wrapper final {
835
+ public:
836
+ explicit Func_void_bool_Wrapper(std::function<void(bool /* isPanningInterfaceVisible */)>&& func): _function(std::make_unique<std::function<void(bool /* isPanningInterfaceVisible */)>>(std::move(func))) {}
837
+ inline void call(bool isPanningInterfaceVisible) const noexcept {
838
+ _function->operator()(isPanningInterfaceVisible);
839
+ }
840
+ private:
841
+ std::unique_ptr<std::function<void(bool /* isPanningInterfaceVisible */)>> _function;
842
+ } SWIFT_NONCOPYABLE;
843
+ Func_void_bool create_Func_void_bool(void* NON_NULL swiftClosureWrapper) noexcept;
844
+ inline Func_void_bool_Wrapper wrap_Func_void_bool(Func_void_bool value) noexcept {
845
+ return Func_void_bool_Wrapper(std::move(value));
846
+ }
847
+
848
+ // pragma MARK: std::optional<std::function<void(bool /* isPanningInterfaceVisible */)>>
849
+ /**
850
+ * Specialized version of `std::optional<std::function<void(bool / * isPanningInterfaceVisible * /)>>`.
851
+ */
852
+ using std__optional_std__function_void_bool____isPanningInterfaceVisible______ = std::optional<std::function<void(bool /* isPanningInterfaceVisible */)>>;
853
+ inline std::optional<std::function<void(bool /* isPanningInterfaceVisible */)>> create_std__optional_std__function_void_bool____isPanningInterfaceVisible______(const std::function<void(bool /* isPanningInterfaceVisible */)>& value) noexcept {
854
+ return std::optional<std::function<void(bool /* isPanningInterfaceVisible */)>>(value);
855
+ }
856
+ inline bool has_value_std__optional_std__function_void_bool____isPanningInterfaceVisible______(const std::optional<std::function<void(bool /* isPanningInterfaceVisible */)>>& optional) noexcept {
857
+ return optional.has_value();
858
+ }
859
+ inline std::function<void(bool /* isPanningInterfaceVisible */)> get_std__optional_std__function_void_bool____isPanningInterfaceVisible______(const std::optional<std::function<void(bool /* isPanningInterfaceVisible */)>>& optional) noexcept {
860
+ return *optional;
861
+ }
862
+
826
863
  // pragma MARK: std::optional<NitroBaseMapTemplateConfig>
827
864
  /**
828
865
  * Specialized version of `std::optional<NitroBaseMapTemplateConfig>`.
@@ -0,0 +1,47 @@
1
+ ///
2
+ /// Func_void_bool.swift
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © 2025 Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ import NitroModules
9
+
10
+
11
+ /**
12
+ * Wraps a Swift `(_ isPanningInterfaceVisible: Bool) -> Void` as a class.
13
+ * This class can be used from C++, e.g. to wrap the Swift closure as a `std::function`.
14
+ */
15
+ public final class Func_void_bool {
16
+ public typealias bridge = margelo.nitro.swe.iternio.reactnativeautoplay.bridge.swift
17
+
18
+ private let closure: (_ isPanningInterfaceVisible: Bool) -> Void
19
+
20
+ public init(_ closure: @escaping (_ isPanningInterfaceVisible: Bool) -> Void) {
21
+ self.closure = closure
22
+ }
23
+
24
+ @inline(__always)
25
+ public func call(isPanningInterfaceVisible: Bool) -> Void {
26
+ self.closure(isPanningInterfaceVisible)
27
+ }
28
+
29
+ /**
30
+ * Casts this instance to a retained unsafe raw pointer.
31
+ * This acquires one additional strong reference on the object!
32
+ */
33
+ @inline(__always)
34
+ public func toUnsafe() -> UnsafeMutableRawPointer {
35
+ return Unmanaged.passRetained(self).toOpaque()
36
+ }
37
+
38
+ /**
39
+ * Casts an unsafe pointer to a `Func_void_bool`.
40
+ * The pointer has to be a retained opaque `Unmanaged<Func_void_bool>`.
41
+ * This removes one strong reference from the object!
42
+ */
43
+ @inline(__always)
44
+ public static func fromUnsafe(_ pointer: UnsafeMutableRawPointer) -> Func_void_bool {
45
+ return Unmanaged<Func_void_bool>.fromOpaque(pointer).takeRetainedValue()
46
+ }
47
+ }
@@ -18,7 +18,7 @@ public extension MapTemplateConfig {
18
18
  /**
19
19
  * Create a new instance of `MapTemplateConfig`.
20
20
  */
21
- init(id: String, onWillAppear: ((_ animated: Bool?) -> Void)?, onWillDisappear: ((_ animated: Bool?) -> Void)?, onDidAppear: ((_ animated: Bool?) -> Void)?, onDidDisappear: ((_ animated: Bool?) -> Void)?, onPopped: (() -> Void)?, autoDismissMs: Double?, visibleTravelEstimate: VisibleTravelEstimate?, onDidUpdatePanGestureWithTranslation: ((_ translation: Point, _ velocity: Point?) -> Void)?, onDidUpdateZoomGestureWithCenter: ((_ center: Point, _ scale: Double) -> Void)?, onClick: ((_ center: Point) -> Void)?, onDoubleClick: ((_ center: Point) -> Void)?, onAppearanceDidChange: ((_ colorScheme: ColorScheme) -> Void)?, onStopNavigation: @escaping () -> Void, onAutoDriveEnabled: (() -> Void)?, mapButtons: [NitroMapButton]?, headerActions: [NitroAction]?) {
21
+ init(id: String, onWillAppear: ((_ animated: Bool?) -> Void)?, onWillDisappear: ((_ animated: Bool?) -> Void)?, onDidAppear: ((_ animated: Bool?) -> Void)?, onDidDisappear: ((_ animated: Bool?) -> Void)?, onPopped: (() -> Void)?, autoDismissMs: Double?, visibleTravelEstimate: VisibleTravelEstimate?, onDidPan: ((_ translation: Point, _ velocity: Point?) -> Void)?, onDidUpdateZoomGestureWithCenter: ((_ center: Point, _ scale: Double) -> Void)?, onClick: ((_ center: Point) -> Void)?, onDoubleClick: ((_ center: Point) -> Void)?, onAppearanceDidChange: ((_ colorScheme: ColorScheme) -> Void)?, onStopNavigation: @escaping () -> Void, onAutoDriveEnabled: (() -> Void)?, mapButtons: [NitroMapButton]?, headerActions: [NitroAction]?, panButtonScrollPercentage: Double?, onDidChangePanningInterface: ((_ isPanningInterfaceVisible: Bool) -> Void)?) {
22
22
  self.init(std.string(id), { () -> bridge.std__optional_std__function_void_std__optional_bool_____animated______ in
23
23
  if let __unwrappedValue = onWillAppear {
24
24
  return bridge.create_std__optional_std__function_void_std__optional_bool_____animated______({ () -> bridge.Func_void_std__optional_bool_ in
@@ -77,7 +77,7 @@ public extension MapTemplateConfig {
77
77
  return .init()
78
78
  }
79
79
  }(), { () -> bridge.std__optional_std__function_void_const_Point_____translation_____const_std__optional_Point______velocity______ in
80
- if let __unwrappedValue = onDidUpdatePanGestureWithTranslation {
80
+ if let __unwrappedValue = onDidPan {
81
81
  return bridge.create_std__optional_std__function_void_const_Point_____translation_____const_std__optional_Point______velocity______({ () -> bridge.Func_void_Point_std__optional_Point_ in
82
82
  let __closureWrapper = Func_void_Point_std__optional_Point_(__unwrappedValue)
83
83
  return bridge.create_Func_void_Point_std__optional_Point_(__closureWrapper.toUnsafe())
@@ -157,6 +157,21 @@ public extension MapTemplateConfig {
157
157
  } else {
158
158
  return .init()
159
159
  }
160
+ }(), { () -> bridge.std__optional_double_ in
161
+ if let __unwrappedValue = panButtonScrollPercentage {
162
+ return bridge.create_std__optional_double_(__unwrappedValue)
163
+ } else {
164
+ return .init()
165
+ }
166
+ }(), { () -> bridge.std__optional_std__function_void_bool____isPanningInterfaceVisible______ in
167
+ if let __unwrappedValue = onDidChangePanningInterface {
168
+ return bridge.create_std__optional_std__function_void_bool____isPanningInterfaceVisible______({ () -> bridge.Func_void_bool in
169
+ let __closureWrapper = Func_void_bool(__unwrappedValue)
170
+ return bridge.create_Func_void_bool(__closureWrapper.toUnsafe())
171
+ }())
172
+ } else {
173
+ return .init()
174
+ }
160
175
  }())
161
176
  }
162
177
 
@@ -389,12 +404,12 @@ public extension MapTemplateConfig {
389
404
  }
390
405
  }
391
406
 
392
- var onDidUpdatePanGestureWithTranslation: ((_ translation: Point, _ velocity: Point?) -> Void)? {
407
+ var onDidPan: ((_ translation: Point, _ velocity: Point?) -> Void)? {
393
408
  @inline(__always)
394
409
  get {
395
410
  return { () -> ((_ translation: Point, _ velocity: Point?) -> Void)? in
396
- if bridge.has_value_std__optional_std__function_void_const_Point_____translation_____const_std__optional_Point______velocity______(self.__onDidUpdatePanGestureWithTranslation) {
397
- let __unwrapped = bridge.get_std__optional_std__function_void_const_Point_____translation_____const_std__optional_Point______velocity______(self.__onDidUpdatePanGestureWithTranslation)
411
+ if bridge.has_value_std__optional_std__function_void_const_Point_____translation_____const_std__optional_Point______velocity______(self.__onDidPan) {
412
+ let __unwrapped = bridge.get_std__optional_std__function_void_const_Point_____translation_____const_std__optional_Point______velocity______(self.__onDidPan)
398
413
  return { () -> (Point, Point?) -> Void in
399
414
  let __wrappedFunction = bridge.wrap_Func_void_Point_std__optional_Point_(__unwrapped)
400
415
  return { (__translation: Point, __velocity: Point?) -> Void in
@@ -414,7 +429,7 @@ public extension MapTemplateConfig {
414
429
  }
415
430
  @inline(__always)
416
431
  set {
417
- self.__onDidUpdatePanGestureWithTranslation = { () -> bridge.std__optional_std__function_void_const_Point_____translation_____const_std__optional_Point______velocity______ in
432
+ self.__onDidPan = { () -> bridge.std__optional_std__function_void_const_Point_____translation_____const_std__optional_Point______velocity______ in
418
433
  if let __unwrappedValue = newValue {
419
434
  return bridge.create_std__optional_std__function_void_const_Point_____translation_____const_std__optional_Point______velocity______({ () -> bridge.Func_void_Point_std__optional_Point_ in
420
435
  let __closureWrapper = Func_void_Point_std__optional_Point_(__unwrappedValue)
@@ -665,4 +680,53 @@ public extension MapTemplateConfig {
665
680
  }()
666
681
  }
667
682
  }
683
+
684
+ var panButtonScrollPercentage: Double? {
685
+ @inline(__always)
686
+ get {
687
+ return self.__panButtonScrollPercentage.value
688
+ }
689
+ @inline(__always)
690
+ set {
691
+ self.__panButtonScrollPercentage = { () -> bridge.std__optional_double_ in
692
+ if let __unwrappedValue = newValue {
693
+ return bridge.create_std__optional_double_(__unwrappedValue)
694
+ } else {
695
+ return .init()
696
+ }
697
+ }()
698
+ }
699
+ }
700
+
701
+ var onDidChangePanningInterface: ((_ isPanningInterfaceVisible: Bool) -> Void)? {
702
+ @inline(__always)
703
+ get {
704
+ return { () -> ((_ isPanningInterfaceVisible: Bool) -> Void)? in
705
+ if bridge.has_value_std__optional_std__function_void_bool____isPanningInterfaceVisible______(self.__onDidChangePanningInterface) {
706
+ let __unwrapped = bridge.get_std__optional_std__function_void_bool____isPanningInterfaceVisible______(self.__onDidChangePanningInterface)
707
+ return { () -> (Bool) -> Void in
708
+ let __wrappedFunction = bridge.wrap_Func_void_bool(__unwrapped)
709
+ return { (__isPanningInterfaceVisible: Bool) -> Void in
710
+ __wrappedFunction.call(__isPanningInterfaceVisible)
711
+ }
712
+ }()
713
+ } else {
714
+ return nil
715
+ }
716
+ }()
717
+ }
718
+ @inline(__always)
719
+ set {
720
+ self.__onDidChangePanningInterface = { () -> bridge.std__optional_std__function_void_bool____isPanningInterfaceVisible______ in
721
+ if let __unwrappedValue = newValue {
722
+ return bridge.create_std__optional_std__function_void_bool____isPanningInterfaceVisible______({ () -> bridge.Func_void_bool in
723
+ let __closureWrapper = Func_void_bool(__unwrappedValue)
724
+ return bridge.create_Func_void_bool(__closureWrapper.toUnsafe())
725
+ }())
726
+ } else {
727
+ return .init()
728
+ }
729
+ }()
730
+ }
731
+ }
668
732
  }
@@ -18,7 +18,7 @@ public extension NitroBaseMapTemplateConfig {
18
18
  /**
19
19
  * Create a new instance of `NitroBaseMapTemplateConfig`.
20
20
  */
21
- init(mapButtons: [NitroMapButton]?, headerActions: [NitroAction]?, onWillAppear: ((_ animated: Bool?) -> Void)?, onWillDisappear: ((_ animated: Bool?) -> Void)?, onDidAppear: ((_ animated: Bool?) -> Void)?, onDidDisappear: ((_ animated: Bool?) -> Void)?, onPopped: (() -> Void)?, autoDismissMs: Double?) {
21
+ init(mapButtons: [NitroMapButton]?, headerActions: [NitroAction]?, onDidChangePanningInterface: ((_ isPanningInterfaceVisible: Bool) -> Void)?, onWillAppear: ((_ animated: Bool?) -> Void)?, onWillDisappear: ((_ animated: Bool?) -> Void)?, onDidAppear: ((_ animated: Bool?) -> Void)?, onDidDisappear: ((_ animated: Bool?) -> Void)?, onPopped: (() -> Void)?, autoDismissMs: Double?) {
22
22
  self.init({ () -> bridge.std__optional_std__vector_NitroMapButton__ in
23
23
  if let __unwrappedValue = mapButtons {
24
24
  return bridge.create_std__optional_std__vector_NitroMapButton__({ () -> bridge.std__vector_NitroMapButton_ in
@@ -43,6 +43,15 @@ public extension NitroBaseMapTemplateConfig {
43
43
  } else {
44
44
  return .init()
45
45
  }
46
+ }(), { () -> bridge.std__optional_std__function_void_bool____isPanningInterfaceVisible______ in
47
+ if let __unwrappedValue = onDidChangePanningInterface {
48
+ return bridge.create_std__optional_std__function_void_bool____isPanningInterfaceVisible______({ () -> bridge.Func_void_bool in
49
+ let __closureWrapper = Func_void_bool(__unwrappedValue)
50
+ return bridge.create_Func_void_bool(__closureWrapper.toUnsafe())
51
+ }())
52
+ } else {
53
+ return .init()
54
+ }
46
55
  }(), { () -> bridge.std__optional_std__function_void_std__optional_bool_____animated______ in
47
56
  if let __unwrappedValue = onWillAppear {
48
57
  return bridge.create_std__optional_std__function_void_std__optional_bool_____animated______({ () -> bridge.Func_void_std__optional_bool_ in
@@ -157,6 +166,38 @@ public extension NitroBaseMapTemplateConfig {
157
166
  }
158
167
  }
159
168
 
169
+ var onDidChangePanningInterface: ((_ isPanningInterfaceVisible: Bool) -> Void)? {
170
+ @inline(__always)
171
+ get {
172
+ return { () -> ((_ isPanningInterfaceVisible: Bool) -> Void)? in
173
+ if bridge.has_value_std__optional_std__function_void_bool____isPanningInterfaceVisible______(self.__onDidChangePanningInterface) {
174
+ let __unwrapped = bridge.get_std__optional_std__function_void_bool____isPanningInterfaceVisible______(self.__onDidChangePanningInterface)
175
+ return { () -> (Bool) -> Void in
176
+ let __wrappedFunction = bridge.wrap_Func_void_bool(__unwrapped)
177
+ return { (__isPanningInterfaceVisible: Bool) -> Void in
178
+ __wrappedFunction.call(__isPanningInterfaceVisible)
179
+ }
180
+ }()
181
+ } else {
182
+ return nil
183
+ }
184
+ }()
185
+ }
186
+ @inline(__always)
187
+ set {
188
+ self.__onDidChangePanningInterface = { () -> bridge.std__optional_std__function_void_bool____isPanningInterfaceVisible______ in
189
+ if let __unwrappedValue = newValue {
190
+ return bridge.create_std__optional_std__function_void_bool____isPanningInterfaceVisible______({ () -> bridge.Func_void_bool in
191
+ let __closureWrapper = Func_void_bool(__unwrappedValue)
192
+ return bridge.create_Func_void_bool(__closureWrapper.toUnsafe())
193
+ }())
194
+ } else {
195
+ return .init()
196
+ }
197
+ }()
198
+ }
199
+ }
200
+
160
201
  var onWillAppear: ((_ animated: Bool?) -> Void)? {
161
202
  @inline(__always)
162
203
  get {