@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
@@ -10,11 +10,14 @@ import PrimerSDK
10
10
 
11
11
  extension PrimerHeadlessUniversalCheckout.PaymentMethod {
12
12
 
13
- func toJsonObject() -> [String: Any] {
14
- return [
15
- "paymentMethodType": paymentMethodType,
16
- "supportedPrimerSessionIntents": self.supportedPrimerSessionIntents.compactMap({ $0.rawValue }),
17
- "paymentMethodManagerCategories": self.paymentMethodManagerCategories.compactMap({ $0.rawValue }).filter({ $0 != "CARD_COMPONENTS" })
18
- ]
19
- }
13
+ func toJsonObject() -> [String: Any] {
14
+ return [
15
+ "paymentMethodType": paymentMethodType,
16
+ "supportedPrimerSessionIntents": self.supportedPrimerSessionIntents.compactMap({ $0.rawValue }
17
+ ),
18
+ "paymentMethodManagerCategories": self.paymentMethodManagerCategories.compactMap({
19
+ $0.rawValue
20
+ }).filter({ $0 != "CARD_COMPONENTS" })
21
+ ]
22
+ }
20
23
  }
@@ -22,8 +22,7 @@ extension PrimerPhoneNumberData {
22
22
  return nil
23
23
  }
24
24
 
