@primer-io/react-native 2.30.0 → 2.30.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,17 +1,17 @@
1
- import type { PrimerCheckoutData } from "./PrimerCheckoutData";
2
- import type { PrimerCheckoutAdditionalInfo } from "./PrimerCheckoutAdditionalInfo";
3
- import type { PrimerCheckoutPaymentMethodData } from "./PrimerCheckoutPaymentMethodData";
4
- import type { PrimerClientSession } from "./PrimerClientSession";
5
- import type { PrimerPaymentMethodTokenData } from "./PrimerPaymentMethodTokenData";
6
- import type { PrimerError } from "./PrimerError";
7
- import type { IPrimerTheme } from "./PrimerTheme";
1
+ import type { PrimerCheckoutData } from './PrimerCheckoutData';
2
+ import type { PrimerCheckoutAdditionalInfo } from './PrimerCheckoutAdditionalInfo';
3
+ import type { PrimerCheckoutPaymentMethodData } from './PrimerCheckoutPaymentMethodData';
4
+ import type { PrimerClientSession } from './PrimerClientSession';
5
+ import type { PrimerPaymentMethodTokenData } from './PrimerPaymentMethodTokenData';
6
+ import type { PrimerError } from './PrimerError';
7
+ import type { IPrimerTheme } from './PrimerTheme';
8
8
  import type {
9
9
  PrimerPaymentCreationHandler,
10
10
  PrimerTokenizationHandler,
11
11
  PrimerResumeHandler,
12
12
  PrimerErrorHandler,
13
- PrimerHeadlessUniversalCheckoutResumeHandler
14
- } from "./PrimerHandlers";
13
+ PrimerHeadlessUniversalCheckoutResumeHandler,
14
+ } from './PrimerHandlers';
15
15
 
16
16
  export type PrimerSettings = IPrimerSettings;
17
17
 
@@ -27,19 +27,32 @@ interface IPrimerSettings {
27
27
  // Dropin UI
28
28
  onBeforeClientSessionUpdate?: () => void;
29
29
  onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
30
- onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
30
+ onBeforePaymentCreate?: (
31
+ checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData,
32
+ handler: PrimerPaymentCreationHandler
33
+ ) => void;
31
34
  onCheckoutComplete?: (checkoutData: PrimerCheckoutData) => void;
32
- onTokenizeSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerTokenizationHandler) => void;
35
+ onTokenizeSuccess?: (
36
+ paymentMethodTokenData: PrimerPaymentMethodTokenData,
37
+ handler: PrimerTokenizationHandler
38
+ ) => void;
33
39
  onResumeSuccess?: (resumeToken: string, handler: PrimerResumeHandler) => void;
34
40
  onResumePending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
35
41
  onCheckoutReceivedAdditionalInfo?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
36
- onError?: (error: PrimerError, checkoutData: PrimerCheckoutData | null, handler: PrimerErrorHandler | undefined) => void;
42
+ onError?: (
43
+ error: PrimerError,
44
+ checkoutData: PrimerCheckoutData | null,
45
+ handler: PrimerErrorHandler | undefined
46
+ ) => void;
37
47
  onDismiss?: () => void;
38
48
 
39
49
  headlessUniversalCheckoutCallbacks?: {
40
50
  onAvailablePaymentMethodsLoad?: (availablePaymentMethods: any[]) => void;
41
51
  onTokenizationStart?: (paymentMethodType: string) => void;
42
- onTokenizationSuccess?: (paymentMethodTokenData: PrimerPaymentMethodTokenData, handler: PrimerHeadlessUniversalCheckoutResumeHandler) => void;
52
+ onTokenizationSuccess?: (
53
+ paymentMethodTokenData: PrimerPaymentMethodTokenData,
54
+ handler: PrimerHeadlessUniversalCheckoutResumeHandler
55
+ ) => void;
43
56
 
44
57
  onCheckoutResume?: (resumeToken: string, handler: PrimerHeadlessUniversalCheckoutResumeHandler) => void;
45
58
  onCheckoutPending?: (additionalInfo: PrimerCheckoutAdditionalInfo) => void;
@@ -50,18 +63,21 @@ interface IPrimerSettings {
50
63
  onBeforeClientSessionUpdate?: () => void;
51
64
 
52
65
  onClientSessionUpdate?: (clientSession: PrimerClientSession) => void;
53
- onBeforePaymentCreate?: (checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData, handler: PrimerPaymentCreationHandler) => void;
66
+ onBeforePaymentCreate?: (
67
+ checkoutPaymentMethodData: PrimerCheckoutPaymentMethodData,
68
+ handler: PrimerPaymentCreationHandler
69
+ ) => void;
54
70
  onPreparationStart?: (paymentMethodType: string) => void;
55
71
 
56
72
  onPaymentMethodShow?: (paymentMethodType: string) => void;
57
- }
73
+ };
58
74
  }
