Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@stripe/react-stripe-js

Package Overview
Dependencies
Maintainers
11
Versions
63
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@stripe/react-stripe-js - npm Package Compare versions

Comparing version 1.8.1 to 1.9.0

22

dist/react-stripe.d.ts
import { FunctionComponent, PropsWithChildren, ReactNode } from "react";
import * as stripeJs from "@stripe/stripe-js";
import { StripeError } from "@stripe/stripe-js";
interface ElementProps {

@@ -228,2 +229,9 @@ /**

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "linkAuthentication";
error: StripeError;
}) => any;
}

@@ -271,2 +279,9 @@ type LinkAuthenticationElementComponent = FunctionComponent<LinkAuthenticationElementProps>;

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "payment";
error: StripeError;
}) => any;
}

@@ -309,2 +324,9 @@ type PaymentElementComponent = FunctionComponent<PaymentElementProps>;

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "shippingAddress";
error: StripeError;
}) => any;
}

@@ -311,0 +333,0 @@ type ShippingAddressElementComponent = FunctionComponent<ShippingAddressElementProps>;

import { FunctionComponent, PropsWithChildren, ReactNode } from "react";
import * as stripeJs from "@stripe/stripe-js";
import { StripeError } from "@stripe/stripe-js";
interface ElementProps {

@@ -228,2 +229,9 @@ /**

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "linkAuthentication";
error: StripeError;
}) => any;
}

@@ -271,2 +279,9 @@ type LinkAuthenticationElementComponent = FunctionComponent<LinkAuthenticationElementProps>;

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "payment";
error: StripeError;
}) => any;
}

@@ -309,2 +324,9 @@ type PaymentElementComponent = FunctionComponent<PaymentElementProps>;

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "shippingAddress";
error: StripeError;
}) => any;
}

@@ -311,0 +333,0 @@ type ShippingAddressElementComponent = FunctionComponent<ShippingAddressElementProps>;

16

dist/react-stripe.esm.js

@@ -356,3 +356,3 @@ import React from 'react';

name: 'react-stripe-js',
version: "1.8.1"
version: "1.9.0"
});

@@ -362,3 +362,3 @@

name: 'react-stripe-js',
version: "1.8.1",
version: "1.9.0",
url: 'https://stripe.com/docs/stripe-js/react'

@@ -450,3 +450,5 @@ });

_ref$onClick = _ref.onClick,
onClick = _ref$onClick === void 0 ? noop : _ref$onClick;
onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
_ref$onLoadError = _ref.onLoadError,
onLoadError = _ref$onLoadError === void 0 ? noop : _ref$onLoadError;

@@ -464,2 +466,3 @@ var _useElementsContextWi = useElementsContextWithUseCase("mounts <".concat(displayName, ">")),

var callOnEscape = useCallbackReference(onEscape);
var callOnLoadError = useCallbackReference(onLoadError);
React.useLayoutEffect(function () {

@@ -476,3 +479,7 @@ if (elementRef.current == null && elements && domNode.current != null) {

element.on('focus', callOnFocus);
element.on('escape', callOnEscape); // Users can pass an onClick prop on any Element component
element.on('escape', callOnEscape); // Users can pass an onLoadError prop on any Element component
// just as they could listen for the `loaderror` event on any Element,
// but only certain Elements will trigger the event.
element.on('loaderror', callOnLoadError); // Users can pass an onClick prop on any Element component
// just as they could listen for the `click` event on any Element,

@@ -532,2 +539,3 @@ // but only the PaymentRequestButton will actually trigger the event.

onClick: PropTypes.func,
onLoadError: PropTypes.func,
options: PropTypes.object

@@ -534,0 +542,0 @@ };

@@ -362,3 +362,3 @@ 'use strict';

name: 'react-stripe-js',
version: "1.8.1"
version: "1.9.0"
});

@@ -368,3 +368,3 @@

name: 'react-stripe-js',
version: "1.8.1",
version: "1.9.0",
url: 'https://stripe.com/docs/stripe-js/react'

@@ -456,3 +456,5 @@ });

_ref$onClick = _ref.onClick,
onClick = _ref$onClick === void 0 ? noop : _ref$onClick;
onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
_ref$onLoadError = _ref.onLoadError,
onLoadError = _ref$onLoadError === void 0 ? noop : _ref$onLoadError;

@@ -470,2 +472,3 @@ var _useElementsContextWi = useElementsContextWithUseCase("mounts <".concat(displayName, ">")),

var callOnEscape = useCallbackReference(onEscape);
var callOnLoadError = useCallbackReference(onLoadError);
React.useLayoutEffect(function () {

@@ -482,3 +485,7 @@ if (elementRef.current == null && elements && domNode.current != null) {

element.on('focus', callOnFocus);
element.on('escape', callOnEscape); // Users can pass an onClick prop on any Element component
element.on('escape', callOnEscape); // Users can pass an onLoadError prop on any Element component
// just as they could listen for the `loaderror` event on any Element,
// but only certain Elements will trigger the event.
element.on('loaderror', callOnLoadError); // Users can pass an onClick prop on any Element component
// just as they could listen for the `click` event on any Element,

@@ -538,2 +545,3 @@ // but only the PaymentRequestButton will actually trigger the event.

onClick: PropTypes.func,
onLoadError: PropTypes.func,
options: PropTypes.object

@@ -540,0 +548,0 @@ };

import { FunctionComponent, PropsWithChildren, ReactNode } from "react";
import * as stripeJs from "@stripe/stripe-js";
import { StripeError } from "@stripe/stripe-js";
interface ElementProps {

@@ -228,2 +229,9 @@ /**

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "linkAuthentication";
error: StripeError;
}) => any;
}

@@ -271,2 +279,9 @@ type LinkAuthenticationElementComponent = FunctionComponent<LinkAuthenticationElementProps>;

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "payment";
error: StripeError;
}) => any;
}

@@ -309,2 +324,9 @@ type PaymentElementComponent = FunctionComponent<PaymentElementProps>;

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "shippingAddress";
error: StripeError;
}) => any;
}

@@ -311,0 +333,0 @@ type ShippingAddressElementComponent = FunctionComponent<ShippingAddressElementProps>;

@@ -439,3 +439,3 @@ (function (global, factory) {

name: 'react-stripe-js',
version: "1.8.1"
version: "1.9.0"
});

@@ -445,3 +445,3 @@

name: 'react-stripe-js',
version: "1.8.1",
version: "1.9.0",
url: 'https://stripe.com/docs/stripe-js/react'

@@ -533,3 +533,5 @@ });

_ref$onClick = _ref.onClick,
onClick = _ref$onClick === void 0 ? noop : _ref$onClick;
onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
_ref$onLoadError = _ref.onLoadError,
onLoadError = _ref$onLoadError === void 0 ? noop : _ref$onLoadError;

@@ -547,2 +549,3 @@ var _useElementsContextWi = useElementsContextWithUseCase("mounts <".concat(displayName, ">")),

var callOnEscape = useCallbackReference(onEscape);
var callOnLoadError = useCallbackReference(onLoadError);
React.useLayoutEffect(function () {

@@ -559,3 +562,7 @@ if (elementRef.current == null && elements && domNode.current != null) {

element.on('focus', callOnFocus);
element.on('escape', callOnEscape); // Users can pass an onClick prop on any Element component
element.on('escape', callOnEscape); // Users can pass an onLoadError prop on any Element component
// just as they could listen for the `loaderror` event on any Element,
// but only certain Elements will trigger the event.
element.on('loaderror', callOnLoadError); // Users can pass an onClick prop on any Element component
// just as they could listen for the `click` event on any Element,

@@ -615,2 +622,3 @@ // but only the PaymentRequestButton will actually trigger the event.

onClick: propTypes.func,
onLoadError: propTypes.func,
options: propTypes.object

@@ -617,0 +625,0 @@ };

import { FunctionComponent, PropsWithChildren, ReactNode } from "react";
import * as stripeJs from "@stripe/stripe-js";
import { StripeError } from "@stripe/stripe-js";
interface ElementProps {

@@ -228,2 +229,9 @@ /**

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "linkAuthentication";
error: StripeError;
}) => any;
}

@@ -271,2 +279,9 @@ type LinkAuthenticationElementComponent = FunctionComponent<LinkAuthenticationElementProps>;

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "payment";
error: StripeError;
}) => any;
}

@@ -309,2 +324,9 @@ type PaymentElementComponent = FunctionComponent<PaymentElementProps>;

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: "shippingAddress";
error: StripeError;
}) => any;
}

@@ -311,0 +333,0 @@ type ShippingAddressElementComponent = FunctionComponent<ShippingAddressElementProps>;

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).ReactStripe={},e.React)}(this,(function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;function n(){}function r(){}r.resetWarningCache=n;var o=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){e.exports=function(){function e(e,t,n,r,o,u){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==u){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var o={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:n};return o.PropTypes=o,o}()}));function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,o,u=[],c=!0,i=!1;try{for(n=n.call(e);!(c=(r=n.next()).done)&&(u.push(r.value),!t||u.length!==t);c=!0);}catch(e){i=!0,o=e}finally{try{c||null==n.return||n.return()}finally{if(i)throw o}}return u}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var f=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),n.current},l=function(e){return null!==e&&"object"===i(e)},y=function(e,t,n){return l(e)?Object.keys(e).reduce((function(r,o){var u=!l(t)||!function e(t,n){if(!l(t)||!l(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var o="[object Object]"===Object.prototype.toString.call(t);if(o!==("[object Object]"===Object.prototype.toString.call(n)))return!1;if(!o&&!r)return t===n;var u=Object.keys(t),c=Object.keys(n);if(u.length!==c.length)return!1;for(var i={},a=0;a<u.length;a+=1)i[u[a]]=!0;for(var s=0;s<c.length;s+=1)i[c[s]]=!0;var p=Object.keys(i);if(p.length!==u.length)return!1;var f=t,y=n;return p.every((function(t){return e(f[t],y[t])}))}(e[o],t[o]);return n.includes(o)?(u&&console.warn("Unsupported prop change: options.".concat(o," is not a mutable property.")),r):u?c(c({},r||{}),{},a({},o,e[o])):r}),null):null},m=function(e){if(null===e||l(t=e)&&"function"==typeof t.elements&&"function"==typeof t.createToken&&"function"==typeof t.createPaymentMethod&&"function"==typeof t.confirmCardPayment)return e;var t;throw new Error("Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.")},d=function(e){if(function(e){return l(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(m)};var t=m(e);return null===t?{tag:"empty"}:{tag:"sync",stripe:t}},v=t.createContext(null);v.displayName="ElementsContext";var b=function(e){var n=e.stripe,r=e.options,o=e.children,u=t.useMemo((function(){return d(n)}),[n]),c=s(t.useState((function(){return{stripe:"sync"===u.tag?u.stripe:null,elements:"sync"===u.tag?u.stripe.elements(r):null}})),2),i=c[0],a=c[1];t.useEffect((function(){var e=!0,t=function(e){a((function(t){return t.stripe?t:{stripe:e,elements:e.elements(r)}}))};return"async"!==u.tag||i.stripe?"sync"!==u.tag||i.stripe||t(u.stripe):u.stripePromise.then((function(n){n&&e&&t(n)})),function(){e=!1}}),[u,i,r]);var p=f(n);t.useEffect((function(){null!==p&&p!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")}),[p,n]);var l=f(r);return t.useEffect((function(){if(i.elements){var e=y(r,l,["clientSecret","fonts"]);e&&i.elements.update(e)}}),[r,l,i.elements]),t.useEffect((function(){var e=i.stripe;e&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"1.8.1"}),e.registerAppInfo({name:"react-stripe-js",version:"1.8.1",url:"https://stripe.com/docs/stripe-js/react"}))}),[i.stripe]),t.createElement(v.Provider,{value:i},o)};b.propTypes={stripe:o.any,options:o.object};var h=function(e){return function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e}(t.useContext(v),e)},g=function(e){return(0,e.children)(h("mounts <ElementsConsumer>"))};g.propTypes={children:o.func.isRequired};var E=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),function(){n.current&&n.current.apply(n,arguments)}},O=function(){},j=function(e,n){var r,u="".concat((r=e).charAt(0).toUpperCase()+r.slice(1),"Element"),c=n?function(e){h("mounts <".concat(u,">"));var n=e.id,r=e.className;return t.createElement("div",{id:n,className:r})}:function(n){var r=n.id,o=n.className,c=n.options,i=void 0===c?{}:c,a=n.onBlur,s=void 0===a?O:a,p=n.onFocus,l=void 0===p?O:p,m=n.onReady,d=void 0===m?O:m,v=n.onChange,b=void 0===v?O:v,g=n.onEscape,j=void 0===g?O:g,P=n.onClick,S=void 0===P?O:P,k=h("mounts <".concat(u,">")).elements,C=t.useRef(null),w=t.useRef(null),A=E(d),x=E(s),R=E(l),T=E(S),B=E(b),_=E(j);t.useLayoutEffect((function(){if(null==C.current&&k&&null!=w.current){var t=k.create(e,i);C.current=t,t.mount(w.current),t.on("ready",(function(){return A(t)})),t.on("change",B),t.on("blur",x),t.on("focus",R),t.on("escape",_),t.on("click",T)}}));var I=f(i);return t.useEffect((function(){if(C.current){var e=y(i,I,["paymentRequest"]);e&&C.current.update(e)}}),[i,I]),t.useLayoutEffect((function(){return function(){C.current&&(C.current.destroy(),C.current=null)}}),[]),t.createElement("div",{id:r,className:o,ref:w})};return c.propTypes={id:o.string,className:o.string,onChange:o.func,onBlur:o.func,onFocus:o.func,onReady:o.func,onClick:o.func,options:o.object},c.displayName=u,c.__elementType=e,c},P="undefined"==typeof window,S=j("auBankAccount",P),k=j("card",P),C=j("cardNumber",P),w=j("cardExpiry",P),A=j("cardCvc",P),x=j("fpxBank",P),R=j("iban",P),T=j("idealBank",P),B=j("p24Bank",P),_=j("epsBank",P),I=j("payment",P),N=j("paymentRequestButton",P),M=j("linkAuthentication",P),q=j("shippingAddress",P),D=j("affirmMessage",P),U=j("afterpayClearpayMessage",P);e.AffirmMessageElement=D,e.AfterpayClearpayMessageElement=U,e.AuBankAccountElement=S,e.CardCvcElement=A,e.CardElement=k,e.CardExpiryElement=w,e.CardNumberElement=C,e.Elements=b,e.ElementsConsumer=g,e.EpsBankElement=_,e.FpxBankElement=x,e.IbanElement=R,e.IdealBankElement=T,e.LinkAuthenticationElement=M,e.P24BankElement=B,e.PaymentElement=I,e.PaymentRequestButtonElement=N,e.ShippingAddressElement=q,e.useElements=function(){return h("calls useElements()").elements},e.useStripe=function(){return h("calls useStripe()").stripe},Object.defineProperty(e,"__esModule",{value:!0})}));
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).ReactStripe={},e.React)}(this,(function(e,t){"use strict";t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;function n(){}function r(){}r.resetWarningCache=n;var o=function(e,t){return e(t={exports:{}},t.exports),t.exports}((function(e){e.exports=function(){function e(e,t,n,r,o,u){if("SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"!==u){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var o={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:n};return o.PropTypes=o,o}()}));function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function c(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?u(Object(n),!0).forEach((function(t){a(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==n)return;var r,o,u=[],c=!0,i=!1;try{for(n=n.call(e);!(c=(r=n.next()).done)&&(u.push(r.value),!t||u.length!==t);c=!0);}catch(e){i=!0,o=e}finally{try{c||null==n.return||n.return()}finally{if(i)throw o}}return u}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var f=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),n.current},l=function(e){return null!==e&&"object"===i(e)},y=function(e,t,n){return l(e)?Object.keys(e).reduce((function(r,o){var u=!l(t)||!function e(t,n){if(!l(t)||!l(n))return t===n;var r=Array.isArray(t);if(r!==Array.isArray(n))return!1;var o="[object Object]"===Object.prototype.toString.call(t);if(o!==("[object Object]"===Object.prototype.toString.call(n)))return!1;if(!o&&!r)return t===n;var u=Object.keys(t),c=Object.keys(n);if(u.length!==c.length)return!1;for(var i={},a=0;a<u.length;a+=1)i[u[a]]=!0;for(var s=0;s<c.length;s+=1)i[c[s]]=!0;var p=Object.keys(i);if(p.length!==u.length)return!1;var f=t,y=n;return p.every((function(t){return e(f[t],y[t])}))}(e[o],t[o]);return n.includes(o)?(u&&console.warn("Unsupported prop change: options.".concat(o," is not a mutable property.")),r):u?c(c({},r||{}),{},a({},o,e[o])):r}),null):null},m=function(e){if(null===e||l(t=e)&&"function"==typeof t.elements&&"function"==typeof t.createToken&&"function"==typeof t.createPaymentMethod&&"function"==typeof t.confirmCardPayment)return e;var t;throw new Error("Invalid prop `stripe` supplied to `Elements`. We recommend using the `loadStripe` utility from `@stripe/stripe-js`. See https://stripe.com/docs/stripe-js/react#elements-props-stripe for details.")},d=function(e){if(function(e){return l(e)&&"function"==typeof e.then}(e))return{tag:"async",stripePromise:Promise.resolve(e).then(m)};var t=m(e);return null===t?{tag:"empty"}:{tag:"sync",stripe:t}},v=t.createContext(null);v.displayName="ElementsContext";var b=function(e){var n=e.stripe,r=e.options,o=e.children,u=t.useMemo((function(){return d(n)}),[n]),c=s(t.useState((function(){return{stripe:"sync"===u.tag?u.stripe:null,elements:"sync"===u.tag?u.stripe.elements(r):null}})),2),i=c[0],a=c[1];t.useEffect((function(){var e=!0,t=function(e){a((function(t){return t.stripe?t:{stripe:e,elements:e.elements(r)}}))};return"async"!==u.tag||i.stripe?"sync"!==u.tag||i.stripe||t(u.stripe):u.stripePromise.then((function(n){n&&e&&t(n)})),function(){e=!1}}),[u,i,r]);var p=f(n);t.useEffect((function(){null!==p&&p!==n&&console.warn("Unsupported prop change on Elements: You cannot change the `stripe` prop after setting it.")}),[p,n]);var l=f(r);return t.useEffect((function(){if(i.elements){var e=y(r,l,["clientSecret","fonts"]);e&&i.elements.update(e)}}),[r,l,i.elements]),t.useEffect((function(){var e=i.stripe;e&&e._registerWrapper&&e.registerAppInfo&&(e._registerWrapper({name:"react-stripe-js",version:"1.9.0"}),e.registerAppInfo({name:"react-stripe-js",version:"1.9.0",url:"https://stripe.com/docs/stripe-js/react"}))}),[i.stripe]),t.createElement(v.Provider,{value:i},o)};b.propTypes={stripe:o.any,options:o.object};var h=function(e){return function(e,t){if(!e)throw new Error("Could not find Elements context; You need to wrap the part of your app that ".concat(t," in an <Elements> provider."));return e}(t.useContext(v),e)},E=function(e){return(0,e.children)(h("mounts <ElementsConsumer>"))};E.propTypes={children:o.func.isRequired};var g=function(e){var n=t.useRef(e);return t.useEffect((function(){n.current=e}),[e]),function(){n.current&&n.current.apply(n,arguments)}},O=function(){},j=function(e,n){var r,u="".concat((r=e).charAt(0).toUpperCase()+r.slice(1),"Element"),c=n?function(e){h("mounts <".concat(u,">"));var n=e.id,r=e.className;return t.createElement("div",{id:n,className:r})}:function(n){var r=n.id,o=n.className,c=n.options,i=void 0===c?{}:c,a=n.onBlur,s=void 0===a?O:a,p=n.onFocus,l=void 0===p?O:p,m=n.onReady,d=void 0===m?O:m,v=n.onChange,b=void 0===v?O:v,E=n.onEscape,j=void 0===E?O:E,P=n.onClick,S=void 0===P?O:P,k=n.onLoadError,C=void 0===k?O:k,w=h("mounts <".concat(u,">")).elements,A=t.useRef(null),x=t.useRef(null),R=g(d),T=g(s),B=g(l),_=g(S),I=g(b),N=g(j),M=g(C);t.useLayoutEffect((function(){if(null==A.current&&w&&null!=x.current){var t=w.create(e,i);A.current=t,t.mount(x.current),t.on("ready",(function(){return R(t)})),t.on("change",I),t.on("blur",T),t.on("focus",B),t.on("escape",N),t.on("loaderror",M),t.on("click",_)}}));var L=f(i);return t.useEffect((function(){if(A.current){var e=y(i,L,["paymentRequest"]);e&&A.current.update(e)}}),[i,L]),t.useLayoutEffect((function(){return function(){A.current&&(A.current.destroy(),A.current=null)}}),[]),t.createElement("div",{id:r,className:o,ref:x})};return c.propTypes={id:o.string,className:o.string,onChange:o.func,onBlur:o.func,onFocus:o.func,onReady:o.func,onClick:o.func,onLoadError:o.func,options:o.object},c.displayName=u,c.__elementType=e,c},P="undefined"==typeof window,S=j("auBankAccount",P),k=j("card",P),C=j("cardNumber",P),w=j("cardExpiry",P),A=j("cardCvc",P),x=j("fpxBank",P),R=j("iban",P),T=j("idealBank",P),B=j("p24Bank",P),_=j("epsBank",P),I=j("payment",P),N=j("paymentRequestButton",P),M=j("linkAuthentication",P),L=j("shippingAddress",P),q=j("affirmMessage",P),D=j("afterpayClearpayMessage",P);e.AffirmMessageElement=q,e.AfterpayClearpayMessageElement=D,e.AuBankAccountElement=S,e.CardCvcElement=A,e.CardElement=k,e.CardExpiryElement=w,e.CardNumberElement=C,e.Elements=b,e.ElementsConsumer=E,e.EpsBankElement=_,e.FpxBankElement=x,e.IbanElement=R,e.IdealBankElement=T,e.LinkAuthenticationElement=M,e.P24BankElement=B,e.PaymentElement=I,e.PaymentRequestButtonElement=N,e.ShippingAddressElement=L,e.useElements=function(){return h("calls useElements()").elements},e.useStripe=function(){return h("calls useStripe()").stripe},Object.defineProperty(e,"__esModule",{value:!0})}));
{
"name": "@stripe/react-stripe-js",
"version": "1.8.1",
"version": "1.9.0",
"description": "React components for Stripe.js and Stripe Elements",

@@ -65,3 +65,3 @@ "main": "dist/react-stripe.js",

"@storybook/react": "^6.5.0-beta.8",
"@stripe/stripe-js": "^1.26.0",
"@stripe/stripe-js": "^1.32.0",
"@testing-library/jest-dom": "^5.16.4",

@@ -110,3 +110,3 @@ "@testing-library/react": "^13.1.1",

"peerDependencies": {
"@stripe/stripe-js": "^1.26.0",
"@stripe/stripe-js": "^1.32.0",
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",

@@ -113,0 +113,0 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0"

import {FunctionComponent} from 'react';
import * as stripeJs from '@stripe/stripe-js';
import {StripeError} from '@stripe/stripe-js';

@@ -290,2 +291,10 @@ export interface ElementProps {

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: 'linkAuthentication';
error: StripeError;
}) => any;
}

@@ -346,2 +355,7 @@

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {elementType: 'payment'; error: StripeError}) => any;
}

@@ -397,2 +411,10 @@

onEscape?: () => any;
/**
* Triggered when the Element fails to load.
*/
onLoadError?: (event: {
elementType: 'shippingAddress';
error: StripeError;
}) => any;
}

@@ -399,0 +421,0 @@

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc