@primer-io/react-native 2.30.0 → 2.30.2

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 (308) hide show
  1. package/android/.editorconfig +2 -0
  2. package/android/build.gradle +29 -1
  3. package/android/detekt-baseline.xml +24 -0
  4. package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +248 -195
  5. package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +261 -253
  6. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +177 -143
  7. package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +298 -291
  8. package/android/src/main/java/com/primerioreactnative/PrimerRNViewModelStoreOwner.kt +2 -3
  9. package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +33 -36
  10. package/android/src/main/java/com/primerioreactnative/components/assets/AssetsManager.kt +29 -30
  11. package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +15 -15
  12. package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +16 -16
  13. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +9 -9
  14. package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +5 -5
  15. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/Resources.kt +143 -0
  16. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/card/PrimerRNCardData.kt +11 -11
  17. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNBancontactCardData.kt +19 -0
  18. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +5 -5
  19. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +2 -3
  20. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +15 -14
  21. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNValidationError.kt +10 -10
  22. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethod.kt +15 -16
  23. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethodAdditionalData.kt +4 -2
  24. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutComponentEvent.kt +6 -6
  25. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +13 -13
  26. package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +2 -2
  27. package/android/src/main/java/com/primerioreactnative/components/manager/NativeViewContainer.kt +9 -8
  28. package/android/src/main/java/com/primerioreactnative/components/manager/ach/{AchMandateManager.kt → PrimerRNAchMandateManager.kt} +20 -17
  29. package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.kt +227 -212
  30. package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +178 -163
  31. package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +207 -194
  32. package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonConstantsModule.kt +23 -26
  33. package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonManager.kt +25 -23
  34. package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerKlarnaPaymentViewManager.kt +24 -23
  35. package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +111 -87
  36. package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +68 -63
  37. package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +189 -164
  38. package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +39 -37
  39. package/android/src/main/java/com/primerioreactnative/components/manager/vault/PrimerRNHeadlessUniversalCheckoutVaultManager.kt +128 -118
  40. package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentStepRN.kt → NamedComponentStep.kt} +0 -2
  41. package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentValidatableDataRN.kt → NamedComponentValidatableData.kt} +1 -3
  42. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +14 -14
  43. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutDataRN.kt +4 -4
  44. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerClientSessionRN.kt +34 -35
  45. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +14 -14
  46. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEvents.kt +10 -11
  47. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +4 -4
  48. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerIssuingBankRN.kt +1 -1
  49. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentInstrumentTokenRN.kt +66 -67
  50. package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +128 -119
  51. package/android/src/main/java/com/primerioreactnative/datamodels/ach/AchUserDetailsStepRN.kt +2 -3
  52. package/android/src/main/java/com/primerioreactnative/datamodels/banks/BanksStepRN.kt +3 -3
  53. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsCollectableData.kt +11 -6
  54. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsStep.kt +1 -1
  55. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksCollectableData.kt +2 -2
  56. package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksStep.kt +8 -4
  57. package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCategoryRN.kt +2 -2
  58. package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCollectableDataRN.kt +2 -3
  59. package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentStepRN.kt +6 -6
  60. package/android/src/main/java/com/primerioreactnative/extensions/JSONExtensions.kt +26 -26
  61. package/android/src/main/java/com/primerioreactnative/extensions/LocaleSettingsRN.kt +5 -5
  62. package/android/src/main/java/com/primerioreactnative/extensions/PaymentInstrumentData.kt +37 -31
  63. package/android/src/main/java/com/primerioreactnative/extensions/PrimerAddress.kt +11 -10
  64. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +19 -14
  65. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutData.kt +1 -1
  66. package/android/src/main/java/com/primerioreactnative/extensions/PrimerClientSession.kt +9 -9
  67. package/android/src/main/java/com/primerioreactnative/extensions/PrimerCustomer.kt +9 -8
  68. package/android/src/main/java/com/primerioreactnative/extensions/PrimerDebugOptionsRN.kt +1 -2
  69. package/android/src/main/java/com/primerioreactnative/extensions/PrimerError.kt +3 -3
  70. package/android/src/main/java/com/primerioreactnative/extensions/PrimerIssuingBank.kt +1 -2
  71. package/android/src/main/java/com/primerioreactnative/extensions/PrimerLineItem.kt +10 -3
  72. package/android/src/main/java/com/primerioreactnative/extensions/PrimerOrder.kt +5 -3
  73. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodData.kt +4 -1
  74. package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +69 -54
  75. package/android/src/main/java/com/primerioreactnative/extensions/PrimerUIOptionsRN.kt +16 -16
  76. package/android/src/main/java/com/primerioreactnative/extensions/ThreeDsAuthenticationData.kt +7 -7
  77. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategory.kt +1 -1
  78. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategoryRN.kt +1 -1
  79. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCollectableData.kt +4 -4
  80. package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentStep.kt +8 -7
  81. package/android/src/main/java/com/primerioreactnative/utils/ErrorHelper.kt +6 -5
  82. package/android/src/main/java/com/primerioreactnative/utils/JsonConverter.kt +33 -34
  83. package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +26 -26
  84. package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +20 -20
  85. package/android/src/test/java/com/primerioreactnative/utils/ErrorHelperTest.kt +12 -13
  86. package/android/tooling/code-analysis/detekt.yml +68 -0
  87. package/ios/Sources/DataModels/Ach Component/RNTAchUserDetailsCollectableData.swift +2 -2
  88. package/ios/Sources/DataModels/Banks Component/RNTBanksCollectableData.swift +0 -1
  89. package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +83 -63
  90. package/ios/Sources/DataModels/Klarna Component/PrimerHeadlessUniversalCheckoutComponentEvent.swift +3 -1
  91. package/ios/Sources/DataModels/Klarna Component/RNTKlarnaCollectableData.swift +2 -2
  92. package/ios/Sources/DataModels/Klarna Component/RNTKlarnaPaymentCategory.swift +1 -1
  93. package/ios/Sources/DataModels/Klarna Component/RNTKlarnaStep.swift +5 -5
  94. package/ios/Sources/DataModels/Klarna Component/RNTPrimerError.swift +1 -1
  95. package/ios/Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift +1 -2
  96. package/ios/Sources/DataModels/PrimerCardData+Extension.swift +6 -7
  97. package/ios/Sources/DataModels/PrimerCheckoutAdditionalInfoRN.swift +6 -7
  98. package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +10 -7
  99. package/ios/Sources/DataModels/PrimerPhoneNumberData+Extension.swift +1 -2
  100. package/ios/Sources/DataModels/PrimerRawRetailerData+Extension.swift +1 -2
  101. package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +91 -50
  102. package/ios/Sources/DataModels/PrimerThemeRN.swift +6 -6
  103. package/ios/Sources/DataModels/RNTNativeError.swift +3 -4
  104. package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +54 -48
  105. package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.swift +225 -202
  106. package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.swift +6 -6
  107. package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.swift +163 -161
  108. package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.swift +268 -250
  109. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNPrimerHeadlessUniversalCheckoutVaultManager.swift +88 -66
  110. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +51 -43
  111. package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift +181 -158
  112. package/ios/Sources/Headless Universal Checkout/Managers/RNTRedirectManager.swift +165 -156
  113. package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +526 -459
  114. package/ios/Sources/Helpers/Encodable+Extension.swift +5 -1
  115. package/ios/Sources/Helpers/Error+Extensions.swift +5 -5
  116. package/ios/Sources/Helpers/UIColor+Extensions.swift +23 -20
  117. package/ios/Sources/RNTPrimer.swift +135 -48
  118. package/lib/commonjs/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
  119. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
  120. package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
  121. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
  122. package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
  123. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
  124. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
  125. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
  126. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
  127. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
  128. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
  129. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
  130. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
  131. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
  132. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
  133. package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
  134. package/lib/commonjs/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
  135. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
  136. package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  137. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  138. package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  139. package/lib/commonjs/HeadlessUniversalCheckout/types.js +5 -5
  140. package/lib/commonjs/Primer.js +2 -2
  141. package/lib/commonjs/Primer.js.map +1 -1
  142. package/lib/commonjs/RNPrimer.js +5 -5
  143. package/lib/commonjs/RNPrimer.js.map +1 -1
  144. package/lib/commonjs/index.js.map +1 -1
  145. package/lib/commonjs/models/PrimerError.js.map +1 -1
  146. package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js +3 -3
  147. package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
  148. package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js +1 -1
  149. package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
  150. package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js +1 -1
  151. package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
  152. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
  153. package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
  154. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
  155. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
  156. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
  157. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
  158. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
  159. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
  160. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
  161. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
  162. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
  163. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
  164. package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
  165. package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
  166. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
  167. package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
  168. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
  169. package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
  170. package/lib/module/HeadlessUniversalCheckout/types.js +5 -5
  171. package/lib/module/Primer.js +2 -2
  172. package/lib/module/Primer.js.map +1 -1
  173. package/lib/module/RNPrimer.js +5 -5
  174. package/lib/module/RNPrimer.js.map +1 -1
  175. package/lib/module/index.js.map +1 -1
  176. package/lib/module/models/PrimerError.js.map +1 -1
  177. package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts +2 -2
  178. package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts.map +1 -1
  179. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts +1 -1
  180. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts.map +1 -1
  181. package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.d.ts.map +1 -1
  182. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +4 -4
  183. package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -1
  184. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts.map +1 -1
  185. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts.map +1 -1
  186. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts.map +1 -1
  187. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +1 -1
  188. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -1
  189. package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -1
  190. package/lib/typescript/HeadlessUniversalCheckout/Managers/VaultManager.d.ts.map +1 -1
  191. package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -1
  192. package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -1
  193. package/lib/typescript/Primer.d.ts.map +1 -1
  194. package/lib/typescript/RNPrimer.d.ts.map +1 -1
  195. package/lib/typescript/index.d.ts +4 -4
  196. package/lib/typescript/index.d.ts.map +1 -1
  197. package/lib/typescript/models/IssuingBank.d.ts.map +1 -1
  198. package/lib/typescript/models/NamedComponentStep.d.ts.map +1 -1
  199. package/lib/typescript/models/NamedComponentValidatableData.d.ts.map +1 -1
  200. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +4 -4
  201. package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -1
  202. package/lib/typescript/models/PrimerCheckoutData.d.ts +1 -1
  203. package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -1
  204. package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -1
  205. package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -1
  206. package/lib/typescript/models/PrimerComponentDataValidation.d.ts +5 -5
  207. package/lib/typescript/models/PrimerComponentDataValidation.d.ts.map +1 -1
  208. package/lib/typescript/models/PrimerCountryCode.d.ts +1 -1
  209. package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -1
  210. package/lib/typescript/models/PrimerCurrencyCode.d.ts +1 -1
  211. package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -1
  212. package/lib/typescript/models/PrimerError.d.ts.map +1 -1
  213. package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -1
  214. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +2 -2
  215. package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -1
  216. package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -1
  217. package/lib/typescript/models/PrimerInitializationData.d.ts +1 -1
  218. package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -1
  219. package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -1
  220. package/lib/typescript/models/PrimerInterfaces.d.ts +1 -1
  221. package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -1
  222. package/lib/typescript/models/PrimerPaymentMethodResource.d.ts.map +1 -1
  223. package/lib/typescript/models/PrimerRawData.d.ts.map +1 -1
  224. package/lib/typescript/models/PrimerSettings.d.ts +10 -10
  225. package/lib/typescript/models/PrimerSettings.d.ts.map +1 -1
  226. package/lib/typescript/models/PrimerValidationError.d.ts.map +1 -1
  227. package/lib/typescript/models/PrimerValidationErrorResult.d.ts +1 -1
  228. package/lib/typescript/models/PrimerValidationErrorResult.d.ts.map +1 -1
  229. package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts +1 -1
  230. package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts.map +1 -1
  231. package/lib/typescript/models/PrimerVaultedPaymentMethodAdditionalData.d.ts.map +1 -1
  232. package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts +1 -1
  233. package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts.map +1 -1
  234. package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -1
  235. package/lib/typescript/models/ach/AchCollectableData.d.ts +4 -4
  236. package/lib/typescript/models/ach/AchCollectableData.d.ts.map +1 -1
  237. package/lib/typescript/models/ach/AchSteps.d.ts +3 -3
  238. package/lib/typescript/models/ach/AchSteps.d.ts.map +1 -1
  239. package/lib/typescript/models/banks/BanksCollectableData.d.ts +3 -3
  240. package/lib/typescript/models/banks/BanksCollectableData.d.ts.map +1 -1
  241. package/lib/typescript/models/banks/BanksSteps.d.ts +6 -6
  242. package/lib/typescript/models/banks/BanksSteps.d.ts.map +1 -1
  243. package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts +2 -2
  244. package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts.map +1 -1
  245. package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts +4 -4
  246. package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts.map +1 -1
  247. package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts +6 -6
  248. package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts.map +1 -1
  249. package/lib/typescript/utils/index.d.ts +1 -1
  250. package/package.json +5 -4
  251. package/primer-io-react-native.podspec +1 -1
  252. package/src/HeadlessUniversalCheckout/Components/NativeResourceView.tsx +17 -21
  253. package/src/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.tsx +3 -6
  254. package/src/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.tsx +2 -4
  255. package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +68 -69
  256. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.ts +127 -131
  257. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.ts +23 -25
  258. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts +21 -30
  259. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts +137 -141
  260. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +17 -18
  261. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +158 -142
  262. package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.ts +7 -7
  263. package/src/HeadlessUniversalCheckout/Managers/VaultManager.ts +96 -87
  264. package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +159 -170
  265. package/src/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.ts +2 -6
  266. package/src/HeadlessUniversalCheckout/types.ts +5 -5
  267. package/src/Primer.ts +60 -57
  268. package/src/RNPrimer.ts +53 -54
  269. package/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx +1 -1
  270. package/src/index.tsx +73 -36
  271. package/src/models/IssuingBank.ts +5 -5
  272. package/src/models/NamedComponentStep.ts +5 -5
  273. package/src/models/NamedComponentValidatableData.ts +5 -5
  274. package/src/models/PrimerCheckoutAdditionalInfo.ts +18 -23
  275. package/src/models/PrimerCheckoutData.ts +8 -8
  276. package/src/models/PrimerCheckoutPaymentMethodData.ts +6 -6
  277. package/src/models/PrimerClientSession.ts +34 -34
  278. package/src/models/PrimerComponentDataValidation.ts +33 -33
  279. package/src/models/PrimerCountryCode.ts +1 -1
  280. package/src/models/PrimerCurrencyCode.ts +1 -1
  281. package/src/models/PrimerError.ts +7 -1
  282. package/src/models/PrimerHandlers.ts +24 -24
  283. package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +4 -4
  284. package/src/models/PrimerImplementedRNCallbacks.ts +15 -15
  285. package/src/models/PrimerInitializationData.ts +3 -3
  286. package/src/models/PrimerInputElementType.ts +9 -9
  287. package/src/models/PrimerInterfaces.ts +1 -1
  288. package/src/models/PrimerPaymentMethodManagerCategory.ts +4 -4
  289. package/src/models/PrimerPaymentMethodResource.ts +11 -11
  290. package/src/models/PrimerRawData.ts +9 -9
  291. package/src/models/PrimerSessionIntent.ts +1 -1
  292. package/src/models/PrimerSettings.ts +37 -21
  293. package/src/models/PrimerValidationError.ts +3 -3
  294. package/src/models/PrimerValidationErrorResult.ts +2 -2
  295. package/src/models/PrimerVaultedPaymentMethod.ts +7 -7
  296. package/src/models/PrimerVaultedPaymentMethodAdditionalData.ts +1 -1
  297. package/src/models/PrimerVaultedPaymentMethodResult.ts +3 -3
  298. package/src/models/RetailOutletsRetail.ts +5 -5
  299. package/src/models/ach/AchCollectableData.ts +12 -12
  300. package/src/models/ach/AchSteps.ts +18 -18
  301. package/src/models/banks/BanksCollectableData.ts +14 -14
  302. package/src/models/banks/BanksSteps.ts +13 -13
  303. package/src/models/klarna/KlarnaPaymentCategory.ts +16 -16
  304. package/src/models/klarna/KlarnaPaymentCollectableData.ts +16 -15
  305. package/src/models/klarna/KlarnaPaymentSteps.ts +21 -17
  306. package/src/utils/index.ts +1 -1
  307. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +0 -19
  308. package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/resource/Resources.kt +0 -138
