@capillarytech/react-native-hydra-lib 1.7.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/CHANGELOG.md +252 -0
  2. package/DEPRECATION_POLICY.md +220 -0
  3. package/LICENSE +20 -0
  4. package/MIGRATION.md +361 -0
  5. package/README.md +491 -0
  6. package/RELEASE_NOTES.md +528 -0
  7. package/android/build.gradle +565 -0
  8. package/android/generated/java/com/hydralib/NativeHydraLibSpec.java +185 -0
  9. package/android/generated/jni/CMakeLists.txt +36 -0
  10. package/android/generated/jni/RNHydraLibSpec-generated.cpp +248 -0
  11. package/android/generated/jni/RNHydraLibSpec.h +31 -0
  12. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/ComponentDescriptors.cpp +24 -0
  13. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/ComponentDescriptors.h +26 -0
  14. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/EventEmitters.cpp +18 -0
  15. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/EventEmitters.h +37 -0
  16. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/Props.cpp +39 -0
  17. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/Props.h +47 -0
  18. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/RNHydraLibSpecJSI-generated.cpp +283 -0
  19. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/RNHydraLibSpecJSI.h +395 -0
  20. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/ShadowNodes.cpp +19 -0
  21. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/ShadowNodes.h +54 -0
  22. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/States.cpp +16 -0
  23. package/android/generated/jni/react/renderer/components/RNHydraLibSpec/States.h +53 -0
  24. package/android/gradle.properties +5 -0
  25. package/android/src/main/AndroidManifest.xml +11 -0
  26. package/android/src/main/AndroidManifestNew.xml +16 -0
  27. package/android/src/main/AndroidManifestNoFirebaseIcon.xml +5 -0
  28. package/android/src/main/java/com/hydralib/delegates/HydraActivityCallbacks.kt +90 -0
  29. package/android/src/main/java/com/hydralib/delegates/NonHydraNotificationActivity.kt +43 -0
  30. package/android/src/main/java/com/hydralib/eventemitter/HydraEventEmitter.kt +150 -0
  31. package/android/src/main/java/com/hydralib/eventemitter/HydraEventType.kt +44 -0
  32. package/android/src/main/java/com/hydralib/gamification/GamificationBannerViewManager.kt +121 -0
  33. package/android/src/main/java/com/hydralib/gamification/GamificationEmbedViewManager.kt +153 -0
  34. package/android/src/main/java/com/hydralib/gamification/GamificationLoyaltyViewManager.kt +95 -0
  35. package/android/src/main/java/com/hydralib/hydrasdk/HydraCore.kt +860 -0
  36. package/android/src/main/java/com/hydralib/hydrasdk/HydraExtenstions.kt +331 -0
  37. package/android/src/main/java/com/hydralib/hydrasdk/HydraInAppMessages.kt +136 -0
  38. package/android/src/main/java/com/hydralib/hydrasdk/HydraInbox.kt +70 -0
  39. package/android/src/main/java/com/hydralib/hydrasdk/HydraInboxUI.kt +54 -0
  40. package/android/src/main/java/com/hydralib/hydrasdk/HydraPushNotification.kt +299 -0
  41. package/android/src/main/java/com/hydralib/nativeapis/Hydra.kt +28 -0
  42. package/android/src/main/java/com/hydralib/nativeapis/HydraFirebaseRemoteConfigKeys.kt +76 -0
  43. package/android/src/main/java/com/hydralib/nativeapis/HydraInitializer.kt +130 -0
  44. package/android/src/main/java/com/hydralib/nativeapis/HydraNativeMessaging.kt +18 -0
  45. package/android/src/main/java/com/hydralib/nativeapis/HydraRemoteConfig.kt +59 -0
  46. package/android/src/main/java/com/hydralib/utils/RNHydraPreferencesManager.kt +154 -0
  47. package/android/src/main/java/com/hydralib/utils/ResourceUtil.kt +10 -0
  48. package/android/src/newarch/HydraLibModule.kt +218 -0
  49. package/android/src/oldarch/HydraLibModule.kt +258 -0
  50. package/android/src/rn72OrLess/HydraLibPackage.kt +43 -0
  51. package/android/src/rn73OrMore/HydraLibPackage.kt +53 -0
  52. package/ios/Delegates/HydraApplicationDelegate.swift +196 -0
  53. package/ios/Delegates/HydraFirebaseMessagingDelegate.swift +20 -0
  54. package/ios/Delegates/HydraUNUserNotificationCenterDelegate.swift +26 -0
  55. package/ios/EventEmitter/HydraEventEmitter.swift +98 -0
  56. package/ios/EventEmitter/HydraEventType.swift +28 -0
  57. package/ios/EventEmitter/HydraNativeEmitterBrigde.h +15 -0
  58. package/ios/EventEmitter/HydraNativeEmitterBrigde.mm +48 -0
  59. package/ios/GamificationViews/GamificationBannerViewComponentView.h +14 -0
  60. package/ios/GamificationViews/GamificationBannerViewComponentView.mm +125 -0
  61. package/ios/GamificationViews/GamificationEmbedViewComponentView.h +14 -0
  62. package/ios/GamificationViews/GamificationEmbedViewComponentView.mm +131 -0
  63. package/ios/GamificationViews/GamificationLoyaltyViewComponentView.h +14 -0
  64. package/ios/GamificationViews/GamificationLoyaltyViewComponentView.mm +120 -0
  65. package/ios/HydraLib.h +16 -0
  66. package/ios/HydraLib.mm +207 -0
  67. package/ios/HydraSDK/HydraInAppMessages.swift +93 -0
  68. package/ios/HydraSDK/HydraInbox.swift +97 -0
  69. package/ios/HydraSDK/HydraInboxUI.swift +105 -0
  70. package/ios/HydraSDK/HydraPushNotification.swift +476 -0
  71. package/ios/HydraSDK/HydraSDKCore.swift +707 -0
  72. package/ios/NativeAPIs/Hydra.h +34 -0
  73. package/ios/NativeAPIs/Hydra.mm +47 -0
  74. package/ios/NativeAPIs/HydraNativeFirebaseRemoteConfigKeys.h +23 -0
  75. package/ios/NativeAPIs/HydraNativeFirebaseRemoteConfigKeys.mm +80 -0
  76. package/ios/NativeAPIs/HydraNativeInitializer.h +16 -0
  77. package/ios/NativeAPIs/HydraNativeInitializer.mm +39 -0
  78. package/ios/NativeAPIs/HydraNativeMessaging.h +24 -0
  79. package/ios/NativeAPIs/HydraNativeMessaging.mm +53 -0
  80. package/ios/NativeAPIs/HydraNativeRemoteConfig.h +27 -0
  81. package/ios/NativeAPIs/HydraNativeRemoteConfig.mm +89 -0
  82. package/ios/Utils/HydraExtensions.swift +322 -0
  83. package/ios/Utils/HydraRNConstants.swift +13 -0
  84. package/ios/Utils/RNHydraLogger.swift +31 -0
  85. package/ios/generated/RNHydraLibSpec/ComponentDescriptors.cpp +24 -0
  86. package/ios/generated/RNHydraLibSpec/ComponentDescriptors.h +26 -0
  87. package/ios/generated/RNHydraLibSpec/EventEmitters.cpp +18 -0
  88. package/ios/generated/RNHydraLibSpec/EventEmitters.h +37 -0
  89. package/ios/generated/RNHydraLibSpec/Props.cpp +39 -0
  90. package/ios/generated/RNHydraLibSpec/Props.h +47 -0
  91. package/ios/generated/RNHydraLibSpec/RCTComponentViewHelpers.h +28 -0
  92. package/ios/generated/RNHydraLibSpec/RNHydraLibSpec-generated.mm +291 -0
  93. package/ios/generated/RNHydraLibSpec/RNHydraLibSpec.h +167 -0
  94. package/ios/generated/RNHydraLibSpec/ShadowNodes.cpp +19 -0
  95. package/ios/generated/RNHydraLibSpec/ShadowNodes.h +54 -0
  96. package/ios/generated/RNHydraLibSpec/States.cpp +16 -0
  97. package/ios/generated/RNHydraLibSpec/States.h +53 -0
  98. package/ios/generated/RNHydraLibSpecJSI-generated.cpp +283 -0
  99. package/ios/generated/RNHydraLibSpecJSI.h +395 -0
  100. package/lib/commonjs/GamificationBannerViewNativeComponent.js +10 -0
  101. package/lib/commonjs/GamificationBannerViewNativeComponent.js.map +1 -0
  102. package/lib/commonjs/GamificationEmbedViewNativeComponent.js +10 -0
  103. package/lib/commonjs/GamificationEmbedViewNativeComponent.js.map +1 -0
  104. package/lib/commonjs/GamificationLoyaltyViewNativeComponent.js +10 -0
  105. package/lib/commonjs/GamificationLoyaltyViewNativeComponent.js.map +1 -0
  106. package/lib/commonjs/NativeHydraLib.js +11 -0
  107. package/lib/commonjs/NativeHydraLib.js.map +1 -0
  108. package/lib/commonjs/components/GamificationBannerView.js +15 -0
  109. package/lib/commonjs/components/GamificationBannerView.js.map +1 -0
  110. package/lib/commonjs/components/GamificationEmbedView.js +15 -0
  111. package/lib/commonjs/components/GamificationEmbedView.js.map +1 -0
  112. package/lib/commonjs/components/GamificationLoyaltyView.js +15 -0
  113. package/lib/commonjs/components/GamificationLoyaltyView.js.map +1 -0
  114. package/lib/commonjs/hydra-apis/Hydra.js +43 -0
  115. package/lib/commonjs/hydra-apis/Hydra.js.map +1 -0
  116. package/lib/commonjs/hydra-apis/HydraCore.js +42 -0
  117. package/lib/commonjs/hydra-apis/HydraCore.js.map +1 -0
  118. package/lib/commonjs/hydra-apis/HydraInAppMessaging.js +24 -0
  119. package/lib/commonjs/hydra-apis/HydraInAppMessaging.js.map +1 -0
  120. package/lib/commonjs/hydra-apis/HydraInbox.js +29 -0
  121. package/lib/commonjs/hydra-apis/HydraInbox.js.map +1 -0
  122. package/lib/commonjs/hydra-apis/HydraInboxUI.js +18 -0
  123. package/lib/commonjs/hydra-apis/HydraInboxUI.js.map +1 -0
  124. package/lib/commonjs/hydra-apis/HydraNativeEventEmitter.js +133 -0
  125. package/lib/commonjs/hydra-apis/HydraNativeEventEmitter.js.map +1 -0
  126. package/lib/commonjs/hydra-apis/HydraPushNotification.js +21 -0
  127. package/lib/commonjs/hydra-apis/HydraPushNotification.js.map +1 -0
  128. package/lib/commonjs/index.js +230 -0
  129. package/lib/commonjs/index.js.map +1 -0
  130. package/lib/commonjs/models/HydraAccountConfig.js +41 -0
  131. package/lib/commonjs/models/HydraAccountConfig.js.map +1 -0
  132. package/lib/commonjs/models/HydraFirebaseRemoteConfigKeys.js +40 -0
  133. package/lib/commonjs/models/HydraFirebaseRemoteConfigKeys.js.map +1 -0
  134. package/lib/commonjs/models/HydraGeoConfig.js +24 -0
  135. package/lib/commonjs/models/HydraGeoConfig.js.map +1 -0
  136. package/lib/commonjs/models/HydraInAppMessage/HydraInAppButtonComponent.js +26 -0
  137. package/lib/commonjs/models/HydraInAppMessage/HydraInAppButtonComponent.js.map +1 -0
  138. package/lib/commonjs/models/HydraInAppMessage/HydraInAppComponentStyle.js +26 -0
  139. package/lib/commonjs/models/HydraInAppMessage/HydraInAppComponentStyle.js.map +1 -0
  140. package/lib/commonjs/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.js +39 -0
  141. package/lib/commonjs/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.js.map +1 -0
  142. package/lib/commonjs/models/HydraInAppMessage/HydraInAppMessage.js +60 -0
  143. package/lib/commonjs/models/HydraInAppMessage/HydraInAppMessage.js.map +1 -0
  144. package/lib/commonjs/models/HydraInAppMessage/HydraInAppTemplateType.js +66 -0
  145. package/lib/commonjs/models/HydraInAppMessage/HydraInAppTemplateType.js.map +1 -0
  146. package/lib/commonjs/models/HydraInAppMessage/HydraInAppTextComponent.js +21 -0
  147. package/lib/commonjs/models/HydraInAppMessage/HydraInAppTextComponent.js.map +1 -0
  148. package/lib/commonjs/models/HydraLogLevel.js +16 -0
  149. package/lib/commonjs/models/HydraLogLevel.js.map +1 -0
  150. package/lib/commonjs/models/HydraNativeEvent.js +27 -0
  151. package/lib/commonjs/models/HydraNativeEvent.js.map +1 -0
  152. package/lib/commonjs/models/HydraNotification/HydraNotification.js +70 -0
  153. package/lib/commonjs/models/HydraNotification/HydraNotification.js.map +1 -0
  154. package/lib/commonjs/models/HydraNotification/HydraNotificationBody.js +25 -0
  155. package/lib/commonjs/models/HydraNotification/HydraNotificationBody.js.map +1 -0
  156. package/lib/commonjs/models/HydraNotification/HydraNotificationCta.js +23 -0
  157. package/lib/commonjs/models/HydraNotification/HydraNotificationCta.js.map +1 -0
  158. package/lib/commonjs/models/HydraNotification/HydraNotificationCtaType.js +62 -0
  159. package/lib/commonjs/models/HydraNotification/HydraNotificationCtaType.js.map +1 -0
  160. package/lib/commonjs/models/HydraNotification/HydraNotificationExpandedDetails.js +25 -0
  161. package/lib/commonjs/models/HydraNotification/HydraNotificationExpandedDetails.js.map +1 -0
  162. package/lib/commonjs/models/HydraNotification/HydraNotificationGateway.js +13 -0
  163. package/lib/commonjs/models/HydraNotification/HydraNotificationGateway.js.map +1 -0
  164. package/lib/commonjs/models/HydraPushPreferences.js +20 -0
  165. package/lib/commonjs/models/HydraPushPreferences.js.map +1 -0
  166. package/lib/commonjs/models/HydraUserDetails.js +26 -0
  167. package/lib/commonjs/models/HydraUserDetails.js.map +1 -0
  168. package/lib/commonjs/models/HydraVisitorInfo.js +19 -0
  169. package/lib/commonjs/models/HydraVisitorInfo.js.map +1 -0
  170. package/lib/commonjs/models/NonHydraNotification.js +18 -0
  171. package/lib/commonjs/models/NonHydraNotification.js.map +1 -0
  172. package/lib/commonjs/models/UserState.js +41 -0
  173. package/lib/commonjs/models/UserState.js.map +1 -0
  174. package/lib/module/GamificationBannerViewNativeComponent.js +5 -0
  175. package/lib/module/GamificationBannerViewNativeComponent.js.map +1 -0
  176. package/lib/module/GamificationEmbedViewNativeComponent.js +5 -0
  177. package/lib/module/GamificationEmbedViewNativeComponent.js.map +1 -0
  178. package/lib/module/GamificationLoyaltyViewNativeComponent.js +5 -0
  179. package/lib/module/GamificationLoyaltyViewNativeComponent.js.map +1 -0
  180. package/lib/module/NativeHydraLib.js +7 -0
  181. package/lib/module/NativeHydraLib.js.map +1 -0
  182. package/lib/module/components/GamificationBannerView.js +10 -0
  183. package/lib/module/components/GamificationBannerView.js.map +1 -0
  184. package/lib/module/components/GamificationEmbedView.js +10 -0
  185. package/lib/module/components/GamificationEmbedView.js.map +1 -0
  186. package/lib/module/components/GamificationLoyaltyView.js +10 -0
  187. package/lib/module/components/GamificationLoyaltyView.js.map +1 -0
  188. package/lib/module/hydra-apis/Hydra.js +37 -0
  189. package/lib/module/hydra-apis/Hydra.js.map +1 -0
  190. package/lib/module/hydra-apis/HydraCore.js +36 -0
  191. package/lib/module/hydra-apis/HydraCore.js.map +1 -0
  192. package/lib/module/hydra-apis/HydraInAppMessaging.js +18 -0
  193. package/lib/module/hydra-apis/HydraInAppMessaging.js.map +1 -0
  194. package/lib/module/hydra-apis/HydraInbox.js +23 -0
  195. package/lib/module/hydra-apis/HydraInbox.js.map +1 -0
  196. package/lib/module/hydra-apis/HydraInboxUI.js +12 -0
  197. package/lib/module/hydra-apis/HydraInboxUI.js.map +1 -0
  198. package/lib/module/hydra-apis/HydraNativeEventEmitter.js +127 -0
  199. package/lib/module/hydra-apis/HydraNativeEventEmitter.js.map +1 -0
  200. package/lib/module/hydra-apis/HydraPushNotification.js +15 -0
  201. package/lib/module/hydra-apis/HydraPushNotification.js.map +1 -0
  202. package/lib/module/index.js +36 -0
  203. package/lib/module/index.js.map +1 -0
  204. package/lib/module/models/HydraAccountConfig.js +36 -0
  205. package/lib/module/models/HydraAccountConfig.js.map +1 -0
  206. package/lib/module/models/HydraFirebaseRemoteConfigKeys.js +35 -0
  207. package/lib/module/models/HydraFirebaseRemoteConfigKeys.js.map +1 -0
  208. package/lib/module/models/HydraGeoConfig.js +19 -0
  209. package/lib/module/models/HydraGeoConfig.js.map +1 -0
  210. package/lib/module/models/HydraInAppMessage/HydraInAppButtonComponent.js +21 -0
  211. package/lib/module/models/HydraInAppMessage/HydraInAppButtonComponent.js.map +1 -0
  212. package/lib/module/models/HydraInAppMessage/HydraInAppComponentStyle.js +21 -0
  213. package/lib/module/models/HydraInAppMessage/HydraInAppComponentStyle.js.map +1 -0
  214. package/lib/module/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.js +35 -0
  215. package/lib/module/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.js.map +1 -0
  216. package/lib/module/models/HydraInAppMessage/HydraInAppMessage.js +55 -0
  217. package/lib/module/models/HydraInAppMessage/HydraInAppMessage.js.map +1 -0
  218. package/lib/module/models/HydraInAppMessage/HydraInAppTemplateType.js +62 -0
  219. package/lib/module/models/HydraInAppMessage/HydraInAppTemplateType.js.map +1 -0
  220. package/lib/module/models/HydraInAppMessage/HydraInAppTextComponent.js +16 -0
  221. package/lib/module/models/HydraInAppMessage/HydraInAppTextComponent.js.map +1 -0
  222. package/lib/module/models/HydraLogLevel.js +12 -0
  223. package/lib/module/models/HydraLogLevel.js.map +1 -0
  224. package/lib/module/models/HydraNativeEvent.js +23 -0
  225. package/lib/module/models/HydraNativeEvent.js.map +1 -0
  226. package/lib/module/models/HydraNotification/HydraNotification.js +65 -0
  227. package/lib/module/models/HydraNotification/HydraNotification.js.map +1 -0
  228. package/lib/module/models/HydraNotification/HydraNotificationBody.js +20 -0
  229. package/lib/module/models/HydraNotification/HydraNotificationBody.js.map +1 -0
  230. package/lib/module/models/HydraNotification/HydraNotificationCta.js +18 -0
  231. package/lib/module/models/HydraNotification/HydraNotificationCta.js.map +1 -0
  232. package/lib/module/models/HydraNotification/HydraNotificationCtaType.js +58 -0
  233. package/lib/module/models/HydraNotification/HydraNotificationCtaType.js.map +1 -0
  234. package/lib/module/models/HydraNotification/HydraNotificationExpandedDetails.js +20 -0
  235. package/lib/module/models/HydraNotification/HydraNotificationExpandedDetails.js.map +1 -0
  236. package/lib/module/models/HydraNotification/HydraNotificationGateway.js +9 -0
  237. package/lib/module/models/HydraNotification/HydraNotificationGateway.js.map +1 -0
  238. package/lib/module/models/HydraPushPreferences.js +15 -0
  239. package/lib/module/models/HydraPushPreferences.js.map +1 -0
  240. package/lib/module/models/HydraUserDetails.js +21 -0
  241. package/lib/module/models/HydraUserDetails.js.map +1 -0
  242. package/lib/module/models/HydraVisitorInfo.js +14 -0
  243. package/lib/module/models/HydraVisitorInfo.js.map +1 -0
  244. package/lib/module/models/NonHydraNotification.js +13 -0
  245. package/lib/module/models/NonHydraNotification.js.map +1 -0
  246. package/lib/module/models/UserState.js +37 -0
  247. package/lib/module/models/UserState.js.map +1 -0
  248. package/lib/typescript/commonjs/package.json +1 -0
  249. package/lib/typescript/commonjs/src/GamificationBannerViewNativeComponent.d.ts +7 -0
  250. package/lib/typescript/commonjs/src/GamificationBannerViewNativeComponent.d.ts.map +1 -0
  251. package/lib/typescript/commonjs/src/GamificationEmbedViewNativeComponent.d.ts +7 -0
  252. package/lib/typescript/commonjs/src/GamificationEmbedViewNativeComponent.d.ts.map +1 -0
  253. package/lib/typescript/commonjs/src/GamificationLoyaltyViewNativeComponent.d.ts +7 -0
  254. package/lib/typescript/commonjs/src/GamificationLoyaltyViewNativeComponent.d.ts.map +1 -0
  255. package/lib/typescript/commonjs/src/NativeHydraLib.d.ts +46 -0
  256. package/lib/typescript/commonjs/src/NativeHydraLib.d.ts.map +1 -0
  257. package/lib/typescript/commonjs/src/components/GamificationBannerView.d.ts +6 -0
  258. package/lib/typescript/commonjs/src/components/GamificationBannerView.d.ts.map +1 -0
  259. package/lib/typescript/commonjs/src/components/GamificationEmbedView.d.ts +6 -0
  260. package/lib/typescript/commonjs/src/components/GamificationEmbedView.d.ts.map +1 -0
  261. package/lib/typescript/commonjs/src/components/GamificationLoyaltyView.d.ts +6 -0
  262. package/lib/typescript/commonjs/src/components/GamificationLoyaltyView.d.ts.map +1 -0
  263. package/lib/typescript/commonjs/src/hydra-apis/Hydra.d.ts +15 -0
  264. package/lib/typescript/commonjs/src/hydra-apis/Hydra.d.ts.map +1 -0
  265. package/lib/typescript/commonjs/src/hydra-apis/HydraCore.d.ts +18 -0
  266. package/lib/typescript/commonjs/src/hydra-apis/HydraCore.d.ts.map +1 -0
  267. package/lib/typescript/commonjs/src/hydra-apis/HydraInAppMessaging.d.ts +8 -0
  268. package/lib/typescript/commonjs/src/hydra-apis/HydraInAppMessaging.d.ts.map +1 -0
  269. package/lib/typescript/commonjs/src/hydra-apis/HydraInbox.d.ts +9 -0
  270. package/lib/typescript/commonjs/src/hydra-apis/HydraInbox.d.ts.map +1 -0
  271. package/lib/typescript/commonjs/src/hydra-apis/HydraInboxUI.d.ts +5 -0
  272. package/lib/typescript/commonjs/src/hydra-apis/HydraInboxUI.d.ts.map +1 -0
  273. package/lib/typescript/commonjs/src/hydra-apis/HydraNativeEventEmitter.d.ts +35 -0
  274. package/lib/typescript/commonjs/src/hydra-apis/HydraNativeEventEmitter.d.ts.map +1 -0
  275. package/lib/typescript/commonjs/src/hydra-apis/HydraPushNotification.d.ts +6 -0
  276. package/lib/typescript/commonjs/src/hydra-apis/HydraPushNotification.d.ts.map +1 -0
  277. package/lib/typescript/commonjs/src/index.d.ts +37 -0
  278. package/lib/typescript/commonjs/src/index.d.ts.map +1 -0
  279. package/lib/typescript/commonjs/src/models/HydraAccountConfig.d.ts +14 -0
  280. package/lib/typescript/commonjs/src/models/HydraAccountConfig.d.ts.map +1 -0
  281. package/lib/typescript/commonjs/src/models/HydraFirebaseRemoteConfigKeys.d.ts +13 -0
  282. package/lib/typescript/commonjs/src/models/HydraFirebaseRemoteConfigKeys.d.ts.map +1 -0
  283. package/lib/typescript/commonjs/src/models/HydraGeoConfig.d.ts +14 -0
  284. package/lib/typescript/commonjs/src/models/HydraGeoConfig.d.ts.map +1 -0
  285. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppButtonComponent.d.ts +16 -0
  286. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppButtonComponent.d.ts.map +1 -0
  287. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppComponentStyle.d.ts +10 -0
  288. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppComponentStyle.d.ts.map +1 -0
  289. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.d.ts +9 -0
  290. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.d.ts.map +1 -0
  291. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppMessage.d.ts +29 -0
  292. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppMessage.d.ts.map +1 -0
  293. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppTemplateType.d.ts +15 -0
  294. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppTemplateType.d.ts.map +1 -0
  295. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppTextComponent.d.ts +11 -0
  296. package/lib/typescript/commonjs/src/models/HydraInAppMessage/HydraInAppTextComponent.d.ts.map +1 -0
  297. package/lib/typescript/commonjs/src/models/HydraLogLevel.d.ts +9 -0
  298. package/lib/typescript/commonjs/src/models/HydraLogLevel.d.ts.map +1 -0
  299. package/lib/typescript/commonjs/src/models/HydraNativeEvent.d.ts +20 -0
  300. package/lib/typescript/commonjs/src/models/HydraNativeEvent.d.ts.map +1 -0
  301. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotification.d.ts +32 -0
  302. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotification.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationBody.d.ts +19 -0
  304. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationBody.d.ts.map +1 -0
  305. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationCta.d.ts +13 -0
  306. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationCta.d.ts.map +1 -0
  307. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationCtaType.d.ts +13 -0
  308. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationCtaType.d.ts.map +1 -0
  309. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationExpandedDetails.d.ts +19 -0
  310. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationExpandedDetails.d.ts.map +1 -0
  311. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationGateway.d.ts +6 -0
  312. package/lib/typescript/commonjs/src/models/HydraNotification/HydraNotificationGateway.d.ts.map +1 -0
  313. package/lib/typescript/commonjs/src/models/HydraPushPreferences.d.ts +10 -0
  314. package/lib/typescript/commonjs/src/models/HydraPushPreferences.d.ts.map +1 -0
  315. package/lib/typescript/commonjs/src/models/HydraUserDetails.d.ts +16 -0
  316. package/lib/typescript/commonjs/src/models/HydraUserDetails.d.ts.map +1 -0
  317. package/lib/typescript/commonjs/src/models/HydraVisitorInfo.d.ts +6 -0
  318. package/lib/typescript/commonjs/src/models/HydraVisitorInfo.d.ts.map +1 -0
  319. package/lib/typescript/commonjs/src/models/NonHydraNotification.d.ts +9 -0
  320. package/lib/typescript/commonjs/src/models/NonHydraNotification.d.ts.map +1 -0
  321. package/lib/typescript/commonjs/src/models/UserState.d.ts +11 -0
  322. package/lib/typescript/commonjs/src/models/UserState.d.ts.map +1 -0
  323. package/lib/typescript/module/package.json +1 -0
  324. package/lib/typescript/module/src/GamificationBannerViewNativeComponent.d.ts +7 -0
  325. package/lib/typescript/module/src/GamificationBannerViewNativeComponent.d.ts.map +1 -0
  326. package/lib/typescript/module/src/GamificationEmbedViewNativeComponent.d.ts +7 -0
  327. package/lib/typescript/module/src/GamificationEmbedViewNativeComponent.d.ts.map +1 -0
  328. package/lib/typescript/module/src/GamificationLoyaltyViewNativeComponent.d.ts +7 -0
  329. package/lib/typescript/module/src/GamificationLoyaltyViewNativeComponent.d.ts.map +1 -0
  330. package/lib/typescript/module/src/NativeHydraLib.d.ts +46 -0
  331. package/lib/typescript/module/src/NativeHydraLib.d.ts.map +1 -0
  332. package/lib/typescript/module/src/components/GamificationBannerView.d.ts +6 -0
  333. package/lib/typescript/module/src/components/GamificationBannerView.d.ts.map +1 -0
  334. package/lib/typescript/module/src/components/GamificationEmbedView.d.ts +6 -0
  335. package/lib/typescript/module/src/components/GamificationEmbedView.d.ts.map +1 -0
  336. package/lib/typescript/module/src/components/GamificationLoyaltyView.d.ts +6 -0
  337. package/lib/typescript/module/src/components/GamificationLoyaltyView.d.ts.map +1 -0
  338. package/lib/typescript/module/src/hydra-apis/Hydra.d.ts +15 -0
  339. package/lib/typescript/module/src/hydra-apis/Hydra.d.ts.map +1 -0
  340. package/lib/typescript/module/src/hydra-apis/HydraCore.d.ts +18 -0
  341. package/lib/typescript/module/src/hydra-apis/HydraCore.d.ts.map +1 -0
  342. package/lib/typescript/module/src/hydra-apis/HydraInAppMessaging.d.ts +8 -0
  343. package/lib/typescript/module/src/hydra-apis/HydraInAppMessaging.d.ts.map +1 -0
  344. package/lib/typescript/module/src/hydra-apis/HydraInbox.d.ts +9 -0
  345. package/lib/typescript/module/src/hydra-apis/HydraInbox.d.ts.map +1 -0
  346. package/lib/typescript/module/src/hydra-apis/HydraInboxUI.d.ts +5 -0
  347. package/lib/typescript/module/src/hydra-apis/HydraInboxUI.d.ts.map +1 -0
  348. package/lib/typescript/module/src/hydra-apis/HydraNativeEventEmitter.d.ts +35 -0
  349. package/lib/typescript/module/src/hydra-apis/HydraNativeEventEmitter.d.ts.map +1 -0
  350. package/lib/typescript/module/src/hydra-apis/HydraPushNotification.d.ts +6 -0
  351. package/lib/typescript/module/src/hydra-apis/HydraPushNotification.d.ts.map +1 -0
  352. package/lib/typescript/module/src/index.d.ts +37 -0
  353. package/lib/typescript/module/src/index.d.ts.map +1 -0
  354. package/lib/typescript/module/src/models/HydraAccountConfig.d.ts +14 -0
  355. package/lib/typescript/module/src/models/HydraAccountConfig.d.ts.map +1 -0
  356. package/lib/typescript/module/src/models/HydraFirebaseRemoteConfigKeys.d.ts +13 -0
  357. package/lib/typescript/module/src/models/HydraFirebaseRemoteConfigKeys.d.ts.map +1 -0
  358. package/lib/typescript/module/src/models/HydraGeoConfig.d.ts +14 -0
  359. package/lib/typescript/module/src/models/HydraGeoConfig.d.ts.map +1 -0
  360. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppButtonComponent.d.ts +16 -0
  361. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppButtonComponent.d.ts.map +1 -0
  362. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppComponentStyle.d.ts +10 -0
  363. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppComponentStyle.d.ts.map +1 -0
  364. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.d.ts +9 -0
  365. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.d.ts.map +1 -0
  366. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppMessage.d.ts +29 -0
  367. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppMessage.d.ts.map +1 -0
  368. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppTemplateType.d.ts +15 -0
  369. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppTemplateType.d.ts.map +1 -0
  370. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppTextComponent.d.ts +11 -0
  371. package/lib/typescript/module/src/models/HydraInAppMessage/HydraInAppTextComponent.d.ts.map +1 -0
  372. package/lib/typescript/module/src/models/HydraLogLevel.d.ts +9 -0
  373. package/lib/typescript/module/src/models/HydraLogLevel.d.ts.map +1 -0
  374. package/lib/typescript/module/src/models/HydraNativeEvent.d.ts +20 -0
  375. package/lib/typescript/module/src/models/HydraNativeEvent.d.ts.map +1 -0
  376. package/lib/typescript/module/src/models/HydraNotification/HydraNotification.d.ts +32 -0
  377. package/lib/typescript/module/src/models/HydraNotification/HydraNotification.d.ts.map +1 -0
  378. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationBody.d.ts +19 -0
  379. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationBody.d.ts.map +1 -0
  380. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationCta.d.ts +13 -0
  381. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationCta.d.ts.map +1 -0
  382. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationCtaType.d.ts +13 -0
  383. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationCtaType.d.ts.map +1 -0
  384. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationExpandedDetails.d.ts +19 -0
  385. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationExpandedDetails.d.ts.map +1 -0
  386. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationGateway.d.ts +6 -0
  387. package/lib/typescript/module/src/models/HydraNotification/HydraNotificationGateway.d.ts.map +1 -0
  388. package/lib/typescript/module/src/models/HydraPushPreferences.d.ts +10 -0
  389. package/lib/typescript/module/src/models/HydraPushPreferences.d.ts.map +1 -0
  390. package/lib/typescript/module/src/models/HydraUserDetails.d.ts +16 -0
  391. package/lib/typescript/module/src/models/HydraUserDetails.d.ts.map +1 -0
  392. package/lib/typescript/module/src/models/HydraVisitorInfo.d.ts +6 -0
  393. package/lib/typescript/module/src/models/HydraVisitorInfo.d.ts.map +1 -0
  394. package/lib/typescript/module/src/models/NonHydraNotification.d.ts +9 -0
  395. package/lib/typescript/module/src/models/NonHydraNotification.d.ts.map +1 -0
  396. package/lib/typescript/module/src/models/UserState.d.ts +11 -0
  397. package/lib/typescript/module/src/models/UserState.d.ts.map +1 -0
  398. package/package.json +225 -0
  399. package/react-native-hydra-lib.podspec +256 -0
  400. package/react-native.config.js +33 -0
  401. package/sbom.spdx.json +544 -0
  402. package/scripts/HydraPods.rb +151 -0
  403. package/scripts/generate-sbom.js +367 -0
  404. package/scripts/hydra-podspecs/HydraCore.podspec +13 -0
  405. package/scripts/hydra-podspecs/HydraInAppMessage.podspec +15 -0
  406. package/scripts/hydra-podspecs/HydraInboxCore.podspec +15 -0
  407. package/scripts/hydra-podspecs/HydraInboxUI.podspec +15 -0
  408. package/scripts/hydra-podspecs/HydraPushNotification.podspec +14 -0
  409. package/scripts/hydra-podspecs/HydraPushNotificationServiceExtension.podspec +15 -0
  410. package/src/GamificationBannerViewNativeComponent.ts +10 -0
  411. package/src/GamificationEmbedViewNativeComponent.ts +10 -0
  412. package/src/GamificationLoyaltyViewNativeComponent.ts +10 -0
  413. package/src/NativeHydraLib.ts +81 -0
  414. package/src/components/GamificationBannerView.tsx +10 -0
  415. package/src/components/GamificationEmbedView.tsx +10 -0
  416. package/src/components/GamificationLoyaltyView.tsx +10 -0
  417. package/src/hydra-apis/Hydra.ts +52 -0
  418. package/src/hydra-apis/HydraCore.ts +76 -0
  419. package/src/hydra-apis/HydraInAppMessaging.ts +25 -0
  420. package/src/hydra-apis/HydraInbox.ts +33 -0
  421. package/src/hydra-apis/HydraInboxUI.ts +10 -0
  422. package/src/hydra-apis/HydraNativeEventEmitter.ts +216 -0
  423. package/src/hydra-apis/HydraPushNotification.ts +15 -0
  424. package/src/index.tsx +71 -0
  425. package/src/models/HydraAccountConfig.ts +45 -0
  426. package/src/models/HydraFirebaseRemoteConfigKeys.ts +43 -0
  427. package/src/models/HydraGeoConfig.ts +27 -0
  428. package/src/models/HydraInAppMessage/HydraInAppButtonComponent.ts +27 -0
  429. package/src/models/HydraInAppMessage/HydraInAppComponentStyle.ts +24 -0
  430. package/src/models/HydraInAppMessage/HydraInAppFeedbackSelectionType.ts +35 -0
  431. package/src/models/HydraInAppMessage/HydraInAppMessage.ts +89 -0
  432. package/src/models/HydraInAppMessage/HydraInAppTemplateType.ts +57 -0
  433. package/src/models/HydraInAppMessage/HydraInAppTextComponent.ts +18 -0
  434. package/src/models/HydraLogLevel.ts +8 -0
  435. package/src/models/HydraNativeEvent.ts +19 -0
  436. package/src/models/HydraNotification/HydraNotification.ts +97 -0
  437. package/src/models/HydraNotification/HydraNotificationBody.ts +23 -0
  438. package/src/models/HydraNotification/HydraNotificationCta.ts +20 -0
  439. package/src/models/HydraNotification/HydraNotificationCtaType.ts +59 -0
  440. package/src/models/HydraNotification/HydraNotificationExpandedDetails.ts +28 -0
  441. package/src/models/HydraNotification/HydraNotificationGateway.ts +5 -0
  442. package/src/models/HydraPushPreferences.ts +16 -0
  443. package/src/models/HydraUserDetails.ts +31 -0
  444. package/src/models/HydraVisitorInfo.ts +14 -0
  445. package/src/models/NonHydraNotification.ts +15 -0
  446. package/src/models/UserState.ts +33 -0
