@stripe/stripe-react-native 0.58.0 → 0.59.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/android/build.gradle +2 -0
- package/android/src/main/AndroidManifest.xml +27 -1
- package/android/src/main/java/com/reactnativestripesdk/EmbeddedPaymentElementViewManager.kt +2 -0
- package/android/src/main/java/com/reactnativestripesdk/EventEmitterCompat.kt +8 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentElementConfig.kt +8 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentMethodMessagingElementConfig.kt +147 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentMethodMessagingElementView.kt +164 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentMethodMessagingElementViewManager.kt +65 -0
- package/android/src/main/java/com/reactnativestripesdk/PaymentSheetAppearance.kt +1 -1
- package/android/src/main/java/com/reactnativestripesdk/PaymentSheetManager.kt +55 -26
- package/android/src/main/java/com/reactnativestripesdk/StripeConnectDeepLinkInterceptorActivity.kt +77 -0
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkModule.kt +325 -22
- package/android/src/main/java/com/reactnativestripesdk/StripeSdkPackage.kt +1 -0
- package/android/src/main/java/com/reactnativestripesdk/customersheet/CustomerSheetManager.kt +3 -0
- package/android/src/main/java/com/reactnativestripesdk/utils/Errors.kt +8 -0
- package/android/src/main/res/xml/file_paths.xml +4 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/PaymentMethodMessagingElementViewManagerDelegate.java +36 -0
- package/android/src/oldarch/java/com/facebook/react/viewmanagers/PaymentMethodMessagingElementViewManagerInterface.java +18 -0
- package/android/src/oldarch/java/com/reactnativestripesdk/NativeStripeSdkModuleSpec.java +20 -0
- package/android/src/test/java/com/reactnativestripesdk/PaymentElementConfigTest.kt +37 -0
- package/android/src/test/java/com/reactnativestripesdk/PaymentMethodMessagingElementConfigTest.kt +543 -0
- package/android/src/test/java/com/reactnativestripesdk/PaymentSheetManagerTest.kt +70 -0
- package/ios/CustomerSheet/CustomerSheetUtils.swift +4 -0
- package/ios/OldArch/StripeSdkEventEmitterCompat.h +2 -0
- package/ios/OldArch/StripeSdkEventEmitterCompat.m +13 -1
- package/ios/PaymentMethodMessagingElementConfig.swift +116 -0
- package/ios/PaymentMethodMessagingElementHandler.m +9 -0
- package/ios/PaymentMethodMessagingElementView.swift +139 -0
- package/ios/StripeSdk.mm +40 -0
- package/ios/StripeSdkEmitter.swift +2 -0
- package/ios/StripeSdkImpl+CustomerSheet.swift +1 -0
- package/ios/StripeSdkImpl+Embedded.swift +4 -0
- package/ios/StripeSdkImpl+PaymentSheet.swift +16 -0
- package/ios/StripeSdkImpl.swift +132 -0
- package/jest/mock.js +20 -0
- package/lib/commonjs/connect/Components.js.map +1 -1
- package/lib/commonjs/connect/ConnectComponentsProvider.js +1 -1
- package/lib/commonjs/connect/ConnectComponentsProvider.js.map +1 -1
- package/lib/commonjs/connect/EmbeddedComponent.js +5 -5
- package/lib/commonjs/connect/EmbeddedComponent.js.map +1 -1
- package/lib/commonjs/connect/analytics/AnalyticsClient.js +2 -0
- package/lib/commonjs/connect/analytics/AnalyticsClient.js.map +1 -0
- package/lib/commonjs/connect/analytics/ComponentAnalyticsClient.js +2 -0
- package/lib/commonjs/connect/analytics/ComponentAnalyticsClient.js.map +1 -0
- package/lib/commonjs/connect/analytics/events.js +2 -0
- package/lib/commonjs/connect/analytics/events.js.map +1 -0
- package/lib/commonjs/connect/testUtils.js +2 -0
- package/lib/commonjs/connect/testUtils.js.map +1 -0
- package/lib/commonjs/events.js.map +1 -1
- package/lib/commonjs/functions.js +1 -1
- package/lib/commonjs/functions.js.map +1 -1
- package/lib/commonjs/hooks/useStripe.js +1 -1
- package/lib/commonjs/hooks/useStripe.js.map +1 -1
- package/lib/commonjs/specs/NativePaymentMethodMessagingElement.js +2 -0
- package/lib/commonjs/specs/NativePaymentMethodMessagingElement.js.map +1 -0
- package/lib/commonjs/specs/NativeStripeSdkModule.js.map +1 -1
- package/lib/commonjs/types/EmbeddedPaymentElement.js.map +1 -1
- package/lib/commonjs/types/Errors.js +1 -1
- package/lib/commonjs/types/Errors.js.map +1 -1
- package/lib/commonjs/types/PaymentSheet.js.map +1 -1
- package/lib/commonjs/types/components/PaymentMethodMessagingElementComponent.js +2 -0
- package/lib/commonjs/types/components/PaymentMethodMessagingElementComponent.js.map +1 -0
- package/lib/commonjs/types/index.js.map +1 -1
- package/lib/module/connect/Components.js.map +1 -1
- package/lib/module/connect/ConnectComponentsProvider.js +1 -1
- package/lib/module/connect/ConnectComponentsProvider.js.map +1 -1
- package/lib/module/connect/EmbeddedComponent.js +5 -5
- package/lib/module/connect/EmbeddedComponent.js.map +1 -1
- package/lib/module/connect/analytics/AnalyticsClient.js +2 -0
- package/lib/module/connect/analytics/AnalyticsClient.js.map +1 -0
- package/lib/module/connect/analytics/ComponentAnalyticsClient.js +2 -0
- package/lib/module/connect/analytics/ComponentAnalyticsClient.js.map +1 -0
- package/lib/module/connect/analytics/events.js +2 -0
- package/lib/module/connect/analytics/events.js.map +1 -0
- package/lib/module/connect/testUtils.js +2 -0
- package/lib/module/connect/testUtils.js.map +1 -0
- package/lib/module/events.js.map +1 -1
- package/lib/module/functions.js +1 -1
- package/lib/module/functions.js.map +1 -1
- package/lib/module/hooks/useStripe.js +1 -1
- package/lib/module/hooks/useStripe.js.map +1 -1
- package/lib/module/specs/NativePaymentMethodMessagingElement.js +2 -0
- package/lib/module/specs/NativePaymentMethodMessagingElement.js.map +1 -0
- package/lib/module/specs/NativeStripeSdkModule.js.map +1 -1
- package/lib/module/types/EmbeddedPaymentElement.js.map +1 -1
- package/lib/module/types/Errors.js +1 -1
- package/lib/module/types/Errors.js.map +1 -1
- package/lib/module/types/PaymentSheet.js.map +1 -1
- package/lib/module/types/components/PaymentMethodMessagingElementComponent.js +2 -0
- package/lib/module/types/components/PaymentMethodMessagingElementComponent.js.map +1 -0
- package/lib/module/types/index.js.map +1 -1
- package/lib/typescript/src/connect/Components.d.ts +91 -0
- package/lib/typescript/src/connect/Components.d.ts.map +1 -1
- package/lib/typescript/src/connect/ConnectComponentsProvider.d.ts +61 -0
- package/lib/typescript/src/connect/ConnectComponentsProvider.d.ts.map +1 -1
- package/lib/typescript/src/connect/EmbeddedComponent.d.ts.map +1 -1
- package/lib/typescript/src/connect/analytics/AnalyticsClient.d.ts +32 -0
- package/lib/typescript/src/connect/analytics/AnalyticsClient.d.ts.map +1 -0
- package/lib/typescript/src/connect/analytics/ComponentAnalyticsClient.d.ts +94 -0
- package/lib/typescript/src/connect/analytics/ComponentAnalyticsClient.d.ts.map +1 -0
- package/lib/typescript/src/connect/analytics/events.d.ts +215 -0
- package/lib/typescript/src/connect/analytics/events.d.ts.map +1 -0
- package/lib/typescript/src/connect/testUtils.d.ts +45 -0
- package/lib/typescript/src/connect/testUtils.d.ts.map +1 -0
- package/lib/typescript/src/events.d.ts +2 -0
- package/lib/typescript/src/events.d.ts.map +1 -1
- package/lib/typescript/src/functions.d.ts +13 -1
- package/lib/typescript/src/functions.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useStripe.d.ts +2 -1
- package/lib/typescript/src/hooks/useStripe.d.ts.map +1 -1
- package/lib/typescript/src/specs/NativePaymentMethodMessagingElement.d.ts +16 -0
- package/lib/typescript/src/specs/NativePaymentMethodMessagingElement.d.ts.map +1 -0
- package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts +16 -1
- package/lib/typescript/src/specs/NativeStripeSdkModule.d.ts.map +1 -1
- package/lib/typescript/src/types/CustomerSheet.d.ts +5 -0
- package/lib/typescript/src/types/CustomerSheet.d.ts.map +1 -1
- package/lib/typescript/src/types/EmbeddedPaymentElement.d.ts +5 -0
- package/lib/typescript/src/types/EmbeddedPaymentElement.d.ts.map +1 -1
- package/lib/typescript/src/types/Errors.d.ts +4 -0
- package/lib/typescript/src/types/Errors.d.ts.map +1 -1
- package/lib/typescript/src/types/PaymentSheet.d.ts +5 -0
- package/lib/typescript/src/types/PaymentSheet.d.ts.map +1 -1
- package/lib/typescript/src/types/components/PaymentMethodMessagingElementComponent.d.ts +69 -0
- package/lib/typescript/src/types/components/PaymentMethodMessagingElementComponent.d.ts.map +1 -0
- package/lib/typescript/src/types/index.d.ts +8 -1
- package/lib/typescript/src/types/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/connect/Components.tsx +91 -0
- package/src/connect/ConnectComponentsProvider.tsx +69 -2
- package/src/connect/EmbeddedComponent.tsx +254 -30
- package/src/connect/analytics/AnalyticsClient.ts +75 -0
- package/src/connect/analytics/ComponentAnalyticsClient.ts +315 -0
- package/src/connect/analytics/events.ts +253 -0
- package/src/connect/testUtils.ts +37 -0
- package/src/events.ts +2 -0
- package/src/functions.ts +10 -0
- package/src/hooks/useStripe.tsx +8 -0
- package/src/specs/NativePaymentMethodMessagingElement.ts +25 -0
- package/src/specs/NativeStripeSdkModule.ts +21 -1
- package/src/types/CustomerSheet.ts +5 -0
- package/src/types/EmbeddedPaymentElement.tsx +5 -0
- package/src/types/Errors.ts +5 -0
- package/src/types/PaymentSheet.ts +6 -1
- package/src/types/components/PaymentMethodMessagingElementComponent.tsx +74 -0
- package/src/types/index.ts +11 -0
|
@@ -24,7 +24,9 @@
|
|
|
24
24
|
@"embeddedPaymentElementRowSelectionImmediateAction",
|
|
25
25
|
@"embeddedPaymentElementLoadingFailed",
|
|
26
26
|
@"onCustomPaymentMethodConfirmHandlerCallback",
|
|
27
|
-
@"onCheckoutClientSecretRequested"
|
|
27
|
+
@"onCheckoutClientSecretRequested",
|
|
28
|
+
@"paymentMethodMessagingElementDidUpdateHeight",
|
|
29
|
+
@"paymentMethodMessagingElementConfigureResult",
|
|
28
30
|
];
|
|
29
31
|
}
|
|
30
32
|
|
|
@@ -128,4 +130,14 @@
|
|
|
128
130
|
[self sendEventWithName:@"onCheckoutClientSecretRequested" body:value];
|
|
129
131
|
}
|
|
130
132
|
|
|
133
|
+
- (void)emitPaymentMethodMessagingElementDidUpdateHeight:(NSDictionary *)value
|
|
134
|
+
{
|
|
135
|
+
[self sendEventWithName:@"paymentMethodMessagingElementDidUpdateHeight" body:value];
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
- (void)emitPaymentMethodMessagingElementConfigureResult:(NSDictionary *)value
|
|
139
|
+
{
|
|
140
|
+
[self sendEventWithName:@"paymentMethodMessagingElementConfigureResult" body:value];
|
|
141
|
+
}
|
|
142
|
+
|
|
131
143
|
@end
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
//
|
|
2
|
+
// PaymentMethodMessagingElementConfig.swift
|
|
3
|
+
// stripe-react-native
|
|
4
|
+
//
|
|
5
|
+
// Created by Tyler Clawson on 2/18/26.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
@_spi(PaymentMethodMessagingElementPreview) @_spi(STP) import StripePaymentSheet
|
|
9
|
+
|
|
10
|
+
internal class PaymentMethodMessagingElementConfig {
|
|
11
|
+
class func buildAppearanceFromParams(params: NSDictionary?) -> PaymentMethodMessagingElement.Appearance {
|
|
12
|
+
var appearance = PaymentMethodMessagingElement.Appearance()
|
|
13
|
+
|
|
14
|
+
guard let params = params else { return appearance }
|
|
15
|
+
|
|
16
|
+
// Parse theme/style
|
|
17
|
+
if let styleString = params["style"] as? String {
|
|
18
|
+
switch styleString {
|
|
19
|
+
case "dark":
|
|
20
|
+
appearance.style = .alwaysDark
|
|
21
|
+
case "flat":
|
|
22
|
+
appearance.style = .flat
|
|
23
|
+
case "light":
|
|
24
|
+
appearance.style = .alwaysLight
|
|
25
|
+
default:
|
|
26
|
+
appearance.style = .automatic
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
// Parse font
|
|
31
|
+
if let fontParams = params["font"] as? NSDictionary {
|
|
32
|
+
let scale = fontParams["scale"] as? CGFloat ?? 1
|
|
33
|
+
if let fontFamily = fontParams["family"] as? String,
|
|
34
|
+
let customFont = UIFont(name: fontFamily, size: UIFont.systemFontSize * scale) {
|
|
35
|
+
appearance.font = customFont
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Parse colors
|
|
40
|
+
if let textColorHex = parseThemedColor(params: params, key: "textColor") {
|
|
41
|
+
appearance.textColor = textColorHex
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if let linkTextColorHex = parseThemedColor(params: params, key: "linkTextColor") {
|
|
45
|
+
appearance.infoIconColor = linkTextColorHex
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return appearance
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
private class func parseThemedColor(params: NSDictionary, key: String) -> UIColor? {
|
|
52
|
+
// Check if it's a dictionary with light/dark keys
|
|
53
|
+
if let colorDict = params[key] as? [String: String] {
|
|
54
|
+
let lightHex = colorDict["light"]
|
|
55
|
+
let darkHex = colorDict["dark"]
|
|
56
|
+
|
|
57
|
+
if let light = lightHex, let dark = darkHex {
|
|
58
|
+
return UIColor { traitCollection in
|
|
59
|
+
return traitCollection.userInterfaceStyle == .dark
|
|
60
|
+
? UIColor(hexString: dark)
|
|
61
|
+
: UIColor(hexString: light)
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
// Check if it's a plain string
|
|
67
|
+
if let colorString = params[key] as? String {
|
|
68
|
+
return UIColor(hexString: colorString)
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return nil
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
class func buildPaymentMethodMessagingElementConfiguration(
|
|
75
|
+
params: NSDictionary
|
|
76
|
+
) -> (error: NSDictionary?, configuration: PaymentMethodMessagingElement.Configuration?) {
|
|
77
|
+
|
|
78
|
+
// Parse required parameters
|
|
79
|
+
guard let amount = params["amount"] as? Int else {
|
|
80
|
+
let error: NSDictionary = [
|
|
81
|
+
"code": "InvalidConfiguration",
|
|
82
|
+
"message": "amount is required",
|
|
83
|
+
]
|
|
84
|
+
return (error, nil)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
guard let currency = params["currency"] as? String else {
|
|
88
|
+
let error: NSDictionary = [
|
|
89
|
+
"code": "InvalidConfiguration",
|
|
90
|
+
"message": "currency is required",
|
|
91
|
+
]
|
|
92
|
+
return (error, nil)
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// Parse optional parameters
|
|
96
|
+
let locale = params["locale"] as? String
|
|
97
|
+
let country = params["country"] as? String
|
|
98
|
+
|
|
99
|
+
var paymentMethodTypes: [STPPaymentMethodType]?
|
|
100
|
+
if let paymentMethodTypesArray = params["paymentMethodTypes"] as? [String] {
|
|
101
|
+
paymentMethodTypes = paymentMethodTypesArray.map {
|
|
102
|
+
STPPaymentMethodType.fromIdentifier($0)
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
var configuration = PaymentMethodMessagingElement.Configuration(
|
|
107
|
+
amount: amount,
|
|
108
|
+
currency: currency,
|
|
109
|
+
locale: locale,
|
|
110
|
+
countryCode: country,
|
|
111
|
+
paymentMethodTypes: paymentMethodTypes,
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
return (nil, configuration)
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#import <Foundation/Foundation.h>
|
|
2
|
+
#import <React/RCTBridgeModule.h>
|
|
3
|
+
#import <React/RCTViewManager.h>
|
|
4
|
+
|
|
5
|
+
@interface RCT_EXTERN_MODULE(PaymentMethodMessagingElementView, RCTViewManager)
|
|
6
|
+
RCT_EXPORT_VIEW_PROPERTY(appearance, NSDictionary)
|
|
7
|
+
RCT_EXPORT_VIEW_PROPERTY(configuration, NSDictionary)
|
|
8
|
+
RCT_EXPORT_VIEW_PROPERTY(onLoadComplete, RCTDirectEventBlock)
|
|
9
|
+
@end
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import Foundation
|
|
2
|
+
@_spi(PaymentMethodMessagingElementPreview) @_spi(STP) import StripePaymentSheet
|
|
3
|
+
import UIKit
|
|
4
|
+
|
|
5
|
+
@objc(PaymentMethodMessagingElementView)
|
|
6
|
+
class PaymentMethodMessagingElementView: RCTViewManager {
|
|
7
|
+
|
|
8
|
+
override static func requiresMainQueueSetup() -> Bool {
|
|
9
|
+
return true
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
override func view() -> UIView! {
|
|
13
|
+
return PaymentMethodMessagingElementContainerView(frame: .zero)
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@objc(PaymentMethodMessagingElementContainerView)
|
|
18
|
+
public class PaymentMethodMessagingElementContainerView: UIView, UIGestureRecognizerDelegate {
|
|
19
|
+
private var paymentMethodMessagingElementView: UIView?
|
|
20
|
+
private var messagingInstance: PaymentMethodMessagingElement?
|
|
21
|
+
private var appearanceConfig: PaymentMethodMessagingElement.Appearance?
|
|
22
|
+
private var lastConfig: NSDictionary?
|
|
23
|
+
|
|
24
|
+
@objc var appearance: NSDictionary? {
|
|
25
|
+
didSet {
|
|
26
|
+
if let appearance = appearance {
|
|
27
|
+
appearanceConfig = PaymentMethodMessagingElementConfig.buildAppearanceFromParams(params: appearance)
|
|
28
|
+
// Re-initialize if configuration already exists
|
|
29
|
+
if let config = lastConfig {
|
|
30
|
+
initMessagingElement(config: config)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@objc var configuration: NSDictionary? {
|
|
37
|
+
didSet {
|
|
38
|
+
if let configuration = configuration {
|
|
39
|
+
lastConfig = configuration
|
|
40
|
+
initMessagingElement(config: configuration)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
override init(frame: CGRect) {
|
|
46
|
+
super.init(frame: frame)
|
|
47
|
+
backgroundColor = .clear
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
required init?(coder: NSCoder) {
|
|
51
|
+
fatalError()
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public override func didMoveToWindow() {
|
|
55
|
+
super.didMoveToWindow()
|
|
56
|
+
if window != nil {
|
|
57
|
+
// Only attach when we have a valid window
|
|
58
|
+
attachPaymentElementIfAvailable()
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
public override func willMove(toWindow newWindow: UIWindow?) {
|
|
63
|
+
super.willMove(toWindow: newWindow)
|
|
64
|
+
if newWindow == nil {
|
|
65
|
+
// Remove the view when moving away from window
|
|
66
|
+
removePaymentMethodMessagingElement()
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
private func attachPaymentElementIfAvailable() {
|
|
71
|
+
removePaymentMethodMessagingElement()
|
|
72
|
+
guard let messagingElement = messagingInstance else {
|
|
73
|
+
return
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
let messagingElementView = messagingElement.view
|
|
77
|
+
addSubview(messagingElementView)
|
|
78
|
+
messagingElementView.translatesAutoresizingMaskIntoConstraints = false
|
|
79
|
+
|
|
80
|
+
NSLayoutConstraint.activate([
|
|
81
|
+
messagingElementView.topAnchor.constraint(equalTo: topAnchor),
|
|
82
|
+
messagingElementView.leadingAnchor.constraint(equalTo: leadingAnchor),
|
|
83
|
+
messagingElementView.trailingAnchor.constraint(equalTo: trailingAnchor),
|
|
84
|
+
messagingElementView.bottomAnchor.constraint(equalTo: bottomAnchor),
|
|
85
|
+
])
|
|
86
|
+
|
|
87
|
+
self.paymentMethodMessagingElementView = messagingElementView
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
private func removePaymentMethodMessagingElement() {
|
|
91
|
+
paymentMethodMessagingElementView?.removeFromSuperview()
|
|
92
|
+
paymentMethodMessagingElementView = nil
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
private func initMessagingElement(config: NSDictionary) {
|
|
96
|
+
let configResult = PaymentMethodMessagingElementConfig.buildPaymentMethodMessagingElementConfiguration(params: config)
|
|
97
|
+
|
|
98
|
+
if let error = configResult.error {
|
|
99
|
+
StripeSdkImpl.shared.emitter?.emitPaymentMethodMessagingElementConfigureResult([
|
|
100
|
+
"status": "failed",
|
|
101
|
+
"error": error,
|
|
102
|
+
])
|
|
103
|
+
return
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
guard var configuration = configResult.configuration else {
|
|
107
|
+
return
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// Add appearance if available
|
|
111
|
+
if let appearance = appearanceConfig {
|
|
112
|
+
configuration.appearance = appearance
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
var resultMap: [String: String] = [:]
|
|
116
|
+
var height: CGFloat? = 0
|
|
117
|
+
|
|
118
|
+
Task { @MainActor in
|
|
119
|
+
StripeSdkImpl.shared.emitter?.emitPaymentMethodMessagingElementConfigureResult(["status": "loading"])
|
|
120
|
+
switch await PaymentMethodMessagingElement.create(configuration: configuration) {
|
|
121
|
+
case .success(let paymentMethodMessagingElement):
|
|
122
|
+
self.messagingInstance = paymentMethodMessagingElement
|
|
123
|
+
height = self.messagingInstance?.view.systemLayoutSizeFitting(CGSize(width: paymentMethodMessagingElement.view.bounds.width, height: UIView.layoutFittingCompressedSize.height)).height
|
|
124
|
+
resultMap["status"] = "loaded"
|
|
125
|
+
case .noContent:
|
|
126
|
+
resultMap["status"] = "no_content"
|
|
127
|
+
self.messagingInstance = nil
|
|
128
|
+
case .failed(let error):
|
|
129
|
+
self.messagingInstance = nil
|
|
130
|
+
resultMap["status"] = "failed"
|
|
131
|
+
resultMap["message"] = error.localizedDescription
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
StripeSdkImpl.shared.emitter?.emitPaymentMethodMessagingElementDidUpdateHeight(["height": height ?? 0])
|
|
135
|
+
StripeSdkImpl.shared.emitter?.emitPaymentMethodMessagingElementConfigureResult(resultMap)
|
|
136
|
+
attachPaymentElementIfAvailable()
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
package/ios/StripeSdk.mm
CHANGED
|
@@ -390,6 +390,40 @@ RCT_EXPORT_METHOD(openAuthenticatedWebView:(nonnull NSString *)id
|
|
|
390
390
|
[StripeSdkImpl.shared openAuthenticatedWebView:id url:url resolver:resolve rejecter:reject];
|
|
391
391
|
}
|
|
392
392
|
|
|
393
|
+
RCT_EXPORT_METHOD(downloadAndShareFile:(nonnull NSString *)url
|
|
394
|
+
filename:(nullable NSString *)filename
|
|
395
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
396
|
+
reject:(nonnull RCTPromiseRejectBlock)reject)
|
|
397
|
+
{
|
|
398
|
+
[StripeSdkImpl.shared downloadAndShareFile:url
|
|
399
|
+
filename:filename
|
|
400
|
+
resolver:resolve
|
|
401
|
+
rejecter:reject];
|
|
402
|
+
}
|
|
403
|
+
|
|
404
|
+
RCT_EXPORT_METHOD(authWebViewDeepLinkHandled:(nonnull NSString *)id
|
|
405
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
406
|
+
reject:(nonnull RCTPromiseRejectBlock)reject)
|
|
407
|
+
{
|
|
408
|
+
// No-op for iOS since it doesn't have this issue
|
|
409
|
+
resolve(@[]);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
RCT_EXPORT_METHOD(storeStripeConnectDeepLink:(nonnull NSString *)url
|
|
413
|
+
resolve:(nonnull RCTPromiseResolveBlock)resolve
|
|
414
|
+
reject:(nonnull RCTPromiseRejectBlock)reject)
|
|
415
|
+
{
|
|
416
|
+
// No-op for iOS - iOS doesn't need this mechanism
|
|
417
|
+
resolve([NSNull null]);
|
|
418
|
+
}
|
|
419
|
+
|
|
420
|
+
RCT_EXPORT_METHOD(pollAndClearPendingStripeConnectUrls:(nonnull RCTPromiseResolveBlock)resolve
|
|
421
|
+
reject:(nonnull RCTPromiseRejectBlock)reject)
|
|
422
|
+
{
|
|
423
|
+
// No-op for iOS - iOS doesn't need this mechanism
|
|
424
|
+
resolve(@[]);
|
|
425
|
+
}
|
|
426
|
+
|
|
393
427
|
RCT_EXPORT_METHOD(verifyMicrodeposits:(BOOL)isPaymentIntent
|
|
394
428
|
clientSecret:(nonnull NSString *)clientSecret
|
|
395
429
|
params:(nonnull NSDictionary *)params
|
|
@@ -443,6 +477,12 @@ RCT_EXPORT_METHOD(customPaymentMethodResultCallback:(nonnull NSDictionary *)resu
|
|
|
443
477
|
[StripeSdkImpl.shared customPaymentMethodResultCallback:result resolver:resolve rejecter:reject];
|
|
444
478
|
}
|
|
445
479
|
|
|
480
|
+
RCT_EXPORT_METHOD(createRadarSession:(nonnull RCTPromiseResolveBlock)resolve
|
|
481
|
+
reject:(nonnull RCTPromiseRejectBlock)reject)
|
|
482
|
+
{
|
|
483
|
+
[StripeSdkImpl.shared createRadarSession:resolve rejecter:reject];
|
|
484
|
+
}
|
|
485
|
+
|
|
446
486
|
/* clang-format on */
|
|
447
487
|
|
|
448
488
|
#ifdef RCT_NEW_ARCH_ENABLED
|
|
@@ -20,6 +20,8 @@ import Foundation
|
|
|
20
20
|
func emitEmbeddedPaymentElementRowSelectionImmediateAction()
|
|
21
21
|
func emitEmbeddedPaymentElementLoadingFailed(_ value: [String: Any])
|
|
22
22
|
func emitOnCustomPaymentMethodConfirmHandlerCallback(_ value: [String: Any])
|
|
23
|
+
func emitPaymentMethodMessagingElementDidUpdateHeight(_ value: [String: Any])
|
|
24
|
+
func emitPaymentMethodMessagingElementConfigureResult(_ value: [String: Any])
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
@objc public protocol StripeOnrampSdkEmitter {
|
|
@@ -26,6 +26,7 @@ extension StripeSdkImpl {
|
|
|
26
26
|
defaultBillingDetails: params["defaultBillingDetails"] as? NSDictionary,
|
|
27
27
|
preferredNetworks: params["preferredNetworks"] as? [Int],
|
|
28
28
|
allowsRemovalOfLastSavedPaymentMethod: params["allowsRemovalOfLastSavedPaymentMethod"] as? Bool,
|
|
29
|
+
opensCardScannerAutomatically: params["opensCardScannerAutomatically"] as? Bool,
|
|
29
30
|
cardBrandAcceptance: StripeSdkImpl.computeCardBrandAcceptance(params: params)
|
|
30
31
|
)
|
|
31
32
|
} catch {
|
|
@@ -310,6 +310,10 @@ extension StripeSdkImpl {
|
|
|
310
310
|
configuration.paymentMethodOrder = paymentMethodOrder
|
|
311
311
|
}
|
|
312
312
|
|
|
313
|
+
if let opensCardScannerAutomatically = params["opensCardScannerAutomatically"] as? Bool {
|
|
314
|
+
configuration.opensCardScannerAutomatically = opensCardScannerAutomatically
|
|
315
|
+
}
|
|
316
|
+
|
|
313
317
|
configuration.cardBrandAcceptance = StripeSdkImpl.computeCardBrandAcceptance(params: params)
|
|
314
318
|
if let allowedCardFundingTypes = StripeSdkImpl.computeAllowedCardFundingTypes(params: params) {
|
|
315
319
|
configuration.allowedCardFundingTypes = allowedCardFundingTypes
|
|
@@ -122,6 +122,10 @@ extension StripeSdkImpl {
|
|
|
122
122
|
configuration.allowsRemovalOfLastSavedPaymentMethod = allowsRemovalOfLastSavedPaymentMethod
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
+
if let opensCardScannerAutomatically = params["opensCardScannerAutomatically"] as? Bool {
|
|
126
|
+
configuration.opensCardScannerAutomatically = opensCardScannerAutomatically
|
|
127
|
+
}
|
|
128
|
+
|
|
125
129
|
if let paymentMethodOrder = params["paymentMethodOrder"] as? [String] {
|
|
126
130
|
configuration.paymentMethodOrder = paymentMethodOrder
|
|
127
131
|
}
|
|
@@ -148,6 +152,11 @@ extension StripeSdkImpl {
|
|
|
148
152
|
)
|
|
149
153
|
}
|
|
150
154
|
|
|
155
|
+
let userKeyTermsDisplay = StripeSdkImpl.computeTermsDisplayForUserKey()
|
|
156
|
+
if !userKeyTermsDisplay.isEmpty {
|
|
157
|
+
configuration.termsDisplay = userKeyTermsDisplay
|
|
158
|
+
}
|
|
159
|
+
|
|
151
160
|
return (nil, configuration)
|
|
152
161
|
}
|
|
153
162
|
|
|
@@ -477,6 +486,13 @@ extension StripeSdkImpl {
|
|
|
477
486
|
}
|
|
478
487
|
}
|
|
479
488
|
|
|
489
|
+
internal static func computeTermsDisplayForUserKey() -> [STPPaymentMethodType: PaymentSheet.TermsDisplay] {
|
|
490
|
+
if STPAPIClient.shared.publishableKeyIsUserKey {
|
|
491
|
+
return [.card: .never]
|
|
492
|
+
}
|
|
493
|
+
return [:]
|
|
494
|
+
}
|
|
495
|
+
|
|
480
496
|
internal static func mapToLinkDisplay(value: String?) -> PaymentSheet.LinkConfiguration.Display {
|
|
481
497
|
switch value {
|
|
482
498
|
case "automatic":
|
package/ios/StripeSdkImpl.swift
CHANGED
|
@@ -2,8 +2,11 @@ import AuthenticationServices
|
|
|
2
2
|
import Foundation
|
|
3
3
|
import PassKit
|
|
4
4
|
@_spi(DashboardOnly) @_spi(STP) import Stripe
|
|
5
|
+
@_spi(STP) import StripeCore
|
|
5
6
|
import StripeFinancialConnections
|
|
6
7
|
@_spi(STP) @_spi(ConfirmationTokensPublicPreview) import StripePayments
|
|
8
|
+
import StripePaymentsUI
|
|
9
|
+
import UIKit
|
|
7
10
|
#if canImport(StripeCryptoOnramp)
|
|
8
11
|
@_spi(STP) import StripeCryptoOnramp
|
|
9
12
|
|
|
@@ -23,6 +26,18 @@ class ASWebAuthenticationPresentationContextProvider: NSObject, ASWebAuthenticat
|
|
|
23
26
|
}
|
|
24
27
|
}
|
|
25
28
|
|
|
29
|
+
// Helper to get device type identifier
|
|
30
|
+
private func getDeviceType() -> String {
|
|
31
|
+
var systemInfo = utsname()
|
|
32
|
+
uname(&systemInfo)
|
|
33
|
+
let machineMirror = Mirror(reflecting: systemInfo.machine)
|
|
34
|
+
let identifier = machineMirror.children.reduce("") { identifier, element in
|
|
35
|
+
guard let value = element.value as? Int8, value != 0 else { return identifier }
|
|
36
|
+
return identifier + String(UnicodeScalar(UInt8(value)))
|
|
37
|
+
}
|
|
38
|
+
return identifier.isEmpty ? UIDevice.current.model : identifier
|
|
39
|
+
}
|
|
40
|
+
|
|
26
41
|
@objc(StripeSdkImpl)
|
|
27
42
|
public class StripeSdkImpl: NSObject, UIAdaptivePresentationControllerDelegate {
|
|
28
43
|
@objc public static let shared = StripeSdkImpl()
|
|
@@ -104,6 +119,13 @@ public class StripeSdkImpl: NSObject, UIAdaptivePresentationControllerDelegate {
|
|
|
104
119
|
"CORE": STPAPIClient.apiVersion,
|
|
105
120
|
"ISSUING": STPAPIClient.apiVersion,
|
|
106
121
|
],
|
|
122
|
+
"SYSTEM_INFO": [
|
|
123
|
+
"sdkVersion": StripeAPIConfiguration.STPSDKVersion,
|
|
124
|
+
"osVersion": UIDevice.current.systemVersion,
|
|
125
|
+
"deviceType": getDeviceType(),
|
|
126
|
+
"appName": Bundle.stp_applicationName() ?? "",
|
|
127
|
+
"appVersion": Bundle.stp_applicationVersion() ?? "",
|
|
128
|
+
],
|
|
107
129
|
]
|
|
108
130
|
}
|
|
109
131
|
|
|
@@ -1213,6 +1235,26 @@ public class StripeSdkImpl: NSObject, UIAdaptivePresentationControllerDelegate {
|
|
|
1213
1235
|
#endif
|
|
1214
1236
|
}
|
|
1215
1237
|
|
|
1238
|
+
@objc(createRadarSession:rejecter:)
|
|
1239
|
+
public func createRadarSession(
|
|
1240
|
+
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
1241
|
+
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
1242
|
+
) {
|
|
1243
|
+
STPAPIClient.shared.createRadarSession { (session, error) in
|
|
1244
|
+
if let error = error as NSError? {
|
|
1245
|
+
resolve(Errors.createError(ErrorType.Failed, error))
|
|
1246
|
+
return
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1249
|
+
guard let session else {
|
|
1250
|
+
resolve(Errors.createError(ErrorType.Unknown, "Radar session not available"))
|
|
1251
|
+
return
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1254
|
+
resolve(["id": session.id])
|
|
1255
|
+
}
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1216
1258
|
#if canImport(StripeCryptoOnramp)
|
|
1217
1259
|
@objc(configureOnramp:resolver:rejecter:)
|
|
1218
1260
|
public func configureOnramp(
|
|
@@ -1915,6 +1957,96 @@ public class StripeSdkImpl: NSObject, UIAdaptivePresentationControllerDelegate {
|
|
|
1915
1957
|
}
|
|
1916
1958
|
}
|
|
1917
1959
|
|
|
1960
|
+
@objc(downloadAndShareFile:filename:resolver:rejecter:)
|
|
1961
|
+
public func downloadAndShareFile(
|
|
1962
|
+
url: String,
|
|
1963
|
+
filename: String?,
|
|
1964
|
+
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
1965
|
+
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
1966
|
+
) {
|
|
1967
|
+
guard let url = URL(string: url) else {
|
|
1968
|
+
resolve(["success": false, "error": "InvalidURL"])
|
|
1969
|
+
return
|
|
1970
|
+
}
|
|
1971
|
+
|
|
1972
|
+
let task = URLSession.shared.dataTask(with: url) { [weak self] data, _, error in
|
|
1973
|
+
if let error = error {
|
|
1974
|
+
resolve(["success": false, "error": "NetworkError", "message": error.localizedDescription])
|
|
1975
|
+
return
|
|
1976
|
+
}
|
|
1977
|
+
|
|
1978
|
+
guard let data = data else {
|
|
1979
|
+
resolve(["success": false, "error": "NoData"])
|
|
1980
|
+
return
|
|
1981
|
+
}
|
|
1982
|
+
|
|
1983
|
+
// Save to temp directory
|
|
1984
|
+
let tempDir = FileManager.default.temporaryDirectory
|
|
1985
|
+
let fileName = filename ?? "export.csv"
|
|
1986
|
+
let fileURL = tempDir
|
|
1987
|
+
.appendingPathComponent(fileName.replacingOccurrences(of: " ", with: "-"))
|
|
1988
|
+
.deletingPathExtension()
|
|
1989
|
+
.appendingPathExtension("csv")
|
|
1990
|
+
|
|
1991
|
+
do {
|
|
1992
|
+
try data.write(to: fileURL)
|
|
1993
|
+
|
|
1994
|
+
// Present share sheet on main thread
|
|
1995
|
+
DispatchQueue.main.async { [weak self] in
|
|
1996
|
+
guard let self = self else {
|
|
1997
|
+
// Avoid leaving temp files behind if module is gone
|
|
1998
|
+
try? FileManager.default.removeItem(at: fileURL)
|
|
1999
|
+
resolve(["success": false, "error": "ModuleDeallocated"])
|
|
2000
|
+
return
|
|
2001
|
+
}
|
|
2002
|
+
|
|
2003
|
+
self.presentShareSheet(fileURL: fileURL) { success in
|
|
2004
|
+
resolve([
|
|
2005
|
+
"success": success
|
|
2006
|
+
])
|
|
2007
|
+
}
|
|
2008
|
+
}
|
|
2009
|
+
} catch {
|
|
2010
|
+
resolve(["success": false, "error": "FileSystemError", "message": error.localizedDescription])
|
|
2011
|
+
}
|
|
2012
|
+
}
|
|
2013
|
+
task.resume()
|
|
2014
|
+
}
|
|
2015
|
+
|
|
2016
|
+
private func presentShareSheet(fileURL: URL, completion: @escaping (Bool) -> Void) {
|
|
2017
|
+
guard let rootViewController = RCTKeyWindow()?.rootViewController else {
|
|
2018
|
+
// Clean up temp file
|
|
2019
|
+
try? FileManager.default.removeItem(at: fileURL)
|
|
2020
|
+
completion(false)
|
|
2021
|
+
return
|
|
2022
|
+
}
|
|
2023
|
+
|
|
2024
|
+
let activityVC = UIActivityViewController(
|
|
2025
|
+
activityItems: [fileURL],
|
|
2026
|
+
applicationActivities: nil
|
|
2027
|
+
)
|
|
2028
|
+
|
|
2029
|
+
// iPad support
|
|
2030
|
+
if let popover = activityVC.popoverPresentationController {
|
|
2031
|
+
popover.sourceView = rootViewController.view
|
|
2032
|
+
popover.sourceRect = CGRect(
|
|
2033
|
+
x: rootViewController.view.bounds.midX,
|
|
2034
|
+
y: rootViewController.view.bounds.midY,
|
|
2035
|
+
width: 0,
|
|
2036
|
+
height: 0
|
|
2037
|
+
)
|
|
2038
|
+
popover.permittedArrowDirections = []
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
activityVC.completionWithItemsHandler = { _, completed, _, _ in
|
|
2042
|
+
// Clean up temp file after sharing is complete
|
|
2043
|
+
try? FileManager.default.removeItem(at: fileURL)
|
|
2044
|
+
completion(completed)
|
|
2045
|
+
}
|
|
2046
|
+
|
|
2047
|
+
rootViewController.present(activityVC, animated: true)
|
|
2048
|
+
}
|
|
2049
|
+
|
|
1918
2050
|
public func presentationControllerDidDismiss(_ presentationController: UIPresentationController) {
|
|
1919
2051
|
confirmPaymentResolver?(Errors.createError(ErrorType.Canceled, "FPX Payment has been canceled"))
|
|
1920
2052
|
}
|
package/jest/mock.js
CHANGED
|
@@ -376,3 +376,23 @@ module.exports = {
|
|
|
376
376
|
PlatformPayButton: () => 'PlatformPayButton',
|
|
377
377
|
useStripe: jest.fn(() => mockFunctions),
|
|
378
378
|
};
|
|
379
|
+
|
|
380
|
+
// Mock NativeStripeSdkModule with getConstants for system info
|
|
381
|
+
jest.mock('./src/specs/NativeStripeSdkModule', () => ({
|
|
382
|
+
default: {
|
|
383
|
+
getConstants: jest.fn(() => ({
|
|
384
|
+
API_VERSIONS: {
|
|
385
|
+
CORE: '2024-12-15',
|
|
386
|
+
ISSUING: '2024-12-15',
|
|
387
|
+
},
|
|
388
|
+
SYSTEM_INFO: {
|
|
389
|
+
sdkVersion: '1.0.0',
|
|
390
|
+
osVersion: '18.0',
|
|
391
|
+
deviceType: 'iPhone14,5',
|
|
392
|
+
appName: 'TestApp',
|
|
393
|
+
appVersion: '1.0.0',
|
|
394
|
+
},
|
|
395
|
+
})),
|
|
396
|
+
openAuthenticatedWebView: jest.fn(),
|
|
397
|
+
},
|
|
398
|
+
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_EmbeddedComponent","_NavigationBar","_NativeConnectAccountOnboardingView","_interopRequireDefault","_ConnectComponentsProvider","_jsxRuntime","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ConnectAccountOnboarding","_ref","title","onExit","onStepChange","recipientTermsOfServiceUrl","fullTermsOfServiceUrl","privacyPolicyUrl","collectionOptions","onLoaderStart","onLoadError","onPageDidLoad","_useState","useState","_useState2","_slicedToArray2","visible","setVisible","_useState3","_useState4","loading","setLoading","_useConnectComponents","useConnectComponents","appearance","backgroundColor","useMemo","_appearance$variables","variables","colorBackground","loadingIndicatorColor","_appearance$variables2","colorSecondaryText","componentProps","setFullTermsOfServiceUrl","setRecipientTermsOfServiceUrl","setPrivacyPolicyUrl","setCollectionOptions","onExitCallback","useCallback","setTimeout","callbacks","onCloseWebView","onLoaderStartCallback","event","_useWindowDimensions","useWindowDimensions","width","height","containerStyle","position","Platform","OS","jsxs","onExitAction","style","children","jsx","ActivityIndicator","size","color","styles","iosActivityIndicator","EmbeddedComponent","component","flex1","Modal","animationType","presentationStyle","SafeAreaView","View","paddingTop","StatusBar","currentHeight","NavigationBar","onCloseButtonPress","navBar","onboardingWrapper","activityIndicator","ConnectPayments","_ref2","defaultFilters","setDefaultFilters","ConnectPayouts","_ref3","ConnectPaymentDetails","_ref4","payment","onClose","setPayment","StyleSheet","create","flex","zIndex","left","right","top"],"sourceRoot":"../../../src","sources":["connect/Components.tsx"],"mappings":"8hBAAA,IAAAA,MAAA,CAAAC,uBAAA,CAAAC,OAAA,WACA,IAAAC,YAAA,CAAAD,OAAA,iBAgBA,IAAAE,kBAAA,CAAAF,OAAA,wBACA,IAAAG,cAAA,CAAAH,OAAA,oBACA,IAAAI,mCAAA,CAAAC,sBAAA,CAAAL,OAAA,iDACA,IAAAM,0BAAA,CAAAN,OAAA,gCAAmE,IAAAO,WAAA,CAAAP,OAAA,0BAAAQ,YAAA,8EAAAT,wBAAAU,CAAA,CAAAC,CAAA,wBAAAC,OAAA,KAAAC,CAAA,KAAAD,OAAA,GAAAE,CAAA,KAAAF,OAAA,UAAAZ,uBAAA,UAAAA,wBAAAU,CAAA,CAAAC,CAAA,MAAAA,CAAA,EAAAD,CAAA,EAAAA,CAAA,CAAAK,UAAA,QAAAL,CAAA,KAAAM,CAAA,CAAAC,CAAA,CAAAC,CAAA,EAAAC,SAAA,MAAAC,OAAA,CAAAV,CAAA,YAAAA,CAAA,mBAAAA,CAAA,qBAAAA,CAAA,QAAAQ,CAAA,IAAAF,CAAA,CAAAL,CAAA,CAAAG,CAAA,CAAAD,CAAA,KAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,SAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,EAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,CAAAQ,CAAA,WAAAM,EAAA,IAAAd,CAAA,aAAAc,EAAA,KAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,CAAAc,EAAA,KAAAP,CAAA,EAAAD,CAAA,CAAAW,MAAA,CAAAC,cAAA,GAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,CAAAc,EAAA,KAAAP,CAAA,CAAAK,GAAA,EAAAL,CAAA,CAAAM,GAAA,EAAAP,CAAA,CAAAE,CAAA,CAAAM,EAAA,CAAAP,CAAA,EAAAC,CAAA,CAAAM,EAAA,EAAAd,CAAA,CAAAc,EAAA,UAAAN,CAAA,IAAAR,CAAA,CAAAC,CAAA,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_EmbeddedComponent","_NavigationBar","_NativeConnectAccountOnboardingView","_interopRequireDefault","_ConnectComponentsProvider","_jsxRuntime","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ConnectAccountOnboarding","_ref","title","onExit","onStepChange","recipientTermsOfServiceUrl","fullTermsOfServiceUrl","privacyPolicyUrl","collectionOptions","onLoaderStart","onLoadError","onPageDidLoad","_useState","useState","_useState2","_slicedToArray2","visible","setVisible","_useState3","_useState4","loading","setLoading","_useConnectComponents","useConnectComponents","appearance","backgroundColor","useMemo","_appearance$variables","variables","colorBackground","loadingIndicatorColor","_appearance$variables2","colorSecondaryText","componentProps","setFullTermsOfServiceUrl","setRecipientTermsOfServiceUrl","setPrivacyPolicyUrl","setCollectionOptions","onExitCallback","useCallback","setTimeout","callbacks","onCloseWebView","onLoaderStartCallback","event","_useWindowDimensions","useWindowDimensions","width","height","containerStyle","position","Platform","OS","jsxs","onExitAction","style","children","jsx","ActivityIndicator","size","color","styles","iosActivityIndicator","EmbeddedComponent","component","flex1","Modal","animationType","presentationStyle","SafeAreaView","View","paddingTop","StatusBar","currentHeight","NavigationBar","onCloseButtonPress","navBar","onboardingWrapper","activityIndicator","ConnectPayments","_ref2","defaultFilters","setDefaultFilters","ConnectPayouts","_ref3","ConnectPaymentDetails","_ref4","payment","onClose","setPayment","StyleSheet","create","flex","zIndex","left","right","top"],"sourceRoot":"../../../src","sources":["connect/Components.tsx"],"mappings":"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","ignoreList":[]}
|