@@ -1,9 +1,8 @@
1
1
  package com.primerioreactnative
2
2
 
3
- import android.util.Log
4
- import androidx.lifecycle.ViewModelStoreOwner
5
3
  import androidx.lifecycle.ViewModelStore
4
+ import androidx.lifecycle.ViewModelStoreOwner
6
5
 
7
6
  class PrimerRNViewModelStoreOwner : ViewModelStoreOwner {
8
- override val viewModelStore: ViewModelStore = ViewModelStore()
7
+ override val viewModelStore: ViewModelStore = ViewModelStore()
9
8
  }
@@ -4,49 +4,46 @@ import com.facebook.react.ReactPackage
4
4
  import com.facebook.react.bridge.NativeModule
5
5
  import com.facebook.react.bridge.ReactApplicationContext
6
6
  import com.facebook.react.uimanager.ViewManager
7
+ import com.primerioreactnative.components.manager.ach.PrimerRNAchMandateManager
8
+ import com.primerioreactnative.components.manager.ach.PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent
7
9
  import com.primerioreactnative.components.manager.asset.PrimerRNHeadlessUniversalCheckoutAssetManager
10
+ import com.primerioreactnative.components.manager.banks.PrimerRNHeadlessUniversalCheckoutBanksComponent
11
+ import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonConstantsModule
12
+ import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonManager
13
+ import com.primerioreactnative.components.manager.klarna.PrimerKlarnaPaymentViewManager
14
+ import com.primerioreactnative.components.manager.klarna.PrimerRNHeadlessUniversalCheckoutKlarnaComponent
8
15
  import com.primerioreactnative.components.manager.nativeUi.PrimerRNHeadlessUniversalCheckoutNativeUiManager
