@stripe/stripe-react-native 0.44.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 +7 -1
- package/android/build.gradle +89 -18
- 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 +8 -13
- package/android/src/main/java/com/reactnativestripesdk/StripeContainerManager.kt +11 -3
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +106 -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 +12 -16
- 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 -25
- package/ios/StripeSdkImpl+Embedded.swift +327 -0
- package/ios/{StripeSdk+PaymentSheet.swift → StripeSdkImpl+PaymentSheet.swift} +18 -29
- 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/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/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/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 -5
- package/lib/typescript/src/types/CustomerSheet.d.ts.map +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 +97 -4
- 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/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 -5
- package/src/types/EmbeddedPaymentElement.tsx +467 -0
- package/src/types/PaymentSheet.ts +114 -4
- 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,13 @@
|
|
|
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
|
+
|
|
5
11
|
## 0.44.0 - 2025-04-15
|
|
6
12
|
|
|
7
13
|
**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,19 +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-parcelize'
|
|
26
|
-
//apply plugin: 'kotlin-android-extensions'
|
|
27
|
-
|
|
28
31
|
def getExtOrDefault(name) {
|
|
29
32
|
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['StripeSdk_' + name]
|
|
30
33
|
}
|
|
@@ -33,8 +36,59 @@ def getExtOrIntegerDefault(name) {
|
|
|
33
36
|
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties['StripeSdk_' + name]).toInteger()
|
|
34
37
|
}
|
|
35
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
|
+
|
|
36
75
|
android {
|
|
76
|
+
namespace "com.reactnativestripesdk"
|
|
77
|
+
buildFeatures {
|
|
78
|
+
buildConfig true
|
|
79
|
+
}
|
|
80
|
+
|
|
37
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
|
+
|
|
38
92
|
defaultConfig {
|
|
39
93
|
minSdkVersion getExtOrIntegerDefault('minSdkVersion')
|
|
40
94
|
targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
|
|
@@ -43,6 +97,11 @@ android {
|
|
|
43
97
|
vectorDrawables.useSupportLibrary = true
|
|
44
98
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
45
99
|
consumerProguardFiles 'proguard-rules.txt'
|
|
100
|
+
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
|
101
|
+
|
|
102
|
+
ndk {
|
|
103
|
+
abiFilters(*reactNativeArchitectures())
|
|
104
|
+
}
|
|
46
105
|
}
|
|
47
106
|
|
|
48
107
|
buildTypes {
|
|
@@ -50,9 +109,11 @@ android {
|
|
|
50
109
|
minifyEnabled false
|
|
51
110
|
}
|
|
52
111
|
}
|
|
112
|
+
|
|
53
113
|
lintOptions {
|
|
54
114
|
disable 'GradleCompatible'
|
|
55
115
|
}
|
|
116
|
+
|
|
56
117
|
compileOptions {
|
|
57
118
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
58
119
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
@@ -60,6 +121,15 @@ android {
|
|
|
60
121
|
|
|
61
122
|
buildFeatures {
|
|
62
123
|
viewBinding true
|
|
124
|
+
compose true
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
sourceSets.main {
|
|
128
|
+
java {
|
|
129
|
+
if (!isNewArchitectureEnabled()) {
|
|
130
|
+
srcDirs += ["src/oldarch/java"]
|
|
131
|
+
}
|
|
132
|
+
}
|
|
63
133
|
}
|
|
64
134
|
}
|
|
65
135
|
|
|
@@ -75,8 +145,8 @@ repositories {
|
|
|
75
145
|
defaultDir = rootProject.ext.get('reactNativeAndroidRoot')
|
|
76
146
|
} else {
|
|
77
147
|
defaultDir = new File(
|
|
78
|
-
|
|
79
|
-
|
|
148
|
+
projectDir,
|
|
149
|
+
'/../../../node_modules/react-native/android'
|
|
80
150
|
)
|
|
81
151
|
}
|
|
82
152
|
|
|
@@ -96,13 +166,13 @@ repositories {
|
|
|
96
166
|
parentDir = parentDir.parentFile
|
|
97
167
|
|
|
98
168
|
def androidSourcesDir = new File(
|
|
99
|
-
|
|
100
|
-
|
|
169
|
+
parentDir,
|
|
170
|
+
'node_modules/react-native'
|
|
101
171
|
)
|
|
102
172
|
|
|
103
173
|
def androidPrebuiltBinaryDir = new File(
|
|
104
|
-
|
|
105
|
-
|
|
174
|
+
parentDir,
|
|
175
|
+
'node_modules/react-native/android'
|
|
106
176
|
)
|
|
107
177
|
|
|
108
178
|
if (androidPrebuiltBinaryDir.exists()) {
|
|
@@ -127,13 +197,12 @@ repositories {
|
|
|
127
197
|
|
|
128
198
|
if (!found) {
|
|
129
199
|
throw new GradleException(
|
|
130
|
-
|
|
131
|
-
|
|
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."
|
|
132
202
|
)
|
|
133
203
|
}
|
|
134
204
|
}
|
|
135
205
|
|
|
136
|
-
def kotlin_version = getExtOrDefault('kotlinVersion')
|
|
137
206
|
def stripe_version = getExtOrDefault('stripeVersion')
|
|
138
207
|
|
|
139
208
|
dependencies {
|
|
@@ -145,7 +214,7 @@ dependencies {
|
|
|
145
214
|
implementation("com.stripe:stripe-android:$stripe_version") {
|
|
146
215
|
exclude group: 'androidx.emoji2', module: 'emoji2'
|
|
147
216
|
}
|
|
148
|
-
implementation
|
|
217
|
+
implementation("com.stripe:financial-connections:$stripe_version") {
|
|
149
218
|
exclude group: 'androidx.emoji2', module: 'emoji2'
|
|
150
219
|
}
|
|
151
220
|
implementation('androidx.emoji2:emoji2:1.3.0').force // Avoid using 1.4.0 since that requires targetSdkVersion 34
|
|
@@ -164,4 +233,6 @@ dependencies {
|
|
|
164
233
|
androidTestImplementation "androidx.test:core:1.4.0"
|
|
165
234
|
androidTestImplementation 'androidx.test:runner:1.1.0'
|
|
166
235
|
androidTestImplementation "org.mockito:mockito-core:3.+"
|
|
236
|
+
|
|
237
|
+
implementation "androidx.compose.ui:ui:1.7.8"
|
|
167
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? {
|