ordering-ui-external 14.2.1 → 14.2.12

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 (24) hide show
  1. package/_bundles/{0.ordering-ui.8d0a7561ec9cfa16ed5a.js → 0.ordering-ui.a155b1c1ae3603ef80e0.js} +1 -1
  2. package/_bundles/{4.ordering-ui.8d0a7561ec9cfa16ed5a.js → 4.ordering-ui.a155b1c1ae3603ef80e0.js} +1 -1
  3. package/_bundles/{7.ordering-ui.8d0a7561ec9cfa16ed5a.js → 7.ordering-ui.a155b1c1ae3603ef80e0.js} +1 -1
  4. package/_bundles/ordering-ui.a155b1c1ae3603ef80e0.js +2 -0
  5. package/_modules/components/StripeElementsForm/index.js +37 -9
  6. package/_modules/components/StripePaymentElementForm/index.js +204 -0
  7. package/_modules/components/StripePaymentElementForm/styles.js +15 -0
  8. package/_modules/index.js +7 -0
  9. package/_modules/themes/five/src/components/StripeElementsForm/index.js +34 -8
  10. package/package.json +2 -2
  11. package/src/components/StripeElementsForm/index.js +60 -32
  12. package/src/components/StripePaymentElementForm/index.js +174 -0
  13. package/src/components/StripePaymentElementForm/styles.js +31 -0
  14. package/src/index.js +2 -0
  15. package/src/themes/five/src/components/StripeElementsForm/index.js +60 -34
  16. package/_bundles/ordering-ui.8d0a7561ec9cfa16ed5a.js +0 -2
  17. /package/_bundles/{1.ordering-ui.8d0a7561ec9cfa16ed5a.js → 1.ordering-ui.a155b1c1ae3603ef80e0.js} +0 -0
  18. /package/_bundles/{2.ordering-ui.8d0a7561ec9cfa16ed5a.js → 2.ordering-ui.a155b1c1ae3603ef80e0.js} +0 -0
  19. /package/_bundles/{5.ordering-ui.8d0a7561ec9cfa16ed5a.js → 5.ordering-ui.a155b1c1ae3603ef80e0.js} +0 -0
  20. /package/_bundles/{6.ordering-ui.8d0a7561ec9cfa16ed5a.js → 6.ordering-ui.a155b1c1ae3603ef80e0.js} +0 -0
  21. /package/_bundles/{7.ordering-ui.8d0a7561ec9cfa16ed5a.js.LICENSE.txt → 7.ordering-ui.a155b1c1ae3603ef80e0.js.LICENSE.txt} +0 -0
  22. /package/_bundles/{8.ordering-ui.8d0a7561ec9cfa16ed5a.js → 8.ordering-ui.a155b1c1ae3603ef80e0.js} +0 -0
  23. /package/_bundles/{9.ordering-ui.8d0a7561ec9cfa16ed5a.js → 9.ordering-ui.a155b1c1ae3603ef80e0.js} +0 -0
  24. /package/_bundles/{ordering-ui.8d0a7561ec9cfa16ed5a.js.LICENSE.txt → ordering-ui.a155b1c1ae3603ef80e0.js.LICENSE.txt} +0 -0
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.StripeElementsForm = void 0;
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _orderingComponentsExternal = require("ordering-components-external");
10
10
  var _pure = require("@stripe/stripe-js/pure");
11
11
  var _reactStripeJs = require("@stripe/react-stripe-js");
12
- var _StripeMethodForm = require("../StripeMethodForm");
12
+ var _StripePaymentElementForm = require("../StripePaymentElementForm");
13
13
  var _styles = require("./styles");
