react-native-klarna-inapp-sdk 2.2.4 → 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.
Files changed (69) hide show
  1. package/README.md +3 -2
  2. package/android/build.gradle +12 -12
  3. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/KlarnaMobileSDKPackage.java +3 -1
  4. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/checkout/KlarnaCheckoutViewEventHandler.java +32 -0
  5. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/checkout/KlarnaCheckoutViewEventSender.java +56 -0
  6. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/checkout/KlarnaCheckoutViewManager.java +147 -0
  7. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/WebViewResizeObserver.java +59 -19
  8. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/event/ComponentEvent.java +37 -0
  9. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/event/ComponentEventSender.java +78 -0
  10. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/event/KlarnaEventHandlerEventsUtil.java +53 -0
  11. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/ui/ResizeObserverWrapperView.java +79 -0
  12. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/ui/WrapperView.java +32 -0
  13. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/{ArgumentsUtil.java → util/ArgumentsUtil.java} +1 -1
  14. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/common/util/ParserUtil.java +36 -0
  15. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/payments/KlarnaPaymentViewManager.java +1 -1
  16. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/payments/PaymentViewWrapper.java +1 -1
  17. package/android/src/main/java/com/klarna/mobile/sdk/reactnative/standalonewebview/KlarnaStandaloneWebViewEventSender.java +1 -1
  18. package/android/src/newarch/java/com/klarna/mobile/sdk/reactnative/spec/RNKlarnaCheckoutViewSpec.java +31 -0
  19. package/android/src/oldarch/java/com/klarna/mobile/sdk/reactnative/spec/RNKlarnaCheckoutViewSpec.java +20 -0
  20. package/android/src/test/java/com/klarna/mobile/sdk/reactnative/KlarnaMobileSDKPackageTest.java +3 -1
  21. package/android/src/test/java/com/klarna/mobile/sdk/reactnative/common/event/ComponentEventSenderTest.java +85 -0
  22. package/android/src/test/java/com/klarna/mobile/sdk/reactnative/common/event/ComponentEventTest.java +73 -0
  23. package/android/src/test/java/com/klarna/mobile/sdk/reactnative/common/event/KlarnaEventHandlerEventsUtilTest.java +61 -0
  24. package/ios/RNKlarnaMobileSDK.xcodeproj/project.pbxproj +32 -0
  25. package/ios/Sources/KlarnaCheckoutViewManager.h +5 -0
  26. package/ios/Sources/KlarnaCheckoutViewManager.mm +65 -0
  27. package/ios/Sources/common/RNMobileSDKUtils.h +6 -0
  28. package/ios/Sources/common/RNMobileSDKUtils.mm +22 -0
  29. package/ios/Sources/view/newarch/KlarnaCheckoutViewWrapper.h +26 -0
  30. package/ios/Sources/view/newarch/KlarnaCheckoutViewWrapper.mm +153 -0
  31. package/ios/Sources/view/oldarch/KlarnaCheckoutViewWrapper.h +37 -0
  32. package/ios/Sources/view/oldarch/KlarnaCheckoutViewWrapper.mm +116 -0
  33. package/lib/commonjs/KlarnaCheckoutView.js +84 -0
  34. package/lib/commonjs/KlarnaCheckoutView.js.map +1 -0
  35. package/lib/commonjs/index.js +11 -0
  36. package/lib/commonjs/index.js.map +1 -1
  37. package/lib/commonjs/specs/KlarnaCheckoutViewNativeComponent.js +16 -0
  38. package/lib/commonjs/specs/KlarnaCheckoutViewNativeComponent.js.map +1 -0
  39. package/lib/commonjs/types/common/KlarnaMobileSDKError.js +2 -0
  40. package/lib/commonjs/types/common/KlarnaMobileSDKError.js.map +1 -0
  41. package/lib/commonjs/types/common/KlarnaProductEvent.js +2 -0
  42. package/lib/commonjs/types/common/KlarnaProductEvent.js.map +1 -0
  43. package/lib/module/KlarnaCheckoutView.js +74 -0
  44. package/lib/module/KlarnaCheckoutView.js.map +1 -0
  45. package/lib/module/index.js +1 -0
  46. package/lib/module/index.js.map +1 -1
  47. package/lib/module/specs/KlarnaCheckoutViewNativeComponent.js +7 -0
  48. package/lib/module/specs/KlarnaCheckoutViewNativeComponent.js.map +1 -0
  49. package/lib/module/types/common/KlarnaMobileSDKError.js +2 -0
  50. package/lib/module/types/common/KlarnaMobileSDKError.js.map +1 -0
  51. package/lib/module/types/common/KlarnaProductEvent.js +2 -0
  52. package/lib/module/types/common/KlarnaProductEvent.js.map +1 -0
  53. package/lib/typescript/KlarnaCheckoutView.d.ts +24 -0
  54. package/lib/typescript/KlarnaCheckoutView.d.ts.map +1 -0
  55. package/lib/typescript/index.d.ts +1 -0
  56. package/lib/typescript/index.d.ts.map +1 -1
  57. package/lib/typescript/specs/KlarnaCheckoutViewNativeComponent.d.ts +33 -0
  58. package/lib/typescript/specs/KlarnaCheckoutViewNativeComponent.d.ts.map +1 -0
  59. package/lib/typescript/types/common/KlarnaMobileSDKError.d.ts +6 -0
  60. package/lib/typescript/types/common/KlarnaMobileSDKError.d.ts.map +1 -0
  61. package/lib/typescript/types/common/KlarnaProductEvent.d.ts +7 -0
  62. package/lib/typescript/types/common/KlarnaProductEvent.d.ts.map +1 -0
  63. package/package.json +2 -2
  64. package/react-native-klarna-inapp-sdk.podspec +1 -1
  65. package/src/KlarnaCheckoutView.tsx +130 -0
  66. package/src/index.tsx +1 -0
  67. package/src/specs/KlarnaCheckoutViewNativeComponent.ts +58 -0
  68. package/src/types/common/KlarnaMobileSDKError.ts +5 -0
  69. 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":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAQA,IAAAC,kCAAA,GAAAF,uBAAA,CAAAC,OAAA;AAGmD,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAa5C,MAAMW,kBAAkB,SAASC,gBAAS,CAG/C;EAKAC,WAAWA,CAACC,KAA8B,EAAE;IAC1C,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MACXC,gBAAgB,EAAE;IACpB,CAAC;IACD,IAAI,CAACC,eAAe,gBAAGC,cAAK,CAACC,SAAS,CAAC,CAAC;EAC1C;EAEAC,MAAMA,CAAA,EAAG;IACP,oBACEnC,MAAA,CAAAW,OAAA,CAAAyB,aAAA,CAACjC,kCAAA,CAAAQ,OAAoB;MACnB0B,GAAG,EAAE,IAAI,CAACL;MACV;MACAM,KAAK,EAAE;QACLC,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,IAAI,CAACV,KAAK,CAACC;MACrB,CAAE;MACFU,SAAS,EAAE,IAAI,CAACZ,KAAK,CAACY,SAAS,IAAI,EAAG;MACtCC,OAAO,EACLC,KAOC,IACE;QAAA,IAAAC,mBAAA,EAAAC,WAAA;QACH,IAAIC,MAAM,GAAG,CAAC,CAAC;QACf,IAAI;UACFA,MAAM,GAAGC,IAAI,CAACC,KAAK,CAACL,KAAK,CAACM,WAAW,CAACC,YAAY,CAACJ,MAAM,CAAC;QAC5D,CAAC,CAAC,OAAOK,CAAC,EAAE;UACVC,OAAO,CAACC,KAAK,CAAC,qCAAqC,EAAEF,CAAC,CAAC;QACzD;QACA,MAAMD,YAAgC,GAAG;UACvCI,MAAM,EAAEX,KAAK,CAACM,WAAW,CAACC,YAAY,CAACI,MAAM;UAC7CR,MAAM,EAAEA;QACV,CAAC;QACD,CAAAF,mBAAA,IAAAC,WAAA,OAAI,CAAChB,KAAK,EAACa,OAAO,cAAAE,mBAAA,eAAlBA,mBAAA,CAAArB,IAAA,CAAAsB,WAAA,EAAqBK,YAAY,CAAC;MACpC,CAAE;MACFK,OAAO,EACLZ,KAQC,IACE;QAAA,IAAAa,mBAAA,EAAAC,YAAA;QACH,MAAMC,cAAoC,GAAG;UAC3CC,OAAO,EAAEhB,KAAK,CAACM,WAAW,CAACI,KAAK,CAACM,OAAO;UACxCC,OAAO,EAAEjB,KAAK,CAACM,WAAW,CAACI,KAAK,CAACO,OAAO;UACxCC,IAAI,EAAElB,KAAK,CAACM,WAAW,CAACI,KAAK,CAACQ;QAChC,CAAC;QACD,CAAAL,mBAAA,IAAAC,YAAA,OAAI,CAAC5B,KAAK,EAAC0B,OAAO,cAAAC,mBAAA,eAAlBA,mBAAA,CAAAjC,IAAA,CAAAkC,YAAA,EAAqBC,cAAc,CAAC;MACtC,CAAE;MACFI,SAAS,EACPnB,KAIC,IACE;QACH,MAAMoB,SAAS,GAAGC,MAAM,CAACrB,KAAK,CAACM,WAAW,CAACT,MAAM,CAAC;QAClD,IAAIuB,SAAS,KAAK,IAAI,CAACjC,KAAK,CAACC,gBAAgB,EAAE;UAC7CqB,OAAO,CAACa,GAAG,CAAC,WAAW,EAAEF,SAAS,CAAC;UACnC,IAAI,CAACG,QAAQ,CAAC;YAAEnC,gBAAgB,EAAEgC;UAAU,CAAC,CAAC;QAChD;MACF;IAAE,CACH,CAAC;EAEN;EAEAI,UAAU,GAAIC,OAAe,IAAK;IAChC,MAAMC,IAAI,GAAG,IAAI,CAACrC,eAAe,CAACsC,OAAO;IACzC,IAAID,IAAI,IAAI,IAAI,EAAE;MAChBE,+DAA4B,CAACJ,UAAU,CAACE,IAAI,EAAED,OAAO,CAAC;IACxD;EACF,CAAC;EAEDI,OAAO,GAAGA,CAAA,KAAM;IACd,MAAMH,IAAI,GAAG,IAAI,CAACrC,eAAe,CAACsC,OAAO;IACzC,IAAID,IAAI,IAAI,IAAI,EAAE;MAChBE,+DAA4B,CAACC,OAAO,CAACH,IAAI,CAAC;IAC5C;EACF,CAAC;EAEDI,MAAM,GAAGA,CAAA,KAAM;IACb,MAAMJ,IAAI,GAAG,IAAI,CAACrC,eAAe,CAACsC,OAAO;IACzC,IAAID,IAAI,IAAI,IAAI,EAAE;MAChBE,+DAA4B,CAACE,MAAM,CAACJ,IAAI,CAAC;IAC3C;EACF,CAAC;AACH;AAACK,OAAA,CAAAhD,kBAAA,GAAAA,kBAAA;AAAA,IAAAiD,QAAA,GAEcjD,kBAAkB;AAAAgD,OAAA,CAAA/D,OAAA,GAAAgE,QAAA"}
@@ -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,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=KlarnaMobileSDKError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["types/common/KlarnaMobileSDKError.ts"],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=KlarnaProductEvent.js.map
@@ -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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"}
@@ -1,3 +1,4 @@
1
1
  export * from './KlarnaPaymentView';
2
2
  export * from './KlarnaStandaloneWebView';
3
+ export * from './KlarnaCheckoutView';
3
4
  //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+
2
+ //# sourceMappingURL=KlarnaMobileSDKError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["types/common/KlarnaMobileSDKError.ts"],"mappings":""}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=KlarnaProductEvent.js.map
@@ -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,3 +1,4 @@
1
1
  export * from './KlarnaPaymentView';
2
2
  export * from './KlarnaStandaloneWebView';
3
+ export * from './KlarnaCheckoutView';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -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"}