@primer-io/react-native 2.16.0 → 2.17.0-rc.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 (283) hide show
  1. package/android/.project +2 -2
  2. package/android/build.gradle +2 -3
  3. package/android/gradle.properties +1 -1
  4. package/android/src/main/java/com/primerioreactnative/PrimerCardNumberEditTextManager.kt +0 -15
  5. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +13 -34
  6. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +23 -8
  7. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +20 -120
  8. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +61 -69
  9. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +6 -2
  10. package/android/src/main/java/com/primerioreactnative/{huc → components}/assets/AssetsManager.kt +5 -14
  11. package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +23 -0
  12. package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +24 -0
  13. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +25 -0
  14. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +9 -0
  15. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/PrimerRNAsset.kt +99 -0
  16. package/android/src/main/java/com/primerioreactnative/{huc/datamodels/manager/raw/card/PrimerRNRawCardData.kt → components/datamodels/manager/raw/card/PrimerRNCardData.kt} +6 -8
  17. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +19 -0
  18. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +14 -0
  19. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +12 -0
  20. package/android/src/main/java/com/primerioreactnative/{huc → components}/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +1 -1
  21. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +17 -0
  22. package/android/src/main/java/com/primerioreactnative/{huc → components}/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +1 -2
  23. package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +131 -0
  24. package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +87 -0
  25. package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +72 -68
  26. package/android/src/main/java/com/primerioreactnative/{huc → components}/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +13 -5
  27. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +5 -4
  28. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +11 -0
  29. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +0 -8
  30. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +0 -4
  31. package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +15 -15
  32. package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +7 -7
  33. package/ios/Podfile.lock +1 -1
  34. package/ios/ReactNative.xcodeproj/project.pbxproj +20 -20
  35. package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +75 -0
  36. package/ios/{DataModels/RNTPrimerCardRedirectData.swift → Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift} +5 -8
  37. package/ios/{DataModels/RNTPrimerCardData.swift → Sources/DataModels/PrimerCardData+Extension.swift} +2 -5
  38. package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +20 -0
  39. package/ios/{DataModels/RNTPrimerPhoneNumberData.swift → Sources/DataModels/PrimerPhoneNumberData+Extension.swift} +0 -1
  40. package/ios/{DataModels/RNTPrimerRetailerData.swift → Sources/DataModels/PrimerRawRetailerData+Extension.swift} +3 -4
  41. package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +82 -0
  42. package/ios/{DataModels → Sources/DataModels}/PrimerThemeRN.swift +0 -0
  43. package/ios/Sources/DataModels/RNTNativeError.swift +22 -0
  44. package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +65 -0
  45. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.m +19 -0
  46. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +63 -0
  47. package/ios/{Headless Universal Checkout → Sources/Headless Universal Checkout/Managers/Payment Method Managers}/RNTPrimerCardNumberInputElementManager.m +0 -0
  48. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.m +23 -0
  49. package/ios/{Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift → Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift } +36 -31
  50. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.m +24 -0
  51. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.swift +107 -0
  52. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +41 -0
  53. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +498 -0
  54. package/ios/Sources/Helpers/Encodable+Extension.swift +17 -0
  55. package/ios/Sources/Helpers/Error+Extensions.swift +39 -0
  56. package/ios/Sources/Helpers/UIColor+Extensions.swift +32 -0
  57. package/ios/Sources/Helpers/UIImage+Extensions.swift +32 -0
  58. package/ios/Sources/RNTPrimer.m +80 -0
  59. package/ios/{RNTPrimer.swift → Sources/RNTPrimer.swift} +20 -34
  60. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +59 -0
  61. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  62. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +35 -0
  63. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  64. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +151 -0
  65. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  66. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +270 -0
  67. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  68. package/lib/commonjs/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  69. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  70. package/lib/commonjs/HeadlessUniversalCheckout/types.js +34 -0
  71. package/lib/commonjs/HeadlessUniversalCheckout/types.js.map +1 -0
  72. package/lib/commonjs/Primer.js +52 -52
  73. package/lib/commonjs/Primer.js.map +1 -1
  74. package/lib/commonjs/PrimerInput.js.map +1 -1
  75. package/lib/commonjs/RNPrimer.js +2 -12
  76. package/lib/commonjs/RNPrimer.js.map +1 -1
  77. package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  78. package/lib/commonjs/index.js +63 -71
  79. package/lib/commonjs/index.js.map +1 -1
  80. package/lib/commonjs/models/PrimerAsset.js +2 -0
  81. package/lib/commonjs/models/PrimerAsset.js.map +1 -0
  82. package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  83. package/lib/commonjs/models/PrimerCheckoutData.js.map +1 -1
  84. package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  85. package/lib/commonjs/models/PrimerClientSession.js.map +1 -1
  86. package/lib/commonjs/models/PrimerCountryCode.js.map +1 -1
  87. package/lib/commonjs/models/PrimerCurrencyCode.js.map +1 -1
  88. package/lib/commonjs/models/PrimerError.js +4 -4
  89. package/lib/commonjs/models/PrimerError.js.map +1 -1
  90. package/lib/commonjs/models/PrimerHandlers.js +2 -0
  91. package/lib/commonjs/models/PrimerHandlers.js.map +1 -0
  92. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  93. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  94. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js +2 -0
  95. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js.map +1 -0
  96. package/lib/commonjs/models/PrimerInitializationData.js.map +1 -1
  97. package/lib/commonjs/models/PrimerInputElementType.js +20 -0
  98. package/lib/commonjs/models/PrimerInputElementType.js.map +1 -0
  99. package/lib/commonjs/models/PrimerInterfaces.js.map +1 -1
  100. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js +14 -0
  101. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  102. package/lib/commonjs/models/PrimerPaymentMethodTokenData.js.map +1 -1
  103. package/lib/commonjs/models/PrimerRawData.js.map +1 -1
  104. package/lib/commonjs/models/PrimerSessionIntent.js.map +1 -1
  105. package/lib/commonjs/models/PrimerSettings.js.map +1 -1
  106. package/lib/commonjs/models/PrimerTheme.js.map +1 -1
  107. package/lib/commonjs/models/RetailOutletsRetail.js.map +1 -1
  108. package/lib/commonjs/utils/index.js.map +1 -1
  109. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +52 -0
  110. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  111. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +28 -0
  112. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  113. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +144 -0
  114. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  115. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +261 -0
  116. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  117. package/lib/module/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  118. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  119. package/lib/module/HeadlessUniversalCheckout/types.js +33 -0
  120. package/lib/module/HeadlessUniversalCheckout/types.js.map +1 -0
  121. package/lib/module/Primer.js +52 -52
  122. package/lib/module/Primer.js.map +1 -1
  123. package/lib/module/PrimerInput.js.map +1 -1
  124. package/lib/module/RNPrimer.js +2 -12
  125. package/lib/module/RNPrimer.js.map +1 -1
  126. package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  127. package/lib/module/index.js +15 -9
  128. package/lib/module/index.js.map +1 -1
  129. package/lib/module/models/PrimerAsset.js +2 -0
  130. package/lib/module/models/PrimerAsset.js.map +1 -0
  131. package/lib/module/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  132. package/lib/module/models/PrimerCheckoutData.js.map +1 -1
  133. package/lib/module/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  134. package/lib/module/models/PrimerClientSession.js.map +1 -1
  135. package/lib/module/models/PrimerCountryCode.js.map +1 -1
  136. package/lib/module/models/PrimerCurrencyCode.js.map +1 -1
  137. package/lib/module/models/PrimerError.js +4 -4
  138. package/lib/module/models/PrimerError.js.map +1 -1
  139. package/lib/module/models/PrimerHandlers.js +2 -0
  140. package/lib/module/models/PrimerHandlers.js.map +1 -0
  141. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  142. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  143. package/lib/module/models/PrimerImplementedRNCallbacks.js +2 -0
  144. package/lib/module/models/PrimerImplementedRNCallbacks.js.map +1 -0
  145. package/lib/module/models/PrimerInitializationData.js.map +1 -1
  146. package/lib/module/models/PrimerInputElementType.js +13 -0
  147. package/lib/module/models/PrimerInputElementType.js.map +1 -0
  148. package/lib/module/models/PrimerInterfaces.js.map +1 -1
  149. package/lib/module/models/PrimerPaymentMethodManagerCategory.js +7 -0
  150. package/lib/module/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  151. package/lib/module/models/PrimerPaymentMethodTokenData.js.map +1 -1
  152. package/lib/module/models/PrimerRawData.js.map +1 -1
  153. package/lib/module/models/PrimerSessionIntent.js.map +1 -1
  154. package/lib/module/models/PrimerSettings.js.map +1 -1
  155. package/lib/module/models/PrimerTheme.js.map +1 -1
  156. package/lib/module/models/RetailOutletsRetail.js.map +1 -1
  157. package/lib/module/utils/index.js.map +1 -1
  158. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +9 -0
  159. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -0
  160. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts +8 -0
  161. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -0
  162. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts +29 -0
  163. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -0
  164. package/lib/typescript/{headless_checkout → HeadlessUniversalCheckout}/PrimerHeadlessUniversalCheckout.d.ts +4 -5
  165. package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  166. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts +18 -0
  167. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  168. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts +1 -0
  169. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts.map +1 -0
  170. package/lib/typescript/Primer.d.ts +1 -0
  171. package/lib/typescript/Primer.d.ts.map +1 -0
  172. package/lib/typescript/PrimerInput.d.ts +5 -4
  173. package/lib/typescript/PrimerInput.d.ts.map +1 -0
  174. package/lib/typescript/RNPrimer.d.ts +3 -4
  175. package/lib/typescript/RNPrimer.d.ts.map +1 -0
  176. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
  177. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts.map +1 -0
  178. package/lib/typescript/index.d.ts +18 -9
  179. package/lib/typescript/index.d.ts.map +1 -0
  180. package/lib/typescript/models/PrimerAsset.d.ts +14 -0
  181. package/lib/typescript/models/PrimerAsset.d.ts.map +1 -0
  182. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +7 -6
  183. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -0
  184. package/lib/typescript/models/PrimerCheckoutData.d.ts +3 -2
  185. package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -0
  186. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts +2 -1
  187. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -0
  188. package/lib/typescript/models/PrimerClientSession.d.ts +6 -5
  189. package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -0
  190. package/lib/typescript/models/PrimerCountryCode.d.ts +2 -1
  191. package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -0
  192. package/lib/typescript/models/PrimerCurrencyCode.d.ts +2 -1
  193. package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -0
  194. package/lib/typescript/models/PrimerError.d.ts +3 -1
  195. package/lib/typescript/models/PrimerError.d.ts.map +1 -0
  196. package/lib/typescript/models/PrimerHandlers.d.ts +22 -0
  197. package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -0
  198. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +6 -0
  199. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -0
  200. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts +17 -0
  201. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -0
  202. package/lib/typescript/models/PrimerInitializationData.d.ts +3 -2
  203. package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -0
  204. package/lib/typescript/models/PrimerInputElementType.d.ts +12 -0
  205. package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -0
  206. package/lib/typescript/models/PrimerInterfaces.d.ts +2 -20
  207. package/lib/typescript/models/PrimerInterfaces.d.ts.map +1 -0
  208. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts +6 -0
  209. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -0
  210. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts +2 -1
  211. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts.map +1 -0
  212. package/lib/typescript/models/PrimerRawData.d.ts +7 -10
  213. package/lib/typescript/models/PrimerRawData.d.ts.map +1 -0
  214. package/lib/typescript/models/PrimerSessionIntent.d.ts +1 -0
  215. package/lib/typescript/models/PrimerSessionIntent.d.ts.map +1 -0
  216. package/lib/typescript/models/PrimerSettings.d.ts +30 -16
  217. package/lib/typescript/models/PrimerSettings.d.ts.map +1 -0
  218. package/lib/typescript/models/PrimerTheme.d.ts +3 -2
  219. package/lib/typescript/models/PrimerTheme.d.ts.map +1 -0
  220. package/lib/typescript/models/RetailOutletsRetail.d.ts +2 -1
  221. package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -0
  222. package/lib/typescript/utils/index.d.ts +1 -0
  223. package/lib/typescript/utils/index.d.ts.map +1 -0
  224. package/package.json +8 -7
  225. package/primer-io-react-native.podspec +1 -2
  226. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +56 -0
  227. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +31 -0
  228. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +166 -0
  229. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +333 -0
  230. package/src/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.ts +37 -128
  231. package/src/HeadlessUniversalCheckout/types.ts +32 -0
  232. package/src/Primer.ts +49 -60
  233. package/src/RNPrimer.ts +2 -18
  234. package/src/index.tsx +43 -29
  235. package/src/models/PrimerAsset.ts +13 -0
  236. package/src/models/PrimerError.ts +3 -1
  237. package/src/models/PrimerHandlers.ts +25 -0
  238. package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +5 -0
  239. package/src/models/PrimerImplementedRNCallbacks.ts +20 -0
  240. package/src/models/PrimerInputElementType.ts +11 -0
  241. package/src/models/PrimerInterfaces.ts +1 -28
  242. package/src/models/PrimerPaymentMethodManagerCategory.ts +5 -0
  243. package/src/models/PrimerRawData.ts +6 -10
  244. package/src/models/PrimerSettings.ts +40 -26
  245. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/cardRedirect/PrimerRNPRawCardRedirectData.kt +0 -20
  246. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/phoneNumber/PrimerRNRawPhoneNumberData.kt +0 -14
  247. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/PrimerRNRawRetailOutletData.kt +0 -12
  248. package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +0 -15
  249. package/ios/DataModels/ImplementedRNCallbacks.swift +0 -62
  250. package/ios/DataModels/PrimerErrorRN.swift +0 -35
  251. package/ios/DataModels/PrimerSettingsRN.swift +0 -84
  252. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +0 -62
  253. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +0 -501
  254. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +0 -14
  255. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +0 -117
  256. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.m +0 -23
  257. package/ios/RNTPrimer.m +0 -59
  258. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -288
  259. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  260. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  261. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  262. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  263. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  264. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  265. package/lib/commonjs/headless_checkout/types.js +0 -6
  266. package/lib/commonjs/headless_checkout/types.js.map +0 -1
  267. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -279
  268. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  269. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -83
  270. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  271. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  272. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -84
  273. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  274. package/lib/module/headless_checkout/types.js +0 -2
  275. package/lib/module/headless_checkout/types.js.map +0 -1
  276. package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -18
  277. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +0 -22
  278. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -14
  279. package/lib/typescript/headless_checkout/types.d.ts +0 -22
  280. package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +0 -358
  281. package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -109
  282. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -104
  283. package/src/headless_checkout/types.ts +0 -32