14
14
  var _CardForm = require("../CardForm");
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
16
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
18
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -25,8 +25,14 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
25
25
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
26
26
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
27
27
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
28
+ var getPaymentAmount = function getPaymentAmount(cart, cartGroup) {
29
+ var _ref, _ref2, _ref3, _cartGroup$balance;
30
+ var total = (_ref = (_ref2 = (_ref3 = (_cartGroup$balance = cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.balance) !== null && _cartGroup$balance !== void 0 ? _cartGroup$balance : cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.total) !== null && _ref3 !== void 0 ? _ref3 : cart === null || cart === void 0 ? void 0 : cart.balance) !== null && _ref2 !== void 0 ? _ref2 : cart === null || cart === void 0 ? void 0 : cart.total) !== null && _ref !== void 0 ? _ref : 0;
31
+ var amountInCents = Math.floor(Number(total) * 100);
32
+ return amountInCents > 0 ? amountInCents : 100;
33
+ };
28
34
  var StripeElementsFormUI = function StripeElementsFormUI(props) {
29
- var _props$beforeElements, _props$beforeComponen, _props$afterComponent, _props$afterElements;
35
+ var _configs$stripe_curre3, _props$beforeElements, _props$beforeComponen, _props$afterComponent, _props$afterElements;
30
36
  var publicKey = props.publicKey,
31
37
  handleSource = props.handleSource,
32
38
  businessId = props.businessId,
@@ -37,10 +43,28 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
37
43
  paymethod = props.paymethod,
38
44
  cart = props.cart,
39
45
  handlePlaceOrder = props.handlePlaceOrder,
40
- methodsPay = props.methodsPay;
46
+ methodsPay = props.methodsPay,
47
+ cartGroup = props.cartGroup;
41
48
  var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
42
49
  _useLanguage2 = _slicedToArray(_useLanguage, 2),
43
50
  t = _useLanguage2[1];
51
+ var _useConfig = (0, _orderingComponentsExternal.useConfig)(),
52
+ _useConfig2 = _slicedToArray(_useConfig, 1),
53
+ configs = _useConfig2[0].configs;
54
+ var isWalletPaymethod = methodsPay === null || methodsPay === void 0 ? void 0 : methodsPay.includes(paymethod);
55
+ var stripePromise = (0, _react.useMemo)(function () {
56
+ return publicKey ? (0, _pure.loadStripe)(publicKey) : null;
57
+ }, [publicKey]);
58
+ var walletElementsOptions = (0, _react.useMemo)(function () {
59
+ var _configs$stripe_curre, _configs$stripe_curre2;
60
+ if (!isWalletPaymethod) return null;
61
+ return {
62
+ mode: 'payment',
63
+ amount: getPaymentAmount(cart, cartGroup),
64
+ currency: (configs === null || configs === void 0 || (_configs$stripe_curre = configs.stripe_currency) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre = _configs$stripe_curre.value) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre2 = _configs$stripe_curre.toLowerCase) === null || _configs$stripe_curre2 === void 0 ? void 0 : _configs$stripe_curre2.call(_configs$stripe_curre)) || 'usd',
65
+ paymentMethodCreation: 'manual'
66
+ };
67
+ }, [isWalletPaymethod, cart, cartGroup, configs === null || configs === void 0 || (_configs$stripe_curre3 = configs.stripe_currency) === null || _configs$stripe_curre3 === void 0 ? void 0 : _configs$stripe_curre3.value]);
44
68
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
45
69
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
46
70
  key: i
@@ -49,10 +73,12 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
49
73
  return /*#__PURE__*/_react.default.createElement(BeforeComponent, _extends({
50
74
  key: i
51
75
  }, props));
