UNPKG

@shopgate/engage

Version:
6 lines 1.49 kB
import React from'react';import PropTypes from'prop-types';import{i18n}from"../../../core/helpers/i18n";import{useCheckoutContext}from"../../hooks/common";import{prepareStripeRequestCheckout}from"./StripeProvider";import{getSdk}from"./sdk";/** * Paypal Pay button * @returns {JSX} */var StripePayButton=function StripePayButton(_ref){var children=_ref.children,disabled=_ref.disabled,onSubmit=_ref.onSubmit,onValidate=_ref.onValidate;var _useCheckoutContext=useCheckoutContext(),order=_useCheckoutContext.order,paymentData=_useCheckoutContext.paymentData,setLocked=_useCheckoutContext.setLocked;var _ref2=(paymentData===null||paymentData===void 0?void 0:paymentData.meta)||{},stripeRequest=_ref2.stripeRequest,stripeRequestType=_ref2.stripeRequestType;if(!stripeRequestType||!(stripeRequestType===null||stripeRequestType===void 0?void 0:stripeRequestType.applePay)){return children;}/* eslint-disable react/button-has-type */return React.createElement("button",{disabled:disabled,lang:i18n.getLang(),onClick:function onClick(){// Make sure button can't be triggered when loading if(!onValidate()||disabled){return;}// Trigger stripe on client. setLocked(true);prepareStripeRequestCheckout(getSdk(),stripeRequest,order).then(function(event){stripeRequest.preparedEvent=event;onSubmit();})["catch"](function(){setLocked(false);});},style:{WebkitAppearance:'-apple-pay-button',ApplePayButtonType:'buy',height:40}},' ');/* eslint-enable react/button-has-type */};export default StripePayButton;