59
75
 
60
76
  //----------------------------------------
61
77
 
62
78
  interface IPrimerLocaleData {
63
- languageCode?: string
64
- localeCode?: string
79
+ languageCode?: string;
80
+ localeCode?: string;
65
81
  }
66
82
 
67
83
  //----------------------------------------
@@ -69,16 +85,16 @@ interface IPrimerLocaleData {
69
85
  interface IPrimerPaymentMethodOptions {
70
86
  iOS?: {
71
87
  urlScheme?: string;
72
- }
88
+ };
73
89
  android?: {
74
90
  redirectScheme?: string;
75
- },
91
+ };
76
92
  apayaOptions?: IPrimerApayaOptions;
77
93
  applePayOptions?: IPrimerApplePayOptions;
78
94
 
79
95
  /**
80
- * @obsoleted The IPrimerCardPaymentOptions is obsoleted on v.2.14.0
81
- */
96
+ * @obsoleted The IPrimerCardPaymentOptions is obsoleted on v.2.14.0
97
+ */
82
98
  cardPaymentOptions?: IPrimerCardPaymentOptions;
83
99
 
84
100
  goCardlessOptions?: IPrimerGoCardlessOptions;
@@ -1,7 +1,7 @@
1
1
  export type PrimerValidationError = IPrimerValidationError;
2
2
 
3
3
  export interface IPrimerValidationError {
4
- errorId?: string;
5
- description?: string;
6
- diagnosticsId?: string;
4
+ errorId?: string;
5
+ description?: string;
6
+ diagnosticsId?: string;
7
7
  }
@@ -1,7 +1,7 @@
1
- import { PrimerValidationError } from "./PrimerValidationError";
1
+ import { PrimerValidationError } from './PrimerValidationError';
2
2
 
3
3
  export type PrimerValidationErrorResult = IPrimerValidationErrorResult;
4
4
 
5
5
  export interface IPrimerValidationErrorResult {
6
- validationErrors: PrimerValidationError[]
6
+ validationErrors: PrimerValidationError[];
7
7
  }
@@ -1,12 +1,12 @@
1
- import { IPrimerPaymentInstrumentData, IPrimerThreeDSAuthenticationData } from "./PrimerPaymentMethodTokenData";
1
+ import { IPrimerPaymentInstrumentData, IPrimerThreeDSAuthenticationData } from './PrimerPaymentMethodTokenData';
2
2
 
3
3
  export type PrimerVaultedPaymentMethod = IPrimerVaultedPaymentMethod;
4
4
 
5
5
  export interface IPrimerVaultedPaymentMethod {
6
- id: string;
7
- analyticsId: string;
8
- paymentInstrumentType: string;
9
- paymentMethodType: string;
10
- paymentInstrumentData?: IPrimerPaymentInstrumentData;
11
- threeDSecureAuthentication?: IPrimerThreeDSAuthenticationData;
6
+ id: string;
7
+ analyticsId: string;
8
+ paymentInstrumentType: string;
9
+ paymentMethodType: string;
10
+ paymentInstrumentData?: IPrimerPaymentInstrumentData;
11
+ threeDSecureAuthentication?: IPrimerThreeDSAuthenticationData;
12
12
  }
@@ -1,5 +1,5 @@
1
1
  export type PrimerVaultedPaymentMethodAdditionalData = IPrimerVaultedPaymentMethodAdditonalData;
2
2
 
3
3
  export interface IPrimerVaultedPaymentMethodAdditonalData {
4
- cvv: string;
4
+ cvv: string;
5
5
  }
@@ -1,7 +1,7 @@
1
- import { PrimerVaultedPaymentMethod } from "./PrimerVaultedPaymentMethod";
1
+ import { PrimerVaultedPaymentMethod } from './PrimerVaultedPaymentMethod';
2
2
 
3
3
  export type PrimerVaultedPaymentMethodResult = IPrimerVaultedPaymentMethodResult;
4
4
 