25
- if let phoneNumber = dict["phoneNumber"]
26
- {
25
+ if let phoneNumber = dict["phoneNumber"] {
27
26
  self.init(
28
27
  phoneNumber: phoneNumber)
29
28
  } else {
@@ -22,8 +22,7 @@ extension PrimerRetailerData {
22
22
  return nil
23
23
  }
24
24
 
25
- if let retailerId = dict["id"]
26
- {
25
+ if let retailerId = dict["id"] {
27
26
  self.init(
28
27
  id: retailerId)
29
28
  } else {
@@ -1,51 +1,71 @@
1
1
  import PrimerSDK
2
2
 
3
3
  extension PrimerSettings {
4
-
4
+
5
+ // swiftlint:disable function_body_length
6
+ // swiftlint:disable cyclomatic_complexity
5
7
  convenience init(settingsStr: String?) throws {
6
8
  if settingsStr == nil {
7
9
  self.init()
8
10
  } else {
9
11
  guard let settingsData = settingsStr!.data(using: .utf8) else {
10
- let err = RNTNativeError(errorId: "native-ios", errorDescription: "The value of the 'settings' object is invalid.", recoverySuggestion: "Provide a valid 'settings' object")
12
+ let err = RNTNativeError(
13
+ errorId: "native-ios",
14
+ errorDescription: "The value of the 'settings' object is invalid.",
15
+ recoverySuggestion: "Provide a valid 'settings' object"
16
+ )
11
17
  throw err
12
18
  }
13
-
19
+
14
20
  let settingsJson = try JSONSerialization.jsonObject(with: settingsData)
15
-
21
+
16
22
  guard let settingsJson = settingsJson as? [String: Any] else {
17
- let err = RNTNativeError(errorId: "native-ios", errorDescription: "The 'settings' object is not a valid JSON", recoverySuggestion: "Provide a valid 'settings' object")
23
+ let err = RNTNativeError(
24
+ errorId: "native-ios",
25
+ errorDescription: "The 'settings' object is not a valid JSON",
26
+ recoverySuggestion: "Provide a valid 'settings' object"
27
+ )
18
28
  throw err
19
29
  }
20
-
30
+
21
31
  var paymentHandling: PrimerPaymentHandling = .auto
22
32
  if let rnPaymentHandling = settingsJson["paymentHandling"] as? String,
23
- rnPaymentHandling == "MANUAL" {
33
+ rnPaymentHandling == "MANUAL" {
24
34
  paymentHandling = .manual
25
35
  }
26
-
27
- let rnLocaleDataLanguageCode = (settingsJson["localeData"] as? [String: Any])?["languageCode"] as? String
28
- let rnLocaleDataLocaleCode = (settingsJson["localeData"] as? [String: Any])?["localeCode"] as? String
36
+
37
+ let rnLocaleDataLanguageCode =
38
+ (settingsJson["localeData"] as? [String: Any])?["languageCode"] as? String
39
+ let rnLocaleDataLocaleCode =
40
+ (settingsJson["localeData"] as? [String: Any])?["localeCode"] as? String
29
41
  let localeData = PrimerLocaleData(
30
42
  languageCode: rnLocaleDataLanguageCode,
31
43
  regionCode: rnLocaleDataLocaleCode)
32
-
33
- let rnUrlScheme = ((settingsJson["paymentMethodOptions"] as? [String: Any])?["iOS"] as? [String: Any])?["urlScheme"] as? String
34
-
44
+
45
+ let rnUrlScheme =
46
+ ((settingsJson["paymentMethodOptions"] as? [String: Any])?["iOS"] as? [String: Any])?[
47
+ "urlScheme"] as? String
48
+
35
49
  var applePayOptions: PrimerApplePayOptions?
36
- if let rnApplePayOptions = ((settingsJson["paymentMethodOptions"] as? [String: Any])?["applePayOptions"] as? [String: Any]),
37
- let rnApplePayMerchantIdentifier = rnApplePayOptions["merchantIdentifier"] as? String
38
- {
50
+ if let rnApplePayOptions =
51
+ ((settingsJson["paymentMethodOptions"] as? [String: Any])?["applePayOptions"]
52
+ as? [String: Any]),
53
+ let rnApplePayMerchantIdentifier = rnApplePayOptions["merchantIdentifier"] as? String {
39
54
  let rnApplePayMerchantName = rnApplePayOptions["merchantName"] as? String
40
- let rnApplePayIsCaptureBillingAddressEnabled = (rnApplePayOptions["isCaptureBillingAddressEnabled"] as? Bool) ?? false
41
- let rnApplePayShowApplePayForUnsupportedDevice = (rnApplePayOptions["showApplePayForUnsupportedDevice"] as? Bool) ?? true
42
- let rnApplePayCheckProvidedNetworks = (rnApplePayOptions["checkProvidedNetworks"] as? Bool) ?? true
43
-
44
- var shippingOptions: PrimerApplePayOptions.ShippingOptions? = nil
55
+ let rnApplePayIsCaptureBillingAddressEnabled =
56
+ (rnApplePayOptions["isCaptureBillingAddressEnabled"] as? Bool) ?? false
57
+ // swiftlint:disable identifier_name
58
+ let rnApplePayShowApplePayForUnsupportedDevice =
59
+ (rnApplePayOptions["showApplePayForUnsupportedDevice"] as? Bool) ?? true
60
+ // swiftlint:enable identifier_name
61
+ let rnApplePayCheckProvidedNetworks =
62
+ (rnApplePayOptions["checkProvidedNetworks"] as? Bool) ?? true
63
+
64
+ var shippingOptions: PrimerApplePayOptions.ShippingOptions?
45
65
  if let rnShippingOptions = rnApplePayOptions["shippingOptions"] as? [String: Any] {
46
66
  let requireShippingMethod = rnShippingOptions["requireShippingMethod"] as? Bool ?? false
47
-
48
- var shippingContactFields: [PrimerApplePayOptions.RequiredContactField]? = nil
67
+
68
+ var shippingContactFields: [PrimerApplePayOptions.RequiredContactField]?
49
69
  if let requiredFieldsStrings = rnShippingOptions["shippingContactFields"] as? [String] {
50
70
  shippingContactFields = requiredFieldsStrings.compactMap { fieldStr in
51
71
  switch fieldStr {
@@ -58,21 +78,22 @@ extension PrimerSettings {
58
78
  case "postalAddress":
59
79
  return .postalAddress
60
80
  default:
61
- return nil // Ignore unknown values or handle accordingly
81
+ return nil // Ignore unknown values or handle accordingly
62
82
  }
63
83
  }
64
84
  }
65
-
85
+
66
86
  shippingOptions = PrimerApplePayOptions.ShippingOptions(
67
87
  shippingContactFields: shippingContactFields,
68
88
  requireShippingMethod: requireShippingMethod
69
89
  )
70
90
  }
71
-
72
- var billingOptions: PrimerApplePayOptions.BillingOptions? = nil
91
+
92
+ var billingOptions: PrimerApplePayOptions.BillingOptions?
73
93
  if let rnBillingOptions = rnApplePayOptions["billingOptions"] as? [String: Any] {
74
- var requiredBillingContactFields: [PrimerApplePayOptions.RequiredContactField]? = nil
75
- if let requiredFieldsStrings = rnBillingOptions["requiredBillingContactFields"] as? [String] {
94
+ var requiredBillingContactFields: [PrimerApplePayOptions.RequiredContactField]?
95
+ if let requiredFieldsStrings = rnBillingOptions["requiredBillingContactFields"]
96
+ as? [String] {
76
97
  requiredBillingContactFields = requiredFieldsStrings.compactMap { fieldStr in
77
98
  switch fieldStr {
78
99
  case "name":
@@ -84,16 +105,16 @@ extension PrimerSettings {
84
105
  case "postalAddress":
85
106
  return .postalAddress
86
107
  default:
87
- return nil // Ignore unknown values or handle accordingly
108
+ return nil // Ignore unknown values or handle accordingly
88
109
  }
89
110
  }
90
111
  }
91
-
112
+
92
113
  billingOptions = PrimerApplePayOptions.BillingOptions(
93
114
  requiredBillingContactFields: requiredBillingContactFields
94
115
  )
95
116
  }
96
-
117
+
97
118
  applePayOptions = PrimerApplePayOptions(
98
119
  merchantIdentifier: rnApplePayMerchantIdentifier,
99
120
  merchantName: rnApplePayMerchantName,
@@ -104,22 +125,27 @@ extension PrimerSettings {
104
125
  billingOptions: billingOptions
105
126
  )
106
127
  }
107
-
128
+
108
129
  var klarnaOptions: PrimerKlarnaOptions?
109
- if let rnKlarnaRecurringPaymentDescription = ((settingsJson["paymentMethodOptions"] as? [String: Any])?["klarnaOptions"] as? [String: Any])?["recurringPaymentDescription"] as? String {
110
- klarnaOptions = PrimerKlarnaOptions(recurringPaymentDescription: rnKlarnaRecurringPaymentDescription)
130
+ if let rnKlarnaRecurringPaymentDescription =
131
+ ((settingsJson["paymentMethodOptions"]
132
+ as? [String: Any])?["klarnaOptions"]
133
+ as? [String: Any])?["recurringPaymentDescription"]
134
+ as? String {
135
+ klarnaOptions = PrimerKlarnaOptions(
136
+ recurringPaymentDescription: rnKlarnaRecurringPaymentDescription)
111
137
  }
112
-
138
+
113
139
  var uiOptions: PrimerUIOptions?
114
140
  if let rnUIOptions = settingsJson["uiOptions"] as? [String: Any] {
115
-
141
+
116
142
  var theme: PrimerTheme?
117
143
  if let rnTheme = rnUIOptions["theme"] as? [String: Any] {
118
144
  let rnThemeData = (try JSONSerialization.data(withJSONObject: rnTheme))
119
145
  let rnTheme = try JSONDecoder().decode(PrimerThemeRN.self, from: rnThemeData)
120
146
  theme = rnTheme.asPrimerTheme()
121
147
  }
122
-
148
+
123
149
  uiOptions = PrimerUIOptions(
124
150
  isInitScreenEnabled: rnUIOptions["isInitScreenEnabled"] as? Bool,
125
151
  isSuccessScreenEnabled: rnUIOptions["isSuccessScreenEnabled"] as? Bool,
@@ -143,14 +169,16 @@ extension PrimerSettings {
143
169
  }(),
144
170
  theme: theme)
145
171
  }
146
-
172
+
147
173
  var debugOptions: PrimerDebugOptions?
148
- if let rnIs3DSSanityCheckEnabled = (settingsJson["debugOptions"] as? [String: Any])?["is3DSSanityCheckEnabled"] as? Bool {
174
+ if let rnIs3DSSanityCheckEnabled = (settingsJson["debugOptions"] as? [String: Any])?[
175
+ "is3DSSanityCheckEnabled"] as? Bool {
149
176
  debugOptions = PrimerDebugOptions(is3DSSanityCheckEnabled: rnIs3DSSanityCheckEnabled)
150
177
  }
151
-
178
+
152
179
  var clientSessionCachingEnabled: Bool?
153
- if let clientSessionCachingEnabledValue = (settingsJson["clientSessionCachingEnabled"] as? Bool) {
180
+ if let clientSessionCachingEnabledValue =
181
+ (settingsJson["clientSessionCachingEnabled"] as? Bool) {
154
182
  clientSessionCachingEnabled = clientSessionCachingEnabledValue
155
183
  }
156
184
 
@@ -170,14 +198,21 @@ extension PrimerSettings {
170
198
  throw RNTNativeError(errorId: "native-ios", errorDescription: "The value of the 'apiVersion' string is invalid.", recoverySuggestion: "Provide a valid 'apiVersion' string")
171
199
  }
172
200
  }
173
-
201
+
174
202
  var threeDsOptions: PrimerThreeDsOptions?
175
- if let rnThreeDsAppRequestorUrlStr = (((settingsJson["paymentMethodOptions"] as? [String: Any])?["threeDsOptions"] as? [String: Any])?["iOS"] as? [String: Any])?["threeDsAppRequestorUrl"] as? String {
203
+ if let rnThreeDsAppRequestorUrlStr =
204
+ (((settingsJson["paymentMethodOptions"]
205
+ as? [String: Any])?["threeDsOptions"]
206
+ as? [String: Any])?["iOS"]
207
+ as? [String: Any])?["threeDsAppRequestorUrl"]
208
+ as? String {
176
209
  threeDsOptions = PrimerThreeDsOptions(threeDsAppRequestorUrl: rnThreeDsAppRequestorUrlStr)
177
210
  }
178
-
211
+
179
212
  var stripeOptions: PrimerStripeOptions?
180
- if let stripeOptionsMap = ((settingsJson["paymentMethodOptions"] as? [String: Any])?["stripeOptions"] as? [String: Any]) {
213
+ if let stripeOptionsMap =
214
+ ((settingsJson["paymentMethodOptions"] as? [String: Any])?["stripeOptions"]
215
+ as? [String: Any]) {
181
216
  if let publishableKey = stripeOptionsMap["publishableKey"] as? String {
182
217
  var mandateData: PrimerStripeOptions.MandateData?
183
218
  if let mandateDataMap = stripeOptionsMap["mandateData"] as? [String: String] {
@@ -186,10 +221,14 @@ extension PrimerSettings {
186
221
  } else if let merchantName = mandateDataMap["merchantName"] {
187
222
  mandateData = .templateMandate(merchantName: merchantName)
188
223
  } else {
189
- PrimerLogging.shared.logger.warn(message: "Found mandate data but no resource key or merchant name - check your stripe config")
224
+ PrimerLogging.shared.logger.warn(
225
+ message:
226
+ "Found mandate data but no resource key or merchant name - check your stripe config"
227
+ )
190
228
  }
191
229
  } else {
192
- PrimerLogging.shared.logger.warn(message: "Found stripe options but no mandate data - check your stripe config")
230
+ PrimerLogging.shared.logger.warn(
231
+ message: "Found stripe options but no mandate data - check your stripe config")
193
232
  }
194
233
  stripeOptions = .init(
195
234
  publishableKey: publishableKey,
@@ -197,14 +236,14 @@ extension PrimerSettings {
197
236
  )
198
237
  }
199
238
  }
200
-
239
+
201
240
  let paymentMethodOptions = PrimerPaymentMethodOptions(
202
241
  urlScheme: rnUrlScheme,
203
242
  applePayOptions: applePayOptions,
204
243
  klarnaOptions: klarnaOptions,
205
244
  threeDsOptions: threeDsOptions,
206
245
  stripeOptions: stripeOptions)
207
-
246
+
208
247
  self.init(
209
248
  paymentHandling: paymentHandling,
210
249
  localeData: localeData,
@@ -215,4 +254,6 @@ extension PrimerSettings {
215
254
  apiVersion: apiVersion ?? .latest)
216
255
  }
217
256
  }
257
+ // swiftlint:enable function_body_length
258
+ // swiftlint:enable cyclomatic_complexity
218
259
  }
@@ -1,8 +1,8 @@
1
1
  import PrimerSDK
2
2
 
3
3
  struct PrimerThemeRN: Decodable {
4
- let colors: ColorThemeRN?;
5
- let darkModeColors: ColorThemeRN?;
4
+ let colors: ColorThemeRN?
5
+ let darkModeColors: ColorThemeRN?
6
6
  }
7
7
 
8
8
  extension PrimerThemeRN {
@@ -10,9 +10,9 @@ extension PrimerThemeRN {
10
10
 
11
11
  let isDarkMode = UITraitCollection.current.userInterfaceStyle == .dark
12
12
 
13
- let _colors = isDarkMode ? darkModeColors : colors
13
+ let currentColors = isDarkMode ? darkModeColors : colors
14
14
 
15
- guard let colors = _colors else {
15
+ guard let colors = currentColors else {
16
16
  return PrimerTheme()
17
17
  }
18
18
 
@@ -71,9 +71,9 @@ extension ColorThemeRN {
71
71
  success1: mainColor?.uiColor ?? .systemBlue
72
72
  )
73
73
  }
74
-
74
+
75
75
  @available(iOS 13.0, *)
76
- var primerDarkModeTheme: ColorTheme {
76
+ var primerDarkModeTheme: ColorTheme {
77
77
  return PrimerDefaultTheme(
78
78
  text1: text?.uiColor ?? .white,
79
79
  text2: contrastingText?.uiColor ?? .white,
@@ -1,18 +1,17 @@
1
-
2
1
  import Foundation
3
2
 
4
3
  struct RNTNativeError: CustomNSError, LocalizedError, Codable {
5
-
4
+
6
5
  let errorId: String
7
6
  let errorDescription: String?
8
7
  let recoverySuggestion: String?
9
-
8
+
10
9
  var rnError: [String: String] {
11
10
  var json: [String: String] = [
12
11
  "errorId": errorId,
13
12
  "description": errorDescription ?? "Something went wrong"
14
13
  ]
15
-
14
+
16
15
  if let recoverySuggestion = recoverySuggestion {
17
16
  json["recoverySuggestion"] = recoverySuggestion
18
17
  }
@@ -9,59 +9,65 @@ import Foundation
9
9
  import PrimerSDK
10
10
 
11
11
  struct RNTPrimerPaymentMethodAsset: Codable {
12
-
13
- let paymentMethodType: String
14
- let paymentMethodName: String
15
- let paymentMethodLogo: RNTPrimerPaymentMethodLogo
16
- let paymentMethodBackgroundColor: RNTPrimerPaymentMethodBackgroundColor
17
-
18
- init(primerPaymentMethodAsset: PrimerPaymentMethodAsset) {
19
- self.paymentMethodType = primerPaymentMethodAsset.paymentMethodType
20
- self.paymentMethodName = primerPaymentMethodAsset.paymentMethodName
21
- self.paymentMethodLogo = RNTPrimerPaymentMethodLogo(
22
- paymentMethodType: primerPaymentMethodAsset.paymentMethodType,
23
- primerPaymentMethodLogo: primerPaymentMethodAsset.paymentMethodLogo)
24
- self.paymentMethodBackgroundColor = RNTPrimerPaymentMethodBackgroundColor(
25
- primerPaymentMethodBackgroundColor: primerPaymentMethodAsset.paymentMethodBackgroundColor)
26
- }
12
+
13
+ let paymentMethodType: String
14
+ let paymentMethodName: String
15
+ let paymentMethodLogo: RNTPrimerPaymentMethodLogo
16
+ let paymentMethodBackgroundColor: RNTPrimerPaymentMethodBackgroundColor
17
+
18
+ init(primerPaymentMethodAsset: PrimerPaymentMethodAsset) {
19
+ self.paymentMethodType = primerPaymentMethodAsset.paymentMethodType
20
+ self.paymentMethodName = primerPaymentMethodAsset.paymentMethodName
21
+ self.paymentMethodLogo = RNTPrimerPaymentMethodLogo(
22
+ paymentMethodType: primerPaymentMethodAsset.paymentMethodType,
23
+ primerPaymentMethodLogo: primerPaymentMethodAsset.paymentMethodLogo)
24
+ self.paymentMethodBackgroundColor = RNTPrimerPaymentMethodBackgroundColor(
25
+ primerPaymentMethodBackgroundColor: primerPaymentMethodAsset.paymentMethodBackgroundColor)
26
+ }
27
27
  }
28
28
 
29
29
  struct RNTPrimerPaymentMethodLogo: Codable {
30
-
31
- let colored: String?
32
- let dark: String?
33
- let light: String?
34
-
35
- init(paymentMethodType: String, primerPaymentMethodLogo: PrimerAsset) {
36
- self.colored = (try? primerPaymentMethodLogo.colored?.store(withName: "\(paymentMethodType)-colored").absoluteString) ?? nil
37
- self.dark = (try? primerPaymentMethodLogo.dark?.store(withName: "\(paymentMethodType)-dark").absoluteString) ?? nil
38
- self.light = (try? primerPaymentMethodLogo.light?.store(withName: "\(paymentMethodType)-light").absoluteString) ?? nil
39
- }
30
+
31
+ let colored: String?
32
+ let dark: String?
33
+ let light: String?
34
+
35
+ init(paymentMethodType: String, primerPaymentMethodLogo: PrimerAsset) {
36
+ self.colored =
37
+ (try? primerPaymentMethodLogo.colored?.store(withName: "\(paymentMethodType)-colored")
38
+ .absoluteString) ?? nil
39
+ self.dark =
40
+ (try? primerPaymentMethodLogo.dark?.store(withName: "\(paymentMethodType)-dark")
41
+ .absoluteString) ?? nil
42
+ self.light =
43
+ (try? primerPaymentMethodLogo.light?.store(withName: "\(paymentMethodType)-light")
44
+ .absoluteString) ?? nil
45
+ }
40
46
  }
41
47
 
42
48
  struct RNTPrimerPaymentMethodBackgroundColor: Codable {
43
-
44
- let colored: String?
45
- let dark: String?
46
- let light: String?
47
-
48
- init(primerPaymentMethodBackgroundColor: PrimerPaymentMethodBackgroundColor) {
49
- if let bgColoredHex = primerPaymentMethodBackgroundColor.colored?.toHex() {
50
- self.colored = "#\(bgColoredHex)"
51
- } else {
52
- self.colored = nil
53
- }
54
-
55
- if let darkColoredHex = primerPaymentMethodBackgroundColor.dark?.toHex() {
56
- self.dark = "#\(darkColoredHex)"
57
- } else {
58
- self.dark = nil
59
- }
60
-
61
- if let lightColoredHex = primerPaymentMethodBackgroundColor.light?.toHex() {
62
- self.light = "#\(lightColoredHex)"
63
- } else {
64
- self.light = nil
65
- }
49
+
50
+ let colored: String?
51
+ let dark: String?
52
+ let light: String?
53
+
54
+ init(primerPaymentMethodBackgroundColor: PrimerPaymentMethodBackgroundColor) {
55
+ if let bgColoredHex = primerPaymentMethodBackgroundColor.colored?.toHex() {
56
+ self.colored = "#\(bgColoredHex)"
57
+ } else {
58
+ self.colored = nil
59
+ }
60
+
61
+ if let darkColoredHex = primerPaymentMethodBackgroundColor.dark?.toHex() {
62
+ self.dark = "#\(darkColoredHex)"
63
+ } else {
64
+ self.dark = nil
65
+ }
66
+
67
+ if let lightColoredHex = primerPaymentMethodBackgroundColor.light?.toHex() {
68
+ self.light = "#\(lightColoredHex)"
69
+ } else {
70
+ self.light = nil
66
71
  }
72
+ }
67
73
  }