9
16
  import com.primerioreactnative.components.manager.raw.PrimerRNHeadlessUniversalCheckoutRawManager
10
17
  import com.primerioreactnative.components.manager.vault.PrimerRNHeadlessUniversalCheckoutVaultManager
11
- import com.primerioreactnative.components.manager.redirect.PrimerRNHeadlessUniversalCheckoutBanksComponent
12
- import com.primerioreactnative.components.manager.klarna.PrimerRNHeadlessUniversalCheckoutKlarnaComponent
13
- import com.primerioreactnative.components.manager.klarna.PrimerKlarnaPaymentViewManager
14
- import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonManager
15
- import com.primerioreactnative.components.manager.ach.PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent
16
- import com.primerioreactnative.components.manager.ach.PrimerRNAchMandateManager
17
- import com.primerioreactnative.components.manager.googlePay.PrimerGooglePayButtonConstantsModule
18
18
  import kotlinx.serialization.json.Json
19
19
 
20
20
  class ReactNativePackage : ReactPackage {
21
+ private val json = Json { ignoreUnknownKeys = true }
21
22
 
22
- private val json = Json { ignoreUnknownKeys = true }
23
+ override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
24
+ return listOf(
25
+ PrimerRN(reactContext, json),
26
+ PrimerRNHeadlessUniversalCheckout(reactContext, json),
27
+ PrimerRNHeadlessUniversalCheckoutRawManager(reactContext, json),
28
+ PrimerRNHeadlessUniversalCheckoutNativeUiManager(reactContext),
29
+ PrimerRNHeadlessUniversalCheckoutAssetManager(reactContext),
30
+ PrimerRNHeadlessUniversalCheckoutVaultManager(reactContext, json),
31
+ PrimerRNHeadlessUniversalCheckoutKlarnaComponent(reactContext),
32
+ PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent(reactContext),
33
+ PrimerRNAchMandateManager(reactContext),
34
+ // region Component with redirect components
35
+ PrimerRNHeadlessUniversalCheckoutBanksComponent(reactContext),
36
+ // endregion
37
+ // region Google Pay Helpers
38
+ PrimerGooglePayButtonConstantsModule(reactContext),
39
+ // endregion
40
+ )
41
+ }
23
42
 