@@ -13,7 +13,6 @@ enum PrimerHeadlessUniversalCheckoutRawDataManagerEvents: Int, CaseIterable {
13
13
 
14
14
  case onMetadataChange = 0
15
15
  case onValidation
16
- case onNativeError
17
16
 
18
17
  var stringValue: String {
19
18
  switch self {
@@ -21,13 +20,11 @@ enum PrimerHeadlessUniversalCheckoutRawDataManagerEvents: Int, CaseIterable {
21
20
  return "onMetadataChange"
22
21
  case .onValidation:
23
22
  return "onValidation"
24
- case .onNativeError:
25
- return "onNativeError"
26
23
  }
27
24
  }
28
25
  }
29
26
 
30
- @objc(PrimerHeadlessUniversalCheckoutRawDataManager)
27
+ @objc(RNTPrimerHeadlessUniversalCheckoutRawDataManager)
31
28
  class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
32
29
 
33
30
  private var rawDataManager: PrimerHeadlessUniversalCheckout.RawDataManager!
@@ -44,32 +41,20 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
44
41
  // MARK: - API
45
42
 
46
43
  @objc
47
- public func initialize(
44
+ public func configure(
48
45
  _ paymentMethodTypeStr: String,
49
- resolver: RCTPromiseResolveBlock,
50
- rejecter: RCTPromiseRejectBlock
46
+ resolver: @escaping RCTPromiseResolveBlock,
47
+ rejecter: @escaping RCTPromiseRejectBlock
51
48
  ) {
52
49
  self.paymentMethodType = paymentMethodTypeStr
53
50
 
54
51
  do {
55
- self.rawDataManager = try PrimerHeadlessUniversalCheckout.RawDataManager(paymentMethodType: self.paymentMethodType!)
56
- self.rawDataManager.delegate = self
57
- resolver(nil)
52
+ self.rawDataManager = try PrimerHeadlessUniversalCheckout.RawDataManager(paymentMethodType: self.paymentMethodType!, delegate: self)
58
53
  } catch {
59
54
  rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
60
55
  }
61
- }
62
-
63
- @objc
64
- public func configure(_ resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
65
-
66
- guard let rawDataManager = rawDataManager else {
67
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "The PrimerHeadlessUniversalCheckoutRawDataManager has not been initialized. Make sure you have called the PrimerHeadlessUniversalCheckoutRawDataManager.initialize function first."])
68
- rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
69
- return
70
- }
71
56
 
72
- rawDataManager.configure { data, error in
57
+ self.rawDataManager!.configure { data, error in
73
58
  do {
74
59
  guard error == nil else {
75
60
  rejecter(error!.rnError["errorId"]!, error!.rnError["description"], error)
@@ -85,13 +70,15 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
85
70
  }
86
71
 
87
72
  @objc
88
- public func listRequiredInputElementTypesForPaymentMethodType(
89
- _ paymentMethodTypeStr: String,
90
- resolver: RCTPromiseResolveBlock,
73
+ public func listRequiredInputElementTypes(
74
+ _ resolver: RCTPromiseResolveBlock,
91
75
  rejecter: RCTPromiseRejectBlock
92
76
  ) {
93
77
  guard let rawDataManager = rawDataManager else {
94
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "The PrimerHeadlessUniversalCheckoutRawDataManager has not been initialized. Make sure you have called the PrimerHeadlessUniversalCheckoutRawDataManager.configure function first."])
78
+ let err = RNTNativeError(
79
+ errorId: "native-ios",
80
+ errorDescription: "The RawDataManager has not been initialized",
81
+ recoverySuggestion: "Make sure you have called initialized the `RawDataManager' first.")
95
82
  rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
96
83
  return
97
84
  }
@@ -107,7 +94,10 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
107
94
  rejecter: RCTPromiseRejectBlock
108
95
  ) {
109
96
  guard let rawDataManager = rawDataManager else {
110
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "The PrimerHeadlessUniversalCheckoutRawDataManager has not been initialized. Make sure you have called the PrimerHeadlessUniversalCheckoutRawDataManager.configure function first."])
97
+ let err = RNTNativeError(
98
+ errorId: "native-ios",
99
+ errorDescription: "The RawDataManager has not been initialized",
100
+ recoverySuggestion: "Make sure you have called initialized the `RawDataManager' first.")
111
101
  rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
112
102
  return
113
103
  }
@@ -124,19 +114,22 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
124
114
  return
125
115
  }
126
116
 
127
- if let rawCardRedirectData = PrimerBancontactCardRedirectData(cardRedirectDataStr: rawDataStr) {
117
+ if let rawCardRedirectData = PrimerBancontactCardData(bankcontactCardDataStr: rawDataStr) {
128
118
  rawDataManager.rawData = rawCardRedirectData
129
119
  resolver(nil)
130
120
  return
131
121
  }
132
122
 
133
- if let rawRetailerData = PrimerRawRetailerData(primerRawRetailerDataStr: rawDataStr) {
123
+ if let rawRetailerData = PrimerRetailerData(primerRetailerDataStr: rawDataStr) {
134
124
  rawDataManager.rawData = rawRetailerData
135
125
  resolver(nil)
136
126
  return
137
127
  }
138
128
 
139
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Failed to decode RawData on iOS. Make sure you're providing a valid 'PrimerRawData' (or any inherited) object"])
129
+ let err = RNTNativeError(
130
+ errorId: "native-ios",
131
+ errorDescription: "Failed to decode RawData on iOS.",
132
+ recoverySuggestion: "Make sure you're providing a valid 'RawData' (or any inherited) object.")
140
133
  rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
141
134
  }
142
135
 
@@ -146,7 +139,10 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
146
139
  rejecter: RCTPromiseRejectBlock
147
140
  ) {
148
141
  guard let rawDataManager = rawDataManager else {
149
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "The PrimerHeadlessUniversalCheckoutRawDataManager has not been initialized. Make sure you have called the PrimerHeadlessUniversalCheckoutRawDataManager.configure function first."])
142
+ let err = RNTNativeError(
143
+ errorId: "native-ios",
144
+ errorDescription: "The RawDataManager has not been initialized",
145
+ recoverySuggestion: "Make sure you have called initialized the `RawDataManager' first.")
150
146
  rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
151
147
  return
152
148
  }