5
5
  export interface IPrimerVaultedPaymentMethodResult {
6
- paymentMethods: PrimerVaultedPaymentMethod[];
7
- }
6
+ paymentMethods: PrimerVaultedPaymentMethod[];
7
+ }
@@ -1,8 +1,8 @@
1
1
  export type RetailOutletsRetail = IRetailOutletsRetail;
2
2
 
3
3
  interface IRetailOutletsRetail {
4
- id: string;
5
- name: string;
6
- iconUrl: string;
7
- disabled: boolean;
8
- }
4
+ id: string;
5
+ name: string;
6
+ iconUrl: string;
7
+ disabled: boolean;
8
+ }
@@ -1,29 +1,29 @@
1
- import { NamedComponentValidatableData } from "../NamedComponentValidatableData";
1
+ import { NamedComponentValidatableData } from '../NamedComponentValidatableData';
2
2
 
3
- export type AchValidatableData = AchUserDetailsValidatableData
3
+ export type AchValidatableData = AchUserDetailsValidatableData;
4
4
 
5
- export type AchUserDetailsValidatableData = AchFirstName | AchLastName | AchEmailAddress
5
+ export type AchUserDetailsValidatableData = AchFirstName | AchLastName | AchEmailAddress;
6
6
 
7
7
  /**
8
8
  * A type representing representing the customer's first name.
9
9
  */
10
10
  export type AchFirstName = {
11
- validatableDataName: "firstName",
12
- value: string
13
- } & NamedComponentValidatableData
11
+ validatableDataName: 'firstName';
12
+ value: string;
13
+ } & NamedComponentValidatableData;
14
14
 
15
15
  /**
16
16
  * A type representing representing the customer's last name.
17
17
  */
18
18
  export type AchLastName = {
19
- validatableDataName: "lastName",
20
- value: string
21
- } & NamedComponentValidatableData
19
+ validatableDataName: 'lastName';
20
+ value: string;
21
+ } & NamedComponentValidatableData;
22
22
 
23
23
  /**
24
24
  * A type representing representing the customer's email address.
25
25
  */
26
26
  export type AchEmailAddress = {
27
- validatableDataName: "emailAddress",
28
- value: string
29
- } & NamedComponentValidatableData
27
+ validatableDataName: 'emailAddress';
28
+ value: string;
29
+ } & NamedComponentValidatableData;
@@ -1,29 +1,29 @@
1
- import { NamedComponentStep } from "../NamedComponentStep";
1
+ import { NamedComponentStep } from '../NamedComponentStep';
2
2
 
3
- export type AchStep = AchUserDetailsStep
3
+ export type AchStep = AchUserDetailsStep;
4
4
 
5
- export type AchUserDetailsStep = UserDetailsRetrieved | UserDetailsCollected
5
+ export type AchUserDetailsStep = UserDetailsRetrieved | UserDetailsCollected;
6
6
 
7
7
  /**
8
8
  * A type representing the retrieved user details.
9
9
  */
10
10
  export type UserDetailsRetrieved = {
11
- stepName: "userDetailsRetrieved",
12
- /**
13
- * The first name previously sent on client session creation.
14
- */
15
- firstName: string,
16
- /**
17
- * The last name previously sent on client session creation.
18
- */
19
- lastName: string,
20
- /**
21
- * The email address previously sent on client session creation.
22
- */
23
- emailAddress: string
24
- } & NamedComponentStep
11
+ stepName: 'userDetailsRetrieved';
12
+ /**
13
+ * The first name previously sent on client session creation.
14
+ */
15
+ firstName: string;
16
+ /**
17
+ * The last name previously sent on client session creation.
18
+ */
19
+ lastName: string;
20
+ /**
21
+ * The email address previously sent on client session creation.
22
+ */
23
+ emailAddress: string;
24
+ } & NamedComponentStep;
25
25
 
26
26
  /**
27
27
  * A type representing the collected user details.
28
28
  */
29
- export type UserDetailsCollected = { stepName: "userDetailsCollected" } & NamedComponentStep;
29
+ export type UserDetailsCollected = { stepName: 'userDetailsCollected' } & NamedComponentStep;
@@ -1,25 +1,25 @@
1
- import { NamedComponentValidatableData } from "../NamedComponentValidatableData";
1
+ import { NamedComponentValidatableData } from '../NamedComponentValidatableData';
2
2
 
3
- export type BanksValidatableData = BankListFilter | BankId
3
+ export type BanksValidatableData = BankListFilter | BankId;
4
4
 
