@stripe/stripe-react-native 0.43.0 → 0.45.0
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/.clang-format +90 -0
- package/.editorconfig +3 -0
- package/CHANGELOG.md +19 -1
- package/android/build.gradle +89 -17
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/reactnativestripesdk/AuBECSDebitFormViewManager.kt +15 -6
- package/android/src/main/java/com/reactnativestripesdk/CardChangeEvent.kt +56 -0
- package/android/src/main/java/com/reactnativestripesdk/CardFieldView.kt +4 -4
- package/android/src/main/java/com/reactnativestripesdk/CardFieldViewManager.kt +55 -45
- package/android/src/main/java/com/reactnativestripesdk/{CardFocusEvent.kt → CardFocusChangeEvent.kt} +2 -2
- package/android/src/main/java/com/reactnativestripesdk/CardFormCompleteEvent.kt +17 -16
- package/android/src/main/java/com/reactnativestripesdk/CardFormView.kt +5 -5
- package/android/src/main/java/com/reactnativestripesdk/CardFormViewManager.kt +39 -33
- package/android/src/main/java/com/reactnativestripesdk/CollectBankAccountLauncherFragment.kt +4 -2
- package/android/src/main/java/com/reactnativestripesdk/EmbeddedPaymentElementView.kt +182 -0
- package/android/src/main/java/com/reactnativestripesdk/EmbeddedPaymentElementViewManager.kt +231 -0
- package/android/src/main/java/com/reactnativestripesdk/FinancialConnectionsSheetFragment.kt +8 -5
- package/android/src/main/java/com/reactnativestripesdk/GooglePayButtonManager.kt +14 -6
- package/android/src/main/java/com/reactnativestripesdk/PaymentMethodCreateParamsFactory.kt +3 -1
- package/android/src/main/java/com/reactnativestripesdk/PaymentOptionDisplayDataMapper.kt +17 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentSheetAppearance.kt +266 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentSheetFragment.kt +28 -13
- package/android/src/main/java/com/reactnativestripesdk/StripeContainerManager.kt +11 -3
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +108 -59
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkPackage.kt +34 -4
- package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetView.kt +33 -27
- package/android/src/main/java/com/reactnativestripesdk/addresssheet/AddressSheetViewManager.kt +49 -24
- package/android/src/main/java/com/reactnativestripesdk/customersheet/CustomerSheetFragment.kt +16 -3
- package/android/src/main/java/com/reactnativestripesdk/customersheet/ReactNativeCustomerAdapter.kt +11 -29
- package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonManager.kt +36 -12
- package/android/src/main/java/com/reactnativestripesdk/pushprovisioning/AddToWalletButtonView.kt +5 -3
- package/android/src/main/java/com/reactnativestripesdk/utils/Extensions.kt +4 -0
- package/android/src/main/java/com/reactnativestripesdk/utils/Mappers.kt +21 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddToWalletButtonManagerDelegate.java +49 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddToWalletButtonManagerInterface.java +25 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddressSheetViewManagerDelegate.java +64 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AddressSheetViewManagerInterface.java +30 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/ApplePayButtonManagerDelegate.java +41 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/ApplePayButtonManagerInterface.java +20 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AuBECSDebitFormManagerDelegate.java +36 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/AuBECSDebitFormManagerInterface.java +20 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFieldManagerDelegate.java +73 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFieldManagerInterface.java +31 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFormManagerDelegate.java +67 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/CardFormManagerInterface.java +29 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/EmbeddedPaymentElementViewManagerDelegate.java +49 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/EmbeddedPaymentElementViewManagerInterface.java +21 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/GooglePayButtonManagerDelegate.java +38 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/GooglePayButtonManagerInterface.java +19 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/StripeContainerManagerDelegate.java +32 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/StripeContainerManagerInterface.java +17 -0
- package/android/src/oldarch/java/com/reactnativestripesdk/NativeStripeSdkModuleSpec.java +311 -0
- package/ios/AddressSheet/AddressSheetUtils.swift +21 -19
- package/ios/AddressSheet/AddressSheetView.swift +23 -17
- package/ios/ApplePayButtonManager.m +0 -1
- package/ios/ApplePayButtonManager.swift +1 -3
- package/ios/ApplePayButtonView.swift +25 -20
- package/ios/ApplePayViewController.swift +22 -22
- package/ios/AuBECSDebitFormView.swift +14 -8
- package/ios/CardFieldManager.swift +1 -4
- package/ios/CardFieldView.swift +28 -25
- package/ios/CardFormManager.swift +1 -4
- package/ios/CardFormView.swift +25 -16
- package/ios/CustomerSheet/CustomerSheetUtils.swift +6 -6
- package/ios/CustomerSheet/ReactNativeCustomerAdapter.swift +8 -8
- package/ios/EmbeddedPaymentElementManager.m +6 -0
- package/ios/EmbeddedPaymentElementView.swift +48 -0
- package/ios/NewArch/AddToWalletButtonComponentView.h +10 -0
- package/ios/NewArch/AddToWalletButtonComponentView.mm +93 -0
- package/ios/NewArch/AddressSheetViewComponentView.h +10 -0
- package/ios/NewArch/AddressSheetViewComponentView.mm +109 -0
- package/ios/NewArch/ApplePayButtonComponentView.h +10 -0
- package/ios/NewArch/ApplePayButtonComponentView.mm +124 -0
- package/ios/NewArch/AuBECSDebitFormComponentView.h +10 -0
- package/ios/NewArch/AuBECSDebitFormComponentView.mm +95 -0
- package/ios/NewArch/CardFieldComponentView.h +10 -0
- package/ios/NewArch/CardFieldComponentView.mm +125 -0
- package/ios/NewArch/CardFormComponentView.h +10 -0
- package/ios/NewArch/CardFormComponentView.mm +108 -0
- package/ios/NewArch/StripeContainerComponentView.h +10 -0
- package/ios/NewArch/StripeContainerComponentView.mm +74 -0
- package/ios/NewArch/StripeNewArchConversions.h +20 -0
- package/ios/NewArch/StripeNewArchConversions.mm +47 -0
- package/ios/OldArch/StripeSdkEventEmitterCompat.h +27 -0
- package/ios/OldArch/StripeSdkEventEmitterCompat.m +105 -0
- package/ios/PaymentOptionDisplayData+ReactNative.swift +55 -0
- package/ios/PaymentSheetAppearance.swift +194 -1
- package/ios/PushProvisioning/AddToWalletButtonView.swift +19 -13
- package/ios/StripeContainerView.swift +5 -3
- package/ios/StripeSdk.h +21 -0
- package/ios/StripeSdk.mm +415 -0
- package/ios/StripeSdkEmitter.swift +19 -0
- package/ios/{StripeSdk+CustomerSheet.swift → StripeSdkImpl+CustomerSheet.swift} +24 -24
- package/ios/StripeSdkImpl+Embedded.swift +327 -0
- package/ios/{StripeSdk+PaymentSheet.swift → StripeSdkImpl+PaymentSheet.swift} +61 -49
- package/ios/{StripeSdk.swift → StripeSdkImpl.swift} +50 -72
- package/ios/StripeSwiftInterop.h +25 -0
- package/ios/stripe_react_native.h +2 -0
- package/lib/commonjs/components/AddToWalletButton.js +1 -1
- package/lib/commonjs/components/AddToWalletButton.js.map +1 -1
- package/lib/commonjs/components/AddressSheet.js +1 -1
- package/lib/commonjs/components/AddressSheet.js.map +1 -1
- package/lib/commonjs/components/AuBECSDebitForm.js +1 -1
- package/lib/commonjs/components/AuBECSDebitForm.js.map +1 -1
- package/lib/commonjs/components/CardField.js +1 -1
- package/lib/commonjs/components/CardField.js.map +1 -1
- package/lib/commonjs/components/CardForm.js +1 -1
- package/lib/commonjs/components/CardForm.js.map +1 -1
- package/lib/commonjs/components/CustomerSheet.js +1 -1
- package/lib/commonjs/components/CustomerSheet.js.map +1 -1
- package/lib/commonjs/components/PlatformPayButton.js +1 -1
- package/lib/commonjs/components/PlatformPayButton.js.map +1 -1
- package/lib/commonjs/components/StripeContainer.js +1 -1
- package/lib/commonjs/components/StripeContainer.js.map +1 -1
- package/lib/commonjs/components/StripeProvider.js +1 -1
- package/lib/commonjs/components/StripeProvider.js.map +1 -1
- package/lib/commonjs/events.js +2 -0
- package/lib/commonjs/events.js.map +1 -0
- package/lib/commonjs/functions.js +1 -1
- package/lib/commonjs/functions.js.map +1 -1
- package/lib/commonjs/helpers.js +1 -1
- package/lib/commonjs/helpers.js.map +1 -1
- package/lib/commonjs/index.js +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/NativeAddToWalletButton.js +2 -0
- package/lib/commonjs/specs/NativeAddToWalletButton.js.map +1 -0
- package/lib/commonjs/specs/NativeAddressSheet.js +2 -0
- package/lib/commonjs/specs/NativeAddressSheet.js.map +1 -0
- package/lib/commonjs/specs/NativeApplePayButton.js +2 -0
- package/lib/commonjs/specs/NativeApplePayButton.js.map +1 -0
- package/lib/commonjs/specs/NativeAuBECSDebitForm.js +2 -0
- package/lib/commonjs/specs/NativeAuBECSDebitForm.js.map +1 -0
- package/lib/commonjs/specs/NativeCardField.js +2 -0
- package/lib/commonjs/specs/NativeCardField.js.map +1 -0
- package/lib/commonjs/specs/NativeCardForm.js +2 -0
- package/lib/commonjs/specs/NativeCardForm.js.map +1 -0
- package/lib/commonjs/specs/NativeEmbeddedPaymentElement.js +2 -0
- package/lib/commonjs/specs/NativeEmbeddedPaymentElement.js.map +1 -0
- package/lib/commonjs/specs/NativeGooglePayButton.js +2 -0
- package/lib/commonjs/specs/NativeGooglePayButton.js.map +1 -0
- package/lib/commonjs/specs/NativeStripeContainer.js +2 -0
- package/lib/commonjs/specs/NativeStripeContainer.js.map +1 -0
- package/lib/commonjs/specs/NativeStripeSdkModule.js +2 -0
- package/lib/commonjs/specs/NativeStripeSdkModule.js.map +1 -0
- package/lib/commonjs/specs/utils.js +2 -0
- package/lib/commonjs/specs/utils.js.map +1 -0
- package/lib/commonjs/types/EmbeddedPaymentElement.js +2 -0
- package/lib/commonjs/types/EmbeddedPaymentElement.js.map +1 -0
- package/lib/commonjs/types/PaymentSheet.js +1 -1
- package/lib/commonjs/types/PaymentSheet.js.map +1 -1
- package/lib/module/components/AddToWalletButton.js +1 -1
- package/lib/module/components/AddToWalletButton.js.map +1 -1
- package/lib/module/components/AddressSheet.js +1 -1
- package/lib/module/components/AddressSheet.js.map +1 -1
- package/lib/module/components/AuBECSDebitForm.js +1 -1
- package/lib/module/components/AuBECSDebitForm.js.map +1 -1
- package/lib/module/components/CardField.js +1 -1
- package/lib/module/components/CardField.js.map +1 -1
- package/lib/module/components/CardForm.js +1 -1
- package/lib/module/components/CardForm.js.map +1 -1
- package/lib/module/components/CustomerSheet.js +1 -1
- package/lib/module/components/CustomerSheet.js.map +1 -1
- package/lib/module/components/PlatformPayButton.js +1 -1
- package/lib/module/components/PlatformPayButton.js.map +1 -1
- package/lib/module/components/StripeContainer.js +1 -1
- package/lib/module/components/StripeContainer.js.map +1 -1
- package/lib/module/components/StripeProvider.js +1 -1
- package/lib/module/components/StripeProvider.js.map +1 -1
- package/lib/module/events.js +2 -0
- package/lib/module/events.js.map +1 -0
- package/lib/module/functions.js +1 -1
- package/lib/module/functions.js.map +1 -1
- package/lib/module/helpers.js +1 -1
- package/lib/module/helpers.js.map +1 -1
- package/lib/module/index.js +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/NativeAddToWalletButton.js +2 -0
- package/lib/module/specs/NativeAddToWalletButton.js.map +1 -0
- package/lib/module/specs/NativeAddressSheet.js +2 -0
- package/lib/module/specs/NativeAddressSheet.js.map +1 -0
- package/lib/module/specs/NativeApplePayButton.js +2 -0
- package/lib/module/specs/NativeApplePayButton.js.map +1 -0
- package/lib/module/specs/NativeAuBECSDebitForm.js +2 -0
- package/lib/module/specs/NativeAuBECSDebitForm.js.map +1 -0
- package/lib/module/specs/NativeCardField.js +2 -0
- package/lib/module/specs/NativeCardField.js.map +1 -0
- package/lib/module/specs/NativeCardForm.js +2 -0
- package/lib/module/specs/NativeCardForm.js.map +1 -0
- package/lib/module/specs/NativeEmbeddedPaymentElement.js +2 -0
- package/lib/module/specs/NativeEmbeddedPaymentElement.js.map +1 -0
- package/lib/module/specs/NativeGooglePayButton.js +2 -0
- package/lib/module/specs/NativeGooglePayButton.js.map +1 -0
- package/lib/module/specs/NativeStripeContainer.js +2 -0
- package/lib/module/specs/NativeStripeContainer.js.map +1 -0
- package/lib/module/specs/NativeStripeSdkModule.js +2 -0
- package/lib/module/specs/NativeStripeSdkModule.js.map +1 -0
- package/lib/module/specs/utils.js +2 -0
- package/lib/module/specs/utils.js.map +1 -0
- package/lib/module/types/EmbeddedPaymentElement.js +2 -0
- package/lib/module/types/EmbeddedPaymentElement.js.map +1 -0
- package/lib/module/types/PaymentSheet.js +1 -1
- package/lib/module/types/PaymentSheet.js.map +1 -1
- package/lib/typescript/src/components/AddToWalletButton.d.ts.map +1 -1
- package/lib/typescript/src/components/AddressSheet.d.ts.map +1 -1
- package/lib/typescript/src/components/AuBECSDebitForm.d.ts.map +1 -1
- package/lib/typescript/src/components/CardField.d.ts +1 -1
- package/lib/typescript/src/components/CardField.d.ts.map +1 -1
- package/lib/typescript/src/components/CardForm.d.ts +1 -1
- package/lib/typescript/src/components/CardForm.d.ts.map +1 -1
- package/lib/typescript/src/components/CustomerSheet.d.ts +1 -1
- package/lib/typescript/src/components/CustomerSheet.d.ts.map +1 -1
- package/lib/typescript/src/components/StripeContainer.d.ts.map +1 -1
- package/lib/typescript/src/events.d.ts +13 -0
- package/lib/typescript/src/events.d.ts.map +1 -0
- package/lib/typescript/src/functions.d.ts.map +1 -1
- package/lib/typescript/src/helpers.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useFinancialConnectionsSheet.d.ts +4 -4
- package/lib/typescript/src/hooks/useFinancialConnectionsSheet.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useStripe.d.ts +2 -2
- package/lib/typescript/src/hooks/useStripe.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativeAddToWalletButton.d.ts +27 -0
- package/lib/typescript/src/specs/NativeAddToWalletButton.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeAddressSheet.d.ts +34 -0
- package/lib/typescript/src/specs/NativeAddressSheet.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeApplePayButton.d.ts +28 -0
- package/lib/typescript/src/specs/NativeApplePayButton.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeAuBECSDebitForm.d.ts +19 -0
- package/lib/typescript/src/specs/NativeAuBECSDebitForm.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeCardField.d.ts +33 -0
- package/lib/typescript/src/specs/NativeCardField.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeCardForm.d.ts +31 -0
- package/lib/typescript/src/specs/NativeCardForm.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeEmbeddedPaymentElement.d.ts +22 -0
- package/lib/typescript/src/specs/NativeEmbeddedPaymentElement.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeGooglePayButton.d.ts +11 -0
- package/lib/typescript/src/specs/NativeGooglePayButton.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeStripeContainer.d.ts +8 -0
- package/lib/typescript/src/specs/NativeStripeContainer.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts +93 -0
- package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts.map +1 -0
- package/lib/typescript/src/specs/utils.d.ts +20 -0
- package/lib/typescript/src/specs/utils.d.ts.map +1 -0
- package/lib/typescript/src/types/CustomerSheet.d.ts +1 -1
- package/lib/typescript/src/types/EmbeddedPaymentElement.d.ts +161 -0
- package/lib/typescript/src/types/EmbeddedPaymentElement.d.ts.map +1 -0
- package/lib/typescript/src/types/PaymentSheet.d.ts +112 -0
- package/lib/typescript/src/types/PaymentSheet.d.ts.map +1 -1
- package/lib/typescript/src/types/components/CardFieldInput.d.ts +3 -2
- package/lib/typescript/src/types/components/CardFieldInput.d.ts.map +1 -1
- package/lib/typescript/src/types/components/CardFormView.d.ts +3 -1
- package/lib/typescript/src/types/components/CardFormView.d.ts.map +1 -1
- package/package.json +20 -1
- package/src/components/AddToWalletButton.tsx +2 -5
- package/src/components/AddressSheet.tsx +5 -16
- package/src/components/AuBECSDebitForm.tsx +3 -12
- package/src/components/CardField.tsx +20 -30
- package/src/components/CardForm.tsx +14 -29
- package/src/components/CustomerSheet.tsx +23 -25
- package/src/components/PlatformPayButton.tsx +6 -6
- package/src/components/StripeContainer.tsx +5 -12
- package/src/components/StripeProvider.tsx +1 -1
- package/src/events.ts +49 -0
- package/src/functions.ts +13 -24
- package/src/helpers.ts +2 -1
- package/src/hooks/useFinancialConnectionsSheet.tsx +2 -2
- package/src/hooks/useStripe.tsx +2 -2
- package/src/index.tsx +3 -0
- package/src/specs/NativeAddToWalletButton.ts +40 -0
- package/src/specs/NativeAddressSheet.ts +50 -0
- package/src/specs/NativeApplePayButton.ts +40 -0
- package/src/specs/NativeAuBECSDebitForm.ts +24 -0
- package/src/specs/NativeCardField.ts +51 -0
- package/src/specs/NativeCardForm.ts +43 -0
- package/src/specs/NativeEmbeddedPaymentElement.ts +37 -0
- package/src/specs/NativeGooglePayButton.ts +20 -0
- package/src/specs/NativeStripeContainer.ts +12 -0
- package/src/specs/NativeStripeSdkModule.ts +219 -0
- package/src/specs/utils.ts +22 -0
- package/src/types/CustomerSheet.ts +1 -1
- package/src/types/EmbeddedPaymentElement.tsx +467 -0
- package/src/types/PaymentSheet.ts +131 -0
- package/src/types/components/CardFieldInput.ts +1 -2
- package/src/types/components/CardFormView.ts +1 -1
- package/stripe-react-native.podspec +27 -2
- package/android/.gradle/8.11.1/checksums/checksums.lock +0 -0
- package/android/.gradle/8.11.1/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.11.1/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.11.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.11.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.11.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.11.1/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/src/main/java/com/reactnativestripesdk/CardChangedEvent.kt +0 -54
- package/ios/StripeSdk.m +0 -244
- package/lib/commonjs/NativeStripeSdk.js +0 -2
- package/lib/commonjs/NativeStripeSdk.js.map +0 -1
- package/lib/commonjs/components/ApplePayButtonNative.js +0 -2
- package/lib/commonjs/components/ApplePayButtonNative.js.map +0 -1
- package/lib/commonjs/components/GooglePayButtonNative.js +0 -2
- package/lib/commonjs/components/GooglePayButtonNative.js.map +0 -1
- package/lib/module/NativeStripeSdk.js +0 -2
- package/lib/module/NativeStripeSdk.js.map +0 -1
- package/lib/module/components/ApplePayButtonNative.js +0 -2
- package/lib/module/components/ApplePayButtonNative.js.map +0 -1
- package/lib/module/components/GooglePayButtonNative.js +0 -2
- package/lib/module/components/GooglePayButtonNative.js.map +0 -1
- package/lib/typescript/src/NativeStripeSdk.d.ts +0 -58
- package/lib/typescript/src/NativeStripeSdk.d.ts.map +0 -1
- package/lib/typescript/src/components/ApplePayButtonNative.d.ts +0 -4
- package/lib/typescript/src/components/ApplePayButtonNative.d.ts.map +0 -1
- package/lib/typescript/src/components/GooglePayButtonNative.d.ts +0 -4
- package/lib/typescript/src/components/GooglePayButtonNative.d.ts.map +0 -1
- package/src/NativeStripeSdk.tsx +0 -159
- package/src/components/ApplePayButtonNative.tsx +0 -5
- package/src/components/GooglePayButtonNative.tsx +0 -7
package/.clang-format
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
---
|
|
2
|
+
AccessModifierOffset: -1
|
|
3
|
+
AlignAfterOpenBracket: AlwaysBreak
|
|
4
|
+
AlignConsecutiveAssignments: false
|
|
5
|
+
AlignConsecutiveDeclarations: false
|
|
6
|
+
AlignEscapedNewlinesLeft: true
|
|
7
|
+
AlignOperands: false
|
|
8
|
+
AlignTrailingComments: false
|
|
9
|
+
AllowAllParametersOfDeclarationOnNextLine: false
|
|
10
|
+
AllowShortBlocksOnASingleLine: false
|
|
11
|
+
AllowShortCaseLabelsOnASingleLine: false
|
|
12
|
+
AllowShortFunctionsOnASingleLine: Empty
|
|
13
|
+
AllowShortIfStatementsOnASingleLine: false
|
|
14
|
+
AllowShortLoopsOnASingleLine: false
|
|
15
|
+
AlwaysBreakAfterReturnType: None
|
|
16
|
+
AlwaysBreakBeforeMultilineStrings: true
|
|
17
|
+
AlwaysBreakTemplateDeclarations: true
|
|
18
|
+
BinPackArguments: false
|
|
19
|
+
BinPackParameters: false
|
|
20
|
+
BraceWrapping:
|
|
21
|
+
AfterClass: false
|
|
22
|
+
AfterControlStatement: false
|
|
23
|
+
AfterEnum: false
|
|
24
|
+
AfterFunction: false
|
|
25
|
+
AfterNamespace: false
|
|
26
|
+
AfterObjCDeclaration: false
|
|
27
|
+
AfterStruct: false
|
|
28
|
+
AfterUnion: false
|
|
29
|
+
BeforeCatch: false
|
|
30
|
+
BeforeElse: false
|
|
31
|
+
IndentBraces: false
|
|
32
|
+
BreakBeforeBinaryOperators: None
|
|
33
|
+
BreakBeforeBraces: Attach
|
|
34
|
+
BreakBeforeTernaryOperators: true
|
|
35
|
+
BreakConstructorInitializersBeforeComma: false
|
|
36
|
+
BreakAfterJavaFieldAnnotations: false
|
|
37
|
+
BreakStringLiterals: false
|
|
38
|
+
ColumnLimit: 80
|
|
39
|
+
CommentPragmas: '^ IWYU pragma:'
|
|
40
|
+
ConstructorInitializerAllOnOneLineOrOnePerLine: true
|
|
41
|
+
ConstructorInitializerIndentWidth: 4
|
|
42
|
+
ContinuationIndentWidth: 4
|
|
43
|
+
Cpp11BracedListStyle: true
|
|
44
|
+
DerivePointerAlignment: false
|
|
45
|
+
DisableFormat: false
|
|
46
|
+
ForEachMacros: [FOR_EACH_RANGE, FOR_EACH]
|
|
47
|
+
IncludeCategories:
|
|
48
|
+
- Regex: '^<.*\.h(pp)?>'
|
|
49
|
+
Priority: 1
|
|
50
|
+
- Regex: '^<.*'
|
|
51
|
+
Priority: 2
|
|
52
|
+
- Regex: '.*'
|
|
53
|
+
Priority: 3
|
|
54
|
+
IndentCaseLabels: true
|
|
55
|
+
IndentWidth: 2
|
|
56
|
+
IndentWrappedFunctionNames: false
|
|
57
|
+
KeepEmptyLinesAtTheStartOfBlocks: false
|
|
58
|
+
MacroBlockBegin: ''
|
|
59
|
+
MacroBlockEnd: ''
|
|
60
|
+
MaxEmptyLinesToKeep: 1
|
|
61
|
+
NamespaceIndentation: None
|
|
62
|
+
ObjCBlockIndentWidth: 2
|
|
63
|
+
ObjCSpaceAfterProperty: true
|
|
64
|
+
ObjCSpaceBeforeProtocolList: true
|
|
65
|
+
PenaltyBreakBeforeFirstCallParameter: 1
|
|
66
|
+
PenaltyBreakComment: 300
|
|
67
|
+
PenaltyBreakFirstLessLess: 120
|
|
68
|
+
PenaltyBreakString: 1000
|
|
69
|
+
PenaltyExcessCharacter: 1000000
|
|
70
|
+
PenaltyReturnTypeOnItsOwnLine: 200
|
|
71
|
+
PointerAlignment: Right
|
|
72
|
+
ReflowComments: true
|
|
73
|
+
SortIncludes: true
|
|
74
|
+
SpaceAfterCStyleCast: false
|
|
75
|
+
SpaceBeforeAssignmentOperators: true
|
|
76
|
+
SpaceBeforeParens: ControlStatements
|
|
77
|
+
SpaceInEmptyParentheses: false
|
|
78
|
+
SpacesBeforeTrailingComments: 1
|
|
79
|
+
SpacesInAngles: false
|
|
80
|
+
SpacesInContainerLiterals: true
|
|
81
|
+
SpacesInCStyleCastParentheses: false
|
|
82
|
+
SpacesInParentheses: false
|
|
83
|
+
SpacesInSquareBrackets: false
|
|
84
|
+
Standard: Cpp11
|
|
85
|
+
TabWidth: 8
|
|
86
|
+
UseTab: Never
|
|
87
|
+
---
|
|
88
|
+
Language: ObjC
|
|
89
|
+
ColumnLimit: 120
|
|
90
|
+
BreakBeforeBraces: WebKit
|
package/.editorconfig
CHANGED
package/CHANGELOG.md
CHANGED
|
@@ -1,7 +1,25 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
|
-
|
|
3
2
|
## Unreleased
|
|
4
3
|
|
|
4
|
+
** Features **
|
|
5
|
+
- Ability to update saved cards when using CustomerSessions (private preview)
|
|
6
|
+
|
|
7
|
+
**Fixes**
|
|
8
|
+
- Updated `stripe-ios` to 24.12.\*
|
|
9
|
+
- Updated `stripe-android` to 21.12.\*
|
|
10
|
+
|
|
11
|
+
## 0.44.0 - 2025-04-15
|
|
12
|
+
|
|
13
|
+
**Features**
|
|
14
|
+
|
|
15
|
+
- Added `LinkParams` to allow control over Link in PaymentSheet.
|
|
16
|
+
|
|
17
|
+
**Fixes**
|
|
18
|
+
|
|
19
|
+
- Updated `stripe-ios` to 24.11.\*
|
|
20
|
+
- Updated `stripe-android` to 21.10.\*
|
|
21
|
+
- Fixed an issue where launching a Financial Connections flow would fail on Android.
|
|
22
|
+
|
|
5
23
|
## 0.43.0 - 2025-03-11
|
|
6
24
|
|
|
7
25
|
**Features**
|
package/android/build.gradle
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
buildscript {
|
|
2
2
|
// Buildscript is evaluated before everything else so we can't use getExtOrDefault
|
|
3
|
-
def kotlin_version = rootProject.ext.has('kotlinVersion')
|
|
3
|
+
def kotlin_version = rootProject.ext.has('kotlinVersion')
|
|
4
|
+
? rootProject.ext.get('kotlinVersion')
|
|
5
|
+
: project.properties['StripeSdk_kotlinVersion']
|
|
6
|
+
|
|
7
|
+
def kotlinMajor = kotlin_version.tokenize('\\.')[0].toInteger()
|
|
4
8
|
|
|
5
9
|
repositories {
|
|
6
10
|
google()
|
|
@@ -12,18 +16,18 @@ buildscript {
|
|
|
12
16
|
// noinspection DifferentKotlinGradleVersion
|
|
13
17
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
14
18
|
classpath 'com.diffplug.spotless:spotless-plugin-gradle:6.25.0'
|
|
19
|
+
// only use this old compose-compiler plugin when Kotlin >= 2.0
|
|
20
|
+
if (kotlinMajor >= 2) {
|
|
21
|
+
classpath "org.jetbrains.kotlin:compose-compiler-gradle-plugin:$kotlin_version"
|
|
22
|
+
}
|
|
15
23
|
}
|
|
16
24
|
}
|
|
17
25
|
|
|
18
26
|
if (project == rootProject) {
|
|
19
|
-
|
|
20
|
-
|
|
27
|
+
apply from: 'spotless.gradle'
|
|
28
|
+
return
|
|
21
29
|
}
|
|
22
30
|
|
|
23
|
-
apply plugin: 'com.android.library'
|
|
24
|
-
apply plugin: 'kotlin-android'
|
|
25
|
-
//apply plugin: 'kotlin-android-extensions'
|
|
26
|
-
|
|
27
31
|
def getExtOrDefault(name) {
|
|
28
32
|
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['StripeSdk_' + name]
|
|
29
33
|
}
|
|
@@ -32,8 +36,59 @@ def getExtOrIntegerDefault(name) {
|
|
|
32
36
|
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties['StripeSdk_' + name]).toInteger()
|
|
33
37
|
}
|
|
34
38
|
|
|
39
|
+
def isNewArchitectureEnabled() {
|
|
40
|
+
// To opt-in for the New Architecture, you can either:
|
|
41
|
+
// - Set `newArchEnabled` to true inside the `gradle.properties` file
|
|
42
|
+
// - Invoke gradle with `-newArchEnabled=true`
|
|
43
|
+
// - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true`
|
|
44
|
+
return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
def reactNativeArchitectures() {
|
|
48
|
+
def value = project.getProperties().get("reactNativeArchitectures")
|
|
49
|
+
return value ? value.split(",") : [
|
|
50
|
+
"armeabi-v7a",
|
|
51
|
+
"x86",
|
|
52
|
+
"x86_64",
|
|
53
|
+
"arm64-v8a"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
def kotlin_version = rootProject.ext.has('kotlinVersion')
|
|
58
|
+
? rootProject.ext.get('kotlinVersion')
|
|
59
|
+
: project.properties['StripeSdk_kotlinVersion']
|
|
60
|
+
def kotlinMajor = kotlin_version.tokenize('\\.')[0].toInteger()
|
|
61
|
+
|
|
62
|
+
apply plugin: 'com.android.library'
|
|
63
|
+
apply plugin: 'kotlin-android'
|
|
64
|
+
apply plugin: 'kotlin-parcelize'
|
|
65
|
+
// Only apply the compose plugin if we have the old compose-compiler on the classpath
|
|
66
|
+
if (kotlinMajor >= 2) {
|
|
67
|
+
apply plugin: 'org.jetbrains.kotlin.plugin.compose'
|
|
68
|
+
}
|
|
69
|
+
//apply plugin: 'kotlin-android-extensions'
|
|
70
|
+
|
|
71
|
+
if (isNewArchitectureEnabled()) {
|
|
72
|
+
apply plugin: 'com.facebook.react'
|
|
73
|
+
}
|
|
74
|
+
|
|
35
75
|
android {
|
|
76
|
+
namespace "com.reactnativestripesdk"
|
|
77
|
+
buildFeatures {
|
|
78
|
+
buildConfig true
|
|
79
|
+
}
|
|
80
|
+
|
|
36
81
|
compileSdkVersion getExtOrIntegerDefault('compileSdkVersion')
|
|
82
|
+
|
|
83
|
+
// Used to override the NDK path/version on internal CI or by allowing
|
|
84
|
+
// users to customize the NDK path/version from their root project (e.g. for M1 support)
|
|
85
|
+
if (rootProject.hasProperty("ndkPath")) {
|
|
86
|
+
ndkPath rootProject.ext.ndkPath
|
|
87
|
+
}
|
|
88
|
+
if (rootProject.hasProperty("ndkVersion")) {
|
|
89
|
+
ndkVersion rootProject.ext.ndkVersion
|
|
90
|
+
}
|
|
91
|
+
|
|
37
92
|
defaultConfig {
|
|
38
93
|
minSdkVersion getExtOrIntegerDefault('minSdkVersion')
|
|
39
94
|
targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
|
|
@@ -42,6 +97,11 @@ android {
|
|
|
42
97
|
vectorDrawables.useSupportLibrary = true
|
|
43
98
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
44
99
|
consumerProguardFiles 'proguard-rules.txt'
|
|
100
|
+
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
|
101
|
+
|
|
102
|
+
ndk {
|
|
103
|
+
abiFilters(*reactNativeArchitectures())
|
|
104
|
+
}
|
|
45
105
|
}
|
|
46
106
|
|
|
47
107
|
buildTypes {
|
|
@@ -49,9 +109,11 @@ android {
|
|
|
49
109
|
minifyEnabled false
|
|
50
110
|
}
|
|
51
111
|
}
|
|
112
|
+
|
|
52
113
|
lintOptions {
|
|
53
114
|
disable 'GradleCompatible'
|
|
54
115
|
}
|
|
116
|
+
|
|
55
117
|
compileOptions {
|
|
56
118
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
57
119
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
@@ -59,6 +121,15 @@ android {
|
|
|
59
121
|
|
|
60
122
|
buildFeatures {
|
|
61
123
|
viewBinding true
|
|
124
|
+
compose true
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
sourceSets.main {
|
|
128
|
+
java {
|
|
129
|
+
if (!isNewArchitectureEnabled()) {
|
|
130
|
+
srcDirs += ["src/oldarch/java"]
|
|
131
|
+
}
|
|
132
|
+
}
|
|
62
133
|
}
|
|
63
134
|
}
|
|
64
135
|
|
|
@@ -74,8 +145,8 @@ repositories {
|
|
|
74
145
|
defaultDir = rootProject.ext.get('reactNativeAndroidRoot')
|
|
75
146
|
} else {
|
|
76
147
|
defaultDir = new File(
|
|
77
|
-
|
|
78
|
-
|
|
148
|
+
projectDir,
|
|
149
|
+
'/../../../node_modules/react-native/android'
|
|
79
150
|
)
|
|
80
151
|
}
|
|
81
152
|
|
|
@@ -95,13 +166,13 @@ repositories {
|
|
|
95
166
|
parentDir = parentDir.parentFile
|
|
96
167
|
|
|
97
168
|
def androidSourcesDir = new File(
|
|
98
|
-
|
|
99
|
-
|
|
169
|
+
parentDir,
|
|
170
|
+
'node_modules/react-native'
|
|
100
171
|
)
|
|
101
172
|
|
|
102
173
|
def androidPrebuiltBinaryDir = new File(
|
|
103
|
-
|
|
104
|
-
|
|
174
|
+
parentDir,
|
|
175
|
+
'node_modules/react-native/android'
|
|
105
176
|
)
|
|
106
177
|
|
|
107
178
|
if (androidPrebuiltBinaryDir.exists()) {
|
|
@@ -126,13 +197,12 @@ repositories {
|
|
|
126
197
|
|
|
127
198
|
if (!found) {
|
|
128
199
|
throw new GradleException(
|
|
129
|
-
|
|
130
|
-
|
|
200
|
+
"${project.name}: unable to locate React Native android sources. " +
|
|
201
|
+
"Ensure you have you installed React Native as a dependency in your project and try again."
|
|
131
202
|
)
|
|
132
203
|
}
|
|
133
204
|
}
|
|
134
205
|
|
|
135
|
-
def kotlin_version = getExtOrDefault('kotlinVersion')
|
|
136
206
|
def stripe_version = getExtOrDefault('stripeVersion')
|
|
137
207
|
|
|
138
208
|
dependencies {
|
|
@@ -144,7 +214,7 @@ dependencies {
|
|
|
144
214
|
implementation("com.stripe:stripe-android:$stripe_version") {
|
|
145
215
|
exclude group: 'androidx.emoji2', module: 'emoji2'
|
|
146
216
|
}
|
|
147
|
-
implementation
|
|
217
|
+
implementation("com.stripe:financial-connections:$stripe_version") {
|
|
148
218
|
exclude group: 'androidx.emoji2', module: 'emoji2'
|
|
149
219
|
}
|
|
150
220
|
implementation('androidx.emoji2:emoji2:1.3.0').force // Avoid using 1.4.0 since that requires targetSdkVersion 34
|
|
@@ -163,4 +233,6 @@ dependencies {
|
|
|
163
233
|
androidTestImplementation "androidx.test:core:1.4.0"
|
|
164
234
|
androidTestImplementation 'androidx.test:runner:1.1.0'
|
|
165
235
|
androidTestImplementation "org.mockito:mockito-core:3.+"
|
|
236
|
+
|
|
237
|
+
implementation "androidx.compose.ui:ui:1.7.8"
|
|
166
238
|
}
|
|
@@ -3,4 +3,4 @@ StripeSdk_compileSdkVersion=30
|
|
|
3
3
|
StripeSdk_targetSdkVersion=28
|
|
4
4
|
StripeSdk_minSdkVersion=21
|
|
5
5
|
# Keep StripeSdk_stripeVersion in sync with https://github.com/stripe/stripe-identity-react-native/blob/main/android/gradle.properties
|
|
6
|
-
StripeSdk_stripeVersion=21.
|
|
6
|
+
StripeSdk_stripeVersion=21.12.+
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
package com.reactnativestripesdk
|
|
2
2
|
|
|
3
|
-
import com.facebook.react.bridge.
|
|
3
|
+
import com.facebook.react.bridge.Dynamic
|
|
4
4
|
import com.facebook.react.module.annotations.ReactModule
|
|
5
5
|
import com.facebook.react.uimanager.SimpleViewManager
|
|
6
6
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
7
7
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
8
|
+
import com.facebook.react.viewmanagers.AuBECSDebitFormManagerDelegate
|
|
9
|
+
import com.facebook.react.viewmanagers.AuBECSDebitFormManagerInterface
|
|
10
|
+
import com.reactnativestripesdk.utils.asMapOrNull
|
|
8
11
|
|
|
9
12
|
@ReactModule(name = AuBECSDebitFormViewManager.REACT_CLASS)
|
|
10
|
-
class AuBECSDebitFormViewManager :
|
|
13
|
+
class AuBECSDebitFormViewManager :
|
|
14
|
+
SimpleViewManager<AuBECSDebitFormView>(),
|
|
15
|
+
AuBECSDebitFormManagerInterface<AuBECSDebitFormView> {
|
|
16
|
+
private val delegate = AuBECSDebitFormManagerDelegate(this)
|
|
17
|
+
|
|
11
18
|
override fun getName() = REACT_CLASS
|
|
12
19
|
|
|
20
|
+
override fun getDelegate() = delegate
|
|
21
|
+
|
|
13
22
|
override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any> =
|
|
14
23
|
mutableMapOf(
|
|
15
24
|
FormCompleteEvent.EVENT_NAME to
|
|
@@ -17,7 +26,7 @@ class AuBECSDebitFormViewManager : SimpleViewManager<AuBECSDebitFormView>() {
|
|
|
17
26
|
)
|
|
18
27
|
|
|
19
28
|
@ReactProp(name = "companyName")
|
|
20
|
-
fun setCompanyName(
|
|
29
|
+
override fun setCompanyName(
|
|
21
30
|
view: AuBECSDebitFormView,
|
|
22
31
|
name: String?,
|
|
23
32
|
) {
|
|
@@ -25,11 +34,11 @@ class AuBECSDebitFormViewManager : SimpleViewManager<AuBECSDebitFormView>() {
|
|
|
25
34
|
}
|
|
26
35
|
|
|
27
36
|
@ReactProp(name = "formStyle")
|
|
28
|
-
fun setFormStyle(
|
|
37
|
+
override fun setFormStyle(
|
|
29
38
|
view: AuBECSDebitFormView,
|
|
30
|
-
style:
|
|
39
|
+
style: Dynamic,
|
|
31
40
|
) {
|
|
32
|
-
view.setFormStyle(style)
|
|
41
|
+
view.setFormStyle(style.asMapOrNull())
|
|
33
42
|
}
|
|
34
43
|
|
|
35
44
|
override fun createViewInstance(reactContext: ThemedReactContext): AuBECSDebitFormView = AuBECSDebitFormView(reactContext)
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
package com.reactnativestripesdk
|
|
2
|
+
|
|
3
|
+
import com.facebook.react.bridge.Arguments
|
|
4
|
+
import com.facebook.react.bridge.WritableMap
|
|
5
|
+
import com.facebook.react.uimanager.events.Event
|
|
6
|
+
|
|
7
|
+
internal class CardChangeEvent(
|
|
8
|
+
surfaceId: Int,
|
|
9
|
+
viewTag: Int,
|
|
10
|
+
private val cardDetails: MutableMap<String, Any?>,
|
|
11
|
+
private val postalCodeEnabled: Boolean,
|
|
12
|
+
private val complete: Boolean,
|
|
13
|
+
private val dangerouslyGetFullCardDetails: Boolean,
|
|
14
|
+
) : Event<CardChangeEvent>(surfaceId, viewTag) {
|
|
15
|
+
override fun getEventName(): String = EVENT_NAME
|
|
16
|
+
|
|
17
|
+
override fun getEventData(): WritableMap? {
|
|
18
|
+
val cardData = Arguments.createMap()
|
|
19
|
+
cardData.putString("brand", cardDetails["brand"]?.toString())
|
|
20
|
+
cardData.putString("last4", cardDetails["last4"]?.toString())
|
|
21
|
+
|
|
22
|
+
(cardDetails["expiryMonth"] as Int?)?.let {
|
|
23
|
+
cardData.putInt("expiryMonth", it)
|
|
24
|
+
} ?: run {
|
|
25
|
+
cardData.putNull("expiryMonth")
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
(cardDetails["expiryYear"] as Int?)?.let {
|
|
29
|
+
cardData.putInt("expiryYear", it)
|
|
30
|
+
} ?: run {
|
|
31
|
+
cardData.putNull("expiryYear")
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
cardData.putBoolean("complete", complete)
|
|
35
|
+
cardData.putString("validNumber", cardDetails["validNumber"]?.toString())
|
|
36
|
+
cardData.putString("validCVC", cardDetails["validCVC"]?.toString())
|
|
37
|
+
cardData.putString("validExpiryDate", cardDetails["validExpiryDate"]?.toString())
|
|
38
|
+
|
|
39
|
+
if (postalCodeEnabled) {
|
|
40
|
+
cardData.putString("postalCode", cardDetails["postalCode"]?.toString())
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (dangerouslyGetFullCardDetails) {
|
|
44
|
+
cardData.putString("number", cardDetails["number"]?.toString()?.replace(" ", ""))
|
|
45
|
+
cardData.putString("cvc", cardDetails["cvc"]?.toString())
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return Arguments.createMap().apply {
|
|
49
|
+
putMap("card", cardData)
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
companion object {
|
|
54
|
+
const val EVENT_NAME = "topCardChange"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -99,10 +99,10 @@ class CardFieldView(
|
|
|
99
99
|
private fun onChangeFocus() {
|
|
100
100
|
UIManagerHelper
|
|
101
101
|
.getEventDispatcherForReactTag(context, id)
|
|
102
|
-
?.dispatchEvent(
|
|
102
|
+
?.dispatchEvent(CardFocusChangeEvent(context.surfaceId, id, currentFocusedField))
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
fun setCardStyle(value: ReadableMap) {
|
|
105
|
+
fun setCardStyle(value: ReadableMap?) {
|
|
106
106
|
val borderWidth = getIntOrNull(value, "borderWidth")
|
|
107
107
|
val backgroundColor = getValOr(value, "backgroundColor", null)
|
|
108
108
|
val borderColor = getValOr(value, "borderColor", null)
|
|
@@ -206,7 +206,7 @@ class CardFieldView(
|
|
|
206
206
|
}
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
fun setPlaceHolders(value: ReadableMap) {
|
|
209
|
+
fun setPlaceHolders(value: ReadableMap?) {
|
|
210
210
|
val numberPlaceholder = getValOr(value, "number", null)
|
|
211
211
|
val expirationPlaceholder = getValOr(value, "expiration", null)
|
|
212
212
|
val cvcPlaceholder = getValOr(value, "cvc", null)
|
|
@@ -295,7 +295,7 @@ class CardFieldView(
|
|
|
295
295
|
UIManagerHelper
|
|
296
296
|
.getEventDispatcherForReactTag(context, id)
|
|
297
297
|
?.dispatchEvent(
|
|
298
|
-
|
|
298
|
+
CardChangeEvent(
|
|
299
299
|
context.surfaceId,
|
|
300
300
|
id,
|
|
301
301
|
cardDetails,
|
|
@@ -1,70 +1,86 @@
|
|
|
1
1
|
package com.reactnativestripesdk
|
|
2
2
|
|
|
3
|
+
import com.facebook.react.bridge.Dynamic
|
|
3
4
|
import com.facebook.react.bridge.ReadableArray
|
|
4
|
-
import com.facebook.react.bridge.ReadableMap
|
|
5
5
|
import com.facebook.react.module.annotations.ReactModule
|
|
6
6
|
import com.facebook.react.uimanager.SimpleViewManager
|
|
7
7
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
8
8
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
9
|
+
import com.facebook.react.viewmanagers.CardFieldManagerDelegate
|
|
10
|
+
import com.facebook.react.viewmanagers.CardFieldManagerInterface
|
|
11
|
+
import com.reactnativestripesdk.utils.asMapOrNull
|
|
9
12
|
|
|
10
13
|
@ReactModule(name = CardFieldViewManager.REACT_CLASS)
|
|
11
|
-
class CardFieldViewManager :
|
|
14
|
+
class CardFieldViewManager :
|
|
15
|
+
SimpleViewManager<CardFieldView>(),
|
|
16
|
+
CardFieldManagerInterface<CardFieldView> {
|
|
17
|
+
private val delegate = CardFieldManagerDelegate(this)
|
|
18
|
+
private var reactContextRef: ThemedReactContext? = null
|
|
19
|
+
|
|
12
20
|
override fun getName() = REACT_CLASS
|
|
13
21
|
|
|
14
|
-
|
|
22
|
+
override fun getDelegate() = delegate
|
|
15
23
|
|
|
16
24
|
override fun getExportedCustomDirectEventTypeConstants() =
|
|
17
25
|
mutableMapOf(
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
CardFocusChangeEvent.EVENT_NAME to mutableMapOf("registrationName" to "onFocusChange"),
|
|
27
|
+
CardChangeEvent.EVENT_NAME to mutableMapOf("registrationName" to "onCardChange"),
|
|
20
28
|
)
|
|
21
29
|
|
|
22
|
-
override fun
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
override fun createViewInstance(reactContext: ThemedReactContext): CardFieldView {
|
|
31
|
+
val stripeSdkModule: StripeSdkModule? =
|
|
32
|
+
reactContext.getNativeModule(StripeSdkModule::class.java)
|
|
33
|
+
val view = CardFieldView(reactContext)
|
|
34
|
+
|
|
35
|
+
reactContextRef = reactContext
|
|
36
|
+
|
|
37
|
+
stripeSdkModule?.cardFieldView = view
|
|
38
|
+
return view
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
override fun onDropViewInstance(view: CardFieldView) {
|
|
42
|
+
super.onDropViewInstance(view)
|
|
43
|
+
|
|
44
|
+
val stripeSdkModule: StripeSdkModule? =
|
|
45
|
+
reactContextRef?.getNativeModule(StripeSdkModule::class.java)
|
|
46
|
+
stripeSdkModule?.cardFieldView = null
|
|
47
|
+
reactContextRef = null
|
|
32
48
|
}
|
|
33
49
|
|
|
34
50
|
@ReactProp(name = "dangerouslyGetFullCardDetails")
|
|
35
|
-
fun setDangerouslyGetFullCardDetails(
|
|
51
|
+
override fun setDangerouslyGetFullCardDetails(
|
|
36
52
|
view: CardFieldView,
|
|
37
|
-
dangerouslyGetFullCardDetails: Boolean
|
|
53
|
+
dangerouslyGetFullCardDetails: Boolean,
|
|
38
54
|
) {
|
|
39
55
|
view.setDangerouslyGetFullCardDetails(dangerouslyGetFullCardDetails)
|
|
40
56
|
}
|
|
41
57
|
|
|
42
58
|
@ReactProp(name = "postalCodeEnabled")
|
|
43
|
-
fun setPostalCodeEnabled(
|
|
59
|
+
override fun setPostalCodeEnabled(
|
|
44
60
|
view: CardFieldView,
|
|
45
|
-
postalCodeEnabled: Boolean
|
|
61
|
+
postalCodeEnabled: Boolean,
|
|
46
62
|
) {
|
|
47
63
|
view.setPostalCodeEnabled(postalCodeEnabled)
|
|
48
64
|
}
|
|
49
65
|
|
|
50
66
|
@ReactProp(name = "autofocus")
|
|
51
|
-
fun setAutofocus(
|
|
67
|
+
override fun setAutofocus(
|
|
52
68
|
view: CardFieldView,
|
|
53
|
-
autofocus: Boolean
|
|
69
|
+
autofocus: Boolean,
|
|
54
70
|
) {
|
|
55
71
|
view.setAutofocus(autofocus)
|
|
56
72
|
}
|
|
57
73
|
|
|
58
74
|
@ReactProp(name = "cardStyle")
|
|
59
|
-
fun setCardStyle(
|
|
75
|
+
override fun setCardStyle(
|
|
60
76
|
view: CardFieldView,
|
|
61
|
-
cardStyle:
|
|
77
|
+
cardStyle: Dynamic,
|
|
62
78
|
) {
|
|
63
|
-
view.setCardStyle(cardStyle)
|
|
79
|
+
view.setCardStyle(cardStyle.asMapOrNull())
|
|
64
80
|
}
|
|
65
81
|
|
|
66
82
|
@ReactProp(name = "countryCode")
|
|
67
|
-
fun setCountryCode(
|
|
83
|
+
override fun setCountryCode(
|
|
68
84
|
view: CardFieldView,
|
|
69
85
|
countryCode: String?,
|
|
70
86
|
) {
|
|
@@ -72,7 +88,7 @@ class CardFieldViewManager : SimpleViewManager<CardFieldView>() {
|
|
|
72
88
|
}
|
|
73
89
|
|
|
74
90
|
@ReactProp(name = "onBehalfOf")
|
|
75
|
-
fun setOnBehalfOf(
|
|
91
|
+
override fun setOnBehalfOf(
|
|
76
92
|
view: CardFieldView,
|
|
77
93
|
onBehalfOf: String?,
|
|
78
94
|
) {
|
|
@@ -80,15 +96,15 @@ class CardFieldViewManager : SimpleViewManager<CardFieldView>() {
|
|
|
80
96
|
}
|
|
81
97
|
|
|
82
98
|
@ReactProp(name = "placeholders")
|
|
83
|
-
fun
|
|
99
|
+
override fun setPlaceholders(
|
|
84
100
|
view: CardFieldView,
|
|
85
|
-
placeholders:
|
|
101
|
+
placeholders: Dynamic,
|
|
86
102
|
) {
|
|
87
|
-
view.setPlaceHolders(placeholders)
|
|
103
|
+
view.setPlaceHolders(placeholders.asMapOrNull())
|
|
88
104
|
}
|
|
89
105
|
|
|
90
106
|
@ReactProp(name = "disabled")
|
|
91
|
-
fun setDisabled(
|
|
107
|
+
override fun setDisabled(
|
|
92
108
|
view: CardFieldView,
|
|
93
109
|
isDisabled: Boolean,
|
|
94
110
|
) {
|
|
@@ -96,7 +112,7 @@ class CardFieldViewManager : SimpleViewManager<CardFieldView>() {
|
|
|
96
112
|
}
|
|
97
113
|
|
|
98
114
|
@ReactProp(name = "preferredNetworks")
|
|
99
|
-
fun setPreferredNetworks(
|
|
115
|
+
override fun setPreferredNetworks(
|
|
100
116
|
view: CardFieldView,
|
|
101
117
|
preferredNetworks: ReadableArray?,
|
|
102
118
|
) {
|
|
@@ -104,24 +120,18 @@ class CardFieldViewManager : SimpleViewManager<CardFieldView>() {
|
|
|
104
120
|
view.setPreferredNetworks(networks)
|
|
105
121
|
}
|
|
106
122
|
|
|
107
|
-
|
|
108
|
-
val stripeSdkModule: StripeSdkModule? =
|
|
109
|
-
reactContext.getNativeModule(StripeSdkModule::class.java)
|
|
110
|
-
val view = CardFieldView(reactContext)
|
|
111
|
-
|
|
112
|
-
reactContextRef = reactContext
|
|
123
|
+
// Native commands
|
|
113
124
|
|
|
114
|
-
|
|
115
|
-
|
|
125
|
+
override fun blur(view: CardFieldView) {
|
|
126
|
+
view.requestBlurFromJS()
|
|
116
127
|
}
|
|
117
128
|
|
|
118
|
-
override fun
|
|
119
|
-
|
|
129
|
+
override fun focus(view: CardFieldView) {
|
|
130
|
+
view.requestFocusFromJS()
|
|
131
|
+
}
|
|
120
132
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
stripeSdkModule?.cardFieldView = null
|
|
124
|
-
reactContextRef = null
|
|
133
|
+
override fun clear(view: CardFieldView) {
|
|
134
|
+
view.requestClearFromJS()
|
|
125
135
|
}
|
|
126
136
|
|
|
127
137
|
companion object {
|
package/android/src/main/java/com/reactnativestripesdk/{CardFocusEvent.kt → CardFocusChangeEvent.kt}
RENAMED
|
@@ -4,11 +4,11 @@ import com.facebook.react.bridge.Arguments
|
|
|
4
4
|
import com.facebook.react.bridge.WritableMap
|
|
5
5
|
import com.facebook.react.uimanager.events.Event
|
|
6
6
|
|
|
7
|
-
internal class
|
|
7
|
+
internal class CardFocusChangeEvent(
|
|
8
8
|
surfaceId: Int,
|
|
9
9
|
viewTag: Int,
|
|
10
10
|
private val focusField: String?,
|
|
11
|
-
) : Event<
|
|
11
|
+
) : Event<CardFocusChangeEvent>(surfaceId, viewTag) {
|
|
12
12
|
override fun getEventName() = EVENT_NAME
|
|
13
13
|
|
|
14
14
|
override fun getEventData(): WritableMap? {
|