@primer-io/react-native 2.16.7 → 2.17.0-rc.10

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 +15 -2
  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 +106 -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 +13 -9
  30. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +3 -3
  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 +94 -0
  42. package/ios/Sources/DataModels/RNTNativeError.swift +22 -0
  43. package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +67 -0
  44. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.m +19 -0
  45. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +63 -0
  46. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.m +23 -0
  47. package/ios/{Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.swift → Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift } +36 -31
  48. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.m +24 -0
  49. package/ios/Sources/Headless Universal Checkout/Managers/RNTAssetsManager.swift +107 -0
  50. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +41 -0
  51. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +498 -0
  52. package/ios/Sources/Helpers/Encodable+Extension.swift +17 -0
  53. package/ios/Sources/Helpers/Error+Extensions.swift +39 -0
  54. package/ios/Sources/Helpers/UIColor+Extensions.swift +32 -0
  55. package/ios/Sources/Helpers/UIImage+Extensions.swift +32 -0
  56. package/ios/Sources/RNTPrimer.m +86 -0
  57. package/ios/{RNTPrimer.swift → Sources/RNTPrimer.swift} +37 -28
  58. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +59 -0
  59. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  60. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +35 -0
  61. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  62. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +151 -0
  63. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  64. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +270 -0
  65. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  66. package/lib/commonjs/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  67. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  68. package/lib/commonjs/HeadlessUniversalCheckout/types.js +34 -0
  69. package/lib/commonjs/HeadlessUniversalCheckout/types.js.map +1 -0
  70. package/lib/commonjs/Primer.js +24 -23
  71. package/lib/commonjs/Primer.js.map +1 -1
  72. package/lib/commonjs/PrimerInput.js.map +1 -1
  73. package/lib/commonjs/RNPrimer.js +4 -4
  74. package/lib/commonjs/RNPrimer.js.map +1 -1
  75. package/lib/commonjs/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  76. package/lib/commonjs/index.js +63 -71
  77. package/lib/commonjs/index.js.map +1 -1
  78. package/lib/commonjs/models/PrimerAsset.js +2 -0
  79. package/lib/commonjs/models/PrimerAsset.js.map +1 -0
  80. package/lib/commonjs/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  81. package/lib/commonjs/models/PrimerCheckoutData.js.map +1 -1
  82. package/lib/commonjs/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  83. package/lib/commonjs/models/PrimerClientSession.js.map +1 -1
  84. package/lib/commonjs/models/PrimerCountryCode.js.map +1 -1
  85. package/lib/commonjs/models/PrimerCurrencyCode.js.map +1 -1
  86. package/lib/commonjs/models/PrimerError.js +4 -4
  87. package/lib/commonjs/models/PrimerError.js.map +1 -1
  88. package/lib/commonjs/models/PrimerHandlers.js +2 -0
  89. package/lib/commonjs/models/PrimerHandlers.js.map +1 -0
  90. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  91. package/lib/commonjs/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  92. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js +2 -0
  93. package/lib/commonjs/models/PrimerImplementedRNCallbacks.js.map +1 -0
  94. package/lib/commonjs/models/PrimerInitializationData.js.map +1 -1
  95. package/lib/commonjs/models/PrimerInputElementType.js +20 -0
  96. package/lib/commonjs/models/PrimerInputElementType.js.map +1 -0
  97. package/lib/commonjs/models/PrimerInterfaces.js.map +1 -1
  98. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js +14 -0
  99. package/lib/commonjs/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  100. package/lib/commonjs/models/PrimerPaymentMethodTokenData.js.map +1 -1
  101. package/lib/commonjs/models/PrimerRawData.js.map +1 -1
  102. package/lib/commonjs/models/PrimerSessionIntent.js.map +1 -1
  103. package/lib/commonjs/models/PrimerSettings.js.map +1 -1
  104. package/lib/commonjs/models/PrimerTheme.js.map +1 -1
  105. package/lib/commonjs/models/RetailOutletsRetail.js.map +1 -1
  106. package/lib/commonjs/utils/index.js.map +1 -1
  107. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +52 -0
  108. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -0
  109. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js +28 -0
  110. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -0
  111. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +144 -0
  112. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -0
  113. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +261 -0
  114. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -0
  115. package/lib/module/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.js +7 -81
  116. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -0
  117. package/lib/module/HeadlessUniversalCheckout/types.js +33 -0
  118. package/lib/module/HeadlessUniversalCheckout/types.js.map +1 -0
  119. package/lib/module/Primer.js +24 -23
  120. package/lib/module/Primer.js.map +1 -1
  121. package/lib/module/PrimerInput.js.map +1 -1
  122. package/lib/module/RNPrimer.js +4 -4
  123. package/lib/module/RNPrimer.js.map +1 -1
  124. package/lib/module/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.js.map +1 -1
  125. package/lib/module/index.js +15 -9
  126. package/lib/module/index.js.map +1 -1
  127. package/lib/module/models/PrimerAsset.js +2 -0
  128. package/lib/module/models/PrimerAsset.js.map +1 -0
  129. package/lib/module/models/PrimerCheckoutAdditionalInfo.js.map +1 -1
  130. package/lib/module/models/PrimerCheckoutData.js.map +1 -1
  131. package/lib/module/models/PrimerCheckoutPaymentMethodData.js.map +1 -1
  132. package/lib/module/models/PrimerClientSession.js.map +1 -1
  133. package/lib/module/models/PrimerCountryCode.js.map +1 -1
  134. package/lib/module/models/PrimerCurrencyCode.js.map +1 -1
  135. package/lib/module/models/PrimerError.js +4 -4
  136. package/lib/module/models/PrimerError.js.map +1 -1
  137. package/lib/module/models/PrimerHandlers.js +2 -0
  138. package/lib/module/models/PrimerHandlers.js.map +1 -0
  139. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js +2 -0
  140. package/lib/module/models/PrimerHeadlessUniversalCheckoutPaymentMethod.js.map +1 -0
  141. package/lib/module/models/PrimerImplementedRNCallbacks.js +2 -0
  142. package/lib/module/models/PrimerImplementedRNCallbacks.js.map +1 -0
  143. package/lib/module/models/PrimerInitializationData.js.map +1 -1
  144. package/lib/module/models/PrimerInputElementType.js +13 -0
  145. package/lib/module/models/PrimerInputElementType.js.map +1 -0
  146. package/lib/module/models/PrimerInterfaces.js.map +1 -1
  147. package/lib/module/models/PrimerPaymentMethodManagerCategory.js +7 -0
  148. package/lib/module/models/PrimerPaymentMethodManagerCategory.js.map +1 -0
  149. package/lib/module/models/PrimerPaymentMethodTokenData.js.map +1 -1
  150. package/lib/module/models/PrimerRawData.js.map +1 -1
  151. package/lib/module/models/PrimerSessionIntent.js.map +1 -1
  152. package/lib/module/models/PrimerSettings.js.map +1 -1
  153. package/lib/module/models/PrimerTheme.js.map +1 -1
  154. package/lib/module/models/RetailOutletsRetail.js.map +1 -1
  155. package/lib/module/utils/index.js.map +1 -1
  156. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +9 -0
  157. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -0
  158. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts +8 -0
  159. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -0
  160. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts +29 -0
  161. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -0
  162. package/lib/typescript/{headless_checkout → HeadlessUniversalCheckout}/PrimerHeadlessUniversalCheckout.d.ts +4 -5
  163. package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  164. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts +18 -0
  165. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -0
  166. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts +1 -0
  167. package/lib/typescript/HeadlessUniversalCheckout/types.d.ts.map +1 -0
  168. package/lib/typescript/Primer.d.ts +1 -0
  169. package/lib/typescript/Primer.d.ts.map +1 -0
  170. package/lib/typescript/PrimerInput.d.ts +5 -4
  171. package/lib/typescript/PrimerInput.d.ts.map +1 -0
  172. package/lib/typescript/RNPrimer.d.ts +4 -4
  173. package/lib/typescript/RNPrimer.d.ts.map +1 -0
  174. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts +1 -0
  175. package/lib/typescript/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.d.ts.map +1 -0
  176. package/lib/typescript/index.d.ts +18 -9
  177. package/lib/typescript/index.d.ts.map +1 -0
  178. package/lib/typescript/models/PrimerAsset.d.ts +15 -0
  179. package/lib/typescript/models/PrimerAsset.d.ts.map +1 -0
  180. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +7 -6
  181. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -0
  182. package/lib/typescript/models/PrimerCheckoutData.d.ts +3 -2
  183. package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -0
  184. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts +2 -1
  185. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -0
  186. package/lib/typescript/models/PrimerClientSession.d.ts +6 -5
  187. package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -0
  188. package/lib/typescript/models/PrimerCountryCode.d.ts +2 -1
  189. package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -0
  190. package/lib/typescript/models/PrimerCurrencyCode.d.ts +2 -1
  191. package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -0
  192. package/lib/typescript/models/PrimerError.d.ts +3 -1
  193. package/lib/typescript/models/PrimerError.d.ts.map +1 -0
  194. package/lib/typescript/models/PrimerHandlers.d.ts +22 -0
  195. package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -0
  196. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +6 -0
  197. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -0
  198. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts +17 -0
  199. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -0
  200. package/lib/typescript/models/PrimerInitializationData.d.ts +3 -2
  201. package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -0
  202. package/lib/typescript/models/PrimerInputElementType.d.ts +12 -0
  203. package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -0
  204. package/lib/typescript/models/PrimerInterfaces.d.ts +3 -20
  205. package/lib/typescript/models/PrimerInterfaces.d.ts.map +1 -0
  206. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts +6 -0
  207. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -0
  208. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts +2 -1
  209. package/lib/typescript/models/PrimerPaymentMethodTokenData.d.ts.map +1 -0
  210. package/lib/typescript/models/PrimerRawData.d.ts +7 -10
  211. package/lib/typescript/models/PrimerRawData.d.ts.map +1 -0
  212. package/lib/typescript/models/PrimerSessionIntent.d.ts +1 -0
  213. package/lib/typescript/models/PrimerSessionIntent.d.ts.map +1 -0
  214. package/lib/typescript/models/PrimerSettings.d.ts +28 -6
  215. package/lib/typescript/models/PrimerSettings.d.ts.map +1 -0
  216. package/lib/typescript/models/PrimerTheme.d.ts +3 -2
  217. package/lib/typescript/models/PrimerTheme.d.ts.map +1 -0
  218. package/lib/typescript/models/RetailOutletsRetail.d.ts +2 -1
  219. package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -0
  220. package/lib/typescript/utils/index.d.ts +1 -0
  221. package/lib/typescript/utils/index.d.ts.map +1 -0
  222. package/package.json +8 -7
  223. package/primer-io-react-native.podspec +1 -2
  224. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +56 -0
  225. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +31 -0
  226. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +166 -0
  227. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +333 -0
  228. package/src/{headless_checkout → HeadlessUniversalCheckout}/RNPrimerHeadlessUniversalCheckout.ts +37 -128
  229. package/src/HeadlessUniversalCheckout/types.ts +32 -0
  230. package/src/Primer.ts +32 -31
  231. package/src/RNPrimer.ts +4 -9
  232. package/src/index.tsx +43 -29
  233. package/src/models/PrimerAsset.ts +14 -0
  234. package/src/models/PrimerError.ts +3 -1
  235. package/src/models/PrimerHandlers.ts +25 -0
  236. package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +5 -0
  237. package/src/models/PrimerImplementedRNCallbacks.ts +20 -0
  238. package/src/models/PrimerInputElementType.ts +11 -0
  239. package/src/models/PrimerInterfaces.ts +2 -28
  240. package/src/models/PrimerPaymentMethodManagerCategory.ts +5 -0
  241. package/src/models/PrimerRawData.ts +6 -10
  242. package/src/models/PrimerSettings.ts +42 -16
  243. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/cardRedirect/PrimerRNPRawCardRedirectData.kt +0 -20
  244. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/phoneNumber/PrimerRNRawPhoneNumberData.kt +0 -14
  245. package/android/src/main/java/com/primerioreactnative/huc/datamodels/manager/raw/retailOutlets/PrimerRNRawRetailOutletData.kt +0 -12
  246. package/android/src/main/java/com/primerioreactnative/huc/events/PrimerHeadlessUniversalCheckoutEvent.kt +0 -15
  247. package/ios/DataModels/ImplementedRNCallbacks.swift +0 -62
  248. package/ios/DataModels/PrimerErrorRN.swift +0 -35
  249. package/ios/DataModels/PrimerSettingsRN.swift +0 -84
  250. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.m +0 -62
  251. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +0 -501
  252. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.m +0 -14
  253. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.swift +0 -117
  254. package/ios/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckoutRawDataManager.m +0 -23
  255. package/ios/RNTPrimer.m +0 -59
  256. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -288
  257. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  258. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  259. package/lib/commonjs/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  260. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  261. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -91
  262. package/lib/commonjs/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  263. package/lib/commonjs/headless_checkout/types.js +0 -6
  264. package/lib/commonjs/headless_checkout/types.js.map +0 -1
  265. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js +0 -279
  266. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckout.js.map +0 -1
  267. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js +0 -83
  268. package/lib/module/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  269. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckout.js.map +0 -1
  270. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js +0 -84
  271. package/lib/module/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.js.map +0 -1
  272. package/lib/module/headless_checkout/types.js +0 -2
  273. package/lib/module/headless_checkout/types.js.map +0 -1
  274. package/lib/typescript/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -18
  275. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckout.d.ts +0 -22
  276. package/lib/typescript/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.d.ts +0 -14
  277. package/lib/typescript/headless_checkout/types.d.ts +0 -22
  278. package/src/headless_checkout/PrimerHeadlessUniversalCheckout.ts +0 -358
  279. package/src/headless_checkout/PrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -109
  280. package/src/headless_checkout/RNPrimerHeadlessUniversalCheckoutRawDataManager.ts +0 -104
  281. package/src/headless_checkout/types.ts +0 -32
  282. /package/ios/{DataModels → Sources/DataModels}/PrimerThemeRN.swift +0 -0
  283. /package/ios/{Headless Universal Checkout → Sources/Headless Universal Checkout/Managers/Payment Method Managers}/RNTPrimerCardNumberInputElementManager.m +0 -0