5
5
  /**
6
6
  * A type representing the bank list filter.
7
7
  */
8
8
  export type BankListFilter = {
9
- validatableDataName: "bankListFilter",
10
- /**
11
- * The text to filter the bank list by.
12
- */
13
- text: string
14
- } & NamedComponentValidatableData
9
+ validatableDataName: 'bankListFilter';
10
+ /**
11
+ * The text to filter the bank list by.
12
+ */
13
+ text: string;
14
+ } & NamedComponentValidatableData;
15
15
 
16
16
  /**
17
17
  * A type representing the id of the selected bank.
18
18
  */
19
19
  export type BankId = {
20
- validatableDataName: "bankId",
21
- /**
22
- * The id of the selected bank.
23
- */
24
- id: string
25
- } & NamedComponentValidatableData
20
+ validatableDataName: 'bankId';
21
+ /**
22
+ * The id of the selected bank.
23
+ */
24
+ id: string;
25
+ } & NamedComponentValidatableData;
@@ -1,22 +1,22 @@
1
- import { IssuingBank } from "../IssuingBank";
2
- import { NamedComponentStep } from "../NamedComponentStep";
1
+ import { IssuingBank } from '../IssuingBank';
2
+ import { NamedComponentStep } from '../NamedComponentStep';
3
3
 
4
- export type BanksStep = BanksLoading | BanksRetrieved
4
+ export type BanksStep = BanksLoading | BanksRetrieved;
5
5
 
6
6
  /**
7
- * A type representing the loading of the bank list.
8
- */
7
+ * A type representing the loading of the bank list.
8
+ */
9
9
  export type BanksLoading = {
10
- stepName: "banksLoading"
11
- } & NamedComponentStep
10
+ stepName: 'banksLoading';
11
+ } & NamedComponentStep;
12
12
 
13
13
  /**
14
14
  * A type representing the list of retrieved banks.
15
15
  */
16
16
  export type BanksRetrieved = {
17
- stepName: "banksRetrieved",
18
- /**
19
- * The list of retrieved banks.
20
- */
21
- banks: IssuingBank[]
22
- } & NamedComponentStep
17
+ stepName: 'banksRetrieved';
18
+ /**
19
+ * The list of retrieved banks.
20
+ */
21
+ banks: IssuingBank[];
22
+ } & NamedComponentStep;
@@ -4,20 +4,20 @@ export type KlarnaPaymentCategory = IKlarnaPaymentCategory;
4
4
  * Interface representing a Klarna payment category.
5
5
  */
6
6
  interface IKlarnaPaymentCategory {
7
- /**
8
- * The identifier of the category.
9
- */
10
- identifier: string;
11
- /**
12
- * The name of the category.
13
- */
14
- name: string;
15
- /**
16
- * The descriptive asset url of the category.
17
- */
18
- descriptiveAssetUrl: string;
19
- /**
20
- * The standard asset url of the category.
21
- */
22
- standardAssetUrl: string;
7
+ /**
8
+ * The identifier of the category.
9
+ */
10
+ identifier: string;
11
+ /**
12
+ * The name of the category.
13
+ */
14
+ name: string;
15
+ /**
16
+ * The descriptive asset url of the category.
17
+ */
18
+ descriptiveAssetUrl: string;
19
+ /**
20
+ * The standard asset url of the category.
21
+ */
22
+ standardAssetUrl: string;
23
23
  }
@@ -1,26 +1,27 @@
1
- import { NamedComponentValidatableData } from "../NamedComponentValidatableData";
2
- import { KlarnaPaymentCategory } from "./KlarnaPaymentCategory";
3
- import { KlarnaComponent } from "src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager";
1
+ import { NamedComponentValidatableData } from '../NamedComponentValidatableData';
2
+ import { KlarnaPaymentCategory } from './KlarnaPaymentCategory';
4
3
 
5
- export type KlarnaPaymentValidatableData = KlarnaPaymentOptions | KlarnaPaymentFinalization
4
+ export type KlarnaPaymentValidatableData = KlarnaPaymentOptions | KlarnaPaymentFinalization;
6
5
 
7
6
  /**
8
7
  * A type representing Klarna payment options required for configuring the {@link KlarnaComponent}.
9
8
  */
