@primer-io/react-native 2.38.0 → 2.39.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 (479) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +149 -0
  3. package/android/build.gradle +34 -83
  4. package/android/src/main/java/com/primerioreactnative/{PrimerRN.kt → DefaultNativePrimerModule.kt} +87 -79
  5. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +4 -1
  6. package/android/src/main/java/com/primerioreactnative/PrimerSdkPackage.kt +117 -0
  7. package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNAchMandateManager.kt +4 -1
  8. package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.kt +8 -4
  9. package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +7 -2
  10. package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +7 -4
  11. package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonConstantsModule.kt +3 -1
  12. package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +9 -5
  13. package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +8 -2
  14. package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +7 -3
  15. package/android/src/main/java/com/primerioreactnative/components/manager/vault/PrimerRNHeadlessUniversalCheckoutVaultManager.kt +7 -1
  16. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +4 -5
  17. package/android/src/main/java/com/primerioreactnative/extensions/PrimerUIOptionsRN.kt +1 -2
  18. package/android/src/newarch/java/com/primerioreactnative/NativePrimerModule.kt +119 -0
  19. package/android/src/oldarch/java/com/primerioreactnative/NativePrimerModule.kt +135 -0
  20. package/ios/ReactNative.xcodeproj/project.pbxproj +14 -0
  21. package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.swift +1 -0
  22. package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.swift +0 -1
  23. package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.swift +1 -2
  24. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNPrimerHeadlessUniversalCheckoutVaultManager.swift +1 -0
  25. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +1 -0
  26. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift +1 -0
  27. package/ios/Sources/Headless Universal Checkout/Managers/RNTRedirectManager.swift +1 -0
  28. package/ios/Sources/NativePrimer/RCTNativePrimer.h +20 -0
  29. package/ios/Sources/NativePrimer/RCTNativePrimer.mm +222 -0
  30. package/ios/Sources/RNTPrimer.swift +27 -40
  31. package/ios/Sources/version.swift +1 -1
  32. package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js +11 -8
  33. package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
  34. package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js +2 -0
  35. package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
  36. package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js +2 -0
  37. package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
  38. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +2 -0
  39. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
  40. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +15 -19
  41. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
  42. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -0
  43. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
  44. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +15 -19
  45. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
  46. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js +15 -19
  47. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
  48. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +2 -0
  49. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
  50. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +11 -16
  51. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
  52. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js +2 -0
  53. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
  54. package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js +3 -1
  55. package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
  56. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +30 -42
  57. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  58. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +2 -0
  59. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  60. package/lib/module/HeadlessUniversalCheckout/types.js +1 -0
  61. package/lib/module/HeadlessUniversalCheckout/types.js.map +1 -1
  62. package/lib/module/Primer.js +14 -13
  63. package/lib/module/Primer.js.map +1 -1
  64. package/lib/module/RNPrimer.js +23 -26
  65. package/lib/module/RNPrimer.js.map +1 -1
  66. package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js +2 -0
  67. package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  68. package/lib/module/index.js +28 -16
  69. package/lib/module/index.js.map +1 -1
  70. package/lib/module/models/IssuingBank.js +1 -1
  71. package/lib/module/models/IssuingBank.js.map +1 -1
  72. package/lib/module/models/NamedComponentStep.js +1 -1
  73. package/lib/module/models/NamedComponentStep.js.map +1 -1
  74. package/lib/module/models/NamedComponentValidatableData.js +1 -1
  75. package/lib/module/models/NamedComponentValidatableData.js.map +1 -1
  76. package/lib/module/models/PrimerCheckoutAdditionalInfo.js +1 -1
  77. package/lib/module/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  78. package/lib/module/models/PrimerCheckoutData.js +2 -0
  79. package/lib/module/models/PrimerCheckoutData.js.map +1 -1
  80. package/lib/module/models/PrimerCheckoutPaymentMethodData.js +1 -1
  81. package/lib/module/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  82. package/lib/module/models/PrimerClientSession.js +1 -1
  83. package/lib/module/models/PrimerClientSession.js.map +1 -1
  84. package/lib/module/models/PrimerComponentDataValidation.js +2 -0
  85. package/lib/module/models/PrimerComponentDataValidation.js.map +1 -1
  86. package/lib/module/models/PrimerError.js +2 -0
  87. package/lib/module/models/PrimerError.js.map +1 -1
  88. package/lib/module/models/PrimerHandlers.js +1 -1
  89. package/lib/module/models/PrimerHandlers.js.map +1 -1
  90. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +1 -1
  91. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -1
  92. package/lib/module/models/PrimerImplementedRNCallbacks.js +1 -1
  93. package/lib/module/models/PrimerImplementedRNCallbacks.js.map +1 -1
  94. package/lib/module/models/PrimerInitializationData.js +2 -0
  95. package/lib/module/models/PrimerInitializationData.js.map +1 -1
  96. package/lib/module/models/PrimerInputElementType.js +2 -0
  97. package/lib/module/models/PrimerInputElementType.js.map +1 -1
  98. package/lib/module/models/PrimerInterfaces.js +2 -0
  99. package/lib/module/models/PrimerInterfaces.js.map +1 -1
  100. package/lib/module/models/PrimerPaymentMethodManagerCategory.js +2 -0
  101. package/lib/module/models/PrimerPaymentMethodManagerCategory.js.map +1 -1
  102. package/lib/module/models/PrimerPaymentMethodResource.js +1 -1
  103. package/lib/module/models/PrimerPaymentMethodResource.js.map +1 -1
  104. package/lib/module/models/PrimerPaymentMethodTokenData.js +2 -0
  105. package/lib/module/models/PrimerPaymentMethodTokenData.js.map +1 -1
  106. package/lib/module/models/PrimerRawData.js +1 -1
  107. package/lib/module/models/PrimerRawData.js.map +1 -1
  108. package/lib/module/models/PrimerSessionIntent.js +2 -0
  109. package/lib/module/models/PrimerSessionIntent.js.map +1 -1
  110. package/lib/module/models/PrimerSettings.js +2 -0
  111. package/lib/module/models/PrimerSettings.js.map +1 -1
  112. package/lib/module/models/PrimerTheme.js +1 -1
  113. package/lib/module/models/PrimerTheme.js.map +1 -1
  114. package/lib/module/models/PrimerValidationError.js +1 -1
  115. package/lib/module/models/PrimerValidationError.js.map +1 -1
  116. package/lib/module/models/PrimerValidationErrorResult.js +2 -0
  117. package/lib/module/models/PrimerValidationErrorResult.js.map +1 -1
  118. package/lib/module/models/PrimerVaultedPaymentMethod.js +2 -0
  119. package/lib/module/models/PrimerVaultedPaymentMethod.js.map +1 -1
  120. package/lib/module/models/PrimerVaultedPaymentMethodAdditionalData.js +1 -1
  121. package/lib/module/models/PrimerVaultedPaymentMethodAdditionalData.js.map +1 -1
  122. package/lib/module/models/PrimerVaultedPaymentMethodResult.js +2 -0
  123. package/lib/module/models/PrimerVaultedPaymentMethodResult.js.map +1 -1
  124. package/lib/module/models/RetailOutletsRetail.js +1 -1
  125. package/lib/module/models/RetailOutletsRetail.js.map +1 -1
  126. package/lib/module/models/ach/AchCollectableData.js +2 -0
  127. package/lib/module/models/ach/AchCollectableData.js.map +1 -1
  128. package/lib/module/models/ach/AchSteps.js +2 -0
  129. package/lib/module/models/ach/AchSteps.js.map +1 -1
  130. package/lib/module/models/banks/BanksCollectableData.js +2 -0
  131. package/lib/module/models/banks/BanksCollectableData.js.map +1 -1
  132. package/lib/module/models/banks/BanksSteps.js +2 -0
  133. package/lib/module/models/banks/BanksSteps.js.map +1 -1
  134. package/lib/module/models/klarna/KlarnaPaymentCategory.js +1 -1
  135. package/lib/module/models/klarna/KlarnaPaymentCategory.js.map +1 -1
  136. package/lib/module/models/klarna/KlarnaPaymentCollectableData.js +2 -0
  137. package/lib/module/models/klarna/KlarnaPaymentCollectableData.js.map +1 -1
  138. package/lib/module/models/klarna/KlarnaPaymentSteps.js +2 -0
  139. package/lib/module/models/klarna/KlarnaPaymentSteps.js.map +1 -1
  140. package/lib/module/package.json +1 -0
  141. package/lib/module/specs/NativePrimer.js +6 -0
  142. package/lib/module/specs/NativePrimer.js.map +1 -0
  143. package/lib/module/utils/index.js +5 -3
  144. package/lib/module/utils/index.js.map +1 -1
  145. package/lib/typescript/package.json +1 -0
  146. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Components/NativeResourceView.d.ts +1 -1
  147. package/lib/typescript/src/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts.map +1 -0
  148. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Components/PrimerGooglePayButton.d.ts +1 -1
  149. package/lib/typescript/src/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts.map +1 -0
  150. package/lib/typescript/src/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.d.ts.map +1 -0
  151. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Managers/AssetsManager.d.ts +2 -2
  152. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -0
  153. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Managers/PaymentMethodManagers/AchManager.d.ts +6 -6
  154. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts.map +1 -0
  155. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts.map +1 -0
  156. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts +6 -6
  157. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts.map +1 -0
  158. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Managers/PaymentMethodManagers/KlarnaManager.d.ts +7 -7
  159. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +1 -0
  160. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Managers/PaymentMethodManagers/NativeUIManager.d.ts +1 -1
  161. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -0
  162. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Managers/PaymentMethodManagers/RawDataManager.d.ts +2 -2
  163. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -0
  164. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.d.ts.map +1 -0
  165. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Managers/VaultManager.d.ts +3 -3
  166. package/lib/typescript/src/HeadlessUniversalCheckout/Managers/VaultManager.d.ts.map +1 -0
  167. package/lib/typescript/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  168. package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.d.ts +1 -2
  169. package/lib/typescript/src/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  170. package/lib/typescript/src/HeadlessUniversalCheckout/types.d.ts.map +1 -0
  171. package/lib/typescript/src/Primer.d.ts.map +1 -0
  172. package/lib/typescript/{RNPrimer.d.ts → src/RNPrimer.d.ts} +2 -7
  173. package/lib/typescript/src/RNPrimer.d.ts.map +1 -0
  174. package/lib/typescript/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts.map +1 -0
  175. package/lib/typescript/{index.d.ts → src/index.d.ts} +35 -16
  176. package/lib/typescript/src/index.d.ts.map +1 -0
  177. package/lib/typescript/src/models/IssuingBank.d.ts.map +1 -0
  178. package/lib/typescript/src/models/NamedComponentStep.d.ts.map +1 -0
  179. package/lib/typescript/src/models/NamedComponentValidatableData.d.ts.map +1 -0
  180. package/lib/typescript/src/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -0
  181. package/lib/typescript/src/models/PrimerCheckoutData.d.ts.map +1 -0
  182. package/lib/typescript/src/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -0
  183. package/lib/typescript/src/models/PrimerClientSession.d.ts.map +1 -0
  184. package/lib/typescript/{models → src/models}/PrimerComponentDataValidation.d.ts +2 -2
  185. package/lib/typescript/src/models/PrimerComponentDataValidation.d.ts.map +1 -0
  186. package/lib/typescript/src/models/PrimerError.d.ts.map +1 -0
  187. package/lib/typescript/src/models/PrimerHandlers.d.ts.map +1 -0
  188. package/lib/typescript/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -0
  189. package/lib/typescript/src/models/PrimerImplementedRNCallbacks.d.ts.map +1 -0
  190. package/lib/typescript/src/models/PrimerInitializationData.d.ts.map +1 -0
  191. package/lib/typescript/src/models/PrimerInputElementType.d.ts.map +1 -0
  192. package/lib/typescript/src/models/PrimerInterfaces.d.ts.map +1 -0
  193. package/lib/typescript/src/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -0
  194. package/lib/typescript/src/models/PrimerPaymentMethodResource.d.ts.map +1 -0
  195. package/lib/typescript/src/models/PrimerPaymentMethodTokenData.d.ts.map +1 -0
  196. package/lib/typescript/src/models/PrimerRawData.d.ts.map +1 -0
  197. package/lib/typescript/src/models/PrimerSessionIntent.d.ts.map +1 -0
  198. package/lib/typescript/src/models/PrimerSettings.d.ts.map +1 -0
  199. package/lib/typescript/src/models/PrimerTheme.d.ts.map +1 -0
  200. package/lib/typescript/src/models/PrimerValidationError.d.ts.map +1 -0
  201. package/lib/typescript/{models → src/models}/PrimerValidationErrorResult.d.ts +1 -1
  202. package/lib/typescript/src/models/PrimerValidationErrorResult.d.ts.map +1 -0
  203. package/lib/typescript/{models → src/models}/PrimerVaultedPaymentMethod.d.ts +1 -1
  204. package/lib/typescript/src/models/PrimerVaultedPaymentMethod.d.ts.map +1 -0
  205. package/lib/typescript/src/models/PrimerVaultedPaymentMethodAdditionalData.d.ts.map +1 -0
  206. package/lib/typescript/{models → src/models}/PrimerVaultedPaymentMethodResult.d.ts +1 -1
  207. package/lib/typescript/src/models/PrimerVaultedPaymentMethodResult.d.ts.map +1 -0
  208. package/lib/typescript/src/models/RetailOutletsRetail.d.ts.map +1 -0
  209. package/lib/typescript/{models → src/models}/ach/AchCollectableData.d.ts +1 -1
  210. package/lib/typescript/src/models/ach/AchCollectableData.d.ts.map +1 -0
  211. package/lib/typescript/{models → src/models}/ach/AchSteps.d.ts +1 -1
  212. package/lib/typescript/src/models/ach/AchSteps.d.ts.map +1 -0
  213. package/lib/typescript/{models → src/models}/banks/BanksCollectableData.d.ts +1 -1
  214. package/lib/typescript/src/models/banks/BanksCollectableData.d.ts.map +1 -0
  215. package/lib/typescript/{models → src/models}/banks/BanksSteps.d.ts +2 -2
  216. package/lib/typescript/src/models/banks/BanksSteps.d.ts.map +1 -0
  217. package/lib/typescript/src/models/klarna/KlarnaPaymentCategory.d.ts.map +1 -0
  218. package/lib/typescript/{models → src/models}/klarna/KlarnaPaymentCollectableData.d.ts +2 -2
  219. package/lib/typescript/src/models/klarna/KlarnaPaymentCollectableData.d.ts.map +1 -0
  220. package/lib/typescript/{models → src/models}/klarna/KlarnaPaymentSteps.d.ts +2 -2
  221. package/lib/typescript/src/models/klarna/KlarnaPaymentSteps.d.ts.map +1 -0
  222. package/lib/typescript/src/specs/NativePrimer.d.ts +27 -0
  223. package/lib/typescript/src/specs/NativePrimer.d.ts.map +1 -0
  224. package/lib/typescript/src/utils/index.d.ts.map +1 -0
  225. package/package.json +68 -26
  226. package/primer-io-react-native.podspec +2 -0
  227. package/src/HeadlessUniversalCheckout/Components/NativeResourceView.tsx +2 -1
  228. package/src/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.tsx +2 -1
  229. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +2 -2
  230. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.ts +9 -7
  231. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts +9 -7
  232. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts +13 -8
  233. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +1 -1
  234. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +3 -2
  235. package/src/HeadlessUniversalCheckout/Managers/VaultManager.ts +5 -5
  236. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +2 -2
  237. package/src/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.ts +2 -2
  238. package/src/RNPrimer.ts +27 -45
  239. package/src/index.tsx +43 -18
  240. package/src/models/PrimerComponentDataValidation.ts +2 -2
  241. package/src/models/PrimerValidationErrorResult.ts +1 -1
  242. package/src/models/PrimerVaultedPaymentMethod.ts +1 -1
  243. package/src/models/PrimerVaultedPaymentMethodResult.ts +1 -1
  244. package/src/models/ach/AchCollectableData.ts +1 -1
  245. package/src/models/ach/AchSteps.ts +1 -1
  246. package/src/models/banks/BanksCollectableData.ts +1 -1
  247. package/src/models/banks/BanksSteps.ts +2 -2
  248. package/src/models/klarna/KlarnaPaymentCollectableData.ts +2 -2
  249. package/src/models/klarna/KlarnaPaymentSteps.ts +2 -2
  250. package/src/specs/NativePrimer.ts +43 -0
  251. package/src/utils/index.ts +3 -3
  252. package/android/.editorconfig +0 -2
  253. package/android/.project +0 -34
  254. package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
  255. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  256. package/android/gradle/wrapper/gradle-wrapper.properties +0 -5
  257. package/android/gradlew +0 -183
  258. package/android/gradlew.bat +0 -100
  259. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +0 -49
  260. package/ios/Pods/Manifest.lock +0 -3
  261. package/ios/Pods/Pods.xcodeproj/project.pbxproj +0 -352
  262. package/ios/Pods/Target Support Files/Pods-ReactNative/Pods-ReactNative-acknowledgements.markdown +0 -3
  263. package/ios/Pods/Target Support Files/Pods-ReactNative/Pods-ReactNative-acknowledgements.plist +0 -29
  264. package/ios/Pods/Target Support Files/Pods-ReactNative/Pods-ReactNative-dummy.m +0 -5
  265. package/ios/Pods/Target Support Files/Pods-ReactNative/Pods-ReactNative.debug.xcconfig +0 -8
  266. package/ios/Pods/Target Support Files/Pods-ReactNative/Pods-ReactNative.release.xcconfig +0 -8
  267. package/ios/Sources/RNTPrimer.m +0 -86
  268. package/lib/commonjs/HeadlessUniversalCheckout/Components/NativeResourceView.js +0 -30
  269. package/lib/commonjs/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +0 -1
  270. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js +0 -9
  271. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +0 -1
  272. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js +0 -9
  273. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +0 -1
  274. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +0 -90
  275. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +0 -1
  276. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +0 -106
  277. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +0 -1
  278. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +0 -38
  279. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +0 -1
  280. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +0 -109
  281. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +0 -1
  282. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js +0 -105
  283. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +0 -1
  284. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +0 -34
  285. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +0 -1
  286. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +0 -148
  287. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +0 -1
  288. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js +0 -8
  289. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +0 -1
  290. package/lib/commonjs/HeadlessUniversalCheckout/Managers/VaultManager.js +0 -107
  291. package/lib/commonjs/HeadlessUniversalCheckout/Managers/VaultManager.js.map +0 -1
  292. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +0 -269
  293. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  294. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +0 -120
  295. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  296. package/lib/commonjs/HeadlessUniversalCheckout/types.js +0 -34
  297. package/lib/commonjs/HeadlessUniversalCheckout/types.js.map +0 -1
  298. package/lib/commonjs/Primer.js +0 -269
  299. package/lib/commonjs/Primer.js.map +0 -1
  300. package/lib/commonjs/RNPrimer.js +0 -219
  301. package/lib/commonjs/RNPrimer.js.map +0 -1
  302. package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js +0 -12
  303. package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +0 -1
  304. package/lib/commonjs/index.js +0 -125
  305. package/lib/commonjs/index.js.map +0 -1
  306. package/lib/commonjs/models/IssuingBank.js +0 -2
  307. package/lib/commonjs/models/IssuingBank.js.map +0 -1
  308. package/lib/commonjs/models/NamedComponentStep.js +0 -2
  309. package/lib/commonjs/models/NamedComponentStep.js.map +0 -1
  310. package/lib/commonjs/models/NamedComponentValidatableData.js +0 -2
  311. package/lib/commonjs/models/NamedComponentValidatableData.js.map +0 -1
  312. package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js +0 -2
  313. package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js.map +0 -1
  314. package/lib/commonjs/models/PrimerCheckoutData.js +0 -11
  315. package/lib/commonjs/models/PrimerCheckoutData.js.map +0 -1
  316. package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js +0 -2
  317. package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js.map +0 -1
  318. package/lib/commonjs/models/PrimerClientSession.js +0 -2
  319. package/lib/commonjs/models/PrimerClientSession.js.map +0 -1
  320. package/lib/commonjs/models/PrimerComponentDataValidation.js +0 -6
  321. package/lib/commonjs/models/PrimerComponentDataValidation.js.map +0 -1
  322. package/lib/commonjs/models/PrimerCountryCode.js +0 -4
  323. package/lib/commonjs/models/PrimerCountryCode.js.map +0 -1
  324. package/lib/commonjs/models/PrimerCurrencyCode.js +0 -4
  325. package/lib/commonjs/models/PrimerCurrencyCode.js.map +0 -1
  326. package/lib/commonjs/models/PrimerError.js +0 -18
  327. package/lib/commonjs/models/PrimerError.js.map +0 -1
  328. package/lib/commonjs/models/PrimerHandlers.js +0 -2
  329. package/lib/commonjs/models/PrimerHandlers.js.map +0 -1
  330. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +0 -2
  331. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +0 -1
  332. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js +0 -2
  333. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js.map +0 -1
  334. package/lib/commonjs/models/PrimerInitializationData.js +0 -6
  335. package/lib/commonjs/models/PrimerInitializationData.js.map +0 -1
  336. package/lib/commonjs/models/PrimerInputElementType.js +0 -19
  337. package/lib/commonjs/models/PrimerInputElementType.js.map +0 -1
  338. package/lib/commonjs/models/PrimerInterfaces.js +0 -6
  339. package/lib/commonjs/models/PrimerInterfaces.js.map +0 -1
  340. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js +0 -13
  341. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js.map +0 -1
  342. package/lib/commonjs/models/PrimerPaymentMethodResource.js +0 -2
  343. package/lib/commonjs/models/PrimerPaymentMethodResource.js.map +0 -1
  344. package/lib/commonjs/models/PrimerPaymentMethodTokenData.js +0 -12
  345. package/lib/commonjs/models/PrimerPaymentMethodTokenData.js.map +0 -1
  346. package/lib/commonjs/models/PrimerRawData.js +0 -2
  347. package/lib/commonjs/models/PrimerRawData.js.map +0 -1
  348. package/lib/commonjs/models/PrimerSessionIntent.js +0 -12
  349. package/lib/commonjs/models/PrimerSessionIntent.js.map +0 -1
  350. package/lib/commonjs/models/PrimerSettings.js +0 -6
  351. package/lib/commonjs/models/PrimerSettings.js.map +0 -1
  352. package/lib/commonjs/models/PrimerTheme.js +0 -2
  353. package/lib/commonjs/models/PrimerTheme.js.map +0 -1
  354. package/lib/commonjs/models/PrimerValidationError.js +0 -2
  355. package/lib/commonjs/models/PrimerValidationError.js.map +0 -1
  356. package/lib/commonjs/models/PrimerValidationErrorResult.js +0 -6
  357. package/lib/commonjs/models/PrimerValidationErrorResult.js.map +0 -1
  358. package/lib/commonjs/models/PrimerVaultedPaymentMethod.js +0 -6
  359. package/lib/commonjs/models/PrimerVaultedPaymentMethod.js.map +0 -1
  360. package/lib/commonjs/models/PrimerVaultedPaymentMethodAdditionalData.js +0 -2
  361. package/lib/commonjs/models/PrimerVaultedPaymentMethodAdditionalData.js.map +0 -1
  362. package/lib/commonjs/models/PrimerVaultedPaymentMethodResult.js +0 -6
  363. package/lib/commonjs/models/PrimerVaultedPaymentMethodResult.js.map +0 -1
  364. package/lib/commonjs/models/RetailOutletsRetail.js +0 -2
  365. package/lib/commonjs/models/RetailOutletsRetail.js.map +0 -1
  366. package/lib/commonjs/models/ach/AchCollectableData.js +0 -6
  367. package/lib/commonjs/models/ach/AchCollectableData.js.map +0 -1
  368. package/lib/commonjs/models/ach/AchSteps.js +0 -6
  369. package/lib/commonjs/models/ach/AchSteps.js.map +0 -1
  370. package/lib/commonjs/models/banks/BanksCollectableData.js +0 -6
  371. package/lib/commonjs/models/banks/BanksCollectableData.js.map +0 -1
  372. package/lib/commonjs/models/banks/BanksSteps.js +0 -6
  373. package/lib/commonjs/models/banks/BanksSteps.js.map +0 -1
  374. package/lib/commonjs/models/klarna/KlarnaPaymentCategory.js +0 -2
  375. package/lib/commonjs/models/klarna/KlarnaPaymentCategory.js.map +0 -1
  376. package/lib/commonjs/models/klarna/KlarnaPaymentCollectableData.js +0 -6
  377. package/lib/commonjs/models/klarna/KlarnaPaymentCollectableData.js.map +0 -1
  378. package/lib/commonjs/models/klarna/KlarnaPaymentSteps.js +0 -6
  379. package/lib/commonjs/models/klarna/KlarnaPaymentSteps.js.map +0 -1
  380. package/lib/commonjs/utils/index.js +0 -39
  381. package/lib/commonjs/utils/index.js.map +0 -1
  382. package/lib/module/models/PrimerCountryCode.js +0 -2
  383. package/lib/module/models/PrimerCountryCode.js.map +0 -1
  384. package/lib/module/models/PrimerCurrencyCode.js +0 -2
  385. package/lib/module/models/PrimerCurrencyCode.js.map +0 -1
  386. package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts.map +0 -1
  387. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts.map +0 -1
  388. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.d.ts.map +0 -1
  389. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +0 -1
  390. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts.map +0 -1
  391. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts.map +0 -1
  392. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts.map +0 -1
  393. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +0 -1
  394. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +0 -1
  395. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +0 -1
  396. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.d.ts.map +0 -1
  397. package/lib/typescript/HeadlessUniversalCheckout/Managers/VaultManager.d.ts.map +0 -1
  398. package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +0 -1
  399. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +0 -1
  400. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts.map +0 -1
  401. package/lib/typescript/Primer.d.ts.map +0 -1
  402. package/lib/typescript/RNPrimer.d.ts.map +0 -1
  403. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts.map +0 -1
  404. package/lib/typescript/index.d.ts.map +0 -1
  405. package/lib/typescript/models/IssuingBank.d.ts.map +0 -1
  406. package/lib/typescript/models/NamedComponentStep.d.ts.map +0 -1
  407. package/lib/typescript/models/NamedComponentValidatableData.d.ts.map +0 -1
  408. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +0 -1
  409. package/lib/typescript/models/PrimerCheckoutData.d.ts.map +0 -1
  410. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +0 -1
  411. package/lib/typescript/models/PrimerClientSession.d.ts.map +0 -1
  412. package/lib/typescript/models/PrimerComponentDataValidation.d.ts.map +0 -1
  413. package/lib/typescript/models/PrimerCountryCode.d.ts +0 -4
  414. package/lib/typescript/models/PrimerCountryCode.d.ts.map +0 -1
  415. package/lib/typescript/models/PrimerCurrencyCode.d.ts +0 -4
  416. package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +0 -1
  417. package/lib/typescript/models/PrimerError.d.ts.map +0 -1
  418. package/lib/typescript/models/PrimerHandlers.d.ts.map +0 -1
  419. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +0 -1
  420. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +0 -1
  421. package/lib/typescript/models/PrimerInitializationData.d.ts.map +0 -1
  422. package/lib/typescript/models/PrimerInputElementType.d.ts.map +0 -1
  423. package/lib/typescript/models/PrimerInterfaces.d.ts.map +0 -1
  424. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +0 -1
  425. package/lib/typescript/models/PrimerPaymentMethodResource.d.ts.map +0 -1
  426. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts.map +0 -1
  427. package/lib/typescript/models/PrimerRawData.d.ts.map +0 -1
  428. package/lib/typescript/models/PrimerSessionIntent.d.ts.map +0 -1
  429. package/lib/typescript/models/PrimerSettings.d.ts.map +0 -1
  430. package/lib/typescript/models/PrimerTheme.d.ts.map +0 -1
  431. package/lib/typescript/models/PrimerValidationError.d.ts.map +0 -1
  432. package/lib/typescript/models/PrimerValidationErrorResult.d.ts.map +0 -1
  433. package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts.map +0 -1
  434. package/lib/typescript/models/PrimerVaultedPaymentMethodAdditionalData.d.ts.map +0 -1
  435. package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts.map +0 -1
  436. package/lib/typescript/models/RetailOutletsRetail.d.ts.map +0 -1
  437. package/lib/typescript/models/ach/AchCollectableData.d.ts.map +0 -1
  438. package/lib/typescript/models/ach/AchSteps.d.ts.map +0 -1
  439. package/lib/typescript/models/banks/BanksCollectableData.d.ts.map +0 -1
  440. package/lib/typescript/models/banks/BanksSteps.d.ts.map +0 -1
  441. package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts.map +0 -1
  442. package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts.map +0 -1
  443. package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts.map +0 -1
  444. package/lib/typescript/utils/index.d.ts.map +0 -1
  445. package/src/models/PrimerCountryCode.ts +0 -249
  446. package/src/models/PrimerCurrencyCode.ts +0 -182
  447. /package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Components/PrimerKlarnaPaymentView.d.ts +0 -0
  448. /package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Managers/PaymentMethodManagers/AchMandateManager.d.ts +0 -0
  449. /package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/Managers/PaymentMethodManagers/Utils/EventType.d.ts +0 -0
  450. /package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/PrimerHeadlessUniversalCheckout.d.ts +0 -0
  451. /package/lib/typescript/{HeadlessUniversalCheckout → src/HeadlessUniversalCheckout}/types.d.ts +0 -0
  452. /package/lib/typescript/{Primer.d.ts → src/Primer.d.ts} +0 -0
  453. /package/lib/typescript/{RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts → src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts} +0 -0
  454. /package/lib/typescript/{models → src/models}/IssuingBank.d.ts +0 -0
  455. /package/lib/typescript/{models → src/models}/NamedComponentStep.d.ts +0 -0
  456. /package/lib/typescript/{models → src/models}/NamedComponentValidatableData.d.ts +0 -0
  457. /package/lib/typescript/{models → src/models}/PrimerCheckoutAdditionalInfo.d.ts +0 -0
  458. /package/lib/typescript/{models → src/models}/PrimerCheckoutData.d.ts +0 -0
  459. /package/lib/typescript/{models → src/models}/PrimerCheckoutPaymentMethodData.d.ts +0 -0
  460. /package/lib/typescript/{models → src/models}/PrimerClientSession.d.ts +0 -0
  461. /package/lib/typescript/{models → src/models}/PrimerError.d.ts +0 -0
  462. /package/lib/typescript/{models → src/models}/PrimerHandlers.d.ts +0 -0
  463. /package/lib/typescript/{models → src/models}/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +0 -0
  464. /package/lib/typescript/{models → src/models}/PrimerImplementedRNCallbacks.d.ts +0 -0
  465. /package/lib/typescript/{models → src/models}/PrimerInitializationData.d.ts +0 -0
  466. /package/lib/typescript/{models → src/models}/PrimerInputElementType.d.ts +0 -0
  467. /package/lib/typescript/{models → src/models}/PrimerInterfaces.d.ts +0 -0
  468. /package/lib/typescript/{models → src/models}/PrimerPaymentMethodManagerCategory.d.ts +0 -0
  469. /package/lib/typescript/{models → src/models}/PrimerPaymentMethodResource.d.ts +0 -0
  470. /package/lib/typescript/{models → src/models}/PrimerPaymentMethodTokenData.d.ts +0 -0
  471. /package/lib/typescript/{models → src/models}/PrimerRawData.d.ts +0 -0
  472. /package/lib/typescript/{models → src/models}/PrimerSessionIntent.d.ts +0 -0
  473. /package/lib/typescript/{models → src/models}/PrimerSettings.d.ts +0 -0
  474. /package/lib/typescript/{models → src/models}/PrimerTheme.d.ts +0 -0
  475. /package/lib/typescript/{models → src/models}/PrimerValidationError.d.ts +0 -0
  476. /package/lib/typescript/{models → src/models}/PrimerVaultedPaymentMethodAdditionalData.d.ts +0 -0
  477. /package/lib/typescript/{models → src/models}/RetailOutletsRetail.d.ts +0 -0
  478. /package/lib/typescript/{models → src/models}/klarna/KlarnaPaymentCategory.d.ts +0 -0
  479. /package/lib/typescript/{utils → src/utils}/index.d.ts +0 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2020 Primer Ltd.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,149 @@