24
- override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
25
- return listOf(
26
- PrimerRN(reactContext, json),
27
- PrimerRNHeadlessUniversalCheckout(reactContext, json),
28
- PrimerRNHeadlessUniversalCheckoutRawManager(reactContext, json),
29
- PrimerRNHeadlessUniversalCheckoutNativeUiManager(reactContext),
30
- PrimerRNHeadlessUniversalCheckoutAssetManager(reactContext),
31
- PrimerRNHeadlessUniversalCheckoutVaultManager(reactContext, json),
32
- PrimerRNHeadlessUniversalCheckoutKlarnaComponent(reactContext),
33
- PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent(reactContext),
34
- PrimerRNAchMandateManager(reactContext),
35
- //region Component with redirect components
36
- PrimerRNHeadlessUniversalCheckoutBanksComponent(reactContext),
37
- //endregion
38
- // region Google Pay Helpers
39
- PrimerGooglePayButtonConstantsModule(reactContext),
40
- // endregion
41
- )
42
- }
43
-
44
- override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
45
- return mutableListOf(
46
- PrimerKlarnaPaymentViewManager(),
47
- PrimerGooglePayButtonManager()
48
- )
49
- }
43
+ override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
44
+ return mutableListOf(
45
+ PrimerKlarnaPaymentViewManager(),
46
+ PrimerGooglePayButtonManager(),
47
+ )
48
+ }
50
49
  }
51
-
52
-
@@ -4,44 +4,43 @@ import android.graphics.Bitmap
4
4
  import android.graphics.Canvas