10
9
  export type KlarnaPaymentOptions = {
11
- validatableDataName: "klarnaPaymentOptions",
10
+ validatableDataName: 'klarnaPaymentOptions';
12
11
 
13
- /**
14
- * Url used by third-party Android apps to build the intent for returning to the app.
15
- */
16
- returnIntentUrl?: string,
17
- /**
18
- * Payment category required for session creation.
19
- */
20
- paymentCategory: KlarnaPaymentCategory,
21
- } & NamedComponentValidatableData
12
+ /**
13
+ * Url used by third-party Android apps to build the intent for returning to the app.
14
+ */
15
+ returnIntentUrl?: string;
16
+ /**
17
+ * Payment category required for session creation.
18
+ */
19
+ paymentCategory: KlarnaPaymentCategory;
20
+ } & NamedComponentValidatableData;
22
21
 
23
22
  /**
24
23
  * A type representing the finalized Klarna payment session.
25
24
  */
26
- export type KlarnaPaymentFinalization = { validatableDataName: "klarnaPaymentFinalization" } & NamedComponentValidatableData
25
+ export type KlarnaPaymentFinalization = {
26
+ validatableDataName: 'klarnaPaymentFinalization';
27
+ } & NamedComponentValidatableData;
@@ -1,36 +1,40 @@
1
- import { NamedComponentStep } from "./../NamedComponentStep";
2
- import { KlarnaPaymentCategory } from "./KlarnaPaymentCategory"
1
+ import { NamedComponentStep } from './../NamedComponentStep';
2
+ import { KlarnaPaymentCategory } from './KlarnaPaymentCategory';
3
3
 
4
- export type KlarnaPaymentStep = PaymentSessionCreated | PaymentViewLoaded | PaymentSessionAuthorized | PaymentSessionFinalized
4
+ export type KlarnaPaymentStep =
5
+ | PaymentSessionCreated
6
+ | PaymentViewLoaded
7
+ | PaymentSessionAuthorized
8
+ | PaymentSessionFinalized;
5
9
 
6
10
  /**
7
11
  * A type that indicates that the payment view is loaded and ready to be displayed.
8
12
  */
9
- export type PaymentViewLoaded = { stepName: "paymentViewLoaded" } & NamedComponentStep;
13
+ export type PaymentViewLoaded = { stepName: 'paymentViewLoaded' } & NamedComponentStep;
10
14
 
11
15
  /**
12
16
  * A type representing the created payment session.
13
17
  */
14
18
  export type PaymentSessionCreated = {
15
- stepName: "paymentSessionCreated",
16
- /**
17
- * The list of available Klarna payment categories.
18
- */
19
- paymentCategories: KlarnaPaymentCategory[]
20
- } & NamedComponentStep
19
+ stepName: 'paymentSessionCreated';
20
+ /**
21
+ * The list of available Klarna payment categories.
22
+ */
23
+ paymentCategories: KlarnaPaymentCategory[];
24
+ } & NamedComponentStep;
21
25
 
22
26
  /**
23
27
  * A type representing the authorized payment session.
24
28
  */
25
29
  export type PaymentSessionAuthorized = {
26
- stepName: "paymentSessionAuthorized",
27
- /**
28
- * The state of the finalization.
29
- */
30
- isFinalized: boolean
31
- } & NamedComponentStep
30
+ stepName: 'paymentSessionAuthorized';
31
+ /**
32
+ * The state of the finalization.
33
+ */
34
+ isFinalized: boolean;
35
+ } & NamedComponentStep;
32
36
 
33
37
  /**
34
38
  * A type representing the finalized payment session.
35
39
  */
36
- export type PaymentSessionFinalized = { stepName: "paymentSessionFinalized" } & NamedComponentStep;
40
+ export type PaymentSessionFinalized = { stepName: 'paymentSessionFinalized' } & NamedComponentStep;
@@ -1,4 +1,4 @@
1
- import type { RgbaColor } from "../models/PrimerTheme";
1
+ import type { RgbaColor } from '../models/PrimerTheme';
2
2
 