1
+ <h1 align="center">Primer React Native SDK</h1>
2
+
3
+ <h3 align="center">
4
+
5
+ Official React Native SDK plugin for [Primer](https://primer.io)
6
+
7
+ </h3>
8
+
9
+ <p align="center">
10
+ <img src="https://img.shields.io/npm/v/@primer-io/react-native" />
11
+ </p>
12
+
13
+ **Note:** This quick start guide addresses the platform-specific integration points only. As everything prior to that (e.g. creating a client token) is the same for all the guidelines.
14
+
15
+ # Set up the Universal Checkout
16
+
17
+ ## Step 1. Install the SDK
18
+
19
+ Add the SDK package.
20
+
21
+ ```sh
22
+ \# With yarn
23
+ yarn add @primer-io/react-native
24
+
25
+ \# With npm
26
+ npm i @primer-io/react-native --save
27
+ ```
28
+
29
+ Once you are done, navigate to the \/ios folder and run pod install.
30
+
31
+ ## Step 2. Initialize the SDK
32
+
33
+ Import the Primer SDK, construct your settings and call the SDK’s configure function.
34
+
35
+ ```js
36
+ import * as React from 'react';
37
+ import {
38
+ Primer,
39
+ PrimerSettings,
40
+ PrimerCheckoutData
41
+ } from '@primer-io/react-native';
42
+
43
+ const CheckoutScreen = (props: any) => {
44
+
45
+ const onCheckoutComplete = (checkoutData: PrimerCheckoutData) => {
46
+ // Perform an action based on the payment creation response
47
+ // ex. show success screen, redirect to order confirmation view, etc.
48
+ };
49
+
50
+ React.useEffect(() => {
51
+ const settings: PrimerSettings = {
52
+ onCheckoutComplete: onCheckoutComplete
53
+ };
54
+
55
+ Primer.configure(settings)
56
+ .then(() => {
57
+ // SDK is initialized sucessfully
58
+ })
59
+ .catch (err => {
60
+ // SDK failed to initialize
61
+ })
62
+ }, []);
63
+ }
64
+ ```
65
+
66
+ ## Step 3. Generate a client token
67
+
68
+ **Note:** Check our guide on how to set up the client session [here](https://primer.io/docs/accept-payments/manage-client-sessions).
69
+
70
+ Make an API call to your backend to fetch a Client Token. Here is a simple example of how it can be done from your component. Once successful store your Client Token for future use.
71
+
72
+ ```js
73
+ const CheckoutScreen = (props: any) => {
74
+
75
+ // ...
76
+
77
+ const onUniversalCheckoutButtonTapped = async () => {
78
+ try {
79
+ // Make an API request to your backend to create a client session
80
+ // and fetch a client token.
81
+ const clientToken = await createClientSession(clientSessionRequestParams);
82
+ } catch (err) {
83
+ // ...
84
+ }
85
+ };
86
+ }
87
+ ```
88
+
89
+ ## Step 4. Show Universal Checkout
90
+
91
+ At this step, you should have a Client Token available. Call the `showUniversalCheckout(clientToken)` function, with the Client Token (as shown below) to present Universal Checkout.
92
+
93
+ ```js
94
+ const CheckoutScreen = (props: any) => {
95
+
96
+ // ...
97
+
98
+ const onUniversalCheckoutButtonTapped = async () => {
99
+ try {
100
+ // ...
101
+
102
+ // Present Universal Checkout
103
+ await Primer.showUniversalCheckout(clientToken);
104
+ } catch (err) {
105
+ // ...
106
+ }
107
+ };
108
+ }
109
+ ```
110
+
111
+ ## Full Code Snippet
112
+
113
+ ```js
114
+ import * as React from 'react';
115
+ import {
116
+ Primer,
117
+ PrimerSettings,
118
+ PrimerCheckoutData
119
+ } from '@primer-io/react-native';
120
+
121
+ const CheckoutScreen = async (props: any) => {
122
+ const onCheckoutComplete = (checkoutData: PrimerCheckoutData) => {
123
+ // Show a success screen
124
+ };
125
+
126
+ const onUniversalCheckoutButtonTapped = async () => {
127
+ const settings: PrimerSettings = {
128
+ onCheckoutComplete: onCheckoutComplete
129
+ };
130
+
131
+ // Configure the SDK
132
+ await Primer.configure(settings);
133
+
134
+ // Ask your backend to create a client session
135
+ const clientToken = await createClientSession(clientSessionRequestParams);
136
+
137
+ // Present Universal Checkout
138
+ await Primer.showUniversalCheckout(clientToken);
139
+ };
140
+ }
141
+ ```
142
+
143
+ You should now be able to see Universal Checkout! The user can now interact with Universal Checkout, and the SDK will create the payment. The payment’s data will be returned in the onCheckoutComplete callback configured in Step 2.
144
+
145
+ **Note:** For more info & help troubleshooting, check out our [docs](http://primer.io/docs).
146
+
147
+ ## 📚 License
148
+
149
+ Distributed under the MIT License. See [LICENSE](./LICENSE) for more information.
@@ -12,7 +12,7 @@ buildscript {
12
12
  }
13
13
 
14
14
  dependencies {
15
- classpath 'com.android.tools.build:gradle:8.12.1'
15
+ classpath 'com.android.tools.build:gradle:8.13.0'
16
16
  // noinspection DifferentKotlinGradleVersion
17
17
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
18
18
  classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
@@ -21,8 +21,15 @@ buildscript {
21
21
  }
22
22
  }
23
23
 
24
+ def isNewArchitectureEnabled() {
25
+ return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
26
+ }
27
+
24
28
  apply plugin: 'com.android.library'
25
29
  apply plugin: 'kotlin-android'
30
+ if (isNewArchitectureEnabled()) {
31
+ apply plugin: "com.facebook.react"
32
+ }
26
33
  apply plugin: 'kotlinx-serialization'
27
34
  apply plugin: 'io.gitlab.arturbosch.detekt'
28
35
  apply from: "./config/coverage-scripts/kover.gradle"
@@ -48,6 +55,7 @@ android {
48
55
  defaultConfig {
49
56
  minSdkVersion 21
50
57
  targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
58
+ buildConfigField("boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString())
51
59
 
52
60
  testInstrumentationRunnerArguments runnerBuilder: 'de.mannodermaus.junit5.AndroidJUnit5Builder'
53
61
  testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
@@ -79,99 +87,42 @@ android {
79
87
  useJUnitPlatform()
80
88
  }
81
89
  }
90
+
91
+ sourceSets.main {
92
+ if (isNewArchitectureEnabled()) {
93
+ java.srcDirs += ['src/newarch']
94
+ } else {
95
+ java.srcDirs += ['src/oldarch']
96
+ }
97
+ }
82
98
  }
83
99
 
84
100
  repositories {
85
101
  mavenLocal()
86
102
  mavenCentral()
87
103
  google()
88
-
89
- def found = false
90
- def defaultDir = null
91
- def androidSourcesName = 'React Native sources'
92
-
93
- if (rootProject.ext.has('reactNativeAndroidRoot')) {
94
- defaultDir = rootProject.ext.get('reactNativeAndroidRoot')
95
- } else {
96
- defaultDir = new File(
97
- projectDir,
98
- '/../../../node_modules/react-native/android'
99
- )
100
- }
101
-
102
- if (defaultDir.exists()) {
103
- maven {
104
- url defaultDir.toString()
105
- name androidSourcesName
106
- }
107
-
108
- logger.info(":${project.name}:reactNativeAndroidRoot ${defaultDir.canonicalPath}")
109
- found = true
110
- } else {
111
- def parentDir = rootProject.projectDir
112
-
113
- 1.upto(5, {
114
- if (found) return true
115
- parentDir = parentDir.parentFile
116
-
117
- def androidSourcesDir = new File(
118
- parentDir,
119
- 'node_modules/react-native'
120
- )
121
-
122
- def androidPrebuiltBinaryDir = new File(
123
- parentDir,
124
- 'node_modules/react-native/android'
125
- )
126
-
127
- if (androidPrebuiltBinaryDir.exists()) {
128
- maven {
129
- url androidPrebuiltBinaryDir.toString()
130
- name androidSourcesName
131
- }
132
-
133
- logger.info(":${project.name}:reactNativeAndroidRoot ${androidPrebuiltBinaryDir.canonicalPath}")
134
- found = true
135
- } else if (androidSourcesDir.exists()) {
136
- maven {
137
- url androidSourcesDir.toString()
138
- name androidSourcesName
139
- }
140
-
141
- logger.info(":${project.name}:reactNativeAndroidRoot ${androidSourcesDir.canonicalPath}")
142
- found = true
143
- }
144
- })
145
- }
146
-
147
- if (!found) {
148
- throw new GradleException(
149
- "${project.name}: unable to locate React Native android sources. " +
150
- "Ensure you have you installed React Native as a dependency in your project and try again."
151
- )
152
- }
153
104
  }
154
105
 
155
106
  detekt {
156
- buildUponDefaultConfig = true
157
- def defaultConfig = file("$rootDir/tooling/code-analysis/detekt.yml")
107
+ buildUponDefaultConfig = true
108
+ def defaultConfig = file("$rootDir/tooling/code-analysis/detekt.yml")
158
109
 
159
- if (defaultConfig.exists()) {
160
- config.setFrom(files(defaultConfig))
161
- }
110
+ if (defaultConfig.exists()) {
111
+ config.setFrom(files(defaultConfig))
112
+ }
162
113
 
163
- debug = true
164
- parallel = true
165
- disableDefaultRuleSets = false
114
+ debug = true
115
+ parallel = true
116
+ disableDefaultRuleSets = false
166
117
 
167
- ignoredBuildTypes = ["debug"]
118
+ ignoredBuildTypes = ["debug"]
168
119
 
169
- reports {
170
- html.required.set(true)
171
- xml.required.set(false)
172
- txt.required.set(true)
173
- sarif.required.set(true)
174
- }
120
+ reports {
121
+ html.required.set(true)
122
+ xml.required.set(true)
123
+ txt.required.set(true)
124
+ sarif.required.set(true)
125
+ }
175
126
  }
176
127
 
177
128
  def kotlin_version = getExtOrDefault('kotlinVersion')
@@ -179,10 +130,10 @@ def kotlin_version = getExtOrDefault('kotlinVersion')
179
130
  dependencies {
180
131
  detektPlugins("io.gitlab.arturbosch.detekt:detekt-formatting:1.23.8")
181
132
  // noinspection GradleDynamicVersion
182
- api 'com.facebook.react:react-native:+'
133
+ implementation 'com.facebook.react:react-native:+'
183
134
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
184
135
  implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.3"
185
- implementation 'io.primer:android:2.44.0'
136
+ implementation 'io.primer:android:2.44.1'
186
137
  testImplementation 'io.mockk:mockk:1.14.2'
187
138
  testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2'
188
139
  testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2'
@@ -4,10 +4,7 @@ import android.util.Log
4
4
  import com.facebook.react.bridge.Arguments
5
5
  import com.facebook.react.bridge.Promise
6
6
  import com.facebook.react.bridge.ReactApplicationContext
7
- import com.facebook.react.bridge.ReactContextBaseJavaModule
8
- import com.facebook.react.bridge.ReactMethod
9
7
  import com.facebook.react.bridge.WritableMap
10
- import com.facebook.react.modules.core.DeviceEventManagerModule
11
8
  import com.primerioreactnative.datamodels.ErrorTypeRN
12
9
  import com.primerioreactnative.datamodels.PrimerCheckoutDataRN
13
10
  import com.primerioreactnative.datamodels.PrimerErrorRN
@@ -18,100 +15,142 @@ import com.primerioreactnative.utils.PrimerImplementedRNCallbacks
18
15
  import com.primerioreactnative.utils.errorTo
19
16
  import com.primerioreactnative.utils.toWritableMap
20
17
  import io.primer.android.Primer
18
+ import io.primer.android.PrimerSessionIntent
21
19
  import io.primer.android.data.settings.PrimerSettings
22
- import kotlinx.serialization.decodeFromString
23
20
  import kotlinx.serialization.encodeToString
24
21
  import kotlinx.serialization.json.Json
25
22
  import org.json.JSONObject
26
23
 
27
24
  @Suppress("TooManyFunctions")
28
- class PrimerRN(private val reactContext: ReactApplicationContext, private val json: Json) :
29
- ReactContextBaseJavaModule(reactContext) {
25
+ internal open class DefaultNativePrimerModule(
26
+ private val reactContext: ReactApplicationContext,
27
+ private val json: Json,
28
+ private val eventSender: (String, WritableMap) -> Unit,
29
+ ) {
30
30
  private val mListener = PrimerRNEventListener()
31
31
 
32
32
  init {
33
33
  mListener.sendEvent = { eventName, paramsJson -> sendEvent(eventName, paramsJson) }
34
34
  mListener.sendError = { paramsJson -> onError(paramsJson) }
35
- mListener.sendErrorWithCheckoutData =
36
- { paramsJson, checkoutData -> onError(paramsJson, checkoutData) }
35
+ mListener.sendErrorWithCheckoutData = { paramsJson, checkoutData -> onError(paramsJson, checkoutData) }
37
36
  mListener.onDismissedEvent = { Primer.instance.dismiss(true) }
38
37
  }
39
38
 
40
- override fun getName(): String = "NativePrimer"
39
+ open fun sendEvent(
40
+ name: String,
41
+ params: WritableMap,
42
+ ) = eventSender(name, params)
43
+
44
+ open fun sendEvent(
45
+ name: String,
46
+ data: JSONObject?,
47
+ ) = eventSender(name, prepareData(data))
48
+
49
+ fun getName(): String {
50
+ return NAME
51
+ }
41
52
 
42
- @ReactMethod
43
53
  fun configure(
44
- settingsStr: String,
54
+ settingsStr: String?,
45
55
  promise: Promise,
46
56
  ) {
47
57
  try {
48
- Log.d("PrimerRN", "settings: $settingsStr")
49
- val settings =
50
- if (settingsStr.isBlank()) {
51
- PrimerSettingsRN()
52
- } else {
53
- json.decodeFromString(
54
- settingsStr,
55
- )
56
- }
58
+ val settings = if (settingsStr.isNullOrBlank()) {
59
+ PrimerSettingsRN()
60
+ } else {
61
+ json.decodeFromString(
62
+ settingsStr,
63
+ )
64
+ }
57
65
  startSdk(settings.toPrimerSettings(reactContext))
58
66
  promise.resolve(null)
59
- } catch (e: Exception) {
60
- Log.e("PrimerRN", "configure settings error: $e")
67
+ } catch (expected: Exception) {
68
+ Log.e("PrimerRN", "configure settings error: $expected")
61
69
  val exception = ErrorTypeRN.NativeBridgeFailed errorTo "failed to parse settings."
62
70
  onError(exception)
63
- promise.reject(exception.errorId, exception.description, e)
71
+ promise.reject(exception.errorId, exception.description, expected)
64
72
  }
65
73
  }
66
74
 
67
- @ReactMethod
68
75
  fun showUniversalCheckoutWithClientToken(
69
76
  clientToken: String,
70
77
  promise: Promise,
71
78
  ) {
72
79
  try {
73
- Primer.instance.showUniversalCheckout(reactApplicationContext.applicationContext, clientToken)
80
+ Primer.instance.showUniversalCheckout(
81
+ reactContext.applicationContext,
82
+ clientToken,
83
+ )
74
84
  promise.resolve(null)
75
- } catch (e: Exception) {
76
- val exception =
77
- ErrorTypeRN.NativeBridgeFailed errorTo
78
- "Primer SDK failed: ${e.message}"
85
+ } catch (expected: Exception) {
86
+ val exception = ErrorTypeRN.NativeBridgeFailed errorTo "Primer SDK failed: ${expected.message}"
79
87
  onError(exception)
80
- promise.reject(exception.errorId, exception.description, e)
88
+ promise.reject(exception.errorId, exception.description, expected)
81
89
  }
82
90
  }
83
91
 
84
- @ReactMethod
85
92
  fun showVaultManagerWithClientToken(
86
93
  clientToken: String,
87
94
  promise: Promise,
88
95
  ) {
89
96
  try {
90
- Primer.instance.showVaultManager(reactApplicationContext.applicationContext, clientToken)
97
+ Primer.instance.showVaultManager(
98
+ reactContext.applicationContext,
99
+ clientToken,
100
+ )
91
101
  promise.resolve(null)
92
- } catch (e: Exception) {
93
- val exception =
94
- ErrorTypeRN.NativeBridgeFailed errorTo
95
- "Primer SDK failed: ${e.message}"
102
+ } catch (expected: Exception) {
103
+ val exception = ErrorTypeRN.NativeBridgeFailed errorTo "Primer SDK failed: ${expected.message}"
96
104
  onError(exception)
97
- promise.reject(exception.errorId, exception.description, e)
105
+ promise.reject(exception.errorId, exception.description, expected)
106
+ }
107
+ }
108
+
109
+ fun showPaymentMethod(
110
+ paymentMethod: String,
111
+ intent: String,
112
+ clientToken: String,
113
+ promise: Promise,
114
+ ) {
115
+ try {
116
+ if (PrimerSessionIntent.entries.firstOrNull { intent.equals(it.name, true) } == null) {
117
+ val exception = PrimerErrorRN(
118
+ errorId = ErrorTypeRN.NativeBridgeFailed.errorId,
119
+ errorCode = null,
120
+ description = "Invalid value for 'intent'.",
121
+ diagnosticsId = null,
122
+ recoverySuggestion = "'intent' can be 'CHECKOUT' or 'VAULT'.",
123
+ )
124
+ promise.reject(exception.errorId, exception.description)
125
+ } else {
126
+ Primer.instance.showPaymentMethod(
127
+ reactContext.applicationContext,
128
+ clientToken,
129
+ paymentMethod,
130
+ PrimerSessionIntent.entries.first {
131
+ intent.equals(it.name, ignoreCase = true)
132
+ },
133
+ )
134
+ promise.resolve(null)
135
+ }
136
+ } catch (expected: Exception) {
137
+ val exception = ErrorTypeRN.NativeBridgeFailed errorTo "Primer SDK failed: ${expected.message}"
138
+ onError(exception)
139
+ promise.reject(exception.errorId, exception.description, expected)
98
140
  }
99
141
  }
100
142
 
101
- @ReactMethod
102
143
  fun dismiss(promise: Promise) {
103
144
  Primer.instance.dismiss(true)
104
145
  promise.resolve(null)
105
146
  }
106
147
 
107
- @ReactMethod
108
148
  fun cleanUp(promise: Promise) {
109
149
  Primer.instance.dismiss(true)
110
150
  promise.resolve(null)
111
151
  }
112
152
 
113
153
  // region tokenization handlers
114
- @ReactMethod
115
154
  fun handleTokenizationNewClientToken(
116
155
  newClientToken: String,
117
156
  promise: Promise,
@@ -120,13 +159,11 @@ class PrimerRN(private val reactContext: ReactApplicationContext, private val js
120
159
  promise.resolve(null)
121
160
  }
122
161
 
123
- @ReactMethod
124
162
  fun handleTokenizationSuccess(promise: Promise) {
125
163
  mListener.handleTokenizationSuccess()
126
164
  promise.resolve(null)
127
165
  }
128
166
 
129
- @ReactMethod
130
167
  fun handleTokenizationFailure(
131
168
  errorMessage: String?,
132
169
  promise: Promise,
@@ -137,8 +174,7 @@ class PrimerRN(private val reactContext: ReactApplicationContext, private val js
137
174
  // endregion
138
175
 
139
176
  // region resume handlers
140
- @ReactMethod
141
- fun handleResumeNewClientToken(
177
+ fun handleResumeWithNewClientToken(
142
178
  newClientToken: String,
143
179
  promise: Promise,
144
180
  ) {
@@ -146,13 +182,11 @@ class PrimerRN(private val reactContext: ReactApplicationContext, private val js
146
182
  promise.resolve(null)
147
183
  }
148
184
 
149
- @ReactMethod
150
185
  fun handleResumeSuccess(promise: Promise) {
151
186
  mListener.handleResumeSuccess()
152
187
  promise.resolve(null)
153
188
  }
154
189
 
155
- @ReactMethod
156
190
  fun handleResumeFailure(
157
191
  errorMessage: String?,
158
192
  promise: Promise,
@@ -163,13 +197,11 @@ class PrimerRN(private val reactContext: ReactApplicationContext, private val js
163
197
  // endregion
164
198
 
165
199
  // region payment handlers
166
- @ReactMethod
167
200
  fun handlePaymentCreationContinue(promise: Promise) {
168
201
  mListener.handlePaymentCreationContinue()
169
202
  promise.resolve(null)
170
203
  }
171
204
 
172
- @ReactMethod
173
205
  fun handlePaymentCreationAbort(
174
206
  errorMessage: String?,
175
207
  promise: Promise,
@@ -180,7 +212,6 @@ class PrimerRN(private val reactContext: ReactApplicationContext, private val js
180
212
  // endregion
181
213
 
182
214
  // region error handlers
183
- @ReactMethod
184
215
  fun showErrorMessage(
185
216
  errorMessage: String?,
186
217
  promise: Promise,
@@ -190,31 +221,23 @@ class PrimerRN(private val reactContext: ReactApplicationContext, private val js
190
221
  }
191
222
  // endregion
192
223
 
193
- @ReactMethod
194
224
  fun setImplementedRNCallbacks(
195
225
  implementedRNCallbacksStr: String,
196
226
  promise: Promise,
197
227
  ) {
198
228
  try {
199
229
  Log.d("PrimerRN", "implementedRNCallbacks: $implementedRNCallbacksStr")
200
- val implementedRNCallbacks =
201
- json.decodeFromString<PrimerImplementedRNCallbacks>(implementedRNCallbacksStr)
230
+ val implementedRNCallbacks = json.decodeFromString<PrimerImplementedRNCallbacks>(implementedRNCallbacksStr)
202
231
  this.mListener.setImplementedCallbacks(implementedRNCallbacks)
203
232
  promise.resolve(null)
204
- } catch (e: Exception) {
233
+ } catch (expected: Exception) {
205
234
  val exception =
206
235
  ErrorTypeRN.NativeBridgeFailed errorTo "Implemented callbacks $implementedRNCallbacksStr is not valid."
207
236
  onError(exception)
208
- promise.reject(exception.errorId, exception.description, e)
237
+ promise.reject(exception.errorId, exception.description, expected)
209
238
  }
210
239
  }
211
240
 
212
- @ReactMethod
213
- fun addListener(eventName: String?) = Unit
214
-
215
- @ReactMethod
216
- fun removeListeners(count: Int?) = Unit
217
-
218
241
  private fun startSdk(settings: PrimerSettings) {
219
242
  Primer.instance.configure(settings, mListener)
220
243
  }
@@ -235,28 +258,13 @@ class PrimerRN(private val reactContext: ReactApplicationContext, private val js
235
258
  sendEvent(PrimerEvents.ON_ERROR.eventName, params)
236
259
  }
237
260
 
238
- private fun sendEvent(
239
- name: String,
240
- params: WritableMap,
241
- ) {
242
- reactApplicationContext.getJSModule(
243
- DeviceEventManagerModule.RCTDeviceEventEmitter::class.java,
244
- ).emit(name, params)
245
- }
246
-
247
- private fun sendEvent(
248
- name: String,
249
- data: JSONObject?,
250
- ) {
251
- val params = prepareData(data)
252
- reactContext.getJSModule(
253
- DeviceEventManagerModule.RCTDeviceEventEmitter::class.java,
254
- ).emit(name, params)
255
- }
256
-
257
261
  private fun prepareData(data: JSONObject?): WritableMap {
258
262
  return data.toWritableMap()
259
263
  }
264
+
265
+ companion object Companion {
266
+ const val NAME = "NativePrimer"
267
+ }
260
268
  }
261
269
 
262
270
  internal object Keys {
@@ -7,6 +7,7 @@ import com.facebook.react.bridge.ReactApplicationContext
7
7
  import com.facebook.react.bridge.ReactContextBaseJavaModule
8
8
  import com.facebook.react.bridge.ReactMethod
9
9
  import com.facebook.react.bridge.WritableMap
10
+ import com.facebook.react.module.annotations.ReactModule
10
11
  import com.facebook.react.modules.core.DeviceEventManagerModule
11
12
  import com.primerioreactnative.components.events.PrimerHeadlessUniversalCheckoutEvent
12
13
  import com.primerioreactnative.datamodels.ErrorTypeRN
@@ -26,6 +27,7 @@ import org.json.JSONObject
26
27
 
27
28
  @Suppress("TooManyFunctions")
28
29
  @ExperimentalPrimerApi
30
+ @ReactModule(name = PrimerRNHeadlessUniversalCheckout.NAME)
29
31
  class PrimerRNHeadlessUniversalCheckout(
30
32
  private val reactContext: ReactApplicationContext,
31
33
  private val json: Json,
@@ -193,7 +195,8 @@ class PrimerRNHeadlessUniversalCheckout(
193
195
  return data.toWritableMap()
194
196
  }
195
197
 
196
- private companion object {
198
+ companion object {
197
199
  const val TAG = "PrimerHUC"
200
+ const val NAME = "PrimerHeadlessUniversalCheckout"
198
201
  }
199
202
  }