react-native-klarna-inapp-sdk 2.2.5 → 2.3.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/README.md +3 -2
- package/android/build.gradle +10 -10
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/KlarnaMobileSDKPackage.java +3 -1
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/checkout/KlarnaCheckoutViewEventHandler.java +32 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/checkout/KlarnaCheckoutViewEventSender.java +56 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/checkout/KlarnaCheckoutViewManager.java +147 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/WebViewResizeObserver.java +59 -19
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/event/ComponentEvent.java +37 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/event/ComponentEventSender.java +78 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/event/KlarnaEventHandlerEventsUtil.java +53 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/ui/ResizeObserverWrapperView.java +79 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/ui/WrapperView.java +32 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/{ArgumentsUtil.java → util/ArgumentsUtil.java} +1 -1
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/util/ParserUtil.java +36 -0
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/payments/KlarnaPaymentViewManager.java +1 -1
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/payments/PaymentViewWrapper.java +1 -1
- package/android/src/main/java/com/klarna/mobile/sdk/reactnative/standalonewebview/KlarnaStandaloneWebViewEventSender.java +1 -1
- package/android/src/newarch/java/com/klarna/mobile/sdk/reactnative/spec/RNKlarnaCheckoutViewSpec.java +31 -0
- package/android/src/oldarch/java/com/klarna/mobile/sdk/reactnative/spec/RNKlarnaCheckoutViewSpec.java +20 -0
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/KlarnaMobileSDKPackageTest.java +3 -1
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/common/event/ComponentEventSenderTest.java +85 -0
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/common/event/ComponentEventTest.java +73 -0
- package/android/src/test/java/com/klarna/mobile/sdk/reactnative/common/event/KlarnaEventHandlerEventsUtilTest.java +61 -0
- package/ios/RNKlarnaMobileSDK.xcodeproj/project.pbxproj +32 -0
- package/ios/Sources/KlarnaCheckoutViewManager.h +5 -0
- package/ios/Sources/KlarnaCheckoutViewManager.mm +65 -0
- package/ios/Sources/common/RNMobileSDKUtils.h +6 -0
- package/ios/Sources/common/RNMobileSDKUtils.mm +22 -0
- package/ios/Sources/view/newarch/KlarnaCheckoutViewWrapper.h +26 -0
- package/ios/Sources/view/newarch/KlarnaCheckoutViewWrapper.mm +153 -0
- package/ios/Sources/view/oldarch/KlarnaCheckoutViewWrapper.h +37 -0
- package/ios/Sources/view/oldarch/KlarnaCheckoutViewWrapper.mm +116 -0
- package/lib/commonjs/KlarnaCheckoutView.js +84 -0
- package/lib/commonjs/KlarnaCheckoutView.js.map +1 -0
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/specs/KlarnaCheckoutViewNativeComponent.js +16 -0
- package/lib/commonjs/specs/KlarnaCheckoutViewNativeComponent.js.map +1 -0
- package/lib/commonjs/types/common/KlarnaMobileSDKError.js +2 -0
- package/lib/commonjs/types/common/KlarnaMobileSDKError.js.map +1 -0
- package/lib/commonjs/types/common/KlarnaProductEvent.js +2 -0
- package/lib/commonjs/types/common/KlarnaProductEvent.js.map +1 -0
- package/lib/module/KlarnaCheckoutView.js +74 -0
- package/lib/module/KlarnaCheckoutView.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/specs/KlarnaCheckoutViewNativeComponent.js +7 -0
- package/lib/module/specs/KlarnaCheckoutViewNativeComponent.js.map +1 -0
- package/lib/module/types/common/KlarnaMobileSDKError.js +2 -0
- package/lib/module/types/common/KlarnaMobileSDKError.js.map +1 -0
- package/lib/module/types/common/KlarnaProductEvent.js +2 -0
- package/lib/module/types/common/KlarnaProductEvent.js.map +1 -0
- package/lib/typescript/KlarnaCheckoutView.d.ts +24 -0
- package/lib/typescript/KlarnaCheckoutView.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/specs/KlarnaCheckoutViewNativeComponent.d.ts +33 -0
- package/lib/typescript/specs/KlarnaCheckoutViewNativeComponent.d.ts.map +1 -0
- package/lib/typescript/types/common/KlarnaMobileSDKError.d.ts +6 -0
- package/lib/typescript/types/common/KlarnaMobileSDKError.d.ts.map +1 -0
- package/lib/typescript/types/common/KlarnaProductEvent.d.ts +7 -0
- package/lib/typescript/types/common/KlarnaProductEvent.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/KlarnaCheckoutView.tsx +130 -0
- package/src/index.tsx +1 -0
- package/src/specs/KlarnaCheckoutViewNativeComponent.ts +58 -0
- package/src/types/common/KlarnaMobileSDKError.ts +5 -0
- package/src/types/common/KlarnaProductEvent.ts +4 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
#if RCT_NEW_ARCH_ENABLED
|
|
2
|
+
|
|
3
|
+
#import "KlarnaCheckoutViewWrapper.h"
|
|
4
|
+
#import "../../common/RNMobileSDKUtils.h"
|
|
5
|
+
|
|
6
|
+
#import <AVFoundation/AVFoundation.h>
|
|
7
|
+
#import <KlarnaMobileSDK/KlarnaMobileSDK-Swift.h>
|
|
8
|
+
#import <React/RCTLog.h>
|
|
9
|
+
|
|
10
|
+
#import <react/renderer/components/RNKlarnaMobileSDK/ComponentDescriptors.h>
|
|
11
|
+
#import <react/renderer/components/RNKlarnaMobileSDK/EventEmitters.h>
|
|
12
|
+
#import <react/renderer/components/RNKlarnaMobileSDK/Props.h>
|
|
13
|
+
#import <react/renderer/components/RNKlarnaMobileSDK/RCTComponentViewHelpers.h>
|
|
14
|
+
|
|
15
|
+
#import "RCTFabricComponentsPlugins.h"
|
|
16
|
+
|
|
17
|
+
using namespace facebook::react;
|
|
18
|
+
|
|
19
|
+
@interface KlarnaCheckoutViewWrapper () <KlarnaEventHandler, KlarnaSizingDelegate, RCTRNKlarnaCheckoutViewViewProtocol>
|
|
20
|
+
|
|
21
|
+
@property (nonatomic, strong) KlarnaCheckoutView* actualCheckoutView;
|
|
22
|
+
|
|
23
|
+
@end
|
|
24
|
+
|
|
25
|
+
@implementation KlarnaCheckoutViewWrapper
|
|
26
|
+
|
|
27
|
+
#pragma mark - RN Klarna Checout View
|
|
28
|
+
|
|
29
|
+
- (instancetype)initWithFrame:(CGRect)frame
|
|
30
|
+
{
|
|
31
|
+
self = [super initWithFrame:frame];
|
|
32
|
+
if (self) {
|
|
33
|
+
static const auto defaultProps = std::make_shared<const RNKlarnaCheckoutViewProps>();
|
|
34
|
+
_props = defaultProps;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
return self;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
+ (ComponentDescriptorProvider)componentDescriptorProvider
|
|
41
|
+
{
|
|
42
|
+
return concreteComponentDescriptorProvider<RNKlarnaCheckoutViewComponentDescriptor>();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
Class<RCTComponentViewProtocol> RNKlarnaCheckoutViewCls(void)
|
|
46
|
+
{
|
|
47
|
+
return KlarnaCheckoutViewWrapper.class;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
- (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args {
|
|
51
|
+
RCTRNKlarnaCheckoutViewHandleCommand(self, commandName, args);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
#pragma mark - RN Klarna Checout View Props
|
|
55
|
+
|
|
56
|
+
- (void)updateProps:(const facebook::react::Props::Shared &)props oldProps:(const facebook::react::Props::Shared &)oldProps {
|
|
57
|
+
const auto &oldViewProps = *std::static_pointer_cast<RNKlarnaCheckoutViewProps const>(_props);
|
|
58
|
+
const auto &newViewProps = *std::static_pointer_cast<RNKlarnaCheckoutViewProps const>(props);
|
|
59
|
+
|
|
60
|
+
if (oldViewProps.returnUrl != newViewProps.returnUrl) {
|
|
61
|
+
NSString * newReturnUrl = [[NSString alloc] initWithUTF8String: newViewProps.returnUrl.c_str()];
|
|
62
|
+
if (self.actualCheckoutView != nil) {
|
|
63
|
+
self.actualCheckoutView.returnURL = [NSURL URLWithString:newReturnUrl];
|
|
64
|
+
} else {
|
|
65
|
+
[self initializeActualCheckoutView:newReturnUrl];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
[super updateProps:props oldProps:oldProps];
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
#pragma mark - RN Klarna Checout View Methods
|
|
74
|
+
|
|
75
|
+
- (void)initializeActualCheckoutView:(NSString*)returnUrl {
|
|
76
|
+
self.actualCheckoutView = [[KlarnaCheckoutView alloc] initWithReturnURL:[NSURL URLWithString:returnUrl] eventHandler:self];
|
|
77
|
+
self.actualCheckoutView.sizingDelegate = self;
|
|
78
|
+
|
|
79
|
+
self.actualCheckoutView.translatesAutoresizingMaskIntoConstraints = NO;
|
|
80
|
+
|
|
81
|
+
[self addSubview:self.actualCheckoutView];
|
|
82
|
+
|
|
83
|
+
[NSLayoutConstraint activateConstraints:[[NSArray alloc] initWithObjects:
|
|
84
|
+
[self.actualCheckoutView.topAnchor constraintEqualToAnchor:self.topAnchor],
|
|
85
|
+
[self.actualCheckoutView.bottomAnchor constraintEqualToAnchor:self.bottomAnchor],
|
|
86
|
+
[self.actualCheckoutView.leadingAnchor constraintEqualToAnchor:self.leadingAnchor],
|
|
87
|
+
[self.actualCheckoutView.trailingAnchor constraintEqualToAnchor:self.trailingAnchor], nil
|
|
88
|
+
]];
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
- (void)setSnippet:(NSString *)snippet {
|
|
92
|
+
[self.actualCheckoutView setSnippet:snippet];
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
- (void)suspend {
|
|
96
|
+
[self.actualCheckoutView suspend];
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
- (void)resume {
|
|
100
|
+
[self.actualCheckoutView resume];
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
#pragma mark - KlarnaEventHandler
|
|
104
|
+
|
|
105
|
+
- (void)klarnaComponent:(id<KlarnaComponent>)klarnaComponent dispatchedEvent:(KlarnaProductEvent *)event {
|
|
106
|
+
if (_eventEmitter) {
|
|
107
|
+
RCTLogInfo(@"Sending onEvent event");
|
|
108
|
+
NSString *serializedParams = [SerializationUtil serializeDictionaryToJsonString:[event getParams]];
|
|
109
|
+
std::dynamic_pointer_cast<const RNKlarnaCheckoutViewEventEmitter>(_eventEmitter)
|
|
110
|
+
->onEvent(RNKlarnaCheckoutViewEventEmitter::OnEvent{
|
|
111
|
+
.productEvent = {
|
|
112
|
+
.action = std::string([event.action UTF8String]),
|
|
113
|
+
.params = std::string([serializedParams UTF8String]),
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
} else {
|
|
117
|
+
RCTLogInfo(@"_eventEmitter is nil!");
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
- (void)klarnaComponent:(id<KlarnaComponent>)klarnaComponent encounteredError:(KlarnaError *)error {
|
|
122
|
+
if (_eventEmitter) {
|
|
123
|
+
RCTLogInfo(@"Sending onEvent event");
|
|
124
|
+
std::dynamic_pointer_cast<const RNKlarnaCheckoutViewEventEmitter>(_eventEmitter)
|
|
125
|
+
->onError(RNKlarnaCheckoutViewEventEmitter::OnError{
|
|
126
|
+
.error = {
|
|
127
|
+
.name = std::string([error.name UTF8String]),
|
|
128
|
+
.message = std::string([error.message UTF8String]),
|
|
129
|
+
.isFatal = error.isFatal,
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
} else {
|
|
133
|
+
RCTLogInfo(@"_eventEmitter is nil!");
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
#pragma mark - KlarnaSizingDelegate
|
|
138
|
+
|
|
139
|
+
- (void)klarnaComponent:(id<KlarnaComponent>)klarnaComponent resizedToHeight:(CGFloat)height {
|
|
140
|
+
if (_eventEmitter) {
|
|
141
|
+
RCTLogInfo(@"Sending onResized event");
|
|
142
|
+
std::dynamic_pointer_cast<const RNKlarnaCheckoutViewEventEmitter>(_eventEmitter)
|
|
143
|
+
->onResized(RNKlarnaCheckoutViewEventEmitter::OnResized{
|
|
144
|
+
.height = std::string([[[NSNumber numberWithFloat:height] stringValue] UTF8String]),
|
|
145
|
+
});
|
|
146
|
+
} else {
|
|
147
|
+
RCTLogInfo(@"_eventEmitter is nil!");
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
@end
|
|
152
|
+
|
|
153
|
+
#endif
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#if !RCT_NEW_ARCH_ENABLED
|
|
2
|
+
|
|
3
|
+
#import <React/RCTUIManager.h>
|
|
4
|
+
|
|
5
|
+
#import <AVFoundation/AVFoundation.h>
|
|
6
|
+
#import <UIKit/UIKit.h>
|
|
7
|
+
#import <React/RCTView.h>
|
|
8
|
+
#import <React/RCTUIManager.h>
|
|
9
|
+
|
|
10
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
11
|
+
|
|
12
|
+
@interface KlarnaCheckoutViewWrapper : UIView
|
|
13
|
+
|
|
14
|
+
@property (nonatomic, copy) RCTDirectEventBlock onEvent;
|
|
15
|
+
@property (nonatomic, copy) RCTDirectEventBlock onError;
|
|
16
|
+
@property (nonatomic, copy) RCTDirectEventBlock onResized;
|
|
17
|
+
|
|
18
|
+
@property (nonatomic, strong) NSString* returnUrl;
|
|
19
|
+
|
|
20
|
+
#pragma mark - React Native Overrides
|
|
21
|
+
- (void) setReturnUrl:(NSString * _Nonnull)returnUrl;
|
|
22
|
+
- (void) evaluateProps;
|
|
23
|
+
- (void) initializeActualCheckoutView;
|
|
24
|
+
|
|
25
|
+
@property (nonatomic, weak) RCTUIManager* uiManager;
|
|
26
|
+
|
|
27
|
+
- (void)setSnippet:(NSString*)snippet;
|
|
28
|
+
|
|
29
|
+
- (void)suspend;
|
|
30
|
+
|
|
31
|
+
- (void)resume;
|
|
32
|
+
|
|
33
|
+
@end
|
|
34
|
+
|
|
35
|
+
NS_ASSUME_NONNULL_END
|
|
36
|
+
|
|
37
|
+
#endif
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
#if !RCT_NEW_ARCH_ENABLED
|
|
2
|
+
|
|
3
|
+
#import "KlarnaCheckoutViewWrapper.h"
|
|
4
|
+
#import "../../common/RNMobileSDKUtils.h"
|
|
5
|
+
|
|
6
|
+
#import <KlarnaMobileSDK/KlarnaMobileSDK-Swift.h>
|
|
7
|
+
#import <React/RCTLog.h>
|
|
8
|
+
|
|
9
|
+
@interface KlarnaCheckoutViewWrapper () <KlarnaEventHandler, KlarnaSizingDelegate>
|
|
10
|
+
|
|
11
|
+
@property (nonatomic, strong) KlarnaCheckoutView* actualCheckoutView;
|
|
12
|
+
|
|
13
|
+
@end
|
|
14
|
+
|
|
15
|
+
@implementation KlarnaCheckoutViewWrapper
|
|
16
|
+
|
|
17
|
+
#pragma mark - React Native Overrides
|
|
18
|
+
|
|
19
|
+
- (void) setReturnUrl:(NSString *)returnUrl {
|
|
20
|
+
_returnUrl = returnUrl;
|
|
21
|
+
if (returnUrl.length > 0) {
|
|
22
|
+
self.actualCheckoutView.returnURL = [NSURL URLWithString:self.returnUrl];
|
|
23
|
+
}
|
|
24
|
+
[self evaluateProps];
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
- (void) evaluateProps {
|
|
28
|
+
[self initializeActualCheckoutView];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
- (void) initializeActualCheckoutView {
|
|
32
|
+
self.actualCheckoutView = [[KlarnaCheckoutView alloc] initWithReturnURL:[NSURL URLWithString:self.returnUrl] eventHandler:self];
|
|
33
|
+
self.actualCheckoutView.sizingDelegate = self;
|
|
34
|
+
|
|
35
|
+
self.actualCheckoutView.translatesAutoresizingMaskIntoConstraints = NO;
|
|
36
|
+
|
|
37
|
+
[self addSubview:self.actualCheckoutView];
|
|
38
|
+
|
|
39
|
+
[NSLayoutConstraint activateConstraints:[[NSArray alloc] initWithObjects:
|
|
40
|
+
[self.actualCheckoutView.topAnchor constraintEqualToAnchor:self.topAnchor],
|
|
41
|
+
[self.actualCheckoutView.bottomAnchor constraintEqualToAnchor:self.bottomAnchor],
|
|
42
|
+
[self.actualCheckoutView.leadingAnchor constraintEqualToAnchor:self.leadingAnchor],
|
|
43
|
+
[self.actualCheckoutView.trailingAnchor constraintEqualToAnchor:self.trailingAnchor], nil
|
|
44
|
+
]];
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
- (void)layoutSubviews {
|
|
48
|
+
[super layoutSubviews];
|
|
49
|
+
self.actualCheckoutView.frame = self.bounds;
|
|
50
|
+
[self.actualCheckoutView layoutSubviews];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
#pragma mark - KlarnaCheckoutView Methods
|
|
54
|
+
|
|
55
|
+
- (void)setSnippet:(NSString *)snippet {
|
|
56
|
+
[self.actualCheckoutView setSnippet:snippet];
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
- (void)suspend {
|
|
60
|
+
[self.actualCheckoutView suspend];
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
- (void)resume {
|
|
64
|
+
[self.actualCheckoutView resume];
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
#pragma mark - KlarnaEventHandler
|
|
69
|
+
|
|
70
|
+
- (void)klarnaComponent:(id<KlarnaComponent>)klarnaComponent dispatchedEvent:(KlarnaProductEvent *)event {
|
|
71
|
+
if (!self.onEvent) {
|
|
72
|
+
RCTLog(@"Missing 'onEvent' callback prop.");
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
NSString *serializedParams = [SerializationUtil serializeDictionaryToJsonString:[event getParams]];
|
|
77
|
+
|
|
78
|
+
self.onEvent(@{
|
|
79
|
+
@"productEvent": @{
|
|
80
|
+
@"action": event.action,
|
|
81
|
+
@"params": serializedParams,
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
- (void)klarnaComponent:(id<KlarnaComponent>)klarnaComponent encounteredError:(KlarnaError *)error {
|
|
87
|
+
if (!self.onError) {
|
|
88
|
+
RCTLog(@"Missing 'onError' callback prop.");
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
self.onError(@{
|
|
93
|
+
@"error": @{
|
|
94
|
+
@"name": error.name,
|
|
95
|
+
@"message": error.message,
|
|
96
|
+
@"isFatal": [NSNumber numberWithBool:error.isFatal],
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
#pragma mark - KlarnaSizingDelegate
|
|
102
|
+
|
|
103
|
+
- (void)klarnaComponent:(id<KlarnaComponent>)klarnaComponent resizedToHeight:(CGFloat)height {
|
|
104
|
+
if (!self.onResized) {
|
|
105
|
+
RCTLog(@"Missing 'onResized' callback prop.");
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
self.onResized(@{
|
|
110
|
+
@"height": [[NSNumber numberWithFloat:height] stringValue]
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
@end
|
|
115
|
+
|
|
116
|
+
#endif
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.KlarnaCheckoutView = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _KlarnaCheckoutViewNativeComponent = _interopRequireWildcard(require("./specs/KlarnaCheckoutViewNativeComponent"));
|
|
9
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
10
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
11
|
+
class KlarnaCheckoutView extends _react.Component {
|
|
12
|
+
constructor(props) {
|
|
13
|
+
super(props);
|
|
14
|
+
this.state = {
|
|
15
|
+
nativeViewHeight: 0
|
|
16
|
+
};
|
|
17
|
+
this.checkoutViewRef = /*#__PURE__*/_react.default.createRef();
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement(_KlarnaCheckoutViewNativeComponent.default, {
|
|
21
|
+
ref: this.checkoutViewRef
|
|
22
|
+
/* eslint-disable-next-line react-native/no-inline-styles */,
|
|
23
|
+
style: {
|
|
24
|
+
width: '100%',
|
|
25
|
+
height: this.state.nativeViewHeight
|
|
26
|
+
},
|
|
27
|
+
returnUrl: this.props.returnUrl || '',
|
|
28
|
+
onEvent: event => {
|
|
29
|
+
var _this$props$onEvent, _this$props;
|
|
30
|
+
let params = {};
|
|
31
|
+
try {
|
|
32
|
+
params = JSON.parse(event.nativeEvent.productEvent.params);
|
|
33
|
+
} catch (e) {
|
|
34
|
+
console.error('Failed to parse productEvent.params', e);
|
|
35
|
+
}
|
|
36
|
+
const productEvent = {
|
|
37
|
+
action: event.nativeEvent.productEvent.action,
|
|
38
|
+
params: params
|
|
39
|
+
};
|
|
40
|
+
(_this$props$onEvent = (_this$props = this.props).onEvent) === null || _this$props$onEvent === void 0 || _this$props$onEvent.call(_this$props, productEvent);
|
|
41
|
+
},
|
|
42
|
+
onError: event => {
|
|
43
|
+
var _this$props$onError, _this$props2;
|
|
44
|
+
const mobileSdkError = {
|
|
45
|
+
isFatal: event.nativeEvent.error.isFatal,
|
|
46
|
+
message: event.nativeEvent.error.message,
|
|
47
|
+
name: event.nativeEvent.error.name
|
|
48
|
+
};
|
|
49
|
+
(_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 || _this$props$onError.call(_this$props2, mobileSdkError);
|
|
50
|
+
},
|
|
51
|
+
onResized: event => {
|
|
52
|
+
const newHeight = Number(event.nativeEvent.height);
|
|
53
|
+
if (newHeight !== this.state.nativeViewHeight) {
|
|
54
|
+
console.log('onResized', newHeight);
|
|
55
|
+
this.setState({
|
|
56
|
+
nativeViewHeight: newHeight
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
setSnippet = snippet => {
|
|
63
|
+
const view = this.checkoutViewRef.current;
|
|
64
|
+
if (view != null) {
|
|
65
|
+
_KlarnaCheckoutViewNativeComponent.RNKlarnaCheckoutViewCommands.setSnippet(view, snippet);
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
suspend = () => {
|
|
69
|
+
const view = this.checkoutViewRef.current;
|
|
70
|
+
if (view != null) {
|
|
71
|
+
_KlarnaCheckoutViewNativeComponent.RNKlarnaCheckoutViewCommands.suspend(view);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
resume = () => {
|
|
75
|
+
const view = this.checkoutViewRef.current;
|
|
76
|
+
if (view != null) {
|
|
77
|
+
_KlarnaCheckoutViewNativeComponent.RNKlarnaCheckoutViewCommands.resume(view);
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
exports.KlarnaCheckoutView = KlarnaCheckoutView;
|
|
82
|
+
var _default = KlarnaCheckoutView;
|
|
83
|
+
exports.default = _default;
|
|
84
|
+
//# sourceMappingURL=KlarnaCheckoutView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_KlarnaCheckoutViewNativeComponent","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","KlarnaCheckoutView","Component","constructor","props","state","nativeViewHeight","checkoutViewRef","React","createRef","render","createElement","ref","style","width","height","returnUrl","onEvent","event","_this$props$onEvent","_this$props","params","JSON","parse","nativeEvent","productEvent","e","console","error","action","onError","_this$props$onError","_this$props2","mobileSdkError","isFatal","message","name","onResized","newHeight","Number","log","setState","setSnippet","snippet","view","current","RNKlarnaCheckoutViewCommands","suspend","resume","exports","_default"],"sourceRoot":"../../src","sources":["KlarnaCheckoutView.tsx"],"mappings":"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"}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -25,4 +25,15 @@ Object.keys(_KlarnaStandaloneWebView).forEach(function (key) {
|
|
|
25
25
|
}
|
|
26
26
|
});
|
|
27
27
|
});
|
|
28
|
+
var _KlarnaCheckoutView = require("./KlarnaCheckoutView");
|
|
29
|
+
Object.keys(_KlarnaCheckoutView).forEach(function (key) {
|
|
30
|
+
if (key === "default" || key === "__esModule") return;
|
|
31
|
+
if (key in exports && exports[key] === _KlarnaCheckoutView[key]) return;
|
|
32
|
+
Object.defineProperty(exports, key, {
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () {
|
|
35
|
+
return _KlarnaCheckoutView[key];
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
});
|
|
28
39
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_KlarnaPaymentView","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_KlarnaStandaloneWebView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,kBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,wBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,wBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,wBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,wBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"names":["_KlarnaPaymentView","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_KlarnaStandaloneWebView","_KlarnaCheckoutView"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;AAAA,IAAAA,kBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,kBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,kBAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,kBAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,wBAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,wBAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,wBAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,wBAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,mBAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,mBAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,mBAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,mBAAA,CAAAN,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.RNKlarnaCheckoutViewCommands = void 0;
|
|
7
|
+
var _codegenNativeCommands = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeCommands"));
|
|
8
|
+
var _codegenNativeComponent = _interopRequireDefault(require("react-native/Libraries/Utilities/codegenNativeComponent"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
const RNKlarnaCheckoutViewCommands = (0, _codegenNativeCommands.default)({
|
|
11
|
+
supportedCommands: ['setSnippet', 'suspend', 'resume']
|
|
12
|
+
});
|
|
13
|
+
exports.RNKlarnaCheckoutViewCommands = RNKlarnaCheckoutViewCommands;
|
|
14
|
+
var _default = (0, _codegenNativeComponent.default)('RNKlarnaCheckoutView');
|
|
15
|
+
exports.default = _default;
|
|
16
|
+
//# sourceMappingURL=KlarnaCheckoutViewNativeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_codegenNativeCommands","_interopRequireDefault","require","_codegenNativeComponent","obj","__esModule","default","RNKlarnaCheckoutViewCommands","codegenNativeCommands","supportedCommands","exports","_default","codegenNativeComponent"],"sourceRoot":"../../../src","sources":["specs/KlarnaCheckoutViewNativeComponent.ts"],"mappings":";;;;;;AAIA,IAAAA,sBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAF,sBAAA,CAAAC,OAAA;AAA6F,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AA6CtF,MAAMG,4BAAgE,GAC3E,IAAAC,8BAAqB,EAAqC;EACxDC,iBAAiB,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ;AACvD,CAAC,CAAC;AAACC,OAAA,CAAAH,4BAAA,GAAAA,4BAAA;AAAA,IAAAI,QAAA,GAEU,IAAAC,+BAAsB,EACnC,sBACF,CAAC;AAAAF,OAAA,CAAAJ,OAAA,GAAAK,QAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["types/common/KlarnaMobileSDKError.ts"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["types/common/KlarnaProductEvent.ts"],"mappings":""}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
import RNKlarnaCheckoutView, { RNKlarnaCheckoutViewCommands } from './specs/KlarnaCheckoutViewNativeComponent';
|
|
3
|
+
export class KlarnaCheckoutView extends Component {
|
|
4
|
+
constructor(props) {
|
|
5
|
+
super(props);
|
|
6
|
+
this.state = {
|
|
7
|
+
nativeViewHeight: 0
|
|
8
|
+
};
|
|
9
|
+
this.checkoutViewRef = /*#__PURE__*/React.createRef();
|
|
10
|
+
}
|
|
11
|
+
render() {
|
|
12
|
+
return /*#__PURE__*/React.createElement(RNKlarnaCheckoutView, {
|
|
13
|
+
ref: this.checkoutViewRef
|
|
14
|
+
/* eslint-disable-next-line react-native/no-inline-styles */,
|
|
15
|
+
style: {
|
|
16
|
+
width: '100%',
|
|
17
|
+
height: this.state.nativeViewHeight
|
|
18
|
+
},
|
|
19
|
+
returnUrl: this.props.returnUrl || '',
|
|
20
|
+
onEvent: event => {
|
|
21
|
+
var _this$props$onEvent, _this$props;
|
|
22
|
+
let params = {};
|
|
23
|
+
try {
|
|
24
|
+
params = JSON.parse(event.nativeEvent.productEvent.params);
|
|
25
|
+
} catch (e) {
|
|
26
|
+
console.error('Failed to parse productEvent.params', e);
|
|
27
|
+
}
|
|
28
|
+
const productEvent = {
|
|
29
|
+
action: event.nativeEvent.productEvent.action,
|
|
30
|
+
params: params
|
|
31
|
+
};
|
|
32
|
+
(_this$props$onEvent = (_this$props = this.props).onEvent) === null || _this$props$onEvent === void 0 || _this$props$onEvent.call(_this$props, productEvent);
|
|
33
|
+
},
|
|
34
|
+
onError: event => {
|
|
35
|
+
var _this$props$onError, _this$props2;
|
|
36
|
+
const mobileSdkError = {
|
|
37
|
+
isFatal: event.nativeEvent.error.isFatal,
|
|
38
|
+
message: event.nativeEvent.error.message,
|
|
39
|
+
name: event.nativeEvent.error.name
|
|
40
|
+
};
|
|
41
|
+
(_this$props$onError = (_this$props2 = this.props).onError) === null || _this$props$onError === void 0 || _this$props$onError.call(_this$props2, mobileSdkError);
|
|
42
|
+
},
|
|
43
|
+
onResized: event => {
|
|
44
|
+
const newHeight = Number(event.nativeEvent.height);
|
|
45
|
+
if (newHeight !== this.state.nativeViewHeight) {
|
|
46
|
+
console.log('onResized', newHeight);
|
|
47
|
+
this.setState({
|
|
48
|
+
nativeViewHeight: newHeight
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
setSnippet = snippet => {
|
|
55
|
+
const view = this.checkoutViewRef.current;
|
|
56
|
+
if (view != null) {
|
|
57
|
+
RNKlarnaCheckoutViewCommands.setSnippet(view, snippet);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
suspend = () => {
|
|
61
|
+
const view = this.checkoutViewRef.current;
|
|
62
|
+
if (view != null) {
|
|
63
|
+
RNKlarnaCheckoutViewCommands.suspend(view);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
resume = () => {
|
|
67
|
+
const view = this.checkoutViewRef.current;
|
|
68
|
+
if (view != null) {
|
|
69
|
+
RNKlarnaCheckoutViewCommands.resume(view);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
export default KlarnaCheckoutView;
|
|
74
|
+
//# sourceMappingURL=KlarnaCheckoutView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Component","RNKlarnaCheckoutView","RNKlarnaCheckoutViewCommands","KlarnaCheckoutView","constructor","props","state","nativeViewHeight","checkoutViewRef","createRef","render","createElement","ref","style","width","height","returnUrl","onEvent","event","_this$props$onEvent","_this$props","params","JSON","parse","nativeEvent","productEvent","e","console","error","action","call","onError","_this$props$onError","_this$props2","mobileSdkError","isFatal","message","name","onResized","newHeight","Number","log","setState","setSnippet","snippet","view","current","suspend","resume"],"sourceRoot":"../../src","sources":["KlarnaCheckoutView.tsx"],"mappings":"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"}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,qBAAqB;AACnC,cAAc,2BAA2B"}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,cAAc,qBAAqB;AACnC,cAAc,2BAA2B;AACzC,cAAc,sBAAsB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import codegenNativeCommands from 'react-native/Libraries/Utilities/codegenNativeCommands';
|
|
2
|
+
import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
|
|
3
|
+
export const RNKlarnaCheckoutViewCommands = codegenNativeCommands({
|
|
4
|
+
supportedCommands: ['setSnippet', 'suspend', 'resume']
|
|
5
|
+
});
|
|
6
|
+
export default codegenNativeComponent('RNKlarnaCheckoutView');
|
|
7
|
+
//# sourceMappingURL=KlarnaCheckoutViewNativeComponent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["codegenNativeCommands","codegenNativeComponent","RNKlarnaCheckoutViewCommands","supportedCommands"],"sourceRoot":"../../../src","sources":["specs/KlarnaCheckoutViewNativeComponent.ts"],"mappings":"AAIA,OAAOA,qBAAqB,MAAM,wDAAwD;AAC1F,OAAOC,sBAAsB,MAAM,yDAAyD;AA6C5F,OAAO,MAAMC,4BAAgE,GAC3EF,qBAAqB,CAAqC;EACxDG,iBAAiB,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ;AACvD,CAAC,CAAC;AAEJ,eAAeF,sBAAsB,CACnC,sBACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["types/common/KlarnaMobileSDKError.ts"],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["types/common/KlarnaProductEvent.ts"],"mappings":""}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { Component, type RefObject } from 'react';
|
|
2
|
+
import type { NativeMethods, ViewStyle } from 'react-native';
|
|
3
|
+
import type { KlarnaProductEvent } from './types/common/KlarnaProductEvent';
|
|
4
|
+
import type { KlarnaMobileSDKError } from './types/common/KlarnaMobileSDKError';
|
|
5
|
+
import { type RNKlarnaCheckoutViewProps } from './specs/KlarnaCheckoutViewNativeComponent';
|
|
6
|
+
export interface KlarnaCheckoutViewProps {
|
|
7
|
+
style?: ViewStyle;
|
|
8
|
+
readonly returnUrl: string;
|
|
9
|
+
readonly onEvent?: (klarnaProductEvent: KlarnaProductEvent) => void;
|
|
10
|
+
readonly onError?: (error: KlarnaMobileSDKError) => void;
|
|
11
|
+
}
|
|
12
|
+
interface KlarnaCheckoutViewState {
|
|
13
|
+
nativeViewHeight: number;
|
|
14
|
+
}
|
|
15
|
+
export declare class KlarnaCheckoutView extends Component<KlarnaCheckoutViewProps, KlarnaCheckoutViewState> {
|
|
16
|
+
checkoutViewRef: RefObject<Component<RNKlarnaCheckoutViewProps> & Readonly<NativeMethods>>;
|
|
17
|
+
constructor(props: KlarnaCheckoutViewProps);
|
|
18
|
+
render(): React.JSX.Element;
|
|
19
|
+
setSnippet: (snippet: string) => void;
|
|
20
|
+
suspend: () => void;
|
|
21
|
+
resume: () => void;
|
|
22
|
+
}
|
|
23
|
+
export default KlarnaCheckoutView;
|
|
24
|
+
//# sourceMappingURL=KlarnaCheckoutView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KlarnaCheckoutView.d.ts","sourceRoot":"","sources":["../../src/KlarnaCheckoutView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EACV,aAAa,EAEb,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAA6B,EAE3B,KAAK,yBAAyB,EAC/B,MAAM,2CAA2C,CAAC;AAEnD,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,kBAAkB,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC1D;AAED,UAAU,uBAAuB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,kBAAmB,SAAQ,SAAS,CAC/C,uBAAuB,EACvB,uBAAuB,CACxB;IACC,eAAe,EAAE,SAAS,CACxB,SAAS,CAAC,yBAAyB,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,CAC/D,CAAC;gBAEU,KAAK,EAAE,uBAAuB;IAQ1C,MAAM;IAmEN,UAAU,YAAa,MAAM,UAK3B;IAEF,OAAO,aAKL;IAEF,MAAM,aAKJ;CACH;AAED,eAAe,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC"}
|