@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.
- package/android/.editorconfig +2 -0
- package/android/build.gradle +29 -1
- package/android/detekt-baseline.xml +24 -0
- package/android/src/main/java/com/primerioreactnative/PrimerRN.kt +248 -195
- package/android/src/main/java/com/primerioreactnative/PrimerRNEventListener.kt +261 -253
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckout.kt +177 -143
- package/android/src/main/java/com/primerioreactnative/PrimerRNHeadlessUniversalCheckoutListener.kt +298 -291
- package/android/src/main/java/com/primerioreactnative/PrimerRNViewModelStoreOwner.kt +2 -3
- package/android/src/main/java/com/primerioreactnative/ReactNativePackage.kt +33 -36
- package/android/src/main/java/com/primerioreactnative/components/assets/AssetsManager.kt +29 -30
- package/android/src/main/java/com/primerioreactnative/components/assets/CardNetworkImageFileProvider.kt +15 -15
- package/android/src/main/java/com/primerioreactnative/components/assets/PaymentMethodAssetFileProvider.kt +16 -16
- package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRNHeadlessUniversalCheckoutPaymentMethod.kt +9 -9
- package/android/src/main/java/com/primerioreactnative/components/datamodels/core/PrimerRawPaymentMethodType.kt +5 -5
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/asset/Resources.kt +143 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/card/PrimerRNCardData.kt +11 -11
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNBancontactCardData.kt +19 -0
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/phoneNumber/PrimerRNPhoneNumberData.kt +5 -5
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/PrimerRNRetailOutletData.kt +2 -3
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/retailOutlets/RNRetailOutletsList.kt +15 -14
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNValidationError.kt +10 -10
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethod.kt +15 -16
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/vault/PrimerRNVaultedPaymentMethodAdditionalData.kt +4 -2
- package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutComponentEvent.kt +6 -6
- package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutEvent.kt +13 -13
- package/android/src/main/java/com/primerioreactnative/components/events/PrimerHeadlessUniversalCheckoutRawDataManagerEvent.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/components/manager/NativeViewContainer.kt +9 -8
- package/android/src/main/java/com/primerioreactnative/components/manager/ach/{AchMandateManager.kt → PrimerRNAchMandateManager.kt} +20 -17
- package/android/src/main/java/com/primerioreactnative/components/manager/ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.kt +227 -212
- package/android/src/main/java/com/primerioreactnative/components/manager/asset/PrimerRNHeadlessUniversalCheckoutAssetManager.kt +178 -163
- package/android/src/main/java/com/primerioreactnative/components/manager/banks/PrimerRNHeadlessUniversalCheckoutBanksComponent.kt +207 -194
- package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonConstantsModule.kt +23 -26
- package/android/src/main/java/com/primerioreactnative/components/manager/googlePay/PrimerGooglePayButtonManager.kt +25 -23
- package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerKlarnaPaymentViewManager.kt +24 -23
- package/android/src/main/java/com/primerioreactnative/components/manager/klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.kt +111 -87
- package/android/src/main/java/com/primerioreactnative/components/manager/nativeUi/PrimerRNHeadlessUniversalCheckoutNativeUiManager.kt +68 -63
- package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManager.kt +189 -164
- package/android/src/main/java/com/primerioreactnative/components/manager/raw/PrimerRNHeadlessUniversalCheckoutRawManagerListener.kt +39 -37
- package/android/src/main/java/com/primerioreactnative/components/manager/vault/PrimerRNHeadlessUniversalCheckoutVaultManager.kt +128 -118
- package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentStepRN.kt → NamedComponentStep.kt} +0 -2
- package/android/src/main/java/com/primerioreactnative/datamodels/{NamedComponentValidatableDataRN.kt → NamedComponentValidatableData.kt} +1 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutAdditionalInfoRN.kt +14 -14
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerCheckoutDataRN.kt +4 -4
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerClientSessionRN.kt +34 -35
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerErrorRN.kt +14 -14
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerEvents.kt +10 -11
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerInputValidationErrorRN.kt +4 -4
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerIssuingBankRN.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerPaymentInstrumentTokenRN.kt +66 -67
- package/android/src/main/java/com/primerioreactnative/datamodels/PrimerSettingsRN.kt +128 -119
- package/android/src/main/java/com/primerioreactnative/datamodels/ach/AchUserDetailsStepRN.kt +2 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/banks/BanksStepRN.kt +3 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsCollectableData.kt +11 -6
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/ach/AchUserDetailsStep.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksCollectableData.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/datamodels/extensions/banks/BanksStep.kt +8 -4
- package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCategoryRN.kt +2 -2
- package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentCollectableDataRN.kt +2 -3
- package/android/src/main/java/com/primerioreactnative/datamodels/klarna/KlarnaPaymentStepRN.kt +6 -6
- package/android/src/main/java/com/primerioreactnative/extensions/JSONExtensions.kt +26 -26
- package/android/src/main/java/com/primerioreactnative/extensions/LocaleSettingsRN.kt +5 -5
- package/android/src/main/java/com/primerioreactnative/extensions/PaymentInstrumentData.kt +37 -31
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerAddress.kt +11 -10
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutAdditionalInfo.kt +19 -14
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCheckoutData.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerClientSession.kt +9 -9
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerCustomer.kt +9 -8
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerDebugOptionsRN.kt +1 -2
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerError.kt +3 -3
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerIssuingBank.kt +1 -2
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerLineItem.kt +10 -3
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerOrder.kt +5 -3
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodData.kt +4 -1
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerPaymentMethodOptionsRN.kt +69 -54
- package/android/src/main/java/com/primerioreactnative/extensions/PrimerUIOptionsRN.kt +16 -16
- package/android/src/main/java/com/primerioreactnative/extensions/ThreeDsAuthenticationData.kt +7 -7
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategory.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCategoryRN.kt +1 -1
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentCollectableData.kt +4 -4
- package/android/src/main/java/com/primerioreactnative/extensions/klarna/KlarnaPaymentStep.kt +8 -7
- package/android/src/main/java/com/primerioreactnative/utils/ErrorHelper.kt +6 -5
- package/android/src/main/java/com/primerioreactnative/utils/JsonConverter.kt +33 -34
- package/android/src/main/java/com/primerioreactnative/utils/PrimerHeadlessUniversalCheckoutImplementedRNCallbacks.kt +26 -26
- package/android/src/main/java/com/primerioreactnative/utils/PrimerImplementedRNCallbacks.kt +20 -20
- package/android/src/test/java/com/primerioreactnative/utils/ErrorHelperTest.kt +12 -13
- package/android/tooling/code-analysis/detekt.yml +68 -0
- package/ios/Sources/DataModels/Ach Component/RNTAchUserDetailsCollectableData.swift +2 -2
- package/ios/Sources/DataModels/Banks Component/RNTBanksCollectableData.swift +0 -1
- package/ios/Sources/DataModels/ImplementedRNCallbacks.swift +83 -63
- package/ios/Sources/DataModels/Klarna Component/PrimerHeadlessUniversalCheckoutComponentEvent.swift +3 -1
- package/ios/Sources/DataModels/Klarna Component/RNTKlarnaCollectableData.swift +2 -2
- package/ios/Sources/DataModels/Klarna Component/RNTKlarnaPaymentCategory.swift +1 -1
- package/ios/Sources/DataModels/Klarna Component/RNTKlarnaStep.swift +5 -5
- package/ios/Sources/DataModels/Klarna Component/RNTPrimerError.swift +1 -1
- package/ios/Sources/DataModels/PrimerBancontactCardRedirectData+Extension.swift +1 -2
- package/ios/Sources/DataModels/PrimerCardData+Extension.swift +6 -7
- package/ios/Sources/DataModels/PrimerCheckoutAdditionalInfoRN.swift +6 -7
- package/ios/Sources/DataModels/PrimerHeadlessUniversalCheckout_PaymentMethod.swift +10 -7
- package/ios/Sources/DataModels/PrimerPhoneNumberData+Extension.swift +1 -2
- package/ios/Sources/DataModels/PrimerRawRetailerData+Extension.swift +1 -2
- package/ios/Sources/DataModels/PrimerSettings+Extensions.swift +91 -50
- package/ios/Sources/DataModels/PrimerThemeRN.swift +6 -6
- package/ios/Sources/DataModels/RNTNativeError.swift +3 -4
- package/ios/Sources/DataModels/RNTPrimerPaymentMethodAsset.swift +54 -48
- package/ios/Sources/Headless Universal Checkout/Managers/Ach/PrimerRNHeadlessUniversalCheckoutStripeAchUserDetailsComponent.swift +225 -202
- package/ios/Sources/Headless Universal Checkout/Managers/Ach/RNTAchMandateManager.swift +6 -6
- package/ios/Sources/Headless Universal Checkout/Managers/Assets Manager/RNTAssetsManager.swift +163 -161
- package/ios/Sources/Headless Universal Checkout/Managers/Klarna/PrimerRNHeadlessUniversalCheckoutKlarnaComponent.swift +268 -250
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNPrimerHeadlessUniversalCheckoutVaultManager.swift +88 -66
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTNativeUIManager.swift +51 -43
- package/ios/Sources/Headless Universal Checkout/Managers/Payment Method Managers/RNTRawDataManager.swift +181 -158
- package/ios/Sources/Headless Universal Checkout/Managers/RNTRedirectManager.swift +165 -156
- package/ios/Sources/Headless Universal Checkout/RNTPrimerHeadlessUniversalCheckout.swift +526 -459
- package/ios/Sources/Helpers/Encodable+Extension.swift +5 -1
- package/ios/Sources/Helpers/Error+Extensions.swift +5 -5
- package/ios/Sources/Helpers/UIColor+Extensions.swift +23 -20
- package/ios/Sources/RNTPrimer.swift +135 -48
- package/lib/commonjs/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
- package/lib/commonjs/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/commonjs/HeadlessUniversalCheckout/types.js +5 -5
- package/lib/commonjs/Primer.js +2 -2
- package/lib/commonjs/Primer.js.map +1 -1
- package/lib/commonjs/RNPrimer.js +5 -5
- package/lib/commonjs/RNPrimer.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/PrimerError.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js +3 -3
- package/lib/module/HeadlessUniversalCheckout/Components/NativeResourceView.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js +4 -4
- package/lib/module/HeadlessUniversalCheckout/Managers/AssetsManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js +2 -2
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js +6 -6
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/Managers/VaultManager.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js +4 -4
- package/lib/module/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js +1 -1
- package/lib/module/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.js.map +1 -1
- package/lib/module/HeadlessUniversalCheckout/types.js +5 -5
- package/lib/module/Primer.js +2 -2
- package/lib/module/Primer.js.map +1 -1
- package/lib/module/RNPrimer.js +5 -5
- package/lib/module/RNPrimer.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/PrimerError.js.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts +2 -2
- package/lib/typescript/HeadlessUniversalCheckout/Components/NativeResourceView.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts +4 -4
- package/lib/typescript/HeadlessUniversalCheckout/Managers/AssetsManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/Managers/VaultManager.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.d.ts.map +1 -1
- package/lib/typescript/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.d.ts.map +1 -1
- package/lib/typescript/Primer.d.ts.map +1 -1
- package/lib/typescript/RNPrimer.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +4 -4
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/IssuingBank.d.ts.map +1 -1
- package/lib/typescript/models/NamedComponentStep.d.ts.map +1 -1
- package/lib/typescript/models/NamedComponentValidatableData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts +4 -4
- package/lib/typescript/models/PrimerCheckoutAdditionalInfo.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCheckoutData.d.ts +1 -1
- package/lib/typescript/models/PrimerCheckoutData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCheckoutPaymentMethodData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerClientSession.d.ts.map +1 -1
- package/lib/typescript/models/PrimerComponentDataValidation.d.ts +5 -5
- package/lib/typescript/models/PrimerComponentDataValidation.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCountryCode.d.ts +1 -1
- package/lib/typescript/models/PrimerCountryCode.d.ts.map +1 -1
- package/lib/typescript/models/PrimerCurrencyCode.d.ts +1 -1
- package/lib/typescript/models/PrimerCurrencyCode.d.ts.map +1 -1
- package/lib/typescript/models/PrimerError.d.ts.map +1 -1
- package/lib/typescript/models/PrimerHandlers.d.ts.map +1 -1
- package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts +2 -2
- package/lib/typescript/models/PrimerHeadlessUniversalCheckoutPaymentMethod.d.ts.map +1 -1
- package/lib/typescript/models/PrimerImplementedRNCallbacks.d.ts.map +1 -1
- package/lib/typescript/models/PrimerInitializationData.d.ts +1 -1
- package/lib/typescript/models/PrimerInitializationData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerInputElementType.d.ts.map +1 -1
- package/lib/typescript/models/PrimerInterfaces.d.ts +1 -1
- package/lib/typescript/models/PrimerPaymentMethodManagerCategory.d.ts.map +1 -1
- package/lib/typescript/models/PrimerPaymentMethodResource.d.ts.map +1 -1
- package/lib/typescript/models/PrimerRawData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerSettings.d.ts +10 -10
- package/lib/typescript/models/PrimerSettings.d.ts.map +1 -1
- package/lib/typescript/models/PrimerValidationError.d.ts.map +1 -1
- package/lib/typescript/models/PrimerValidationErrorResult.d.ts +1 -1
- package/lib/typescript/models/PrimerValidationErrorResult.d.ts.map +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethod.d.ts.map +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethodAdditionalData.d.ts.map +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts +1 -1
- package/lib/typescript/models/PrimerVaultedPaymentMethodResult.d.ts.map +1 -1
- package/lib/typescript/models/RetailOutletsRetail.d.ts.map +1 -1
- package/lib/typescript/models/ach/AchCollectableData.d.ts +4 -4
- package/lib/typescript/models/ach/AchCollectableData.d.ts.map +1 -1
- package/lib/typescript/models/ach/AchSteps.d.ts +3 -3
- package/lib/typescript/models/ach/AchSteps.d.ts.map +1 -1
- package/lib/typescript/models/banks/BanksCollectableData.d.ts +3 -3
- package/lib/typescript/models/banks/BanksCollectableData.d.ts.map +1 -1
- package/lib/typescript/models/banks/BanksSteps.d.ts +6 -6
- package/lib/typescript/models/banks/BanksSteps.d.ts.map +1 -1
- package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts +2 -2
- package/lib/typescript/models/klarna/KlarnaPaymentCategory.d.ts.map +1 -1
- package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts +4 -4
- package/lib/typescript/models/klarna/KlarnaPaymentCollectableData.d.ts.map +1 -1
- package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts +6 -6
- package/lib/typescript/models/klarna/KlarnaPaymentSteps.d.ts.map +1 -1
- package/lib/typescript/utils/index.d.ts +1 -1
- package/package.json +5 -4
- package/primer-io-react-native.podspec +1 -1
- package/src/HeadlessUniversalCheckout/Components/NativeResourceView.tsx +17 -21
- package/src/HeadlessUniversalCheckout/Components/PrimerGooglePayButton.tsx +3 -6
- package/src/HeadlessUniversalCheckout/Components/PrimerKlarnaPaymentView.tsx +2 -4
- package/src/HeadlessUniversalCheckout/Managers/AssetsManager.ts +68 -69
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchManager.ts +127 -131
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/AchMandateManager.ts +23 -25
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/ComponentWithRedirectManager.ts +21 -30
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/KlarnaManager.ts +137 -141
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/NativeUIManager.ts +17 -18
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/RawDataManager.ts +158 -142
- package/src/HeadlessUniversalCheckout/Managers/PaymentMethodManagers/Utils/EventType.ts +7 -7
- package/src/HeadlessUniversalCheckout/Managers/VaultManager.ts +96 -87
- package/src/HeadlessUniversalCheckout/PrimerHeadlessUniversalCheckout.ts +159 -170
- package/src/HeadlessUniversalCheckout/RNPrimerHeadlessUniversalCheckout.ts +2 -6
- package/src/HeadlessUniversalCheckout/types.ts +5 -5
- package/src/Primer.ts +60 -57
- package/src/RNPrimer.ts +53 -54
- package/src/RNTPrimerHeadlessUniversalCheckoutCardFormUIManager.tsx +1 -1
- package/src/index.tsx +73 -36
- package/src/models/IssuingBank.ts +5 -5
- package/src/models/NamedComponentStep.ts +5 -5
- package/src/models/NamedComponentValidatableData.ts +5 -5
- package/src/models/PrimerCheckoutAdditionalInfo.ts +18 -23
- package/src/models/PrimerCheckoutData.ts +8 -8
- package/src/models/PrimerCheckoutPaymentMethodData.ts +6 -6
- package/src/models/PrimerClientSession.ts +34 -34
- package/src/models/PrimerComponentDataValidation.ts +33 -33
- package/src/models/PrimerCountryCode.ts +1 -1
- package/src/models/PrimerCurrencyCode.ts +1 -1
- package/src/models/PrimerError.ts +7 -1
- package/src/models/PrimerHandlers.ts +24 -24
- package/src/models/PrimerHeadlessUniversalCheckoutPaymentMethod.ts +4 -4
- package/src/models/PrimerImplementedRNCallbacks.ts +15 -15
- package/src/models/PrimerInitializationData.ts +3 -3
- package/src/models/PrimerInputElementType.ts +9 -9
- package/src/models/PrimerInterfaces.ts +1 -1
- package/src/models/PrimerPaymentMethodManagerCategory.ts +4 -4
- package/src/models/PrimerPaymentMethodResource.ts +11 -11
- package/src/models/PrimerRawData.ts +9 -9
- package/src/models/PrimerSessionIntent.ts +1 -1
- package/src/models/PrimerSettings.ts +37 -21
- package/src/models/PrimerValidationError.ts +3 -3
- package/src/models/PrimerValidationErrorResult.ts +2 -2
- package/src/models/PrimerVaultedPaymentMethod.ts +7 -7
- package/src/models/PrimerVaultedPaymentMethodAdditionalData.ts +1 -1
- package/src/models/PrimerVaultedPaymentMethodResult.ts +3 -3
- package/src/models/RetailOutletsRetail.ts +5 -5
- package/src/models/ach/AchCollectableData.ts +12 -12
- package/src/models/ach/AchSteps.ts +18 -18
- package/src/models/banks/BanksCollectableData.ts +14 -14
- package/src/models/banks/BanksSteps.ts +13 -13
- package/src/models/klarna/KlarnaPaymentCategory.ts +16 -16
- package/src/models/klarna/KlarnaPaymentCollectableData.ts +16 -15
- package/src/models/klarna/KlarnaPaymentSteps.ts +21 -17
- package/src/utils/index.ts +1 -1
- package/android/src/main/java/com/primerioreactnative/components/datamodels/manager/raw/cardRedirect/PrimerRNCardRedirectData.kt +0 -19
- 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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
}
|
|
@@ -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(
|
|
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(
|
|
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
|
-
|
|
33
|
+
rnPaymentHandling == "MANUAL" {
|
|
24
34
|
paymentHandling = .manual
|
|
25
35
|
}
|
|
26
|
-
|
|
27
|
-
let rnLocaleDataLanguageCode =
|
|
28
|
-
|
|
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 =
|
|
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 =
|
|
37
|
-
|
|
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 =
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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]?
|
|
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
|
|
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?
|
|
91
|
+
|
|
92
|
+
var billingOptions: PrimerApplePayOptions.BillingOptions?
|
|
73
93
|
if let rnBillingOptions = rnApplePayOptions["billingOptions"] as? [String: Any] {
|
|
74
|
-
var requiredBillingContactFields: [PrimerApplePayOptions.RequiredContactField]?
|
|
75
|
-
if let requiredFieldsStrings = rnBillingOptions["requiredBillingContactFields"]
|
|
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
|
|
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 =
|
|
110
|
-
|
|
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])?[
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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(
|
|
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(
|
|
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
|
|
13
|
+
let currentColors = isDarkMode ? darkModeColors : colors
|
|
14
14
|
|
|
15
|
-
guard let colors =
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
}
|