3
3
  export function toRgbColor(hex: string): RgbaColor | null {
4
4
  // Make sure it looks like a proper color hex string
@@ -1,19 +0,0 @@
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
- }
@@ -1,138 +0,0 @@
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
- @Serializable
13
- sealed interface PrimerRNPaymentMethodResource {
14
- val paymentMethodType: String
15
- val paymentMethodName: String
16
-
17
- @Serializable
18
- data class PrimerRNPaymentMethodAsset(
19
- override val paymentMethodType: String,
20
- override val paymentMethodName: String,
21
- val paymentMethodLogo: PrimerRNPaymentMethodLogo,
22
- val paymentMethodBackgroundColor: PrimerRNPaymentMethodBackgroundColor
23
- ) : PrimerRNPaymentMethodResource
24
-
25
- @Serializable
26
- data class PrimerRNPaymentMethodNativeView(
27
- override val paymentMethodType: String,
28
- override val paymentMethodName: String,
29
- val nativeViewName: String
30
- ) : PrimerRNPaymentMethodResource
31
- }
32
-
33
- @Serializable
34
- data class PrimerRNPaymentMethodAssets(
35
- val paymentMethodAssets: List<PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset>
36
- )
37
-
38
- @Serializable
39
- data class PrimerRNPaymentMethodResources(
40
- val paymentMethodResources: List<PrimerRNPaymentMethodResource>
41
- )
42
-
43
- @Serializable
44
- data class PrimerRNPaymentMethodAssetWrapper(
45
- val paymentMethodAsset: PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset
46
- )
47
-
48
- @Serializable
49
- data class PrimerRNPaymentMethodResourceWrapper(
50
- val paymentMethodResource: PrimerRNPaymentMethodResource
51
- )
52
-
53
- @Serializable
54
- data class PrimerRNPaymentMethodLogo(
55
- val colored: String?,
56
- val light: String?,
57
- val dark: String?
58
- )
59
-
60
- @Serializable
61
- data class PrimerRNPaymentMethodBackgroundColor(
62
- val colored: String?,
63
- val light: String?,
64
- val dark: String?
65
- )
66
-
67
- @Serializable
68
- data class PrimerCardNetworkAsset(
69
- val cardNetworkImageURL: String
70
- )
71
-
72
- fun PrimerPaymentMethodAsset.toPrimerRNPaymentMethodAsset(
73
- reactContext: ReactApplicationContext,
74
- paymentMethodType: String,
75
- ) = PrimerRNPaymentMethodResource.PrimerRNPaymentMethodAsset(
76
- paymentMethodType,
77
- paymentMethodName,
78
- PrimerRNPaymentMethodLogo(
79
- paymentMethodLogo.colored?.let {
80
- getFileUrl(
81
- reactContext,
82
- paymentMethodType,
83
- AssetsManager.ImageColorType.COLORED,
84
- it
85
- )
86
- },
87
- paymentMethodLogo.light?.let {
88
- getFileUrl(
89
- reactContext,
90
- paymentMethodType,
91
- AssetsManager.ImageColorType.LIGHT,
92
- it
93
- )
94
- },
95
- paymentMethodLogo.dark?.let {
96
- getFileUrl(
97
- reactContext,
98
- paymentMethodType,
99
- AssetsManager.ImageColorType.DARK,
100
- it
101
- )
102
- }
103
- ),
104
- PrimerRNPaymentMethodBackgroundColor(
105
- paymentMethodBackgroundColor.colored?.let {
106
- String.format("#%06X", (0xFFFFFF and it))
107
- },
108
- paymentMethodBackgroundColor.light?.let {
109
- String.format("#%06X", (0xFFFFFF and it))
110
- },
111
- paymentMethodBackgroundColor.dark?.let {
112
- String.format("#%06X", (0xFFFFFF and it))
113
- }
114
- )
115
- )
116
-
117
- fun PrimerPaymentMethodNativeView.toPrimerRNPaymentMethodNativeView(paymentMethodType: String) = PrimerRNPaymentMethodResource.PrimerRNPaymentMethodNativeView(
118
- paymentMethodType = paymentMethodType,
119
- paymentMethodName = paymentMethodName,
120
- nativeViewName = when (paymentMethodType) {
121
- "GOOGLE_PAY" -> "PrimerGooglePayButton"
122
- else -> error("Native view for '$paymentMethodType'is not supported")
123
- }
124
- )
125
-
126
- private fun getFileUrl(
127
- reactContext: ReactApplicationContext,
128
- paymentMethodType: String,
129
- imageColorType: AssetsManager.ImageColorType,
130
- drawable: Drawable,
131
- ): String {
132
- val file = getFileForPaymentMethodAsset(reactContext, paymentMethodType, imageColorType)
133
- AssetsManager.saveBitmapToFile(
134
- file,
135
- drawableToBitmap(drawable),
136
- )
137
- return "file://${file.absolutePath}"
138
- }