@@ -0,0 +1,39 @@
1
+ //
2
+ // Error+Extensions.swift
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Evangelos on 7/10/22.
6
+ //
7
+
8
+ import Foundation
9
+ import PrimerSDK
10
+
11
+ internal extension Error {
12
+ var rnError: [String: String] {
13
+ var json: [String: String] = [
14
+ "description": localizedDescription
15
+ ]
16
+
17
+ if let primerValidationErr = self as? PrimerValidationError {
18
+ json["errorId"] = primerValidationErr.errorId
19
+ json["diagnosticsId"] = primerValidationErr.diagnosticsId
20
+
21
+ } else if let primerErr = self as? PrimerError {
22
+ json["errorId"] = primerErr.errorId
23
+ json["diagnosticsId"] = primerErr.diagnosticsId
24
+
25
+ } else {
26
+ json["errorId"] = (self as NSError).domain
27
+ }
28
+
29
+ if let inputElementType = (self as NSError).userInfo["inputElementType"] as? String {
30
+ json["inputElementType"] = inputElementType
31
+ }
32
+
33
+ if let recoverySuggestion = (self as NSError).localizedRecoverySuggestion {
34
+ json["recoverySuggestion"] = recoverySuggestion
35
+ }
36
+
37
+ return json
38
+ }
39
+ }
@@ -0,0 +1,32 @@
1
+ //
2
+ // UIColor+Extensions.swift
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Evangelos on 6/10/22.
6
+ //
7
+
8
+ import UIKit
9
+
10
+ extension UIColor {
11
+
12
+ func toHex(alpha: Bool = false) -> String? {
13
+ guard let components = cgColor.components, components.count >= 3 else {
14
+ return nil
15
+ }
16
+
17
+ let r = Float(components[0])
18
+ let g = Float(components[1])
19
+ let b = Float(components[2])
20
+ var a = Float(1.0)
21
+
22
+ if components.count >= 4 {
23
+ a = Float(components[3])
24
+ }
25
+
26
+ if alpha {
27
+ return String(format: "%02lX%02lX%02lX%02lX", lroundf(r * 255), lroundf(g * 255), lroundf(b * 255), lroundf(a * 255))
28
+ } else {
29
+ return String(format: "%02lX%02lX%02lX", lroundf(r * 255), lroundf(g * 255), lroundf(b * 255))
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,32 @@
1
+ //
2
+ // UIImage+Extensions.swift
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Evangelos on 6/10/22.
6
+ //
7
+
8
+ import UIKit
9
+
10
+ extension UIImage {
11
+
12
+ func store(withName name: String) throws -> URL {
13
+ guard let imageURL = NSURL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent("\(name).png") else {
14
+ let err = RNTNativeError(
15
+ errorId: "native-ios",
16
+ errorDescription: "Failed to create URL for asset",
17
+ recoverySuggestion: nil)
18
+ throw err
19
+ }
20
+
21
+ guard let pngData = self.pngData() else {
22
+ let err = RNTNativeError(
23
+ errorId: "native-ios",
24
+ errorDescription: "Failed to get image's PNG data",
25
+ recoverySuggestion: nil)
26
+ throw err
27
+ }
28
+
29
+ try pngData.write(to: imageURL)
30
+ return imageURL
31
+ }
32
+ }
@@ -0,0 +1,86 @@
1
+ //
2
+ // RNTPrimer.m
3
+ // primer-io-react-native
4
+ //
5
+ // Created by Evangelos on 15/3/22.
6
+ //
7
+
8
+ #import <React/RCTBridgeModule.h>
9
+ #import <React/RCTEventEmitter.h>
10
+
11
+ @interface RCT_EXTERN_MODULE(NativePrimer, RCTEventEmitter)
12
+
13
+ // MARK: - PRIMER SDK API
14
+
15
+ RCT_EXTERN_METHOD(configure:(NSString *)settingsStr
16
+ resolver:(RCTPromiseResolveBlock)resolver
17
+ rejecter:(RCTPromiseRejectBlock)rejecter)
18
+
19
+ RCT_EXTERN_METHOD(showUniversalCheckoutWithClientToken:(NSString *)clientToken
20
+ resolver:(RCTPromiseResolveBlock)resolver
21
+ rejecter:(RCTPromiseRejectBlock)rejecter)
22
+
23
+ RCT_EXTERN_METHOD(showVaultManagerWithClientToken:(NSString *)clientToken
24
+ resolver:(RCTPromiseResolveBlock)resolver
25
+ rejecter:(RCTPromiseRejectBlock)rejecter)
26
+
27
+ RCT_EXTERN_METHOD(showPaymentMethod:(NSString *)paymentMethod
28
+ intent:(NSString *)intent
29
+ clientToken:(NSString *)clientToken
30
+ resolver:(RCTPromiseResolveBlock)resolver
31
+ rejecter:(RCTPromiseRejectBlock)rejecter)
32
+
33
+ RCT_EXTERN_METHOD(dismiss)
34
+
35
+ RCT_EXTERN_METHOD(cleanUp)
36
+
37
+ // MARK: - HELPERS
38
+
39
+ RCT_EXTERN_METHOD(setImplementedRNCallbacks:(NSString *)implementedRNCallbacksStr
40
+ resolver:(RCTPromiseResolveBlock)resolver
41
+ rejecter:(RCTPromiseRejectBlock)rejecter)
42
+
43
+ // MARK: - DECISION HANDLERS
44
+
45
+ // MARK: Tokenization Handlers
46
+
47
+ RCT_EXTERN_METHOD(handleTokenizationNewClientToken:(NSString *)newClientToken
48
+ resolver:(RCTPromiseResolveBlock)resolver
49
+ rejecter:(RCTPromiseRejectBlock)rejecter)
50
+
51
+ RCT_EXTERN_METHOD(handleTokenizationSuccess:(RCTPromiseResolveBlock)resolver
52
+ rejecter:(RCTPromiseRejectBlock)rejecter)
53
+
54
+ RCT_EXTERN_METHOD(handleTokenizationFailure:(NSString *)errorMessage
55
+ resolver:(RCTPromiseResolveBlock)resolver
56
+ rejecter:(RCTPromiseRejectBlock)rejecter)
57
+
58
+ // MARK: Resume Handlers
59
+
60
+ RCT_EXTERN_METHOD(handleResumeWithNewClientToken:(NSString *)newClientToken
61
+ resolver:(RCTPromiseResolveBlock)resolver
62
+ rejecter:(RCTPromiseRejectBlock)rejecter)
63
+
64
+ RCT_EXTERN_METHOD(handleResumeSuccess:(RCTPromiseResolveBlock)resolver
65
+ rejecter:(RCTPromiseRejectBlock)rejecter)
66
+
67
+ RCT_EXTERN_METHOD(handleResumeFailure:(NSString *)errorMessage
68
+ resolver:(RCTPromiseResolveBlock)resolver
69
+ rejecter:(RCTPromiseRejectBlock)rejecter)
70
+
71
+ // MARK: Payment Creation Handlers
72
+
73
+ RCT_EXTERN_METHOD(handlePaymentCreationAbort:(NSString *)errorMessage
74
+ resolver:(RCTPromiseResolveBlock)resolver
75
+ rejecter:(RCTPromiseRejectBlock)rejecter)
76
+
77
+ RCT_EXTERN_METHOD(handlePaymentCreationContinue:(RCTPromiseResolveBlock)resolver
78
+ rejecter:(RCTPromiseRejectBlock)rejecter)
79
+
80
+ // MARK: Error Handler
81
+
82
+ RCT_EXTERN_METHOD(showErrorMessage:(NSString *)errorMessage
83
+ resolver:(RCTPromiseResolveBlock)resolver
84
+ rejecter:(RCTPromiseRejectBlock)rejecter)
85
+
86
+ @end
@@ -124,27 +124,26 @@ class RNTPrimer: RCTEventEmitter {
124
124
  }
125
125
  }
126
126
  }
127
-
127
+
128
128
  @objc
129
- public func showPaymentMethod(_ paymentMethodTypeStr: String, intent: String, clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
129
+ public func showPaymentMethod(_ paymentMethod: String, intent: String, clientToken: String, resolver: @escaping RCTPromiseResolveBlock, rejecter: @escaping RCTPromiseRejectBlock) {
130
130
  DispatchQueue.main.async {
131
- do {
132
- guard let primerIntent = PrimerSessionIntent(rawValue: intent) else {
133
- let err = NSError(domain: "native-bridge", code: 0, userInfo: [NSLocalizedDescriptionKey: "Intent \(intent) is not valid."])
134
- throw err
135
- }
136
-
137
- PrimerSDK.Primer.shared.showPaymentMethod(paymentMethodTypeStr, withIntent: primerIntent, andClientToken: clientToken) { err in
138
- DispatchQueue.main.async {
139
- if let err = err {
140
- rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
141
- } else {
142
- resolver(nil)
143
- }
144
- }
131
+ guard let primerIntent = PrimerSessionIntent(rawValue: intent.uppercased()) else {
132
+ let err = PrimerError.invalidValue(
133
+ key: "intent",
134
+ value: intent,
135
+ userInfo: nil,
136
+ diagnosticsId: UUID().uuidString)
137
+ rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
138
+ return
139
+ }
140
+
141
+ PrimerSDK.Primer.shared.showPaymentMethod(paymentMethod, intent: primerIntent, clientToken: clientToken) { err in
142
+ if let err = err {
143
+ rejecter(err.rnError["errorId"]!, err.rnError["description"], err)
144
+ } else {
145
+ resolver(nil)
145
146
  }
146
- } catch {
147
- rejecter(error.rnError["errorId"]!, error.rnError["description"], error)
148
147
  }
149
148
  }
150
149
  }
@@ -155,7 +154,7 @@ class RNTPrimer: RCTEventEmitter {
155
154
  }
156
155
 
157
156
  @objc
158
- public func dispose() {
157
+ public func cleanUp() {
159
158
  Primer.shared.dismiss()
160
159
  }
161
160
 
@@ -253,7 +252,7 @@ class RNTPrimer: RCTEventEmitter {
253
252
  // MARK: Helpers
254
253
 
255
254
  private func configure(settingsStr: String? = nil) throws {
256
- try PrimerSDK.Primer.shared.configure(settings: PrimerSettings.initialize(with: settingsStr), delegate: self)
255
+ try PrimerSDK.Primer.shared.configure(settings: PrimerSettings(settingsStr: settingsStr), delegate: self)
257
256
  }
258
257
 
259
258
  private func detectImplemetedCallbacks() {
@@ -265,9 +264,13 @@ class RNTPrimer: RCTEventEmitter {
265
264
  DispatchQueue.main.async {
266
265
  do {
267
266
  guard let implementedRNCallbacksData = implementedRNCallbacksStr.data(using: .utf8) else {
268
- let err = NSError(domain: "native-bridge", code: 0, userInfo: [NSLocalizedDescriptionKey: "Failed to convert string to data"])
267
+ let err = RNTNativeError(
268
+ errorId: "native-ios",
269
+ errorDescription: "Failed to convert string to data",
270
+ recoverySuggestion: nil)
269
271
  throw err
270
272
  }
273
+
271
274
  self.implementedRNCallbacks = try JSONDecoder().decode(ImplementedRNCallbacks.self, from: implementedRNCallbacksData)
272
275
  resolver(nil)
273
276
  } catch {
@@ -312,7 +315,10 @@ extension RNTPrimer: PrimerDelegate {
312
315
  self.handleRNBridgeError(error, checkoutData: data, stopOnDebug: true)
313
316
  }
314
317
  } else {
315
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Callback [onCheckoutComplete] should be implemented."])
318
+ let err = RNTNativeError(
319
+ errorId: "native-ios",
320
+ errorDescription: "Callback [onCheckoutComplete] should be implemented.",
321
+ recoverySuggestion: nil)
316
322
  self.handleRNBridgeError(err, checkoutData: data, stopOnDebug: false)
317
323
  }
318
324
  }
@@ -320,17 +326,20 @@ extension RNTPrimer: PrimerDelegate {
320
326
 
321
327
  func primerDidEnterResumePendingWithPaymentAdditionalInfo(_ additionalInfo: PrimerCheckoutAdditionalInfo?) {
322
328
  DispatchQueue.main.async {
323
- if self.implementedRNCallbacks?.isOnResumePendingImplemented == true {
329
+ if self.implementedRNCallbacks?.isOnCheckoutResumeImplemented == true {
324
330
  do {
325
331
  let checkoutAdditionalInfo = try JSONEncoder().encode(additionalInfo)
326
332
  let checkoutAdditionalInfoJson = try JSONSerialization.jsonObject(with: checkoutAdditionalInfo, options: .allowFragments)
327
- self.sendEvent(withName: PrimerHeadlessUniversalCheckoutEvents.onResumePending.stringValue, body: checkoutAdditionalInfoJson)
333
+ self.sendEvent(withName: PrimerHeadlessUniversalCheckoutEvents.onCheckoutPending.stringValue, body: checkoutAdditionalInfoJson)
328
334
  } catch {
329
335
  let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
330
336
  self.handleRNBridgeError(error, checkoutData: checkoutData, stopOnDebug: true)
331
337
  }
332
338
  } else {
333
- let err = NSError(domain: "native-bridge", code: 1, userInfo: [NSLocalizedDescriptionKey: "Callback [onResumePending] should be implemented."])
339
+ let err = RNTNativeError(
340
+ errorId: "native-ios",
341
+ errorDescription: "Callback [onResumePending] should be implemented.",
342
+ recoverySuggestion: nil)
334
343
  let checkoutData = PrimerCheckoutData(payment: nil, additionalInfo: additionalInfo)
335
344
  self.handleRNBridgeError(err, checkoutData: checkoutData, stopOnDebug: false)
336
345
  }
@@ -394,7 +403,7 @@ extension RNTPrimer: PrimerDelegate {
394
403
  }
395
404
 
396
405
  func primerDidTokenizePaymentMethod(_ paymentMethodTokenData: PrimerPaymentMethodTokenData, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
397
- if self.implementedRNCallbacks?.isOnTokenizeSuccessImplemented == true {
406
+ if self.implementedRNCallbacks?.isOnTokenizationSuccessImplemented == true {
398
407
  self.primerDidTokenizePaymentMethodDecisionHandler = { (newClientToken, errorMessage) in
399
408
  DispatchQueue.main.async {
400
409
  if let errorMessage = errorMessage {
@@ -424,7 +433,7 @@ extension RNTPrimer: PrimerDelegate {
424
433
  }
425
434
 
426
435
  func primerDidResumeWith(_ resumeToken: String, decisionHandler: @escaping (PrimerResumeDecision) -> Void) {
427
- if self.implementedRNCallbacks?.isOnResumeSuccessImplemented == true {
436
+ if self.implementedRNCallbacks?.isOnCheckoutResumeImplemented == true {
428
437
  self.primerDidResumeWithDecisionHandler = { (resumeToken, errorMessage) in
429
438
  DispatchQueue.main.async {
430
439
  if let errorMessage = errorMessage {
@@ -469,7 +478,7 @@ extension RNTPrimer: PrimerDelegate {
469
478
  }
470
479
 
471
480
  // Send the error message to the RN bridge.
472
- self.handleRNBridgeError(error, checkoutData: nil, stopOnDebug: false)
481
+ self.handleRNBridgeError(error, checkoutData: data, stopOnDebug: false)
473
482
 
474
483
  } else {
475
484
  // RN dev hasn't opted in on listening SDK dismiss.
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ const {
9
+ RNTPrimerHeadlessUniversalCheckoutAssetsManager
10
+ } = _reactNative.NativeModules;
11
+ class PrimerHeadlessUniversalCheckoutAssetsManager {
12
+ ///////////////////////////////////////////
13
+ // Init
14
+ ///////////////////////////////////////////
15
+ constructor() {}
16
+
17
+ ///////////////////////////////////////////
18
+ // Native API
19
+ ///////////////////////////////////////////
20
+
21
+ async getCardNetworkImageURL(cardNetwork) {
22
+ return new Promise(async (resolve, reject) => {
23
+ try {
24
+ const data = await RNTPrimerHeadlessUniversalCheckoutAssetsManager.getCardNetworkImage(cardNetwork);
25
+ resolve(data.cardNetworkImageURL);
26
+ } catch (err) {
27
+ console.error(err);
28
+ reject(err);
29
+ }
30
+ });
31
+ }
32
+ async getPaymentMethodAsset(paymentMethodType) {
33
+ return new Promise(async (resolve, reject) => {
34
+ try {
35
+ const data = await RNTPrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodAsset(paymentMethodType);
36
+ const paymentMethodAsset = data.paymentMethodAsset;
37
+ resolve(paymentMethodAsset);
38
+ } catch (err) {
39
+ console.error(err);
40
+ reject(err);
41
+ }
42
+ });
43
+ }
44
+ async getPaymentMethodAssets() {
45
+ return new Promise(async (resolve, reject) => {
46
+ try {
47
+ const data = await RNTPrimerHeadlessUniversalCheckoutAssetsManager.getPaymentMethodAssets();
48
+ const paymentMethodAssets = data.paymentMethodAssets;
49
+ resolve(paymentMethodAssets);
50
+ } catch (err) {
51
+ console.error(err);
52
+ reject(err);
53
+ }
54
+ });
55
+ }
56
+ }
57
+ var _default = PrimerHeadlessUniversalCheckoutAssetsManager;
58
+ exports.default = _default;
59
+ //# sourceMappingURL=AssetsManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNTPrimerHeadlessUniversalCheckoutAssetsManager","NativeModules","PrimerHeadlessUniversalCheckoutAssetsManager","constructor","getCardNetworkImageURL","cardNetwork","Promise","resolve","reject","data","getCardNetworkImage","cardNetworkImageURL","err","console","error","getPaymentMethodAsset","paymentMethodType","paymentMethodAsset","getPaymentMethodAssets","paymentMethodAssets"],"sourceRoot":"../../src","sources":["AssetsManager.ts"],"mappings":";;;;;;AACA;AAEA,MAAM;EAAEA;AAAgD,CAAC,GAAGC,0BAAa;AAEzE,MAAMC,4CAA4C,CAAC;EAE/C;EACA;EACA;EACAC,WAAW,GAAG,CAAC;;EAEf;EACA;EACA;;EAEA,MAAMC,sBAAsB,CAACC,WAAmB,EAAmB;IAC/D,OAAO,IAAIC,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC1C,IAAI;QACA,MAAMC,IAAI,GAAG,MAAMT,+CAA+C,CAACU,mBAAmB,CAACL,WAAW,CAAC;QACnGE,OAAO,CAACE,IAAI,CAACE,mBAAmB,CAAC;MACrC,CAAC,CAAC,OAAOC,GAAG,EAAE;QACVC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;QAClBJ,MAAM,CAACI,GAAG,CAAC;MACf;IACJ,CAAC,CAAC;EACN;EAEA,MAAMG,qBAAqB,CAACC,iBAAyB,EAAkB;IACnE,OAAO,IAAIV,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC1C,IAAI;QACA,MAAMC,IAAI,GAAG,MAAMT,+CAA+C,CAACe,qBAAqB,CAACC,iBAAiB,CAAC;QAC3G,MAAMC,kBAAyB,GAAGR,IAAI,CAACQ,kBAAkB;QACzDV,OAAO,CAACU,kBAAkB,CAAC;MAC/B,CAAC,CAAC,OAAOL,GAAG,EAAE;QACVC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;QAClBJ,MAAM,CAACI,GAAG,CAAC;MACf;IACJ,CAAC,CAAC;EACN;EAEA,MAAMM,sBAAsB,GAAqB;IAC7C,OAAO,IAAIZ,OAAO,CAAC,OAAOC,OAAO,EAAEC,MAAM,KAAK;MAC1C,IAAI;QACA,MAAMC,IAAI,GAAG,MAAMT,+CAA+C,CAACkB,sBAAsB,EAAE;QAC3F,MAAMC,mBAA4B,GAAGV,IAAI,CAACU,mBAAmB;QAC7DZ,OAAO,CAACY,mBAAmB,CAAC;MAChC,CAAC,CAAC,OAAOP,GAAG,EAAE;QACVC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;QAClBJ,MAAM,CAACI,GAAG,CAAC;MACf;IACJ,CAAC,CAAC;EACN;AACJ;AAAC,eAEcV,4CAA4C;AAAA"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ const {
9
+ RNTPrimerHeadlessUniversalPaymentMethodNativeUIManager
10
+ } = _reactNative.NativeModules;
11
+ class PrimerHeadlessUniversalCheckoutPaymentMethodNativeUIManager {
12
+ ///////////////////////////////////////////
13
+ // Init
14
+ ///////////////////////////////////////////
15
+ constructor() {}
16
+
17
+ ///////////////////////////////////////////
18
+ // Native API
19
+ ///////////////////////////////////////////
20
+
21
+ async configure(paymentMethodType) {
22
+ try {
23
+ await RNTPrimerHeadlessUniversalPaymentMethodNativeUIManager.configure(paymentMethodType);
24
+ } catch (err) {
25
+ console.error(err);
26
+ throw err;
27
+ }
28
+ }
29
+ async showPaymentMethod(intent) {
30
+ return RNTPrimerHeadlessUniversalPaymentMethodNativeUIManager.showPaymentMethod(intent);
31
+ }
32
+ }
33
+ var _default = PrimerHeadlessUniversalCheckoutPaymentMethodNativeUIManager;
34
+ exports.default = _default;
35
+ //# sourceMappingURL=NativeUIManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNTPrimerHeadlessUniversalPaymentMethodNativeUIManager","NativeModules","PrimerHeadlessUniversalCheckoutPaymentMethodNativeUIManager","constructor","configure","paymentMethodType","err","console","error","showPaymentMethod","intent"],"sourceRoot":"../../src","sources":["NativeUIManager.ts"],"mappings":";;;;;;AAAA;AAGA,MAAM;EAAEA;AAAuD,CAAC,GAAGC,0BAAa;AAEhF,MAAMC,2DAA2D,CAAC;EAE9D;EACA;EACA;EACAC,WAAW,GAAG,CAAC;;EAEf;EACA;EACA;;EAEA,MAAMC,SAAS,CAACC,iBAAyB,EAAiB;IACtD,IAAI;MACA,MAAML,sDAAsD,CAACI,SAAS,CAACC,iBAAiB,CAAC;IAC7F,CAAC,CAAC,OAAOC,GAAG,EAAE;MACVC,OAAO,CAACC,KAAK,CAACF,GAAG,CAAC;MAClB,MAAMA,GAAG;IACb;EACJ;EAEA,MAAMG,iBAAiB,CAACC,MAA2B,EAAiB;IAChE,OAAOV,sDAAsD,CAACS,iBAAiB,CAACC,MAAM,CAAC;EAC3F;AACJ;AAAC,eAEcR,2DAA2D;AAAA"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _reactNative = require("react-native");
8
+ var _PrimerError = require("../../../models/PrimerError");
9
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
10
+ const {
11
+ RNTPrimerHeadlessUniversalCheckoutRawDataManager
12
+ } = _reactNative.NativeModules;
13
+ const eventEmitter = new _reactNative.NativeEventEmitter(RNTPrimerHeadlessUniversalCheckoutRawDataManager);
14
+ const eventTypes = ['onMetadataChange', 'onValidation'];
15
+ class PrimerHeadlessUniversalCheckoutRawDataManager {
16
+ ///////////////////////////////////////////
17
+ // Init
18
+ ///////////////////////////////////////////
19
+ constructor() {
20
+ _defineProperty(this, "options", void 0);
21
+ }
22
+
23
+ ///////////////////////////////////////////
24
+ // API
25
+ ///////////////////////////////////////////
26
+
27
+ async configure(options) {
28
+ return new Promise(async (resolve, reject) => {
29
+ try {
30
+ this.options = options;
31
+ await this.configureListeners();
32
+ const data = await RNTPrimerHeadlessUniversalCheckoutRawDataManager.configure(options.paymentMethodType);
33
+ if (data) {
34
+ resolve(data);
35
+ } else {
36
+ resolve();
37
+ }
38
+ } catch (err) {
39
+ reject(err);
40
+ }
41
+ });
42
+ }
43
+ async configureListeners() {
44
+ //@ts-ignore
45
+ return new Promise(async (resolve, reject) => {
46
+ var _this$options, _this$options3;
47
+ if ((_this$options = this.options) !== null && _this$options !== void 0 && _this$options.onMetadataChange) {
48
+ this.addListener("onMetadataChange", data => {
49
+ var _this$options2;
50
+ if ((_this$options2 = this.options) !== null && _this$options2 !== void 0 && _this$options2.onMetadataChange) {
51
+ this.options.onMetadataChange(data);
52
+ }
53
+ });
54
+ }
55
+ if ((_this$options3 = this.options) !== null && _this$options3 !== void 0 && _this$options3.onValidation) {
56
+ this.addListener("onValidation", data => {
57
+ var _this$options4;
58
+ if ((_this$options4 = this.options) !== null && _this$options4 !== void 0 && _this$options4.onValidation) {
59
+ this.options.onValidation(data.isValid, data.errors);
60
+ }
61
+ });
62
+ }
63
+ resolve();
64
+ });
65
+ }
66
+ async getRequiredInputElementTypes() {
67
+ return new Promise(async (resolve, reject) => {
68
+ var _this$options5;
69
+ if ((_this$options5 = this.options) !== null && _this$options5 !== void 0 && _this$options5.paymentMethodType) {
70
+ try {
71
+ const data = await RNTPrimerHeadlessUniversalCheckoutRawDataManager.listRequiredInputElementTypes();
72
+ const inputElementTypes = data.inputElementTypes;
73
+ resolve(inputElementTypes);
74
+ } catch (err) {
75
+ reject(err);
76
+ }
77
+ } else {
78
+ const err = new _PrimerError.PrimerError("manager-not-configured", "HeadlessUniversalCheckoutRawDataManager has not been configured", "Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.", undefined);
79
+ reject(err);
80
+ }
81
+ });
82
+ }
83
+ setRawData(rawData) {
84
+ return new Promise(async (resolve, reject) => {
85
+ var _this$options6;
86
+ if ((_this$options6 = this.options) !== null && _this$options6 !== void 0 && _this$options6.paymentMethodType) {
87
+ try {
88
+ await RNTPrimerHeadlessUniversalCheckoutRawDataManager.setRawData(JSON.stringify(rawData));
89
+ resolve();
90
+ } catch (err) {
91
+ reject(err);
92
+ }
93
+ } else {
94
+ const err = new _PrimerError.PrimerError("manager-not-configured", "HeadlessUniversalCheckoutRawDataManager has not been configured", "Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.", undefined);
95
+ reject(err);
96
+ }
97
+ });
98
+ }
99
+ submit() {
100
+ return new Promise(async (resolve, reject) => {
101
+ var _this$options7;
102
+ if ((_this$options7 = this.options) !== null && _this$options7 !== void 0 && _this$options7.paymentMethodType) {
103
+ try {
104
+ await RNTPrimerHeadlessUniversalCheckoutRawDataManager.submit();
105
+ resolve();
106
+ } catch (err) {
107
+ reject(err);
108
+ }
109
+ } else {
110
+ const err = new _PrimerError.PrimerError("manager-not-configured", "HeadlessUniversalCheckoutRawDataManager has not been configured", "Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.", undefined);
111
+ reject(err);
112
+ }
113
+ });
114
+ }
115
+ cleanUp() {
116
+ return new Promise(async (resolve, reject) => {
117
+ var _this$options8;
118
+ if ((_this$options8 = this.options) !== null && _this$options8 !== void 0 && _this$options8.paymentMethodType) {
119
+ try {
120
+ await RNTPrimerHeadlessUniversalCheckoutRawDataManager.cleanUp();
121
+ resolve();
122
+ } catch (err) {
123
+ reject(err);
124
+ }
125
+ } else {
126
+ const err = new _PrimerError.PrimerError("manager-not-configured", "HeadlessUniversalCheckoutRawDataManager has not been configured", "Call HeadlessUniversalCheckoutRawDataManager.configure before calling this function.", undefined);
127
+ reject(err);
128
+ }
129
+ });
130
+ }
131
+
132
+ ///////////////////////////////////////////
133
+ // HELPERS
134
+ ///////////////////////////////////////////
135
+
136
+ async addListener(eventType, listener) {
137
+ return eventEmitter.addListener(eventType, listener);
138
+ }
139
+ removeListener(eventType, listener) {
140
+ return eventEmitter.removeListener(eventType, listener);
141
+ }
142
+ removeAllListenersForEvent(eventType) {
143
+ eventEmitter.removeAllListeners(eventType);
144
+ }
145
+ removeAllListeners() {
146
+ eventTypes.forEach(eventType => this.removeAllListenersForEvent(eventType));
147
+ }
148
+ }
149
+ var _default = PrimerHeadlessUniversalCheckoutRawDataManager;
150
+ exports.default = _default;
151
+ //# sourceMappingURL=RawDataManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["RNTPrimerHeadlessUniversalCheckoutRawDataManager","NativeModules","eventEmitter","NativeEventEmitter","eventTypes","PrimerHeadlessUniversalCheckoutRawDataManager","constructor","configure","options","Promise","resolve","reject","configureListeners","data","paymentMethodType","err","onMetadataChange","addListener","onValidation","isValid","errors","getRequiredInputElementTypes","listRequiredInputElementTypes","inputElementTypes","PrimerError","undefined","setRawData","rawData","JSON","stringify","submit","cleanUp","eventType","listener","removeListener","removeAllListenersForEvent","removeAllListeners","forEach"],"sourceRoot":"../../src","sources":["RawDataManager.ts"],"mappings":"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"}