UNPKG

react-native-klarna-inapp-sdk

Version:

This library wraps Klarna Mobile SDK and exposes its functionality as React Native components.

91 lines (90 loc) 4.12 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = exports.KlarnaStandaloneWebView = void 0; var _react = _interopRequireWildcard(require("react")); var _KlarnaStandaloneWebViewNativeComponent = _interopRequireWildcard(require("./specs/KlarnaStandaloneWebViewNativeComponent")); 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); } 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; } class KlarnaStandaloneWebView extends _react.Component { constructor(props) { super(props); this.standaloneWebViewRef = /*#__PURE__*/_react.default.createRef(); } render() { return /*#__PURE__*/_react.default.createElement(_KlarnaStandaloneWebViewNativeComponent.default, { ref: this.standaloneWebViewRef, style: this.props.style, returnUrl: this.props.returnUrl || '', overScrollMode: this.props.overScrollMode ?? 'always', bounces: this.props.bounces ?? true, onLoadStart: event => { if (this.props.onLoadStart != null) { this.props.onLoadStart(event.nativeEvent.navigationEvent); } }, onLoadEnd: event => { if (this.props.onLoadEnd != null) { this.props.onLoadEnd(event.nativeEvent.navigationEvent); } }, onError: event => { if (this.props.onError != null) { this.props.onError(event.nativeEvent.error); } }, onLoadProgress: event => { if (this.props.onLoadProgress != null) { this.props.onLoadProgress(event.nativeEvent.progressEvent); } }, onKlarnaMessage: event => { if (this.props.onKlarnaMessage != null) { const klarnaMessageEvent = event.nativeEvent.klarnaMessageEvent; let params = {}; try { params = JSON.parse(klarnaMessageEvent.params); } catch (e) {} this.props.onKlarnaMessage({ action: klarnaMessageEvent.action, params: params }); } }, onRenderProcessGone: event => { if (this.props.onRenderProcessGone != null) { this.props.onRenderProcessGone(event.nativeEvent.renderProcessGoneEvent); } } }); } load = url => { const view = this.standaloneWebViewRef.current; if (view != null) { _KlarnaStandaloneWebViewNativeComponent.Commands.load(view, url); } }; goForward = () => { const view = this.standaloneWebViewRef.current; if (view != null) { _KlarnaStandaloneWebViewNativeComponent.Commands.goForward(view); } }; goBack = () => { const view = this.standaloneWebViewRef.current; if (view != null) { _KlarnaStandaloneWebViewNativeComponent.Commands.goBack(view); } }; reload = () => { const view = this.standaloneWebViewRef.current; if (view != null) { _KlarnaStandaloneWebViewNativeComponent.Commands.reload(view); } }; } exports.KlarnaStandaloneWebView = KlarnaStandaloneWebView; var _default = KlarnaStandaloneWebView; exports.default = _default; //# sourceMappingURL=KlarnaStandaloneWebView.js.map