@@ -154,9 +150,18 @@ class RNTPrimerHeadlessUniversalCheckoutRawDataManager: RCTEventEmitter {
154
150
  rawDataManager.submit()
155
151
  resolver(nil)
156
152
  }
153
+
154
+ @objc
155
+ public func cleanUp(
156
+ _ resolver: RCTPromiseResolveBlock,
157
+ rejecter: RCTPromiseRejectBlock
158
+ ) {
159
+
160
+ }
161
+
157
162
  }
158
163
 
159
- extension RNTPrimerHeadlessUniversalCheckoutRawDataManager: PrimerRawDataManagerDelegate {
164
+ extension RNTPrimerHeadlessUniversalCheckoutRawDataManager: PrimerHeadlessUniversalCheckoutRawDataManagerDelegate {
160
165
 
161
166
  func primerRawDataManager(_ rawDataManager: PrimerHeadlessUniversalCheckout.RawDataManager, metadataDidChange metadata: [String : Any]?) {
162
167
  DispatchQueue.main.async {
@@ -0,0 +1,24 @@
1
+ //
2
+ // RNTAssetsManager.m
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Evangelos on 6/10/22.
6
+ //
7
+
8
+ #import <React/RCTBridgeModule.h>
9
+ #import <React/RCTEventEmitter.h>
10
+
11
+ @interface RCT_EXTERN_MODULE(RNTPrimerHeadlessUniversalCheckoutAssetsManager, RCTEventEmitter)
12
+
13
+ RCT_EXTERN_METHOD(getCardNetworkImage:(NSString *)cardNetworkStr
14
+ resolver:(RCTPromiseResolveBlock)resolver
15
+ rejecter:(RCTPromiseRejectBlock)rejecter)
16
+
17
+ RCT_EXTERN_METHOD(getPaymentMethodAsset:(NSString *)paymentMethodType
18
+ resolver:(RCTPromiseResolveBlock)resolver
19
+ rejecter:(RCTPromiseRejectBlock)rejecter)
20
+
21
+ RCT_EXTERN_METHOD(getPaymentMethodAssets:(RCTPromiseResolveBlock)resolver
22
+ rejecter:(RCTPromiseRejectBlock)rejecter)
23
+
24
+ @end
@@ -0,0 +1,107 @@
1
+ //
2
+ // RNTAssetsManager.swift
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Evangelos on 6/10/22.
6
+ //
7
+
8
+ import Foundation
9
+ import PrimerSDK
10
+
11
+ @objc(RNTPrimerHeadlessUniversalCheckoutAssetsManager)
12
+ class RNTPrimerHeadlessUniversalCheckoutAssetsManager: RCTEventEmitter {
13
+
14
+ override func supportedEvents() -> [String]! {
15
+ return []
16
+ }
17
+
18
+ override class func requiresMainQueueSetup() -> Bool {
19
+ return true
20
+ }
21
+
22
+ @objc
23
+ func getCardNetworkImage(
24
+ _ cardNetworkStr: String,
25
+ resolver: RCTPromiseResolveBlock,
26
+ rejecter: RCTPromiseRejectBlock
27
+ ) {
28
+ do {
29
+
30
+ guard let cardNetwork = CardNetwork(rawValue: cardNetworkStr) else {
31
+ let err = RNTNativeError(
32
+ errorId: "native-ios",
33
+ errorDescription: "Failed to find asset of \(cardNetworkStr).",
34
+ recoverySuggestion: nil)
35
+ throw err
36
+ }
37
+
38
+ guard let cardNetworkImage = try PrimerSDK.PrimerHeadlessUniversalCheckout.AssetsManager.getCardNetworkImage(for: cardNetwork) else {
39
+ let err = RNTNativeError(
40
+ errorId: "native-ios",
41
+ errorDescription: "Failed to find asset of \(cardNetworkStr).",
42
+ recoverySuggestion: nil)
43
+ throw err
44
+ }
45
+
46
+ let localUrl = try cardNetworkImage.store(withName: cardNetwork.rawValue)
47
+ resolver(["cardNetworkImageURL": localUrl.absoluteString])
48
+
49
+ } catch {
50
+ rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
51
+ }
52
+ }
53
+
54
+ @objc
55
+ func getPaymentMethodAsset(
56
+ _ paymentMethodType: String,
57
+ resolver: RCTPromiseResolveBlock,
58
+ rejecter: RCTPromiseRejectBlock
59
+ ) {
60
+ do {
61
+ guard let paymentMethodAsset = try PrimerSDK.PrimerHeadlessUniversalCheckout.AssetsManager.getPaymentMethodAsset(for: paymentMethodType) else {
62
+ let err = RNTNativeError(
63
+ errorId: "native-ios",
64
+ errorDescription: "Failed to find asset of \(paymentMethodType) for this session",
65
+ recoverySuggestion: nil)
66
+ throw err
67
+ }
68
+
69
+ if let rntPaymentMethodAsset = try? RNTPrimerPaymentMethodAsset(primerPaymentMethodAsset: paymentMethodAsset).toJsonObject() {
70
+ resolver(["paymentMethodAsset": rntPaymentMethodAsset])
71
+ } else {
72
+ let err = RNTNativeError(
73
+ errorId: "native-ios",
74
+ errorDescription: "Failed to create the RNTPrimerPaymentMethodAsset",
75
+ recoverySuggestion: nil)
76
+ throw err
77
+ }
78
+
79
+ } catch {
80
+ rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
81
+ }
82
+ }
83
+
84
+ @objc
85
+ func getPaymentMethodAssets(
86
+ _ resolver: RCTPromiseResolveBlock,
87
+ rejecter: RCTPromiseRejectBlock
88
+ ) {
89
+ do {
90
+ let paymentMethodAssets = try PrimerSDK.PrimerHeadlessUniversalCheckout.AssetsManager.getPaymentMethodAssets()
91
+
92
+ let rntPaymentMethodAssets = paymentMethodAssets.compactMap({ try? RNTPrimerPaymentMethodAsset(primerPaymentMethodAsset: $0).toJsonObject() })
93
+ guard !rntPaymentMethodAssets.isEmpty else {
94
+ let err = RNTNativeError(
95
+ errorId: "native-ios",
96
+ errorDescription: "Failed to find assets for this session",
97
+ recoverySuggestion: nil)
98
+ throw err
99
+ }
100
+
101
+ resolver(["paymentMethodAssets": rntPaymentMethodAssets])
102
+
103
+ } catch {
104
+ rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
105
+ }
106
+ }
107
+ }
@@ -0,0 +1,41 @@
1
+ //
2
+ // RNTPrimerHeadlessUniversalCheckout.m
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Evangelos on 8/3/22.
6
+ //
7
+
8
+ #import <React/RCTBridgeModule.h>
9
+ #import <React/RCTEventEmitter.h>
10
+
11
+ @interface RCT_EXTERN_MODULE(PrimerHeadlessUniversalCheckout, RCTEventEmitter)
12
+
13
+ RCT_EXTERN_METHOD(startWithClientToken:(NSString *)clientToken
14
+ settingsStr:(NSString *)settingsStr
15
+ resolver:(RCTPromiseResolveBlock)resolver
16
+ rejecter: (RCTPromiseRejectBlock)rejecter)
17
+
18
+ RCT_EXTERN_METHOD(cleanUp:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
19
+
20
+ // MARK: - DECISION HANDLERS
21
+
22
+ // MARK: Tokenization & Resume Handlers
23
+
24
+ RCT_EXTERN_METHOD(handleTokenizationNewClientToken:(NSString *)newClientToken resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
25
+
26
+ RCT_EXTERN_METHOD(handleResumeWithNewClientToken:(NSString *)newClientToken resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
27
+
28
+ RCT_EXTERN_METHOD(handleCompleteFlow:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
29
+
30
+ // MARK: Payment Creation Handlers
31
+
32
+ RCT_EXTERN_METHOD(handlePaymentCreationAbort:(NSString *)errorMessage resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
33
+
34
+ RCT_EXTERN_METHOD(handlePaymentCreationContinue:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
35
+
36
+ // MARK: - HELPERS
37
+
38
+ RCT_EXTERN_METHOD(setImplementedRNCallbacks:(NSString *)implementedRNCallbacksStr resolver:(RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
39
+
40
+
41
+ @end