5
5
  import android.graphics.drawable.BitmapDrawable
6
6
  import android.graphics.drawable.Drawable
7
- import com.facebook.react.bridge.ReactApplicationContext
8
7
  import java.io.File
9
8
  import java.io.FileOutputStream
10
9
 
11
10
  internal object AssetsManager {
11
+ private const val COMPRESS_QUALITY = 100
12
12
 
13
- private const val COMPRESS_QUALITY = 100
13
+ fun drawableToBitmap(drawable: Drawable): Bitmap {
14
+ if (drawable is BitmapDrawable) {
15
+ return drawable.bitmap
16
+ }
14
17
 
15
- fun drawableToBitmap(drawable: Drawable): Bitmap {
16
- if (drawable is BitmapDrawable) {
17
- return drawable.bitmap
18
+ val bitmap =
19
+ Bitmap.createBitmap(
20
+ drawable.intrinsicWidth,
21
+ drawable.intrinsicHeight,
22
+ Bitmap.Config.ARGB_8888,
23
+ )
24
+ val canvas = Canvas(bitmap)
25
+ drawable.setBounds(0, 0, canvas.width, canvas.height)
26
+ drawable.draw(canvas)
27
+ return bitmap
18
28
  }
19
29
 
20
- val bitmap = Bitmap.createBitmap(
21
- drawable.intrinsicWidth,
22
- drawable.intrinsicHeight,
23
- Bitmap.Config.ARGB_8888
24
- )
25
- val canvas = Canvas(bitmap)
26
- drawable.setBounds(0, 0, canvas.width, canvas.height)
27
- drawable.draw(canvas)
28
- return bitmap
29
- }
30
-
31
- fun saveBitmapToFile(
32
- file: File,
33
- bitmap: Bitmap,
34
- format: Bitmap.CompressFormat = Bitmap.CompressFormat.PNG,
35
- ) {
36
- FileOutputStream(file).use {
37
- bitmap.compress(format, COMPRESS_QUALITY, it)
38
- it.close()
30
+ fun saveBitmapToFile(
31
+ file: File,
32
+ bitmap: Bitmap,
33
+ format: Bitmap.CompressFormat = Bitmap.CompressFormat.PNG,
34
+ ) {
35
+ FileOutputStream(file).use {
36
+ bitmap.compress(format, COMPRESS_QUALITY, it)
37
+ it.close()
38
+ }
39
39
  }
40
- }
41
40
 
42
- internal enum class ImageColorType {
43
- COLORED,
44
- DARK,
45
- LIGHT
46
- }
41
+ internal enum class ImageColorType {
42
+ COLORED,
43
+ DARK,
44
+ LIGHT,
45
+ }
47
46
  }
@@ -4,20 +4,20 @@ import com.facebook.react.bridge.ReactApplicationContext
4
4
  import java.io.File
5
5
 
6
6
  internal object CardNetworkImageFileProvider {
7
+ private const val ASSETS_DIRECTORY = "primer-react-native-sdk"
7
8
 
8
- private const val ASSETS_DIRECTORY = "primer-react-native-sdk"
9
-
10
- fun getFileForCardNetworkAsset(
11
- context: ReactApplicationContext,
12
- path: String,
13
- ): File {
14
- val directory = File(context.filesDir, ASSETS_DIRECTORY)
15
- if (!directory.exists()) directory.mkdirs()
16
- val file = File(
17
- directory,
18
- path.lowercase()
19
- )
20
- if (!file.exists()) file.createNewFile()
21
- return file
22
- }
9
+ fun getFileForCardNetworkAsset(
10
+ context: ReactApplicationContext,
11
+ path: String,
12
+ ): File {
13
+ val directory = File(context.filesDir, ASSETS_DIRECTORY)
14
+ if (!directory.exists()) directory.mkdirs()
15
+ val file =
16
+ File(
17
+ directory,
18
+ path.lowercase(),
19
+ )
20
+ if (!file.exists()) file.createNewFile()
21
+ return file
22
+ }
23
23
  }
@@ -4,21 +4,21 @@ import com.facebook.react.bridge.ReactApplicationContext
4
4
  import java.io.File
5
5
 
6
6
  internal object PaymentMethodAssetFileProvider {
7
+ private const val ASSETS_DIRECTORY = "primer-react-native-sdk"
7
8
 
8
- private const val ASSETS_DIRECTORY = "primer-react-native-sdk"
9
-
10
- fun getFileForPaymentMethodAsset(
11
- context: ReactApplicationContext,
12
- path: String,
13
- type: AssetsManager.ImageColorType
14
- ): File {
15
- val directory = File(context.filesDir, ASSETS_DIRECTORY + File.separator + path)
16
- if (!directory.exists()) directory.mkdirs()
17
- val file = File(
18
- directory,
19
- type.name.lowercase()
20
- )
21
- if (!file.exists()) file.createNewFile()
22
- return file
23
- }
9
+ fun getFileForPaymentMethodAsset(
10
+ context: ReactApplicationContext,
11
+ path: String,
12
+ type: AssetsManager.ImageColorType,
13
+ ): File {
14
+ val directory = File(context.filesDir, ASSETS_DIRECTORY + File.separator + path)
15
+ if (!directory.exists()) directory.mkdirs()
16
+ val file =
17
+ File(
18
+ directory,
19
+ type.name.lowercase(),
20
+ )
21
+ if (!file.exists()) file.createNewFile()
22
+ return file
23
+ }
24
24
  }
@@ -7,19 +7,19 @@ import kotlinx.serialization.Serializable
7
7
 
8
8
  @Serializable
9
9
  data class PrimerRNAvailablePaymentMethods(
10
- val availablePaymentMethods: List<PrimerRNHeadlessUniversalCheckoutPaymentMethod>
10
+ val availablePaymentMethods: List<PrimerRNHeadlessUniversalCheckoutPaymentMethod>,
11
11
  )
12
12
 
13
13
  @Serializable
14
14
  data class PrimerRNHeadlessUniversalCheckoutPaymentMethod(
15
- val paymentMethodType: String,
16
- val supportedPrimerSessionIntents: List<PrimerSessionIntent>,
17
- val paymentMethodManagerCategories: List<PrimerPaymentMethodManagerCategory>,
15
+ val paymentMethodType: String,
16
+ val supportedPrimerSessionIntents: List<PrimerSessionIntent>,
17
+ val paymentMethodManagerCategories: List<PrimerPaymentMethodManagerCategory>,
18
18
  )
19
19
 
20
20
  internal fun PrimerHeadlessUniversalCheckoutPaymentMethod.toPrimerRNHeadlessUniversalCheckoutPaymentMethod() =
21
- PrimerRNHeadlessUniversalCheckoutPaymentMethod(
22
- paymentMethodType,
23
- supportedPrimerSessionIntents,
24
- paymentMethodManagerCategories
25
- )
21
+ PrimerRNHeadlessUniversalCheckoutPaymentMethod(
22
+ paymentMethodType,
23
+ supportedPrimerSessionIntents,
24
+ paymentMethodManagerCategories,
25
+ )
@@ -1,9 +1,9 @@
1
1
  package com.primerioreactnative.components.datamodels.core
2
2
 
3
3
  internal enum class PrimerRawPaymentMethodType {
4
- PAYMENT_CARD,
5
- XENDIT_OVO,
6
- ADYEN_MBWAY,
7
- ADYEN_BANCONTACT_CARD,
8
- XENDIT_RETAIL_OUTLETS
4
+ PAYMENT_CARD,
5
+ XENDIT_OVO,
6
+ ADYEN_MBWAY,
7
+ ADYEN_BANCONTACT_CARD,
8
+ XENDIT_RETAIL_OUTLETS,
9
9
  }
@@ -0,0 +1,143 @@
1
+ package com.primerioreactnative.components.datamodels.manager.asset
2
+
3
+ import android.graphics.drawable.Drawable
4
+ import com.facebook.react.bridge.ReactApplicationContext
5
+ import com.primerioreactnative.components.assets.AssetsManager
6
+ import com.primerioreactnative.components.assets.AssetsManager.drawableToBitmap
7
+ import com.primerioreactnative.components.assets.PaymentMethodAssetFileProvider.getFileForPaymentMethodAsset
8
+ import io.primer.android.components.ui.assets.PrimerPaymentMethodAsset
9
+ import io.primer.android.components.ui.assets.PrimerPaymentMethodNativeView
10
+ import kotlinx.serialization.Serializable
11
+
12
+ private const val WHITE_COLOR = 0xFFFFFF
13
+ private const val COLOR_FORMAT = "#%06X"
14
+
15
+ @Serializable
16
+ sealed interface PrimerRNPaymentMethodResource {
17
+ val paymentMethodType: String
18
+ val paymentMethodName: String
19
+
20
+ @Serializable
21
+ data class PrimerRNPaymentMethodAsset(
22
+ override val paymentMethodType: String,
23
+ override val paymentMethodName: String,
24
+ val paymentMethodLogo: PrimerRNPaymentMethodLogo,
25
+ val paymentMethodBackgroundColor: PrimerRNPaymentMethodBackgroundColor,
26
+ ) : PrimerRNPaymentMethodResource
27
+
28
+ @Serializable
29
+ data class PrimerRNPaymentMethodNativeView(
30
+ override val paymentMethodType: String,
31
+ override val paymentMethodName: String,
32
+ val nativeViewName: String,
33
+ ) : PrimerRNPaymentMethodResource
34
+ }
35
+
36
+ @Serializable
37
+ data class PrimerRNPaymentMethodAssets(
38
+ val paymentMethodAssets: List<PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset>,
39
+ )
40
+
41
+ @Serializable
42
+ data class PrimerRNPaymentMethodResources(
43
+ val paymentMethodResources: List<PrimerRNPaymentMethodResource>,
44
+ )
45
+
46
+ @Serializable
47
+ data class PrimerRNPaymentMethodAssetWrapper(
48
+ val paymentMethodAsset: PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset,
49
+ )
50
+
51
+ @Serializable
52
+ data class PrimerRNPaymentMethodResourceWrapper(
53
+ val paymentMethodResource: PrimerRNPaymentMethodResource,
54
+ )
55
+
56
+ @Serializable
57
+ data class PrimerRNPaymentMethodLogo(
58
+ val colored: String?,
59
+ val light: String?,
60
+ val dark: String?,
61
+ )
62
+
63
+ @Serializable
64
+ data class PrimerRNPaymentMethodBackgroundColor(
65
+ val colored: String?,
66
+ val light: String?,
67
+ val dark: String?,
68
+ )
69
+
70
+ @Serializable
71
+ data class PrimerCardNetworkAsset(
72
+ val cardNetworkImageURL: String,
73
+ )
74
+
75
+ fun PrimerPaymentMethodAsset.toPrimerRNPaymentMethodAsset(
76
+ reactContext: ReactApplicationContext,
77
+ paymentMethodType: String,
78
+ ) = PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset(
79
+ paymentMethodType,
80
+ paymentMethodName,
81
+ PrimerRNPaymentMethodLogo(
82
+ paymentMethodLogo.colored?.let {
83
+ getFileUrl(
84
+ reactContext,
85
+ paymentMethodType,
86
+ AssetsManager.ImageColorType.COLORED,
87
+ it,
88
+ )
89
+ },
90
+ paymentMethodLogo.light?.let {
91
+ getFileUrl(
92
+ reactContext,
93
+ paymentMethodType,
94
+ AssetsManager.ImageColorType.LIGHT,
95
+ it,
96
+ )
97
+ },
98
+ paymentMethodLogo.dark?.let {
99
+ getFileUrl(
100
+ reactContext,
101
+ paymentMethodType,
102
+ AssetsManager.ImageColorType.DARK,
103
+ it,
104
+ )
105
+ },
106
+ ),
107
+ PrimerRNPaymentMethodBackgroundColor(
108
+ paymentMethodBackgroundColor.colored?.let {
109
+ String.format(COLOR_FORMAT, (WHITE_COLOR and it))
110
+ },
111
+ paymentMethodBackgroundColor.light?.let {
112
+ String.format(COLOR_FORMAT, (WHITE_COLOR and it))
113
+ },
114
+ paymentMethodBackgroundColor.dark?.let {
115
+ String.format(COLOR_FORMAT, (WHITE_COLOR and it))
116
+ },
117
+ ),
118
+ )
119
+
120
+ fun PrimerPaymentMethodNativeView.toPrimerRNPaymentMethodNativeView(paymentMethodType: String) =
121
+ PrimerRNPaymentMethodResource.PrimerRNPaymentMethodNativeView(
122
+ paymentMethodType = paymentMethodType,
123
+ paymentMethodName = paymentMethodName,
124
+ nativeViewName =
125
+ when (paymentMethodType) {
126
+ "GOOGLE_PAY" -> "PrimerGooglePayButton"
127
+ else -> error("Native view for '$paymentMethodType'is not supported")
128
+ },
129
+ )
130
+
131
+ private fun getFileUrl(
132
+ reactContext: ReactApplicationContext,
133
+ paymentMethodType: String,
134
+ imageColorType: AssetsManager.ImageColorType,
135
+ drawable: Drawable,
136
+ ): String {
137
+ val file = getFileForPaymentMethodAsset(reactContext, paymentMethodType, imageColorType)
138
+ AssetsManager.saveBitmapToFile(
139
+ file,
140
+ drawableToBitmap(drawable),
141
+ )
142
+ return "file://${file.absolutePath}"
143
+ }
@@ -5,16 +5,16 @@ import kotlinx.serialization.Serializable
5
5
 
6
6
  @Serializable
7
7
  internal data class PrimerRNCardData(
8
- val cardNumber: String? = null,
9
- val expiryDate: String? = null,
10
- val cvv: String? = null,
11
- val cardholderName: String? = null
8
+ val cardNumber: String? = null,
9
+ val expiryDate: String? = null,
10
+ val cvv: String? = null,
11
+ val cardholderName: String? = null,
12
12
  ) {
13
- fun toPrimerCardData() =
14
- PrimerCardData(
15
- cardNumber.orEmpty(),
16
- expiryDate.orEmpty(),
17
- cvv.orEmpty(),
18
- cardholderName
19
- )
13
+ fun toPrimerCardData() =
14
+ PrimerCardData(
15
+ cardNumber.orEmpty(),
16
+ expiryDate.orEmpty(),
17
+ cvv.orEmpty(),
18
+ cardholderName,
19
+ )
20
20
  }
@@ -0,0 +1,19 @@
1
+ package com.primerioreactnative.components.datamodels.manager.raw.cardRedirect
2
+
3
+ import io.primer.android.bancontact.PrimerBancontactCardData
4
+ import kotlinx.serialization.Serializable
5
+
6
+ @Serializable
7
+ internal data class PrimerRNBancontactCardData(
8
+ val cardNumber: String? = null,
9
+ val expiryDate: String? = null,
10
+ val expiryYear: String? = null,
11
+ val cardholderName: String? = null,
12
+ ) {
13
+ fun toPrimerBancontactCardData() =
14
+ PrimerBancontactCardData(
15
+ cardNumber.orEmpty(),
16
+ expiryDate.orEmpty(),
17
+ cardholderName.orEmpty(),
18
+ )
19
+ }
@@ -5,10 +5,10 @@ import kotlinx.serialization.Serializable
5
5
 
6
6
  @Serializable
7
7
  internal data class PrimerRNPhoneNumberData(
8
- val phoneNumber: String? = null,
8
+ val phoneNumber: String? = null,
9
9
  ) {
10
- fun toPrimerPhoneNumberData() =
11
- PrimerPhoneNumberData(
12
- phoneNumber.orEmpty()
13
- )
10
+ fun toPrimerPhoneNumberData() =
11
+ PrimerPhoneNumberData(
12
+ phoneNumber.orEmpty(),
13
+ )
14
14
  }
@@ -5,8 +5,7 @@ import kotlinx.serialization.Serializable
5
5
 
6
6
  @Serializable
7
7
  internal data class PrimerRNRetailOutletData(
8
- val id: String
8
+ val id: String,
9
9
  ) {
10
-
11
- fun toPrimerRetailOutletData() = PrimerRetailerData(id)
10
+ fun toPrimerRetailOutletData() = PrimerRetailerData(id)
12
11
  }
@@ -5,24 +5,25 @@ import kotlinx.serialization.Serializable
5
5
 
6
6
  @Serializable
7
7
  internal data class RNRetailOutletsList(
8
- val result: List<RNRetailOutlet>
8
+ val result: List<RNRetailOutlet>,
9
9
  )
10
10
 
11
11
  @Serializable
12
12
  internal data class RNRetailOutlet(
13
- val id: String,
14
- val name: String,
15
- val disabled: Boolean,
16
- val iconUrl: String,
13
+ val id: String,
14
+ val name: String,
15
+ val disabled: Boolean,
16
+ val iconUrl: String,
17
17
  )
18
18
 
19
- internal fun RetailOutletsList.toRNRetailOutletsList() = RNRetailOutletsList(
20
- result.map {
21
- RNRetailOutlet(
22
- it.id,
23
- it.name,
24
- it.disabled,
25
- it.iconUrl,
19
+ internal fun RetailOutletsList.toRNRetailOutletsList() =
20
+ RNRetailOutletsList(
21
+ result.map {
22
+ RNRetailOutlet(
23
+ it.id,
24
+ it.name,
25
+ it.disabled,
26
+ it.iconUrl,
27
+ )
28
+ },
26
29
  )
27
- }
28
- )
@@ -1,23 +1,23 @@
1
1
  package com.primerioreactnative.components.datamodels.manager.vault
2
2
 
3
- import kotlinx.serialization.Serializable
4
3
  import io.primer.android.components.domain.error.PrimerValidationError
4
+ import kotlinx.serialization.Serializable
5
5
 
6
6
  @Serializable
7
7
  data class PrimerRNValidationError(
8
- val errorId: String,
9
- val description: String,
10
- val diagnosticsId: String
8
+ val errorId: String,
9
+ val description: String,
10
+ val diagnosticsId: String,
11
11
  )
12
12
 
13
13
  @Serializable
14
14
  data class PrimerRNValidationErrors(
15
- val validationErrors: List<PrimerRNValidationError>
15
+ val validationErrors: List<PrimerRNValidationError>,
16
16
  )
17
17
 
18
18
  internal fun PrimerValidationError.toPrimerRNValidationError() =
19
- PrimerRNValidationError(
20
- errorId,
21
- description,
22
- diagnosticsId
23
- )
19
+ PrimerRNValidationError(
20
+ errorId,
21
+ description,
22
+ diagnosticsId,
23
+ )
@@ -9,26 +9,25 @@ import kotlinx.serialization.Serializable
9
9
 
10
10
  @Serializable
11
11
  data class PrimerRNVaultedPaymentMethod(
12
- val id: String,
13
- val analyticsId: String,
14
- val paymentInstrumentType: String,
15
- val paymentMethodType: String,
16
- val paymentInstrumentData: PaymentInstrumentData?,
17
- val threeDSecureAuthentication: ThreeDSAuthenticationData? = null
12
+ val id: String,
13
+ val analyticsId: String,
14
+ val paymentInstrumentType: String,
15
+ val paymentMethodType: String,
16
+ val paymentInstrumentData: PaymentInstrumentData?,
17
+ val threeDSecureAuthentication: ThreeDSAuthenticationData? = null,
18
18
  )
19
19
 
20
20
  @Serializable
21
21
  data class PrimerRNVaultedPaymentMethods(
22
- val paymentMethods: List<PrimerRNVaultedPaymentMethod>
22
+ val paymentMethods: List<PrimerRNVaultedPaymentMethod>,
23
23
  )
24
24
 
25
25
  internal fun PrimerVaultedPaymentMethod.toPrimerRNVaultedPaymentMethod() =
26
- PrimerRNVaultedPaymentMethod(
27
- id,
28
- analyticsId,
29
- paymentInstrumentType,
30
- paymentMethodType,
31
- paymentInstrumentData.toPaymentInstrumentDataRN(),
32
- threeDSecureAuthentication?.toThreeDsAuthenticationDataRN()
33
- )
34
-
26
+ PrimerRNVaultedPaymentMethod(
27
+ id,
28
+ analyticsId,
29
+ paymentInstrumentType,
30
+ paymentMethodType,
31
+ paymentInstrumentData.toPaymentInstrumentDataRN(),
32
+ threeDSecureAuthentication?.toThreeDsAuthenticationDataRN(),
33
+ )
@@ -5,8 +5,10 @@ import kotlinx.serialization.Serializable
5
5
 
6
6
  @Serializable
7
7
  data class PrimerRNVaultedPaymentMethodAdditionalData(
8
- val cvv: String
8
+ val cvv: String,
9
9
  )
10
10
 
11
11
  internal fun PrimerRNVaultedPaymentMethodAdditionalData.toPrimerVaultedCardAdditionalData() =
12
- PrimerVaultedCardAdditionalData(cvv)
12
+ PrimerVaultedCardAdditionalData(
13
+ cvv,
14
+ )
@@ -1,10 +1,10 @@
1
1
  package com.primerioreactnative.components.events
2
2
 
3
3
  internal enum class PrimerHeadlessUniversalCheckoutComponentEvent(val eventName: String) {
4
- ON_STEP("onStep"),
5
- ON_ERROR("onError"),
6
- ON_IN_VALID("onInvalid"),
7
- ON_VALID("onValid"),
8
- ON_VALIDATING("onValidating"),
9
- ON_VALIDATION_ERROR("onValidationError"),
4
+ ON_STEP("onStep"),
5
+ ON_ERROR("onError"),
6
+ ON_IN_VALID("onInvalid"),
7
+ ON_VALID("onValid"),
8
+ ON_VALIDATING("onValidating"),
9
+ ON_VALIDATION_ERROR("onValidationError"),
10
10
  }