@@ -0,0 +1,322 @@
1
+ // HydraExtensions.swift
2
+ // react-native-hydra-lib
3
+ //
4
+ // Created by Sandesh Kumar Jain on 07/01/25.
5
+ //
6
+
7
+ import Foundation
8
+ import HydraCore
9
+ import HydraInboxUI
10
+ import HydraInAppMessage
11
+ import SwiftUI
12
+
13
+ extension CTA{
14
+ func toDict() -> [String : Any]{
15
+ var ctaDict = [String : Any]()
16
+
17
+ ctaDict["actionText"] = actionText
18
+ ctaDict["action"] = action
19
+ ctaDict["type"] = type
20
+
21
+ return ctaDict
22
+ }
23
+ }
24
+
25
+ extension Body{
26
+ func toDict() -> [String : Any]{
27
+ var bodyDict = [String : Any]()
28
+ bodyDict["title"] = title
29
+ bodyDict["message"] = message
30
+ bodyDict["image"] = image
31
+ bodyDict["cta"] = cta.toDict()
32
+ return bodyDict
33
+ }
34
+ }
35
+
36
+ extension ExpandableDetails{
37
+ func toDict() -> [String : Any]{
38
+ var detailsDict = [String : Any]()
39
+ detailsDict["image"] = image
40
+ detailsDict["message"] = message
41
+ detailsDict["style"] = style.rawValue
42
+ detailsDict["ctas"] = ctas.map{ $0.toDict()}
43
+ return detailsDict
44
+ }
45
+ }
46
+
47
+ extension HydraNotificationPayload{
48
+ func toDict() -> [String : Any]{
49
+ var notificationDict = [String : Any]()
50
+ notificationDict["cuid"] = cuid
51
+ notificationDict["scope"] = scope
52
+ notificationDict["campaignId"] = campaignId
53
+ notificationDict["variationId"] = variationId
54
+ notificationDict["senderId"] = senderID
55
+ notificationDict["senderSource"] = senderSource
56
+ notificationDict["custom"] = custom
57
+ notificationDict["priority"] = priority
58
+ notificationDict["validity"] = validity
59
+ notificationDict["messageId"] = messageId
60
+ notificationDict["gateway"] = gateway.rawValue
61
+ notificationDict["body"] = body.toDict()
62
+ notificationDict["expandableDetails"] = expandableDetails.toDict()
63
+ notificationDict["isRead"] = isRead
64
+ // notificationDict["imageIdentifier"] = imageIdentifier
65
+ notificationDict["accountId"] = accountId
66
+ notificationDict["createdAt"] = createdAt?.toISOStr()
67
+ return notificationDict
68
+ }
69
+ }
70
+
71
+ extension HydraInAppMessage.HydraInAppMessagePayload{
72
+ func toDict() -> [String : Any]{
73
+ var inAppDict = [String : Any]()
74
+ inAppDict["scope"] = scope
75
+ inAppDict["campaignId"] = campaignId
76
+ inAppDict["cuid"] = cuid
77
+ inAppDict["variationId"] = variationId
78
+ inAppDict["senderId"] = senderID
79
+ inAppDict["senderSource"] = senderSource
80
+ inAppDict["custom"] = custom
81
+ inAppDict["priority"] = priority
82
+ inAppDict["validity"] = validity
83
+ inAppDict["messageId"] = messageId
84
+
85
+ var titleDict = [String : Any]()
86
+ titleDict["text"] = body.title
87
+ titleDict["style"] = template.title.toDict()
88
+ inAppDict["title"] = titleDict
89
+
90
+ var messageDict = [String : Any]()
91
+ messageDict["text"] = body.message
92
+ messageDict["style"] = template.message.toDict()
93
+ inAppDict["message"] = messageDict
94
+
95
+ inAppDict["imageUrl"] = body.image
96
+ inAppDict["campaignType"] = body.type.rawValue
97
+ inAppDict["eventAttributes"] = trigger.attributes
98
+ inAppDict["templateType"] = body.type.rawValue
99
+
100
+ inAppDict["phoneBackgroundColor"] = template.phoneBackgroundColor.toHexString()
101
+ inAppDict["layoutBackgroundColor"] = template.layoutBackgroundColor.toHexString()
102
+ inAppDict["feedbackType"] = body.feedback.selectionType.rawValue
103
+ if !body.feedback.options.isEmpty{
104
+ inAppDict["feedbackOptions"] = body.feedback.options
105
+ }
106
+
107
+ inAppDict["selectedColor"] = template.rating.selectedColor?.toHexString()
108
+ inAppDict["unselectedColor"] = template.rating.unselectedColor?.toHexString
109
+ inAppDict["createdAt"] = createdAt?.toISOStr()
110
+ inAppDict["nativeJsonPaylod"] = getJSON().toJsonString() ?? ""
111
+
112
+ return inAppDict
113
+ }
114
+
115
+
116
+ }
117
+
118
+ extension HydraInAppMessage.InAppMessageComponentStyle{
119
+ func toDict() -> [String : Any]{
120
+ var styleDict = [String : Any]()
121
+ styleDict["fontSize"] = "\(textSize)"
122
+ styleDict["fontName"] = textFont
123
+ styleDict["textColor"] = textColor?.toHexString()
124
+ styleDict["backgroundColor"] = backgroundColor?.toHexString()
125
+ styleDict["fontStyle"] = textStyle.rawValue
126
+ return styleDict
127
+ }
128
+ }
129
+
130
+ extension Dictionary<String, Any>{
131
+ func toHydraFont() -> HydraFont{
132
+ let size = self["FONT_SIZE"] as? CGFloat ?? 0.0
133
+ let name = self["FONT_NAME"] as? String ?? ""
134
+ return HydraFont(size: size, name: name)
135
+ }
136
+
137
+ func toHydraRNInboxUIConfiguration(_ type: InboxUIConfigurationType) -> HydraReactNativeInboxUIConfiguration{
138
+ let backgroundColor = self["CELL_BACKROUND_COLOR"] as? String
139
+
140
+ let titleLabelTextColor = self["CELL_TITLE_LABEL_TEXT_COLOR"] as? String
141
+ let titleFont = (self["CELL_TITLE_LABEL_FONT"] as? [String : Any])?.toHydraFont()
142
+ let titleLabelLineLimit = self["CELL_TITLE_LABEL_LINE_LIMIT"] as? Int ?? 2
143
+
144
+
145
+ let messageLabelTextColor = self["CELL_MESSAGE_LABEL_TEXT_COLOR"] as? String
146
+ let messageFont = (self["CELL_MESSAGE_LABEL_FONT"] as? [String : Any])?.toHydraFont()
147
+ let messageLabelLineLimit = self["CELL_MESSAGE_LABEL_LINE_LIMIT"] as? Int ?? 2
148
+
149
+
150
+ let timeLabelTextColor = self["CELL_TIME_LABEL_TEXT_COLOR"] as? String
151
+ let timeFont = (self["CELL_TIME_LABEL_FONT"] as? [String : Any])?.toHydraFont()
152
+
153
+ let positiveCTAButtonBGColor = self["CELL_POSITIVE_CTA_BUTTON_BG_COLOR"] as? String
154
+ let positiveCTAButtonTextColor = self["CELL_POSITIVE_CTA_BUTTON_TEXT_COLOR"] as? String
155
+ let positiveCTAButtonBorderColor = self["CELL_POSITIVE_CTA_BUTTON_BORDER_COLOR"] as? String
156
+ let positiveCTAButtonBorderWidth = self["CELL_POSITIVE_CTA_BUTTON_BORDER_WIDTH"] as? CGFloat ?? 2
157
+
158
+ let negativeCTAButtonBGColor = self["CELL_NEGATIVE_CTA_BUTTON_BG_COLOR"] as? String
159
+ let negativeCTAButtonTextColor = self["CELL_NEGATIVE_CTA_BUTTON_TEXT_COLOR"] as? String
160
+ let negativeCTAButtonBorderColor = self["CELL_NEGATIVE_CTA_BUTTON_BORDER_COLOR"] as? String
161
+ let negativeCTAButtonBorderWidth = self["CELL_NEGETIVE_CTA_BUTTON_BORDER_WIDTH"] as? CGFloat ?? 2
162
+
163
+ let neutralCTAButtonTextColor = self["CELL_NEUTRAL_CTA_BUTTON_TEXT_COLOR"] as? String
164
+ let neutralCTAButtonBorderColor = self["CELL_NEUTRAL_CTA_BUTTON_BORDER_COLOR"] as? String
165
+ let neutralCTAButtonBorderWidth = self["CELL_NEUTRAL_CTA_BUTTON_BORDER_WIDTH"] as? CGFloat ?? 2
166
+
167
+ let primaryCTABackgroundColor = self["CELL_PRIMARY_CTA_BACKGROUND_COLOR"] as? String
168
+ let withoutPrimaryCTABAckgroundColor = self["CELL_WITHOUT_PRIMARY_CTA_BACKGROUND_COLOR"] as? String
169
+ let unreadStatusColor = self["CELL_UNREAD_STATUS_COLOR"] as? String
170
+
171
+ let ctaButtonsLabelFont = (self["CELL_CTA_BUTTONS_LABEL_FONT"] as? [String : Any])?.toHydraFont()
172
+
173
+ return HydraReactNativeInboxUIConfiguration(
174
+ type: type,
175
+ cellBackgroundColor: backgroundColor?.toHexColorString(),
176
+ cellTitleLabelTextColor: titleLabelTextColor?.toHexColorString(),
177
+ cellMessageLabelTextColor: messageLabelTextColor?.toHexColorString(),
178
+ cellTimeLabelTextColor: timeLabelTextColor?.toHexColorString(),
179
+ cellPrimaryCTABackgroundColor: primaryCTABackgroundColor?.toHexColorString(),
180
+ cellWithoutPrimaryCTABackgroundColor: withoutPrimaryCTABAckgroundColor?.toHexColorString(),
181
+ cellPositiveCTAButtonBgColor: positiveCTAButtonBGColor?.toHexColorString(),
182
+ cellPositiveCTAButtonTextColor: positiveCTAButtonTextColor?.toHexColorString(),
183
+ cellNegativeCTAButtonBgColor: negativeCTAButtonBGColor?.toHexColorString(),
184
+ cellNegativeCTAButtonTextColor: negativeCTAButtonTextColor?.toHexColorString(),
185
+ cellNeutralCTAButtonTextColor: neutralCTAButtonTextColor?.toHexColorString(),
186
+ cellPositiveCTAButtonBorderColor: positiveCTAButtonBorderColor?.toHexColorString(),
187
+ cellNegativeCTAButtonBorderColor: negativeCTAButtonBorderColor?.toHexColorString(),
188
+ cellNeutralCTAButtonBorderColor: neutralCTAButtonBorderColor?.toHexColorString(),
189
+ cellUnreadStatusColor: unreadStatusColor?.toHexColorString(),
190
+ cellTitleLabelFont: titleFont,
191
+ cellMessageLabelFont: messageFont,
192
+ cellCTAButtonsLabelFont: ctaButtonsLabelFont,
193
+ cellTimeLabelFont: timeFont,
194
+ cellTitleLabelLineLimit: titleLabelLineLimit,
195
+ cellMessageLabelLineLimit: messageLabelLineLimit,
196
+ cellPositiveCTAButtonBorderWidth: positiveCTAButtonBorderWidth,
197
+ cellNegativeCTAButtonBorderWidth: negativeCTAButtonBorderWidth,
198
+ cellNeutralCTAButtonBorderWidth: neutralCTAButtonBorderWidth
199
+ )
200
+ }
201
+
202
+ func toHydraInboxEmptyNotificationsConfig() -> HydraInboxEmptyNotificationsConfiguration{
203
+ let notFoundLabelTextColor = UIColor(hex: self["NOT_FOUND_LABEL_TEXT_COLOR"] as? String ?? "#000000")
204
+ let notFoundLabelFont = (self["NOT_FOUND_LABEL_FONT"] as? [String : Any])?.toHydraFont()
205
+
206
+ return HydraInboxEmptyNotificationsConfiguration(
207
+ notificationsNotFoundLabelTextColor: notFoundLabelTextColor!,
208
+ notificationsNotFoundLabelFont: UIFont(name:notFoundLabelFont!.name, size:notFoundLabelFont!.size)!
209
+ )
210
+ }
211
+
212
+ func toJsonString() -> String? {
213
+ guard JSONSerialization.isValidJSONObject(self) else { return nil }
214
+ do {
215
+ let data = try JSONSerialization.data(withJSONObject: self, options: [.prettyPrinted])
216
+ return String(data: data, encoding: .utf8)
217
+ } catch {
218
+ print("Error serializing JSON:", error)
219
+ return nil
220
+ }
221
+ }
222
+ }
223
+
224
+ extension UIColor {
225
+ // Initializes a new UIColor instance from a hex string
226
+ convenience init?(hex: String) {
227
+ var hexString = hex.trimmingCharacters(in: .whitespacesAndNewlines).uppercased()
228
+ if hexString.hasPrefix("#") {
229
+ hexString.removeFirst()
230
+ }
231
+
232
+ if hexString.hasPrefix("0X"){
233
+ hexString.removeFirst(2)
234
+ }
235
+
236
+ let scanner = Scanner(string: hexString)
237
+
238
+ var rgbValue: UInt64 = 0
239
+ guard scanner.scanHexInt64(&rgbValue) else {
240
+ return nil
241
+ }
242
+
243
+ var red, green, blue, alpha: UInt64
244
+ switch hexString.count {
245
+ case 6:
246
+ red = (rgbValue >> 16)
247
+ green = (rgbValue >> 8 & 0xFF)
248
+ blue = (rgbValue & 0xFF)
249
+ alpha = 255
250
+ case 8:
251
+ red = (rgbValue >> 16)
252
+ green = (rgbValue >> 8 & 0xFF)
253
+ blue = (rgbValue & 0xFF)
254
+ alpha = rgbValue >> 24
255
+ default:
256
+ return nil
257
+ }
258
+
259
+ self.init(red: CGFloat(red) / 255, green: CGFloat(green) / 255, blue: CGFloat(blue) / 255, alpha: CGFloat(alpha) / 255)
260
+ }
261
+
262
+ func toHexString(includeAlpha: Bool = false) -> String {
263
+ var red: CGFloat = 0
264
+ var green: CGFloat = 0
265
+ var blue: CGFloat = 0
266
+ var alpha: CGFloat = 0
267
+
268
+ self.getRed(&red, green: &green, blue: &blue, alpha: &alpha)
269
+
270
+ if includeAlpha {
271
+ return String(format: "#%02lX%02lX%02lX%02lX",
272
+ lroundf(Float(alpha * 255)),
273
+ lroundf(Float(red * 255)),
274
+ lroundf(Float(green * 255)),
275
+ lroundf(Float(blue * 255)))
276
+ } else {
277
+ return String(format: "#%02lX%02lX%02lX",
278
+ lroundf(Float(red * 255)),
279
+ lroundf(Float(green * 255)),
280
+ lroundf(Float(blue * 255)))
281
+ }
282
+ }
283
+ }
284
+
285
+ extension Color{
286
+ func toHexString() -> String{
287
+ let uiColor = UIColor(self)
288
+ return uiColor.toHexString()
289
+ }
290
+ }
291
+ extension String{
292
+ func toHexColorString() -> String{
293
+ var inputString = self.trimmingCharacters(in: .whitespacesAndNewlines).uppercased()
294
+
295
+ if inputString.hasPrefix("0X"){
296
+ inputString.removeFirst(2)
297
+ }
298
+
299
+ let hexColor: String
300
+ if inputString.hasPrefix("#"){
301
+ hexColor = inputString
302
+ }
303
+ else{
304
+ hexColor = "#\(inputString)"
305
+ }
306
+ return hexColor
307
+ }
308
+
309
+ func capitalizingFirstLetter() -> String {
310
+ return prefix(1).uppercased() + self.dropFirst()
311
+ }
312
+
313
+ }
314
+
315
+ extension Date {
316
+ func toISOStr() -> String {
317
+ let formatter = ISO8601DateFormatter()
318
+ formatter.formatOptions = [.withInternetDateTime, .withFractionalSeconds]
319
+ formatter.timeZone = TimeZone(abbreviation: "UTC")
320
+ return formatter.string(from: self)
321
+ }
322
+ }
@@ -0,0 +1,13 @@
1
+ //
2
+ // HydraConstants.swift
3
+ // react-native-hydra-lib
4
+ //
5
+ // Created by Sandesh Kumar Jain on 13/05/25.
6
+ //
7
+
8
+ import Foundation
9
+
10
+ public enum HydraRNConstants {
11
+ public static let hydraRemoreConfig: String = "HydraRemoteConfig"
12
+ public static let hydraFirebaseRemoteConfigKeys: String = "HydraFirebaseRemoteConfigKeys"
13
+ }
@@ -0,0 +1,31 @@
1
+ import Foundation
2
+ import os.log
3
+
4
+ class RNHydraLogger: NSObject {
5
+ private static let subsystem = Bundle.main.bundleIdentifier ?? "com.capillary.hydra"
6
+ private static let logger = OSLog(subsystem: subsystem, category: "HydraSDK")
7
+
8
+ static func debug(_ message: String, file: String = #file, function: String = #function, line: Int = #line) {
9
+ let fileName = (file as NSString).lastPathComponent
10
+ let logMessage = "[\(fileName):\(line)] \(function): \(message)"
11
+ os_log(.default, log: logger, "DEBUG: %{public}@", logMessage)
12
+ }
13
+
14
+ static func info(_ message: String, file: String = #file, function: String = #function, line: Int = #line) {
15
+ let fileName = (file as NSString).lastPathComponent
16
+ let logMessage = "[\(fileName):\(line)] \(function): \(message)"
17
+ os_log(.default, log: logger, "INFO: %{public}@", logMessage)
18
+ }
19
+
20
+ static func error(_ message: String, file: String = #file, function: String = #function, line: Int = #line) {
21
+ let fileName = (file as NSString).lastPathComponent
22
+ let logMessage = "[\(fileName):\(line)] \(function): \(message)"
23
+ os_log(.error, log: logger, "ERROR: %{public}@", logMessage)
24
+ }
25
+
26
+ static func fault(_ message: String, file: String = #file, function: String = #function, line: Int = #line) {
27
+ let fileName = (file as NSString).lastPathComponent
28
+ let logMessage = "[\(fileName):\(line)] \(function): \(message)"
29
+ os_log(.fault, log: logger, "FAULT: %{public}@", logMessage)
30
+ }
31
+ }
@@ -0,0 +1,24 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateComponentDescriptorCpp.js
9
+ */
10
+
11
+ #include "ComponentDescriptors.h"
12
+ #include <react/renderer/core/ConcreteComponentDescriptor.h>
13
+ #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
14
+
15
+ namespace facebook::react {
16
+
17
+ void RNHydraLibSpec_registerComponentDescriptorsFromCodegen(
18
+ std::shared_ptr<const ComponentDescriptorProviderRegistry> registry) {
19
+ registry->add(concreteComponentDescriptorProvider<GamificationBannerViewComponentDescriptor>());
20
+ registry->add(concreteComponentDescriptorProvider<GamificationEmbedViewComponentDescriptor>());
21
+ registry->add(concreteComponentDescriptorProvider<GamificationLoyaltyViewComponentDescriptor>());
22
+ }
23
+
24
+ } // namespace facebook::react
@@ -0,0 +1,26 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateComponentDescriptorH.js
9
+ */
10
+
11
+ #pragma once
12
+
13
+ #include "ShadowNodes.h"
14
+ #include <react/renderer/core/ConcreteComponentDescriptor.h>
15
+ #include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
16
+
17
+ namespace facebook::react {
18
+
19
+ using GamificationBannerViewComponentDescriptor = ConcreteComponentDescriptor<GamificationBannerViewShadowNode>;
20
+ using GamificationEmbedViewComponentDescriptor = ConcreteComponentDescriptor<GamificationEmbedViewShadowNode>;
21
+ using GamificationLoyaltyViewComponentDescriptor = ConcreteComponentDescriptor<GamificationLoyaltyViewShadowNode>;
22
+
23
+ void RNHydraLibSpec_registerComponentDescriptorsFromCodegen(
24
+ std::shared_ptr<const ComponentDescriptorProviderRegistry> registry);
25
+
26
+ } // namespace facebook::react
@@ -0,0 +1,18 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateEventEmitterCpp.js
9
+ */
10
+
11
+ #include "EventEmitters.h"
12
+
13
+
14
+ namespace facebook::react {
15
+
16
+
17
+
18
+ } // namespace facebook::react
@@ -0,0 +1,37 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GenerateEventEmitterH.js
9
+ */
10
+ #pragma once
11
+
12
+ #include <react/renderer/components/view/ViewEventEmitter.h>
13
+
14
+
15
+ namespace facebook::react {
16
+ class GamificationBannerViewEventEmitter : public ViewEventEmitter {
17
+ public:
18
+ using ViewEventEmitter::ViewEventEmitter;
19
+
20
+
21
+
22
+ };
23
+ class GamificationEmbedViewEventEmitter : public ViewEventEmitter {
24
+ public:
25
+ using ViewEventEmitter::ViewEventEmitter;
26
+
27
+
28
+
29
+ };
30
+ class GamificationLoyaltyViewEventEmitter : public ViewEventEmitter {
31
+ public:
32
+ using ViewEventEmitter::ViewEventEmitter;
33
+
34
+
35
+
36
+ };
37
+ } // namespace facebook::react
@@ -0,0 +1,39 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GeneratePropsCpp.js
9
+ */
10
+
11
+ #include "Props.h"
12
+ #include <react/renderer/core/PropsParserContext.h>
13
+ #include <react/renderer/core/propsConversions.h>
14
+
15
+ namespace facebook::react {
16
+
17
+ GamificationBannerViewProps::GamificationBannerViewProps(
18
+ const PropsParserContext &context,
19
+ const GamificationBannerViewProps &sourceProps,
20
+ const RawProps &rawProps): ViewProps(context, sourceProps, rawProps),
21
+
22
+ bannerId(convertRawProp(context, rawProps, "bannerId", sourceProps.bannerId, {}))
23
+ {}
24
+ GamificationEmbedViewProps::GamificationEmbedViewProps(
25
+ const PropsParserContext &context,
26
+ const GamificationEmbedViewProps &sourceProps,
27
+ const RawProps &rawProps): ViewProps(context, sourceProps, rawProps),
28
+
29
+ embedId(convertRawProp(context, rawProps, "embedId", sourceProps.embedId, {}))
30
+ {}
31
+ GamificationLoyaltyViewProps::GamificationLoyaltyViewProps(
32
+ const PropsParserContext &context,
33
+ const GamificationLoyaltyViewProps &sourceProps,
34
+ const RawProps &rawProps): ViewProps(context, sourceProps, rawProps),
35
+
36
+ loyaltyId(convertRawProp(context, rawProps, "loyaltyId", sourceProps.loyaltyId, {}))
37
+ {}
38
+
39
+ } // namespace facebook::react
@@ -0,0 +1,47 @@
1
+
2
+ /**
3
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
4
+ *
5
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
6
+ * once the code is regenerated.
7
+ *
8
+ * @generated by codegen project: GeneratePropsH.js
9
+ */
10
+ #pragma once
11
+
12
+ #include <react/renderer/components/view/ViewProps.h>
13
+ #include <react/renderer/core/PropsParserContext.h>
14
+
15
+ namespace facebook::react {
16
+
17
+ class GamificationBannerViewProps final : public ViewProps {
18
+ public:
19
+ GamificationBannerViewProps() = default;
20
+ GamificationBannerViewProps(const PropsParserContext& context, const GamificationBannerViewProps &sourceProps, const RawProps &rawProps);
21
+
22
+ #pragma mark - Props
23
+
24
+ std::string bannerId{};
25
+ };
26
+
27
+ class GamificationEmbedViewProps final : public ViewProps {
28
+ public:
29
+ GamificationEmbedViewProps() = default;
30
+ GamificationEmbedViewProps(const PropsParserContext& context, const GamificationEmbedViewProps &sourceProps, const RawProps &rawProps);
31
+
32
+ #pragma mark - Props
33
+
34
+ std::string embedId{};
35
+ };
36
+
37
+ class GamificationLoyaltyViewProps final : public ViewProps {
38
+ public:
39
+ GamificationLoyaltyViewProps() = default;
40
+ GamificationLoyaltyViewProps(const PropsParserContext& context, const GamificationLoyaltyViewProps &sourceProps, const RawProps &rawProps);
41
+
42
+ #pragma mark - Props
43
+
44
+ std::string loyaltyId{};
45
+ };
46
+
47
+ } // namespace facebook::react
@@ -0,0 +1,28 @@
1
+ /**
2
+ * This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
3
+ *
4
+ * Do not edit this file as changes may cause incorrect behavior and will be lost
5
+ * once the code is regenerated.
6
+ *
7
+ * @generated by codegen project: GenerateComponentHObjCpp.js
8
+ */
9
+
10
+ #import <Foundation/Foundation.h>
11
+ #import <React/RCTDefines.h>
12
+ #import <React/RCTLog.h>
13
+
14
+ NS_ASSUME_NONNULL_BEGIN
15
+
16
+ @protocol RCTGamificationBannerViewViewProtocol <NSObject>
17
+
18
+ @end
19
+
20
+ @protocol RCTGamificationEmbedViewViewProtocol <NSObject>
21
+
22
+ @end
23
+
24
+ @protocol RCTGamificationLoyaltyViewViewProtocol <NSObject>
25
+
26
+ @end
27
+
28
+ NS_ASSUME_NONNULL_END