52
- }), publicKey ? /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
53
- stripe: (0, _pure.loadStripe)(publicKey)
54
- }, methodsPay !== null && methodsPay !== void 0 && methodsPay.includes(paymethod) ? /*#__PURE__*/_react.default.createElement(_StripeMethodForm.StripeMethodForm, {
76
+ }), publicKey ? isWalletPaymethod ? /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
77
+ stripe: stripePromise,
78
+ options: walletElementsOptions
79
+ }, /*#__PURE__*/_react.default.createElement(_StripePaymentElementForm.StripePaymentElementForm, {
55
80
  cart: cart,
81
+ cartGroup: cartGroup,
56
82
  handleSource: handleSource,
57
83
  onNewCard: onNewCard,
58
84
  toSave: toSave,
@@ -61,7 +87,9 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
61
87
  handleCancel: onCancel,
62
88
  paymethod: paymethod,
63
89
  handlePlaceOrder: handlePlaceOrder
64
- }) : /*#__PURE__*/_react.default.createElement(_CardForm.CardForm, {
90
+ })) : /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
91
+ stripe: stripePromise
92
+ }, /*#__PURE__*/_react.default.createElement(_CardForm.CardForm, {
65
93
  handleSource: handleSource,
66
94
  onNewCard: onNewCard,
67
95
  toSave: toSave,
@@ -0,0 +1,204 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StripePaymentElementFormUI = exports.StripePaymentElementForm = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactStripeJs = require("@stripe/react-stripe-js");
9
+ var _orderingComponentsExternal = require("ordering-components-external");
10
+ var _Buttons = require("../../styles/Buttons");
11
+ var _styles = require("./styles");
12
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
13
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
14
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i.return) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
15
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
16
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
17
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
18
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
19
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
23
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
24
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
25
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
26
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
27
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
28
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
29
+ var googlePayMethods = ['google_pay', 'global_google_pay'];
30
+ var applePayMethods = ['apple_pay', 'global_apple_pay'];
31
+ var getPaymentAmount = function getPaymentAmount(cart, cartGroup) {
32
+ var _ref, _ref2, _ref3, _cartGroup$balance;
33
+ var total = (_ref = (_ref2 = (_ref3 = (_cartGroup$balance = cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.balance) !== null && _cartGroup$balance !== void 0 ? _cartGroup$balance : cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.total) !== null && _ref3 !== void 0 ? _ref3 : cart === null || cart === void 0 ? void 0 : cart.balance) !== null && _ref2 !== void 0 ? _ref2 : cart === null || cart === void 0 ? void 0 : cart.total) !== null && _ref !== void 0 ? _ref : 0;
34
+ var amountInCents = Math.floor(Number(total) * 100);
35
+ return amountInCents > 0 ? amountInCents : 100;
36
+ };
37
+ var buildPaymethodPayload = function buildPaymethodPayload(paymentMethod) {
38
+ var card = paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.card;
39
+ return _objectSpread(_objectSpread({}, card || {}), {}, {
40
+ id: paymentMethod.id,
41
+ type: paymentMethod.type,
42
+ source_id: paymentMethod.id,
43
+ card: card ? {
44
+ brand: card.brand,
45
+ last4: card.last4
46
+ } : undefined
47
+ });
48
+ };
49
+ var StripePaymentElementFormUI = exports.StripePaymentElementFormUI = function StripePaymentElementFormUI(props) {
50
+ var _configs$stripe_curre3;
51
+ var cart = props.cart,
52
+ handleSource = props.handleSource,
53
+ handleCancel = props.handleCancel,
54
+ paymethod = props.paymethod,
55
+ cartGroup = props.cartGroup;
56
+ var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
57
+ _useLanguage2 = _slicedToArray(_useLanguage, 2),
58
+ t = _useLanguage2[1];
59
+ var _useConfig = (0, _orderingComponentsExternal.useConfig)(),
60
+ _useConfig2 = _slicedToArray(_useConfig, 1),
61
+ configs = _useConfig2[0].configs;
62
+ var stripe = (0, _reactStripeJs.useStripe)();
63
+ var elements = (0, _reactStripeJs.useElements)();
64
+ var _useState = (0, _react.useState)(null),
65
+ _useState2 = _slicedToArray(_useState, 2),
66
+ error = _useState2[0],
67
+ setError = _useState2[1];
68
+ var _useState3 = (0, _react.useState)(false),
69
+ _useState4 = _slicedToArray(_useState3, 2),
70
+ loading = _useState4[0],
71
+ setLoading = _useState4[1];
72
+ var _useState5 = (0, _react.useState)(false),
73
+ _useState6 = _slicedToArray(_useState5, 2),
74
+ isReady = _useState6[0],
75
+ setIsReady = _useState6[1];
76
+ var _useState7 = (0, _react.useState)(false),
77
+ _useState8 = _slicedToArray(_useState7, 2),
78
+ isGooglePayUnavailable = _useState8[0],
79
+ setIsGooglePayUnavailable = _useState8[1];
80
+ var isGooglePayMethod = googlePayMethods.includes(paymethod);
81
+ (0, _react.useEffect)(function () {
82
+ var _configs$stripe_curre, _configs$stripe_curre2, _cart$business;
83
+ if (!stripe || !isGooglePayMethod) {
84
+ setIsGooglePayUnavailable(false);
85
+ return;
86
+ }
87
+ var cartNames = '';
88
+ if (cartGroup) {
89
+ var _cartGroup$carts;
90
+ cartGroup === null || cartGroup === void 0 || (_cartGroup$carts = cartGroup.carts) === null || _cartGroup$carts === void 0 || _cartGroup$carts.forEach(function (groupCart, i) {
91
+ var _groupCart$business;
92
+ cartNames = "".concat(groupCart === null || groupCart === void 0 || (_groupCart$business = groupCart.business) === null || _groupCart$business === void 0 ? void 0 : _groupCart$business.name).concat(i < cartGroup.carts.length - 1 ? ', ' : '');
93
+ });
94
+ }
95
+ var paymentRequest = stripe.paymentRequest({
96
+ country: 'US',
97
+ currency: (configs === null || configs === void 0 || (_configs$stripe_curre = configs.stripe_currency) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre = _configs$stripe_curre.value) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre2 = _configs$stripe_curre.toLowerCase) === null || _configs$stripe_curre2 === void 0 ? void 0 : _configs$stripe_curre2.call(_configs$stripe_curre)) || 'usd',
98
+ total: {
99
+ label: cartNames || (cart === null || cart === void 0 || (_cart$business = cart.business) === null || _cart$business === void 0 ? void 0 : _cart$business.name) || 'Total',
100
+ amount: getPaymentAmount(cart, cartGroup)
101
+ },
102
+ requestPayerName: true,
103
+ requestPayerEmail: true
104
+ });
105
+ paymentRequest.canMakePayment().then(function (result) {
106
+ setIsGooglePayUnavailable(!(result !== null && result !== void 0 && result.googlePay));
107
+ });
108
+ }, [stripe, isGooglePayMethod, cart, cartGroup, configs === null || configs === void 0 || (_configs$stripe_curre3 = configs.stripe_currency) === null || _configs$stripe_curre3 === void 0 ? void 0 : _configs$stripe_curre3.value]);
109
+ var paymentElementOptions = (0, _react.useMemo)(function () {
110
+ var isGooglePay = googlePayMethods.includes(paymethod);
111
+ var isApplePay = applePayMethods.includes(paymethod);
112
+ return {
113
+ layout: 'tabs',
114
+ wallets: {
115
+ googlePay: isGooglePay ? 'auto' : 'never',
116
+ applePay: isApplePay ? 'auto' : 'never'
117
+ }
118
+ };
119
+ }, [paymethod]);
120
+ var handleSubmit = /*#__PURE__*/function () {
121
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(event) {
122
+ var _yield$elements$submi, submitError, _yield$stripe$createP, createError, paymentMethod, data;
123
+ return _regenerator().w(function (_context) {
124
+ while (1) switch (_context.n) {
125
+ case 0:
126
+ event.preventDefault();
127
+ if (!(!stripe || !elements)) {
128
+ _context.n = 1;
129
+ break;
130
+ }
131
+ setError(t('STRIPE_LOAD_ERROR', 'Failed to load Stripe properly'));
132
+ return _context.a(2);
133
+ case 1:
134
+ setLoading(true);
135
+ setError(null);
136
+ _context.n = 2;
137
+ return elements.submit();
138
+ case 2:
139
+ _yield$elements$submi = _context.v;
140
+ submitError = _yield$elements$submi.error;
141
+ if (!submitError) {
142
+ _context.n = 3;
143
+ break;
144
+ }
145
+ setError(submitError.message);
146
+ setLoading(false);
147
+ return _context.a(2);
148
+ case 3:
149
+ _context.n = 4;
150
+ return stripe.createPaymentMethod({
151
+ elements: elements
152
+ });
153
+ case 4:
154
+ _yield$stripe$createP = _context.v;
155
+ createError = _yield$stripe$createP.error;
156
+ paymentMethod = _yield$stripe$createP.paymentMethod;
157
+ if (!createError) {
158
+ _context.n = 5;
159
+ break;
160
+ }
161
+ setError(createError.message);
162
+ setLoading(false);
163
+ return _context.a(2);
164
+ case 5:
165
+ data = buildPaymethodPayload(paymentMethod);
166
+ handleCancel === null || handleCancel === void 0 || handleCancel();
167
+ handleSource(cartGroup ? JSON.stringify(data) : data);
168
+ setLoading(false);
169
+ case 6:
170
+ return _context.a(2);
171
+ }
172
+ }, _callee);
173
+ }));
174
+ return function handleSubmit(_x) {
175
+ return _ref4.apply(this, arguments);
176
+ };
177
+ }();
178
+ return /*#__PURE__*/_react.default.createElement(_styles.Container, {
179
+ onSubmit: handleSubmit
180
+ }, /*#__PURE__*/_react.default.createElement(_styles.PaymentElementWrapper, null, /*#__PURE__*/_react.default.createElement(_reactStripeJs.PaymentElement, {
181
+ options: paymentElementOptions,
182
+ onReady: function onReady() {
183
+ return setIsReady(true);
184
+ },
185
+ onLoadError: function onLoadError(event) {
186
+ var _event$error;
187
+ return setError(event === null || event === void 0 || (_event$error = event.error) === null || _event$error === void 0 ? void 0 : _event$error.message);
188
+ }
189
+ })), isGooglePayUnavailable && /*#__PURE__*/_react.default.createElement(_styles.InfoNote, {
190
+ role: "note"
191
+ }, t('GOOGLE_PAY_NOT_CONFIGURED_NOTE', 'Google Pay is not configured on this device. Add a card to complete your payment normally.')), error && /*#__PURE__*/_react.default.createElement(_styles.ErrorMessage, {
192
+ role: "alert"
193
+ }, error), /*#__PURE__*/_react.default.createElement(_styles.FormActions, null, /*#__PURE__*/_react.default.createElement(_Buttons.Button, {
194
+ color: "primary",
195
+ type: "submit",
196
+ disabled: loading || !isReady || !stripe || !elements
197
+ }, loading ? t('LOADING', 'Loading...') : t('PLACE_ORDER', 'Place order'))));
198
+ };
199
+ var StripePaymentElementForm = exports.StripePaymentElementForm = function StripePaymentElementForm(props) {
200
+ var propsController = _objectSpread(_objectSpread({}, props), {}, {
201
+ UIComponent: StripePaymentElementFormUI
202
+ });
203
+ return /*#__PURE__*/_react.default.createElement(_orderingComponentsExternal.CardForm, propsController);
204
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.PaymentElementWrapper = exports.InfoNote = exports.FormActions = exports.ErrorMessage = exports.Container = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
9
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
11
+ var Container = exports.Container = _styledComponents.default.form(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: column;\n gap: 16px;\n"])));
12
+ var PaymentElementWrapper = exports.PaymentElementWrapper = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n min-height: 44px;\n"])));
13
+ var ErrorMessage = exports.ErrorMessage = _styledComponents.default.p(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n color: #fa755a;\n margin: 0;\n font-size: 14px;\n"])));
14
+ var FormActions = exports.FormActions = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n justify-content: flex-end;\n"])));
15
+ var InfoNote = exports.InfoNote = _styledComponents.default.p(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: #6b7280;\n margin: 0;\n font-size: 13px;\n line-height: 1.5;\n"])));
package/_modules/index.js CHANGED
@@ -615,6 +615,12 @@ Object.defineProperty(exports, "StripeElementsForm", {
615
615
  return _StripeElementsForm.StripeElementsForm;
616
616
  }
617
617
  });
618
+ Object.defineProperty(exports, "StripePaymentElementForm", {
619
+ enumerable: true,
620
+ get: function get() {
621
+ return _StripePaymentElementForm.StripePaymentElementForm;
622
+ }
623
+ });
618
624
  Object.defineProperty(exports, "StripeRedirectForm", {
619
625
  enumerable: true,
620
626
  get: function get() {
@@ -951,6 +957,7 @@ var _SingleProductCard = require("./components/SingleProductCard");
951
957
  var _SmartAppBanner = require("./components/SmartAppBanner");
952
958
  var _SpinnerLoader = require("./components/SpinnerLoader");
953
959
  var _StripeElementsForm = require("./components/StripeElementsForm");
960
+ var _StripePaymentElementForm = require("./components/StripePaymentElementForm");
954
961
  var _StripeRedirectForm = require("./components/StripeRedirectForm");
955
962
  var _TaxInformation = require("./components/TaxInformation");
956
963
  var _UpsellingPage = require("./components/UpsellingPage");
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.StripeElementsForm = void 0;
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _orderingComponentsExternal = require("ordering-components-external");
10
10
  var _pure = require("@stripe/stripe-js/pure");
11
11
  var _reactStripeJs = require("@stripe/react-stripe-js");
12
+ var _StripePaymentElementForm = require("../../../../../components/StripePaymentElementForm");
12
13
  var _styles = require("./styles");
13
14
  var _CardForm = require("../CardForm");
14
- var _StripeMethodForm = require("../../../../../components/StripeMethodForm");
15
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
16
16
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
17
17
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
18
18
  function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
@@ -25,8 +25,14 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
25
25
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
26
26
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
27
27
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
28
+ var getPaymentAmount = function getPaymentAmount(cart, cartGroup) {
29
+ var _ref, _ref2, _ref3, _cartGroup$balance;
30
+ var total = (_ref = (_ref2 = (_ref3 = (_cartGroup$balance = cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.balance) !== null && _cartGroup$balance !== void 0 ? _cartGroup$balance : cartGroup === null || cartGroup === void 0 ? void 0 : cartGroup.total) !== null && _ref3 !== void 0 ? _ref3 : cart === null || cart === void 0 ? void 0 : cart.balance) !== null && _ref2 !== void 0 ? _ref2 : cart === null || cart === void 0 ? void 0 : cart.total) !== null && _ref !== void 0 ? _ref : 0;
31
+ var amountInCents = Math.floor(Number(total) * 100);
32
+ return amountInCents > 0 ? amountInCents : 100;
33
+ };
28
34
  var StripeElementsFormUI = function StripeElementsFormUI(props) {
29
- var _props$beforeElements, _props$beforeComponen, _props$afterComponent, _props$afterElements;
35
+ var _configs$stripe_curre3, _props$beforeElements, _props$beforeComponen, _props$afterComponent, _props$afterElements;
30
36
  var publicKey = props.publicKey,
31
37
  handleSource = props.handleSource,
32
38
  businessId = props.businessId,
@@ -42,6 +48,23 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
42
48
  var _useLanguage = (0, _orderingComponentsExternal.useLanguage)(),
43
49
  _useLanguage2 = _slicedToArray(_useLanguage, 2),
44
50
  t = _useLanguage2[1];
51
+ var _useConfig = (0, _orderingComponentsExternal.useConfig)(),
52
+ _useConfig2 = _slicedToArray(_useConfig, 1),
53
+ configs = _useConfig2[0].configs;
54
+ var isWalletPaymethod = methodsPay === null || methodsPay === void 0 ? void 0 : methodsPay.includes(paymethod);
55
+ var stripePromise = (0, _react.useMemo)(function () {
56
+ return publicKey ? (0, _pure.loadStripe)(publicKey) : null;
57
+ }, [publicKey]);
58
+ var walletElementsOptions = (0, _react.useMemo)(function () {
59
+ var _configs$stripe_curre, _configs$stripe_curre2;
60
+ if (!isWalletPaymethod) return null;
61
+ return {
62
+ mode: 'payment',
63
+ amount: getPaymentAmount(cart, cartGroup),
64
+ currency: (configs === null || configs === void 0 || (_configs$stripe_curre = configs.stripe_currency) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre = _configs$stripe_curre.value) === null || _configs$stripe_curre === void 0 || (_configs$stripe_curre2 = _configs$stripe_curre.toLowerCase) === null || _configs$stripe_curre2 === void 0 ? void 0 : _configs$stripe_curre2.call(_configs$stripe_curre)) || 'usd',
65
+ paymentMethodCreation: 'manual'
66
+ };
67
+ }, [isWalletPaymethod, cart, cartGroup, configs === null || configs === void 0 || (_configs$stripe_curre3 = configs.stripe_currency) === null || _configs$stripe_curre3 === void 0 ? void 0 : _configs$stripe_curre3.value]);
45
68
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, (_props$beforeElements = props.beforeElements) === null || _props$beforeElements === void 0 ? void 0 : _props$beforeElements.map(function (BeforeElement, i) {
46
69
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
47
70
  key: i
@@ -50,9 +73,10 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
50
73
  return /*#__PURE__*/_react.default.createElement(BeforeComponent, _extends({
51
74
  key: i
52
75
  }, props));
53
- }), publicKey ? /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
54
- stripe: (0, _pure.loadStripe)(publicKey)
55
- }, methodsPay !== null && methodsPay !== void 0 && methodsPay.includes(paymethod) ? /*#__PURE__*/_react.default.createElement(_StripeMethodForm.StripeMethodForm, {
76
+ }), publicKey ? isWalletPaymethod ? /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
77
+ stripe: stripePromise,
78
+ options: walletElementsOptions
79
+ }, /*#__PURE__*/_react.default.createElement(_StripePaymentElementForm.StripePaymentElementForm, {
56
80
  cart: cart,
57
81
  cartGroup: cartGroup,
58
82
  handleSource: handleSource,
@@ -63,7 +87,9 @@ var StripeElementsFormUI = function StripeElementsFormUI(props) {
63
87
  handleCancel: onCancel,
64
88
  paymethod: paymethod,
65
89
  handlePlaceOrder: handlePlaceOrder
66
- }) : /*#__PURE__*/_react.default.createElement(_CardForm.CardForm, {
90
+ })) : /*#__PURE__*/_react.default.createElement(_reactStripeJs.Elements, {
91
+ stripe: stripePromise
92
+ }, /*#__PURE__*/_react.default.createElement(_CardForm.CardForm, {
67
93
  handleSource: handleSource,
68
94
  onNewCard: onNewCard,
69
95
  toSave: toSave,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ordering-ui-external",
3
- "version": "14.2.1",
3
+ "version": "14.2.12",
4
4
  "description": "Ordering UI Components",
5
5
  "main": "./_modules/index.js",
6
6
  "exports": {
@@ -88,7 +88,7 @@
88
88
  "lodash": "^4.17.19",
89
89
  "moment": "^2.29.4",
90
90
  "nanoid": "^4.0.0",
91
- "ordering-components-external": "13.2.33",
91
+ "ordering-components-external": "13.2.34",
92
92
  "payment": "^2.4.6",
93
93
  "polished": "^3.6.6",
94
94
  "react-bootstrap-icons": "^1.7.2",
@@ -1,14 +1,21 @@
1
- import React from 'react'
2
- import { StripeElementsForm as StripeElementsFormController, useLanguage } from 'ordering-components-external'
1
+ import React, { useMemo } from 'react'
2
+ import { StripeElementsForm as StripeElementsFormController, useConfig, useLanguage } from 'ordering-components-external'
3
3
  import { loadStripe } from '@stripe/stripe-js/pure'
4
4
  import { Elements } from '@stripe/react-stripe-js'
5
- import { StripeMethodForm } from '../StripeMethodForm'
5
+
6
+ import { StripePaymentElementForm } from '../StripePaymentElementForm'
6
7
  import {
7
8
  ErrorMessage
8
9
  } from './styles'
9
10
 
10
11
  import { CardForm } from '../CardForm'
11
12
 
13
+ const getPaymentAmount = (cart, cartGroup) => {
14
+ const total = cartGroup?.balance ?? cartGroup?.total ?? cart?.balance ?? cart?.total ?? 0
15
+ const amountInCents = Math.floor(Number(total) * 100)
16
+ return amountInCents > 0 ? amountInCents : 100
17
+ }
18
+
12
19
  const StripeElementsFormUI = (props) => {
13
20
  const {
14
21
  publicKey,
@@ -21,9 +28,23 @@ const StripeElementsFormUI = (props) => {
21
28
  paymethod,
22
29
  cart,
23
30
  handlePlaceOrder,
24
- methodsPay
31
+ methodsPay,
32
+ cartGroup
25
33
  } = props
26
34
  const [, t] = useLanguage()
35
+ const [{ configs }] = useConfig()
36
+ const isWalletPaymethod = methodsPay?.includes(paymethod)
37
+ const stripePromise = useMemo(() => (publicKey ? loadStripe(publicKey) : null), [publicKey])
38
+
39
+ const walletElementsOptions = useMemo(() => {
40
+ if (!isWalletPaymethod) return null
41
+ return {
42
+ mode: 'payment',
43
+ amount: getPaymentAmount(cart, cartGroup),
44
+ currency: configs?.stripe_currency?.value?.toLowerCase?.() || 'usd',
45
+ paymentMethodCreation: 'manual'
46
+ }
47
+ }, [isWalletPaymethod, cart, cartGroup, configs?.stripe_currency?.value])
27
48
 
28
49
  return (
29
50
  <>
@@ -33,34 +54,41 @@ const StripeElementsFormUI = (props) => {
33
54
  </React.Fragment>))}
34
55
  {props.beforeComponents?.map((BeforeComponent, i) => (
35
56
  <BeforeComponent key={i} {...props} />))}
36
- {publicKey ? (
37
- <Elements stripe={loadStripe(publicKey)}>
38
- {methodsPay?.includes(paymethod) ? (
39
- <StripeMethodForm
40
- cart={cart}
41
- handleSource={handleSource}
42
- onNewCard={onNewCard}
43
- toSave={toSave}
44
- requirements={requirements}
45
- businessId={businessId}
46
- handleCancel={onCancel}
47
- paymethod={paymethod}
48
- handlePlaceOrder={handlePlaceOrder}
49
- />
50
- ) : (
51
- <CardForm
52
- handleSource={handleSource}
53
- onNewCard={onNewCard}
54
- toSave={toSave}
55
- requirements={requirements}
56
- businessId={businessId}
57
- handleCancel={onCancel}
58
- />
59
- )}
60
- </Elements>
61
- ) : (
62
- <ErrorMessage>{t('SOMETHING_WRONG', 'Something is wrong!')}</ErrorMessage>
63
- )}
57
+ {publicKey
58
+ ? (
59
+ isWalletPaymethod
60
+ ? (
61
+ <Elements stripe={stripePromise} options={walletElementsOptions}>
62
+ <StripePaymentElementForm
63
+ cart={cart}
64
+ cartGroup={cartGroup}
65
+ handleSource={handleSource}
66
+ onNewCard={onNewCard}
67
+ toSave={toSave}
68
+ requirements={requirements}
69
+ businessId={businessId}
70
+ handleCancel={onCancel}
71
+ paymethod={paymethod}
72
+ handlePlaceOrder={handlePlaceOrder}
73
+ />
74
+ </Elements>
75
+ )
76
+ : (
77
+ <Elements stripe={stripePromise}>
78
+ <CardForm
79
+ handleSource={handleSource}
80
+ onNewCard={onNewCard}
81
+ toSave={toSave}
82
+ requirements={requirements}
83
+ businessId={businessId}
84
+ handleCancel={onCancel}
85
+ />
86
+ </Elements>
87
+ )
88
+ )
89
+ : (
90
+ <ErrorMessage>{t('SOMETHING_WRONG', 'Something is wrong!')}</ErrorMessage>
91
+ )}
64
92
  {props.afterComponents?.map((AfterComponent, i) => (
65
93
  <AfterComponent key={i} {...props} />))}
66
94
  {props.afterElements?.map((AfterElement, i) => (