@iternio/react-native-auto-play 0.6.0 → 0.7.0

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 (265) hide show
  1. package/README.md +59 -10
  2. package/android/src/automotive/AndroidManifest-nonnav.xml +0 -2
  3. package/android/src/automotive/AndroidManifest.xml +0 -2
  4. package/android/src/main/AndroidManifest-nonnav.xml +0 -2
  5. package/android/src/main/AndroidManifest.xml +0 -2
  6. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/AndroidAutoService.kt +3 -27
  7. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlayTiming.kt +122 -0
  8. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/template/Parser.kt +49 -14
  9. package/installTimers.ts +3 -0
  10. package/installTimers.web.ts +2 -0
  11. package/ios/hybrid/HybridAutoPlayTiming.swift +123 -0
  12. package/jest.js +2 -0
  13. package/lib/components/SafeAreaView.js +1 -1
  14. package/lib/hybrid/HybridAutoPlayTiming.d.ts +2 -0
  15. package/lib/hybrid/HybridAutoPlayTiming.js +2 -0
  16. package/lib/hybrid/HybridVoice.js +2 -2
  17. package/lib/index.js +0 -2
  18. package/lib/index.web.d.ts +75 -0
  19. package/lib/index.web.js +72 -1
  20. package/lib/installTimers.d.ts +1 -0
  21. package/lib/installTimers.js +8 -0
  22. package/lib/installTimers.web.d.ts +1 -0
  23. package/lib/installTimers.web.js +2 -0
  24. package/lib/scenes/CarPlayDashboardScene.d.ts +3 -3
  25. package/lib/specs/AutoPlayTiming.nitro.d.ts +27 -0
  26. package/lib/specs/AutoPlayTiming.nitro.js +1 -0
  27. package/lib/types/Image.d.ts +6 -1
  28. package/lib/types/Telemetry.d.ts +1 -1
  29. package/lib/utils/AutoPlayTimers.d.ts +21 -0
  30. package/lib/utils/AutoPlayTimers.js +45 -0
  31. package/lib/utils/NitroColor.d.ts +1 -0
  32. package/lib/utils/NitroColor.js +8 -0
  33. package/lib/utils/NitroImage.d.ts +5 -2
  34. package/lib/utils/NitroImage.js +2 -2
  35. package/lib/utils/NitroManeuver.js +1 -3
  36. package/lib-cjs/Constants.js +9 -0
  37. package/lib-cjs/components/MapTemplateContext.js +10 -0
  38. package/lib-cjs/components/SafeAreaInsetsContext.js +21 -0
  39. package/lib-cjs/components/SafeAreaView.js +22 -0
  40. package/lib-cjs/components/WindowInformationWrapper.js +20 -0
  41. package/lib-cjs/hooks/useAndroidAutoTelemetry.js +115 -0
  42. package/lib-cjs/hooks/useFocusedEffect.js +35 -0
  43. package/lib-cjs/hooks/useMapTemplate.js +13 -0
  44. package/lib-cjs/hooks/useSafeAreaInsets.js +9 -0
  45. package/lib-cjs/hooks/useVoiceInput.js +42 -0
  46. package/lib-cjs/hybrid/HybridAndroidAutoTelemetry.js +4 -0
  47. package/lib-cjs/hybrid/HybridAndroidWindowInformation.js +4 -0
  48. package/lib-cjs/hybrid/HybridAutoPlay.js +5 -0
  49. package/lib-cjs/hybrid/HybridVoice.js +61 -0
  50. package/lib-cjs/index.js +71 -0
  51. package/lib-cjs/index.web.js +98 -0
  52. package/lib-cjs/scenes/AutoPlayCluster.js +140 -0
  53. package/lib-cjs/scenes/CarPlayDashboardScene.js +100 -0
  54. package/lib-cjs/specs/AndroidAutoTelemetry.nitro.js +2 -0
  55. package/lib-cjs/specs/AndroidAutomotive.nitro.js +16 -0
  56. package/lib-cjs/specs/AndroidWindowInformation.nitro.js +2 -0
  57. package/lib-cjs/specs/AutoPlay.nitro.js +2 -0
  58. package/lib-cjs/specs/CarPlayDashboard.nitro.js +2 -0
  59. package/lib-cjs/specs/Cluster.nitro.js +2 -0
  60. package/lib-cjs/specs/GridTemplate.nitro.js +2 -0
  61. package/lib-cjs/specs/InformationTemplate.nitro.js +2 -0
  62. package/lib-cjs/specs/ListTemplate.nitro.js +2 -0
  63. package/lib-cjs/specs/MapTemplate.nitro.js +2 -0
  64. package/lib-cjs/specs/MessageTemplate.nitro.js +2 -0
  65. package/lib-cjs/specs/SearchTemplate.nitro.js +2 -0
  66. package/lib-cjs/specs/SignInTemplate.nitro.js +2 -0
  67. package/lib-cjs/specs/Voice.nitro.js +2 -0
  68. package/lib-cjs/templates/GridTemplate.js +41 -0
  69. package/lib-cjs/templates/InformationTemplate.js +49 -0
  70. package/lib-cjs/templates/ListTemplate.js +33 -0
  71. package/lib-cjs/templates/MapTemplate.js +168 -0
  72. package/lib-cjs/templates/MessageTemplate.js +50 -0
  73. package/lib-cjs/templates/SearchTemplate.js +32 -0
  74. package/lib-cjs/templates/SignInTemplate.js +55 -0
  75. package/lib-cjs/templates/Template.js +40 -0
  76. package/lib-cjs/types/Button.js +12 -0
  77. package/lib-cjs/types/Event.js +2 -0
  78. package/lib-cjs/types/Image.js +2 -0
  79. package/lib-cjs/types/Maneuver.js +77 -0
  80. package/lib-cjs/types/RootComponent.js +2 -0
  81. package/lib-cjs/types/SignInMethod.js +22 -0
  82. package/lib-cjs/types/Telemetry.js +24 -0
  83. package/lib-cjs/types/Text.js +8 -0
  84. package/lib-cjs/types/Trip.js +2 -0
  85. package/lib-cjs/types/Voice.js +2 -0
  86. package/lib-cjs/utils/ErrorUtil.js +34 -0
  87. package/lib-cjs/utils/NitroAction.js +129 -0
  88. package/lib-cjs/utils/NitroAlert.js +19 -0
  89. package/lib-cjs/utils/NitroAttributedString.js +14 -0
  90. package/lib-cjs/utils/NitroColor.js +32 -0
  91. package/lib-cjs/utils/NitroGrid.js +12 -0
  92. package/lib-cjs/utils/NitroImage.js +97 -0
  93. package/lib-cjs/utils/NitroManeuver.js +79 -0
  94. package/lib-cjs/utils/NitroMapButton.js +33 -0
  95. package/lib-cjs/utils/NitroOptionsPanel.js +66 -0
  96. package/lib-cjs/utils/NitroSection.js +112 -0
  97. package/nitro.json +10 -0
  98. package/nitrogen/generated/android/ReactNativeAutoPlay+autolinking.cmake +2 -0
  99. package/nitrogen/generated/android/ReactNativeAutoPlayOnLoad.cpp +16 -0
  100. package/nitrogen/generated/android/c++/JActiveCarUxRestrictions.hpp +1 -1
  101. package/nitrogen/generated/android/c++/JAlertActionStyle.hpp +1 -1
  102. package/nitrogen/generated/android/c++/JAlertDismissalReason.hpp +1 -1
  103. package/nitrogen/generated/android/c++/JAppFocusState.hpp +1 -1
  104. package/nitrogen/generated/android/c++/JAssetImage.hpp +18 -18
  105. package/nitrogen/generated/android/c++/JAutoText.hpp +1 -1
  106. package/nitrogen/generated/android/c++/JBooleanTelemetryItem.hpp +1 -1
  107. package/nitrogen/generated/android/c++/JCarUxRestrictions.hpp +1 -1
  108. package/nitrogen/generated/android/c++/JChargingConnector.hpp +1 -1
  109. package/nitrogen/generated/android/c++/JClusterEventName.hpp +1 -1
  110. package/nitrogen/generated/android/c++/JColorScheme.hpp +1 -1
  111. package/nitrogen/generated/android/c++/JDistance.hpp +1 -1
  112. package/nitrogen/generated/android/c++/JDistanceUnits.hpp +1 -1
  113. package/nitrogen/generated/android/c++/JDurationWithTimeZone.hpp +1 -1
  114. package/nitrogen/generated/android/c++/JEventName.hpp +1 -1
  115. package/nitrogen/generated/android/c++/JForkType.hpp +1 -1
  116. package/nitrogen/generated/android/c++/JGlyphImage.hpp +1 -1
  117. package/nitrogen/generated/android/c++/JGoogleSignIn.hpp +1 -1
  118. package/nitrogen/generated/android/c++/JGoogleSignInAccount.hpp +1 -1
  119. package/nitrogen/generated/android/c++/JGridImageSize.hpp +1 -1
  120. package/nitrogen/generated/android/c++/JGridTemplateConfig.hpp +1 -1
  121. package/nitrogen/generated/android/c++/JHybridAutoPlayTimingSpec.cpp +59 -0
  122. package/nitrogen/generated/android/c++/JHybridAutoPlayTimingSpec.hpp +64 -0
  123. package/nitrogen/generated/android/c++/JImageLane.hpp +1 -1
  124. package/nitrogen/generated/android/c++/JInformationTemplateConfig.hpp +1 -1
  125. package/nitrogen/generated/android/c++/JInputSignIn.hpp +1 -1
  126. package/nitrogen/generated/android/c++/JKeepType.hpp +1 -1
  127. package/nitrogen/generated/android/c++/JKeyboardType.hpp +1 -1
  128. package/nitrogen/generated/android/c++/JLaneGuidance.hpp +1 -1
  129. package/nitrogen/generated/android/c++/JListImageType.hpp +1 -1
  130. package/nitrogen/generated/android/c++/JListTemplateConfig.hpp +1 -1
  131. package/nitrogen/generated/android/c++/JLocation.hpp +1 -1
  132. package/nitrogen/generated/android/c++/JManeuverState.hpp +1 -1
  133. package/nitrogen/generated/android/c++/JManeuverType.hpp +1 -1
  134. package/nitrogen/generated/android/c++/JMapTemplateConfig.hpp +1 -1
  135. package/nitrogen/generated/android/c++/JMessageTemplateConfig.hpp +1 -1
  136. package/nitrogen/generated/android/c++/JNavigationAlertAction.hpp +1 -1
  137. package/nitrogen/generated/android/c++/JNitroAction.hpp +1 -1
  138. package/nitrogen/generated/android/c++/JNitroActionType.hpp +1 -1
  139. package/nitrogen/generated/android/c++/JNitroAlignment.hpp +1 -1
  140. package/nitrogen/generated/android/c++/JNitroAttributedString.hpp +1 -1
  141. package/nitrogen/generated/android/c++/JNitroAttributedStringImage.hpp +1 -1
  142. package/nitrogen/generated/android/c++/JNitroBaseMapTemplateConfig.hpp +1 -1
  143. package/nitrogen/generated/android/c++/JNitroButtonStyle.hpp +1 -1
  144. package/nitrogen/generated/android/c++/JNitroChargerLocation.hpp +1 -1
  145. package/nitrogen/generated/android/c++/JNitroChargerOutlet.hpp +1 -1
  146. package/nitrogen/generated/android/c++/JNitroColor.hpp +9 -5
  147. package/nitrogen/generated/android/c++/JNitroGridButton.hpp +1 -1
  148. package/nitrogen/generated/android/c++/JNitroLoadingManeuver.hpp +1 -1
  149. package/nitrogen/generated/android/c++/JNitroMapButton.hpp +1 -1
  150. package/nitrogen/generated/android/c++/JNitroMapButtonType.hpp +1 -1
  151. package/nitrogen/generated/android/c++/JNitroMessageManeuver.hpp +1 -1
  152. package/nitrogen/generated/android/c++/JNitroNavigationAlert.hpp +1 -1
  153. package/nitrogen/generated/android/c++/JNitroOptionsPanelChargerSection.hpp +1 -1
  154. package/nitrogen/generated/android/c++/JNitroOptionsPanelConfig.hpp +1 -1
  155. package/nitrogen/generated/android/c++/JNitroOptionsPanelGridSection.hpp +1 -1
  156. package/nitrogen/generated/android/c++/JNitroRoutingManeuver.hpp +1 -1
  157. package/nitrogen/generated/android/c++/JNitroRow.hpp +1 -1
  158. package/nitrogen/generated/android/c++/JNitroSection.hpp +1 -1
  159. package/nitrogen/generated/android/c++/JNitroSectionType.hpp +1 -1
  160. package/nitrogen/generated/android/c++/JNumericTelemetryItem.hpp +1 -1
  161. package/nitrogen/generated/android/c++/JOffRampType.hpp +1 -1
  162. package/nitrogen/generated/android/c++/JOnRampType.hpp +1 -1
  163. package/nitrogen/generated/android/c++/JPermissionRequestResult.hpp +1 -1
  164. package/nitrogen/generated/android/c++/JPinSignIn.hpp +1 -1
  165. package/nitrogen/generated/android/c++/JPoint.hpp +1 -1
  166. package/nitrogen/generated/android/c++/JPreferredImageLane.hpp +1 -1
  167. package/nitrogen/generated/android/c++/JQrSignIn.hpp +1 -1
  168. package/nitrogen/generated/android/c++/JRemoteImage.hpp +1 -1
  169. package/nitrogen/generated/android/c++/JRouteChoice.hpp +1 -1
  170. package/nitrogen/generated/android/c++/JSafeAreaInsets.hpp +1 -1
  171. package/nitrogen/generated/android/c++/JSearchTemplateConfig.hpp +1 -1
  172. package/nitrogen/generated/android/c++/JSignInMethods.hpp +1 -1
  173. package/nitrogen/generated/android/c++/JSignInTemplateConfig.hpp +1 -1
  174. package/nitrogen/generated/android/c++/JStringTelemetryItem.hpp +1 -1
  175. package/nitrogen/generated/android/c++/JTelemetry.hpp +1 -1
  176. package/nitrogen/generated/android/c++/JTextInputType.hpp +1 -1
  177. package/nitrogen/generated/android/c++/JTrafficSide.hpp +1 -1
  178. package/nitrogen/generated/android/c++/JTravelEstimates.hpp +1 -1
  179. package/nitrogen/generated/android/c++/JTripConfig.hpp +1 -1
  180. package/nitrogen/generated/android/c++/JTripPoint.hpp +1 -1
  181. package/nitrogen/generated/android/c++/JTripPreviewTextConfiguration.hpp +1 -1
  182. package/nitrogen/generated/android/c++/JTripSelectorCallback.hpp +1 -1
  183. package/nitrogen/generated/android/c++/JTripsConfig.hpp +1 -1
  184. package/nitrogen/generated/android/c++/JTurnType.hpp +1 -1
  185. package/nitrogen/generated/android/c++/JVehicleTelemetryItem.hpp +1 -1
  186. package/nitrogen/generated/android/c++/JVisibilityState.hpp +1 -1
  187. package/nitrogen/generated/android/c++/JVisibleTravelEstimate.hpp +1 -1
  188. package/nitrogen/generated/android/c++/JVoiceAudioEncoding.hpp +1 -1
  189. package/nitrogen/generated/android/c++/JVoiceInputChunk.hpp +1 -1
  190. package/nitrogen/generated/android/c++/JVoiceInputResult.hpp +1 -1
  191. package/nitrogen/generated/android/c++/JWaypointCoordinate.hpp +1 -1
  192. package/nitrogen/generated/android/c++/JWindowInformation.hpp +1 -1
  193. package/nitrogen/generated/android/c++/JZoomEvent.hpp +1 -1
  194. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/AssetImage.kt +15 -15
  195. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void.kt +0 -2
  196. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_ActiveCarUxRestrictions.kt +0 -2
  197. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_AlertDismissalReason.kt +0 -2
  198. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_AppFocusState.kt +0 -2
  199. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_ColorScheme.kt +0 -2
  200. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point.kt +0 -2
  201. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point_double.kt +0 -2
  202. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_Point_std__optional_Point_.kt +0 -2
  203. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_SafeAreaInsets.kt +0 -2
  204. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_VisibilityState.kt +0 -2
  205. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_VoiceInputChunk.kt +0 -2
  206. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_WindowInformation.kt +0 -2
  207. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_bool.kt +0 -2
  208. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_Location__std__optional_std__string_.kt +0 -2
  209. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_Telemetry_.kt +0 -2
  210. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_bool_.kt +0 -2
  211. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__optional_std__string__std__optional_GoogleSignInAccount_.kt +0 -2
  212. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string.kt +0 -2
  213. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_ColorScheme.kt +0 -2
  214. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_ZoomEvent.kt +0 -2
  215. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_bool.kt +0 -2
  216. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/Func_void_std__string_std__string.kt +0 -2
  217. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutoTelemetrySpec.kt +2 -0
  218. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidAutomotiveSpec.kt +2 -0
  219. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAndroidWindowInformationSpec.kt +2 -0
  220. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlaySpec.kt +2 -0
  221. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridAutoPlayTimingSpec.kt +65 -0
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridClusterSpec.kt +2 -0
  223. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridGridTemplateSpec.kt +2 -0
  224. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridInformationTemplateSpec.kt +2 -0
  225. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridListTemplateSpec.kt +2 -0
  226. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMapTemplateSpec.kt +2 -0
  227. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridMessageTemplateSpec.kt +2 -0
  228. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSearchTemplateSpec.kt +2 -0
  229. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridSignInTemplateSpec.kt +2 -0
  230. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/HybridVoiceSpec.kt +2 -0
  231. package/nitrogen/generated/android/kotlin/com/margelo/nitro/swe/iternio/reactnativeautoplay/NitroColor.kt +9 -4
  232. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.cpp +17 -0
  233. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Bridge.hpp +35 -9
  234. package/nitrogen/generated/ios/ReactNativeAutoPlay-Swift-Cxx-Umbrella.hpp +5 -0
  235. package/nitrogen/generated/ios/ReactNativeAutoPlayAutolinking.mm +8 -0
  236. package/nitrogen/generated/ios/ReactNativeAutoPlayAutolinking.swift +12 -0
  237. package/nitrogen/generated/ios/c++/HybridAutoPlayTimingSpecSwift.cpp +11 -0
  238. package/nitrogen/generated/ios/c++/HybridAutoPlayTimingSpecSwift.hpp +88 -0
  239. package/nitrogen/generated/ios/swift/AssetImage.swift +13 -13
  240. package/nitrogen/generated/ios/swift/HybridAutoPlayTimingSpec.swift +56 -0
  241. package/nitrogen/generated/ios/swift/HybridAutoPlayTimingSpec_cxx.swift +154 -0
  242. package/nitrogen/generated/ios/swift/NitroColor.swift +20 -2
  243. package/nitrogen/generated/shared/c++/AssetImage.hpp +18 -18
  244. package/nitrogen/generated/shared/c++/HybridAutoPlayTimingSpec.cpp +22 -0
  245. package/nitrogen/generated/shared/c++/HybridAutoPlayTimingSpec.hpp +63 -0
  246. package/nitrogen/generated/shared/c++/NitroColor.hpp +7 -3
  247. package/package.json +12 -6
  248. package/src/components/SafeAreaView.tsx +1 -1
  249. package/src/hybrid/HybridAutoPlayTiming.ts +5 -0
  250. package/src/hybrid/HybridVoice.ts +2 -2
  251. package/src/index.ts +0 -3
  252. package/src/index.web.ts +166 -0
  253. package/src/installTimers.ts +9 -0
  254. package/src/installTimers.web.ts +2 -0
  255. package/src/specs/AutoPlayTiming.nitro.ts +25 -0
  256. package/src/types/Image.ts +6 -1
  257. package/src/types/Telemetry.ts +1 -1
  258. package/src/utils/AutoPlayTimers.ts +60 -0
  259. package/src/utils/NitroColor.ts +10 -1
  260. package/src/utils/NitroImage.ts +14 -8
  261. package/src/utils/NitroManeuver.ts +1 -4
  262. package/android/src/main/java/com/margelo/nitro/swe/iternio/reactnativeautoplay/HeadlessTaskService.kt +0 -36
  263. package/lib/AutoPlayHeadlessJsTask.d.ts +0 -5
  264. package/lib/AutoPlayHeadlessJsTask.js +0 -14
  265. package/src/AutoPlayHeadlessJsTask.ts +0 -22
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Flag = void 0;
4
+ /**
5
+ * @namespace Android
6
+ */
7
+ var Flag;
8
+ (function (Flag) {
9
+ Flag[Flag["Primary"] = 1] = "Primary";
10
+ Flag[Flag["Persistent"] = 2] = "Persistent";
11
+ Flag[Flag["Default"] = 4] = "Default";
12
+ })(Flag || (exports.Flag = Flag = {}));
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ManeuverState = exports.KeepType = exports.ForkType = exports.OnRampType = exports.OffRampType = exports.TurnType = exports.TrafficSide = exports.ManeuverType = void 0;
4
+ var ManeuverType;
5
+ (function (ManeuverType) {
6
+ ManeuverType[ManeuverType["Depart"] = 0] = "Depart";
7
+ ManeuverType[ManeuverType["Arrive"] = 10] = "Arrive";
8
+ ManeuverType[ManeuverType["ArriveLeft"] = 11] = "ArriveLeft";
9
+ ManeuverType[ManeuverType["ArriveRight"] = 12] = "ArriveRight";
10
+ ManeuverType[ManeuverType["Straight"] = 20] = "Straight";
11
+ ManeuverType[ManeuverType["Turn"] = 30] = "Turn";
12
+ ManeuverType[ManeuverType["Roundabout"] = 40] = "Roundabout";
13
+ ManeuverType[ManeuverType["OffRamp"] = 50] = "OffRamp";
14
+ ManeuverType[ManeuverType["OnRamp"] = 60] = "OnRamp";
15
+ ManeuverType[ManeuverType["Fork"] = 70] = "Fork";
16
+ ManeuverType[ManeuverType["EnterFerry"] = 80] = "EnterFerry";
17
+ ManeuverType[ManeuverType["Keep"] = 90] = "Keep";
18
+ })(ManeuverType || (exports.ManeuverType = ManeuverType = {}));
19
+ var TrafficSide;
20
+ (function (TrafficSide) {
21
+ TrafficSide[TrafficSide["Right"] = 0] = "Right";
22
+ TrafficSide[TrafficSide["Left"] = 1] = "Left";
23
+ })(TrafficSide || (exports.TrafficSide = TrafficSide = {}));
24
+ var TurnType;
25
+ (function (TurnType) {
26
+ TurnType[TurnType["NoTurn"] = 0] = "NoTurn";
27
+ TurnType[TurnType["SlightLeft"] = 1] = "SlightLeft";
28
+ TurnType[TurnType["SlightRight"] = 2] = "SlightRight";
29
+ TurnType[TurnType["NormalLeft"] = 3] = "NormalLeft";
30
+ TurnType[TurnType["NormalRight"] = 4] = "NormalRight";
31
+ TurnType[TurnType["SharpLeft"] = 5] = "SharpLeft";
32
+ TurnType[TurnType["SharpRight"] = 6] = "SharpRight";
33
+ TurnType[TurnType["UTurnLeft"] = 7] = "UTurnLeft";
34
+ TurnType[TurnType["UTurnRight"] = 8] = "UTurnRight";
35
+ })(TurnType || (exports.TurnType = TurnType = {}));
36
+ var OffRampType;
37
+ (function (OffRampType) {
38
+ OffRampType[OffRampType["SlightLeft"] = 0] = "SlightLeft";
39
+ OffRampType[OffRampType["SlightRight"] = 1] = "SlightRight";
40
+ OffRampType[OffRampType["NormalLeft"] = 2] = "NormalLeft";
41
+ OffRampType[OffRampType["NormalRight"] = 3] = "NormalRight";
42
+ })(OffRampType || (exports.OffRampType = OffRampType = {}));
43
+ var OnRampType;
44
+ (function (OnRampType) {
45
+ OnRampType[OnRampType["SlightLeft"] = 0] = "SlightLeft";
46
+ OnRampType[OnRampType["SlightRight"] = 1] = "SlightRight";
47
+ OnRampType[OnRampType["NormalLeft"] = 2] = "NormalLeft";
48
+ OnRampType[OnRampType["NormalRight"] = 3] = "NormalRight";
49
+ OnRampType[OnRampType["SharpLeft"] = 4] = "SharpLeft";
50
+ OnRampType[OnRampType["SharpRight"] = 5] = "SharpRight";
51
+ OnRampType[OnRampType["UTurnLeft"] = 6] = "UTurnLeft";
52
+ OnRampType[OnRampType["UTurnRight"] = 7] = "UTurnRight";
53
+ })(OnRampType || (exports.OnRampType = OnRampType = {}));
54
+ var ForkType;
55
+ (function (ForkType) {
56
+ ForkType[ForkType["Left"] = 0] = "Left";
57
+ ForkType[ForkType["Right"] = 1] = "Right";
58
+ })(ForkType || (exports.ForkType = ForkType = {}));
59
+ var KeepType;
60
+ (function (KeepType) {
61
+ KeepType[KeepType["Left"] = 0] = "Left";
62
+ KeepType[KeepType["Right"] = 1] = "Right";
63
+ KeepType[KeepType["FollowRoad"] = 2] = "FollowRoad";
64
+ })(KeepType || (exports.KeepType = KeepType = {}));
65
+ /**
66
+ * Describes the progress within a maneuver.
67
+ * Transition through: Continue → Initial → Prepare → Execute → Continue
68
+ * @namespace iOS sets CPManeuverState on the CPNavigationSession
69
+ * @namespace Android no-op, Android Auto does not have an equivalent API
70
+ */
71
+ var ManeuverState;
72
+ (function (ManeuverState) {
73
+ ManeuverState[ManeuverState["Continue"] = 0] = "Continue";
74
+ ManeuverState[ManeuverState["Initial"] = 1] = "Initial";
75
+ ManeuverState[ManeuverState["Prepare"] = 2] = "Prepare";
76
+ ManeuverState[ManeuverState["Execute"] = 3] = "Execute";
77
+ })(ManeuverState || (exports.ManeuverState = ManeuverState = {}));
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextInputType = exports.KeyboardType = exports.SignInMethods = void 0;
4
+ var SignInMethods;
5
+ (function (SignInMethods) {
6
+ SignInMethods[SignInMethods["QR"] = 0] = "QR";
7
+ SignInMethods[SignInMethods["GOOGLE"] = 1] = "GOOGLE";
8
+ SignInMethods[SignInMethods["PIN"] = 2] = "PIN";
9
+ SignInMethods[SignInMethods["INPUT"] = 3] = "INPUT";
10
+ })(SignInMethods || (exports.SignInMethods = SignInMethods = {}));
11
+ var KeyboardType;
12
+ (function (KeyboardType) {
13
+ KeyboardType[KeyboardType["DEFAULT"] = 0] = "DEFAULT";
14
+ KeyboardType[KeyboardType["EMAIL"] = 1] = "EMAIL";
15
+ KeyboardType[KeyboardType["PHONE"] = 2] = "PHONE";
16
+ KeyboardType[KeyboardType["NUMBER"] = 3] = "NUMBER";
17
+ })(KeyboardType || (exports.KeyboardType = KeyboardType = {}));
18
+ var TextInputType;
19
+ (function (TextInputType) {
20
+ TextInputType[TextInputType["PASSWORD"] = 0] = "PASSWORD";
21
+ TextInputType[TextInputType["DEFAULT"] = 1] = "DEFAULT";
22
+ })(TextInputType || (exports.TextInputType = TextInputType = {}));
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VehicleGear = exports.AndroidAutomotiveTelemetryPermissions = exports.AndroidAutoTelemetryPermissions = void 0;
4
+ var AndroidAutoTelemetryPermissions;
5
+ (function (AndroidAutoTelemetryPermissions) {
6
+ AndroidAutoTelemetryPermissions["Speed"] = "com.google.android.gms.permission.CAR_SPEED";
7
+ AndroidAutoTelemetryPermissions["Energy"] = "com.google.android.gms.permission.CAR_FUEL";
8
+ AndroidAutoTelemetryPermissions["Odometer"] = "com.google.android.gms.permission.CAR_MILEAGE";
9
+ })(AndroidAutoTelemetryPermissions || (exports.AndroidAutoTelemetryPermissions = AndroidAutoTelemetryPermissions = {}));
10
+ var AndroidAutomotiveTelemetryPermissions;
11
+ (function (AndroidAutomotiveTelemetryPermissions) {
12
+ AndroidAutomotiveTelemetryPermissions["Info"] = "android.car.permission.CAR_INFO";
13
+ AndroidAutomotiveTelemetryPermissions["Speed"] = "android.car.permission.CAR_SPEED";
14
+ AndroidAutomotiveTelemetryPermissions["Energy"] = "android.car.permission.CAR_ENERGY";
15
+ AndroidAutomotiveTelemetryPermissions["ExteriorEnvironment"] = "android.car.permission.CAR_EXTERIOR_ENVIRONMENT";
16
+ AndroidAutomotiveTelemetryPermissions["EnergyPorts"] = "android.car.permission.CAR_ENERGY_PORTS";
17
+ })(AndroidAutomotiveTelemetryPermissions || (exports.AndroidAutomotiveTelemetryPermissions = AndroidAutomotiveTelemetryPermissions = {}));
18
+ var VehicleGear;
19
+ (function (VehicleGear) {
20
+ VehicleGear[VehicleGear["Neutral"] = 1] = "Neutral";
21
+ VehicleGear[VehicleGear["Reverse"] = 2] = "Reverse";
22
+ VehicleGear[VehicleGear["Park"] = 4] = "Park";
23
+ VehicleGear[VehicleGear["Drive"] = 8] = "Drive";
24
+ })(VehicleGear || (exports.VehicleGear = VehicleGear = {}));
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextPlaceholders = void 0;
4
+ var TextPlaceholders;
5
+ (function (TextPlaceholders) {
6
+ TextPlaceholders["Distance"] = "{distance}";
7
+ TextPlaceholders["Duration"] = "{duration}";
8
+ })(TextPlaceholders || (exports.TextPlaceholders = TextPlaceholders = {}));
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorUtil = void 0;
4
+ const isError = (error) => {
5
+ if (error == null) {
6
+ return false;
7
+ }
8
+ if (typeof error !== 'object') {
9
+ return false;
10
+ }
11
+ if (!('message' in error && 'name' in error)) {
12
+ return false;
13
+ }
14
+ if (error.name !== 'Error') {
15
+ return false;
16
+ }
17
+ if (typeof error.message !== 'string') {
18
+ return false;
19
+ }
20
+ return true;
21
+ };
22
+ const isTemplateNotFoundError = (error) => {
23
+ if (isError(error)) {
24
+ return error.message.startsWith('templateNotFound');
25
+ }
26
+ return false;
27
+ };
28
+ const isVoiceInputCanceledError = (error) => {
29
+ if (isError(error)) {
30
+ return error.message.startsWith('voiceInputCancelled');
31
+ }
32
+ return false;
33
+ };
34
+ exports.ErrorUtil = { isTemplateNotFoundError, isVoiceInputCanceledError };
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NitroActionUtil = void 0;
4
+ const react_native_1 = require("react-native");
5
+ const NitroImage_1 = require("./NitroImage");
6
+ const getImage = (action) => {
7
+ if (action.type === 'text') {
8
+ return undefined;
9
+ }
10
+ if (action.image.type === 'glyph' && action.image.fontScale == null) {
11
+ action.image.fontScale = react_native_1.Platform.OS === 'android' ? 1.0 : 0.8;
12
+ }
13
+ return NitroImage_1.NitroImageUtil.convert(action.image);
14
+ };
15
+ const getTitle = (action) => {
16
+ if (action.type === 'image') {
17
+ return undefined;
18
+ }
19
+ return action.title;
20
+ };
21
+ // appIcon can not be pressed but we wanna have a non-optional onPress on native side
22
+ const getAppIconAction = (alignment) => ({
23
+ type: 'appIcon',
24
+ onPress: () => null,
25
+ alignment,
26
+ });
27
+ const convertToNitro = (template, action, alignment) => {
28
+ const { type } = action;
29
+ if (type === 'appIcon') {
30
+ return getAppIconAction(alignment);
31
+ }
32
+ const { onPress } = action;
33
+ if (type === 'back') {
34
+ return { type, onPress: () => onPress(template), alignment };
35
+ }
36
+ const { enabled, flags, style } = action;
37
+ const title = getTitle(action);
38
+ const image = getImage(action);
39
+ return {
40
+ onPress: () => onPress(template),
41
+ type: 'custom',
42
+ enabled,
43
+ flags,
44
+ image,
45
+ title,
46
+ alignment,
47
+ style,
48
+ };
49
+ };
50
+ const convertActionButtons = (template, actions) => {
51
+ return actions?.map((action) => convertToNitro(template, action, undefined));
52
+ };
53
+ function convertIos(template, actions) {
54
+ if (actions == null) {
55
+ return undefined;
56
+ }
57
+ const nitroActions = [];
58
+ if (actions.backButton != null) {
59
+ nitroActions.push({
60
+ type: 'back',
61
+ onPress: () => actions.backButton?.onPress(template),
62
+ alignment: undefined,
63
+ });
64
+ }
65
+ if (actions.leadingNavigationBarButtons != null) {
66
+ for (const button of actions.leadingNavigationBarButtons) {
67
+ const { onPress, enabled } = button;
68
+ const image = getImage(button);
69
+ const title = getTitle(button);
70
+ nitroActions.push({
71
+ type: 'custom',
72
+ enabled,
73
+ image,
74
+ onPress: () => onPress(template),
75
+ title,
76
+ alignment: 'leading',
77
+ });
78
+ }
79
+ }
80
+ if (actions.trailingNavigationBarButtons) {
81
+ for (const button of actions.trailingNavigationBarButtons) {
82
+ const { onPress, enabled } = button;
83
+ const image = getImage(button);
84
+ const title = getTitle(button);
85
+ nitroActions.push({
86
+ type: 'custom',
87
+ enabled,
88
+ image,
89
+ onPress: () => onPress(template),
90
+ title,
91
+ alignment: 'trailing',
92
+ });
93
+ }
94
+ }
95
+ return nitroActions;
96
+ }
97
+ function convertAndroid(template, actions) {
98
+ if (actions == null) {
99
+ return undefined;
100
+ }
101
+ if (Array.isArray(actions)) {
102
+ return convertActionButtons(template, actions);
103
+ }
104
+ const nitroActions = [];
105
+ const { startHeaderAction, endHeaderActions = [] } = actions;
106
+ if (startHeaderAction != null) {
107
+ const action = startHeaderAction.type === 'appIcon'
108
+ ? getAppIconAction('leading')
109
+ : {
110
+ ...startHeaderAction,
111
+ alignment: 'leading',
112
+ onPress: () => startHeaderAction.onPress(template),
113
+ };
114
+ nitroActions.push(action);
115
+ }
116
+ for (const action of endHeaderActions) {
117
+ nitroActions.push(convertToNitro(template, action, 'trailing'));
118
+ }
119
+ return nitroActions;
120
+ }
121
+ function convert(template, actions) {
122
+ if (Array.isArray(actions)) {
123
+ return convertActionButtons(template, actions);
124
+ }
125
+ return react_native_1.Platform.OS === 'android'
126
+ ? convertAndroid(template, actions?.android)
127
+ : convertIos(template, actions?.ios);
128
+ }
129
+ exports.NitroActionUtil = { convert };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NitroAlertUtil = void 0;
4
+ const NitroImage_1 = require("./NitroImage");
5
+ var AlertPriorityEnum;
6
+ (function (AlertPriorityEnum) {
7
+ AlertPriorityEnum[AlertPriorityEnum["low"] = 0] = "low";
8
+ AlertPriorityEnum[AlertPriorityEnum["medium"] = 1] = "medium";
9
+ AlertPriorityEnum[AlertPriorityEnum["high"] = 2] = "high";
10
+ })(AlertPriorityEnum || (AlertPriorityEnum = {}));
11
+ const convert = (alert) => {
12
+ const { image, priority, ...rest } = alert;
13
+ return {
14
+ ...rest,
15
+ image: NitroImage_1.NitroImageUtil.convert(image),
16
+ priority: AlertPriorityEnum[priority],
17
+ };
18
+ };
19
+ exports.NitroAlertUtil = { convert };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NitroAttributedStringUtil = void 0;
4
+ const NitroImage_1 = require("./NitroImage");
5
+ function convert(attributedStrings) {
6
+ return attributedStrings.map((attributedString) => ({
7
+ ...attributedString,
8
+ images: attributedString.images?.map((image) => ({
9
+ ...image,
10
+ image: NitroImage_1.NitroImageUtil.convert(image.image),
11
+ })),
12
+ }));
13
+ }
14
+ exports.NitroAttributedStringUtil = { convert };
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NitroColorUtil = void 0;
4
+ const react_native_1 = require("react-native");
5
+ const DefaultNitroColor = {
6
+ darkColor: convertColor('white'),
7
+ lightColor: convertColor('black'),
8
+ isDefault: true,
9
+ };
10
+ function convertColor(color) {
11
+ // since we accept only string it can return a number only
12
+ return (0, react_native_1.processColor)(color);
13
+ }
14
+ function convert(color) {
15
+ if (color == null) {
16
+ return undefined;
17
+ }
18
+ if (typeof color === 'string') {
19
+ if (color === 'default') {
20
+ return DefaultNitroColor;
21
+ }
22
+ const convertedColor = convertColor(color);
23
+ return { darkColor: convertedColor, lightColor: convertedColor };
24
+ }
25
+ const darkColor = convertColor(color.darkColor);
26
+ const lightColor = convertColor(color.lightColor);
27
+ return {
28
+ darkColor,
29
+ lightColor,
30
+ };
31
+ }
32
+ exports.NitroColorUtil = { convert };
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NitroGridUtil = void 0;
4
+ const NitroImage_1 = require("./NitroImage");
5
+ const convert = (template, buttons) => {
6
+ return buttons.map((button) => ({
7
+ title: button.title,
8
+ image: NitroImage_1.NitroImageUtil.convert(button.image),
9
+ onPress: () => button.onPress(template),
10
+ }));
11
+ };
12
+ exports.NitroGridUtil = { convert };
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NitroImageUtil = void 0;
4
+ exports.setIconFont = setIconFont;
5
+ const react_native_1 = require("react-native");
6
+ const NitroColor_1 = require("./NitroColor");
7
+ let _iconFont;
8
+ let _glyphMap;
9
+ /**
10
+ * Register the icon font and (optionally) a glyph map for name-based lookups.
11
+ * Must be called **once** before creating any templates. Subsequent calls are ignored.
12
+ *
13
+ * The font name maps directly to a native font asset:
14
+ * - **Android** — `res/font/<name>.ttf` (must be lowercase)
15
+ * - **iOS** — `<name>.ttf` in the app bundle (registered via CoreText automatically)
16
+ *
17
+ * For cross-platform compatibility use lowercase with underscores only.
18
+ *
19
+ * @param name Native font asset name (without extension).
20
+ * @param glyphMap Optional map of glyph names to Unicode code points.
21
+ * When provided, glyphs can use `{ type: 'glyph', name: 'icon_name' }`.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * import { glyphMap } from './assets/Glyphmap';
26
+ * setIconFont('material_symbols', glyphMap);
27
+ * ```
28
+ */
29
+ function setIconFont(name, glyphMap) {
30
+ if (_iconFont != null) {
31
+ return;
32
+ }
33
+ _iconFont = name;
34
+ _glyphMap = glyphMap;
35
+ }
36
+ function getIconFont() {
37
+ if (_iconFont == null) {
38
+ throw new Error('No icon font configured. Call setIconFont("your_font_name") before using glyph images.');
39
+ }
40
+ return _iconFont;
41
+ }
42
+ function resolveGlyph(image) {
43
+ if ('name' in image && image.name !== undefined) {
44
+ if (image.codepoint !== undefined) {
45
+ return image.codepoint;
46
+ }
47
+ if (_glyphMap == null) {
48
+ throw new Error(`Glyph name "${image.name}" used but no glyph map was provided to setIconFont().`);
49
+ }
50
+ const cp = _glyphMap[image.name];
51
+ if (cp === undefined) {
52
+ throw new Error(`Glyph name "${image.name}" not found in the glyph map.`);
53
+ }
54
+ return cp;
55
+ }
56
+ if (image.codepoint !== undefined) {
57
+ return image.codepoint;
58
+ }
59
+ throw new Error('Glyph image must provide either `name` or `codepoint`.');
60
+ }
61
+ function convert(image) {
62
+ if (image == null) {
63
+ return undefined;
64
+ }
65
+ if (image.type === 'glyph') {
66
+ const { color = 'default', fontScale, backgroundColor = 'transparent' } = image;
67
+ return {
68
+ glyph: resolveGlyph(image),
69
+ fontName: getIconFont(),
70
+ color: NitroColor_1.NitroColorUtil.convert(color),
71
+ backgroundColor: NitroColor_1.NitroColorUtil.convert(backgroundColor),
72
+ fontScale,
73
+ };
74
+ }
75
+ if (image.type === 'remote') {
76
+ return {
77
+ uri: image.uri,
78
+ color: NitroColor_1.NitroColorUtil.convert(image.color),
79
+ timeoutMs: image.timeoutMs,
80
+ };
81
+ }
82
+ // Image.resolveAssetSource is pretty terrible, it will simply return whatever object you pass it is not a number [require(...)]
83
+ // so the input allows all optional parameters which are returned as is even though
84
+ // the return type claims to not have any optional parameters...
85
+ // we specify some default values to not crash because of proper typing required by nitro-modules
86
+ const { height = 0, scale = 0, uri = '', width = 0, ...rest } = react_native_1.Image.resolveAssetSource(image.image) ?? {};
87
+ const assetImage = {
88
+ height,
89
+ scale,
90
+ uri,
91
+ width,
92
+ packager_asset: '__packager_asset' in rest ? Boolean(rest.__packager_asset) : false,
93
+ color: NitroColor_1.NitroColorUtil.convert(image.color),
94
+ };
95
+ return assetImage;
96
+ }
97
+ exports.NitroImageUtil = { convert };
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NitroManeuverUtil = void 0;
4
+ const Maneuver_1 = require("../types/Maneuver");
5
+ const NitroColor_1 = require("./NitroColor");
6
+ const NitroImage_1 = require("./NitroImage");
7
+ function convertManeuverImage(image) {
8
+ if (image == null) {
9
+ return undefined;
10
+ }
11
+ if (image.type === 'glyph') {
12
+ const color = typeof image.color === 'string' ? image.color : (image.color ?? 'default');
13
+ return NitroImage_1.NitroImageUtil.convert({
14
+ ...image,
15
+ color: color,
16
+ });
17
+ }
18
+ return NitroImage_1.NitroImageUtil.convert(image);
19
+ }
20
+ function convert(autoManeuver) {
21
+ if (autoManeuver.type === 'message') {
22
+ const { title, image, text } = autoManeuver;
23
+ return {
24
+ title,
25
+ text,
26
+ image: convertManeuverImage(image),
27
+ cardBackgroundColor: NitroColor_1.NitroColorUtil.convert(autoManeuver.cardBackgroundColor),
28
+ };
29
+ }
30
+ const { symbolImage, junctionImage, attributedInstructionVariants, id, maneuverType, trafficSide, travelEstimates, highwayExitLabel, linkedLaneGuidance, roadName, cardBackgroundColor, } = autoManeuver;
31
+ const elementAngles = maneuverType === Maneuver_1.ManeuverType.Turn || maneuverType === Maneuver_1.ManeuverType.Roundabout
32
+ ? autoManeuver.elementAngles
33
+ : undefined;
34
+ const angle = maneuverType === Maneuver_1.ManeuverType.Turn || maneuverType === Maneuver_1.ManeuverType.Roundabout
35
+ ? autoManeuver.angle
36
+ : undefined;
37
+ const turnType = maneuverType === Maneuver_1.ManeuverType.Turn ? autoManeuver.turnType : undefined;
38
+ const exitNumber = maneuverType === Maneuver_1.ManeuverType.Roundabout ? autoManeuver.exitNumber : undefined;
39
+ const offRampType = maneuverType === Maneuver_1.ManeuverType.OffRamp ? autoManeuver.offRampType : undefined;
40
+ const onRampType = maneuverType === Maneuver_1.ManeuverType.OnRamp ? autoManeuver.onRampType : undefined;
41
+ const forkType = maneuverType === Maneuver_1.ManeuverType.Fork ? autoManeuver.forkType : undefined;
42
+ const keepType = maneuverType === Maneuver_1.ManeuverType.Keep ? autoManeuver.keepType : undefined;
43
+ return {
44
+ id,
45
+ maneuverType,
46
+ trafficSide,
47
+ travelEstimates,
48
+ linkedLaneGuidance: linkedLaneGuidance
49
+ ? {
50
+ ...linkedLaneGuidance,
51
+ lanes: linkedLaneGuidance.lanes.map((lane) => ({
52
+ ...lane,
53
+ image: convertManeuverImage(lane.image),
54
+ })),
55
+ }
56
+ : undefined,
57
+ highwayExitLabel,
58
+ roadName,
59
+ attributedInstructionVariants: attributedInstructionVariants.map((variant) => ({
60
+ text: variant.text,
61
+ images: variant.images?.map(({ image, position }) => ({
62
+ image: convertManeuverImage(image),
63
+ position,
64
+ })),
65
+ })),
66
+ junctionImage: convertManeuverImage(junctionImage),
67
+ symbolImage: convertManeuverImage(symbolImage),
68
+ elementAngles,
69
+ angle,
70
+ turnType,
71
+ exitNumber,
72
+ offRampType,
73
+ onRampType,
74
+ forkType,
75
+ keepType,
76
+ cardBackgroundColor: NitroColor_1.NitroColorUtil.convert(cardBackgroundColor),
77
+ };
78
+ }
79
+ exports.NitroManeuverUtil = { convert };
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NitroMapButton = void 0;
4
+ const react_native_1 = require("react-native");
5
+ const NitroImage_1 = require("./NitroImage");
6
+ const convert = (template, mapButtons) => {
7
+ if (mapButtons == null) {
8
+ return undefined;
9
+ }
10
+ return mapButtons?.map((button) => {
11
+ const { type } = button;
12
+ const onPress = button.type === 'custom' ? () => button.onPress(template) : undefined;
13
+ if (button.image.type === 'glyph') {
14
+ const backgroundColor = react_native_1.Platform.OS === 'android'
15
+ ? 'transparent'
16
+ : 'backgroundColor' in button.image
17
+ ? button.image.backgroundColor
18
+ : 'transparent';
19
+ const fontScale = button.image.fontScale ?? (react_native_1.Platform.OS === 'android' ? 1.0 : 0.65);
20
+ return {
21
+ type,
22
+ onPress,
23
+ image: NitroImage_1.NitroImageUtil.convert({ ...button.image, backgroundColor, fontScale }),
24
+ };
25
+ }
26
+ return {
27
+ type,
28
+ onPress,
29
+ image: NitroImage_1.NitroImageUtil.convert(button.image),
30
+ };
31
+ });
32
+ };
33
+ exports.NitroMapButton = { convert };