@pelcro/react-pelcro-js 3.1.0 → 3.2.0-beta.3

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.
package/dist/index.cjs.js CHANGED
@@ -7094,8 +7094,8 @@ const saveToMetadataButton = new SaveToMetadataButtonClass();
7094
7094
 
7095
7095
  let e={data:""},t=t=>"undefined"!=typeof window?((t?t.querySelector("#_goober"):window._goober)||Object.assign((t||document.head).appendChild(document.createElement("style")),{innerHTML:" ",id:"_goober"})).firstChild:t||e,l=/(?:([\u0080-\uFFFF\w-%@]+) *:? *([^{;]+?);|([^;}{]*?) *{)|(})/g,a=/\/\*[^]*?\*\/|\s\s+|\n/g,n=(e,t)=>{let r,l="",a="",o="";for(let c in e){let s=e[c];"object"==typeof s?(r=t?t.replace(/([^,])+/g,e=>c.replace(/([^,])+/g,t=>/&/.test(t)?t.replace(/&/g,e):e?e+" "+t:t)):c,a+="@"==c[0]?"f"==c[1]?n(s,c):c+"{"+n(s,"k"==c[1]?"":t)+"}":n(s,r)):"@"==c[0]&&"i"==c[1]?l=c+" "+s+";":(c=c.replace(/[A-Z]/g,"-$&").toLowerCase(),o+=n.p?n.p(c,s):c+":"+s+";");}return o[0]?(r=t?t+"{"+o+"}":o,l+r+a):l+a},o={},c=e=>{let t="";for(let r in e)t+=r+("object"==typeof e[r]?c(e[r]):e[r]);return t},s=(e,t,r,s,i)=>{let p="object"==typeof e?c(e):e,u=o[p]||(o[p]=(e=>{let t=0,r=11;for(;t<e.length;)r=101*r+e.charCodeAt(t++)>>>0;return "go"+r})(p));if(!o[u]){let t="object"==typeof e?e:(e=>{let t,r=[{}];for(;t=l.exec(e.replace(a,""));)t[4]&&r.shift(),t[3]?r.unshift(r[0][t[3]]=r[0][t[3]]||{}):t[4]||(r[0][t[1]]=t[2]);return r[0]})(e);o[u]=n(i?{["@keyframes "+u]:t}:t,r?"":"."+u);}return ((e,t,r)=>{-1==t.data.indexOf(e)&&(t.data=r?e+t.data:t.data+e);})(o[u],t,s),u},i=(e,t,r)=>e.reduce((e,l,a)=>{let o=t[a];if(o&&o.call){let e=o(r),t=e&&e.props&&e.props.className||/^go/.test(e)&&e;o=t?"."+t:e&&"object"==typeof e?e.props?"":n(e,""):e;}return e+l+(null==o?"":o)},"");function p(e){let r=this||{},l=e.call?e(r.p):e;return s(l.unshift?l.raw?i(l,[].slice.call(arguments,1),r.p):l.reduce((e,t)=>t?Object.assign(e,t.call?t(r.p):t):e,{}):l,t(r.target),r.g,r.o,r.k)}let u,f,d;p.bind({g:1});let b=p.bind({k:1});function h(e,t,r,l){n.p=t,u=e,f=r,d=l;}function y(e,t){let r=this||{};return function(){let l=arguments;function a(n,o){let c=Object.assign({},n),s=c.className||a.className;r.p=Object.assign({theme:f&&f()},c),r.o=/ *go\d+/.test(s),c.className=p.apply(r,l)+(s?" "+s:""),t&&(c.ref=o);let i=c.as||e;return d&&i[0]&&d(c),u(i,c)}return t?t(a):a}}
7096
7096
 
7097
- function _extends$y() {
7098
- _extends$y = Object.assign || function (target) {
7097
+ function _extends$z() {
7098
+ _extends$z = Object.assign || function (target) {
7099
7099
  for (var i = 1; i < arguments.length; i++) {
7100
7100
  var source = arguments[i];
7101
7101
 
@@ -7109,7 +7109,7 @@ function _extends$y() {
7109
7109
  return target;
7110
7110
  };
7111
7111
 
7112
- return _extends$y.apply(this, arguments);
7112
+ return _extends$z.apply(this, arguments);
7113
7113
  }
7114
7114
 
7115
7115
  function _taggedTemplateLiteralLoose(strings, raw) {
@@ -7199,7 +7199,7 @@ var clearFromRemoveQueue = function clearFromRemoveQueue(toastId) {
7199
7199
  var reducer = function reducer(state, action) {
7200
7200
  switch (action.type) {
7201
7201
  case ActionType.ADD_TOAST:
7202
- return _extends$y({}, state, {
7202
+ return _extends$z({}, state, {
7203
7203
  toasts: [action.toast].concat(state.toasts).slice(0, TOAST_LIMIT)
7204
7204
  });
7205
7205
 
@@ -7209,9 +7209,9 @@ var reducer = function reducer(state, action) {
7209
7209
  clearFromRemoveQueue(action.toast.id);
7210
7210
  }
7211
7211
 
7212
- return _extends$y({}, state, {
7212
+ return _extends$z({}, state, {
7213
7213
  toasts: state.toasts.map(function (t) {
7214
- return t.id === action.toast.id ? _extends$y({}, t, action.toast) : t;
7214
+ return t.id === action.toast.id ? _extends$z({}, t, action.toast) : t;
7215
7215
  })
7216
7216
  });
7217
7217
 
@@ -7238,9 +7238,9 @@ var reducer = function reducer(state, action) {
7238
7238
  });
7239
7239
  }
7240
7240
 
7241
- return _extends$y({}, state, {
7241
+ return _extends$z({}, state, {
7242
7242
  toasts: state.toasts.map(function (t) {
7243
- return t.id === toastId || toastId === undefined ? _extends$y({}, t, {
7243
+ return t.id === toastId || toastId === undefined ? _extends$z({}, t, {
7244
7244
  visible: false
7245
7245
  }) : t;
7246
7246
  })
@@ -7248,28 +7248,28 @@ var reducer = function reducer(state, action) {
7248
7248
 
7249
7249
  case ActionType.REMOVE_TOAST:
7250
7250
  if (action.toastId === undefined) {
7251
- return _extends$y({}, state, {
7251
+ return _extends$z({}, state, {
7252
7252
  toasts: []
7253
7253
  });
7254
7254
  }
7255
7255
 
7256
- return _extends$y({}, state, {
7256
+ return _extends$z({}, state, {
7257
7257
  toasts: state.toasts.filter(function (t) {
7258
7258
  return t.id !== action.toastId;
7259
7259
  })
7260
7260
  });
7261
7261
 
7262
7262
  case ActionType.START_PAUSE:
7263
- return _extends$y({}, state, {
7263
+ return _extends$z({}, state, {
7264
7264
  pausedAt: action.time
7265
7265
  });
7266
7266
 
7267
7267
  case ActionType.END_PAUSE:
7268
7268
  var diff = action.time - (state.pausedAt || 0);
7269
- return _extends$y({}, state, {
7269
+ return _extends$z({}, state, {
7270
7270
  pausedAt: undefined,
7271
7271
  toasts: state.toasts.map(function (t) {
7272
- return _extends$y({}, t, {
7272
+ return _extends$z({}, t, {
7273
7273
  pauseDuration: t.pauseDuration + diff
7274
7274
  });
7275
7275
  })
@@ -7316,12 +7316,12 @@ var useStore = function useStore(toastOptions) {
7316
7316
  var mergedToasts = state.toasts.map(function (t) {
7317
7317
  var _toastOptions$t$type, _toastOptions, _toastOptions$t$type2;
7318
7318
 
7319
- return _extends$y({}, toastOptions, toastOptions[t.type], t, {
7319
+ return _extends$z({}, toastOptions, toastOptions[t.type], t, {
7320
7320
  duration: t.duration || ((_toastOptions$t$type = toastOptions[t.type]) == null ? void 0 : _toastOptions$t$type.duration) || ((_toastOptions = toastOptions) == null ? void 0 : _toastOptions.duration) || defaultTimeouts[t.type],
7321
- style: _extends$y({}, toastOptions.style, (_toastOptions$t$type2 = toastOptions[t.type]) == null ? void 0 : _toastOptions$t$type2.style, t.style)
7321
+ style: _extends$z({}, toastOptions.style, (_toastOptions$t$type2 = toastOptions[t.type]) == null ? void 0 : _toastOptions$t$type2.style, t.style)
7322
7322
  });
7323
7323
  });
7324
- return _extends$y({}, state, {
7324
+ return _extends$z({}, state, {
7325
7325
  toasts: mergedToasts
7326
7326
  });
7327
7327
  };
@@ -7331,7 +7331,7 @@ var createToast = function createToast(message, type, opts) {
7331
7331
  type = 'blank';
7332
7332
  }
7333
7333
 
7334
- return _extends$y({
7334
+ return _extends$z({
7335
7335
  createdAt: Date.now(),
7336
7336
  visible: true,
7337
7337
  type: type,
@@ -7381,14 +7381,14 @@ toast.remove = function (toastId) {
7381
7381
  };
7382
7382
 
7383
7383
  toast.promise = function (promise, msgs, opts) {
7384
- var id = toast.loading(msgs.loading, _extends$y({}, opts, opts == null ? void 0 : opts.loading));
7384
+ var id = toast.loading(msgs.loading, _extends$z({}, opts, opts == null ? void 0 : opts.loading));
7385
7385
  promise.then(function (p) {
7386
- toast.success(resolveValue(msgs.success, p), _extends$y({
7386
+ toast.success(resolveValue(msgs.success, p), _extends$z({
7387
7387
  id: id
7388
7388
  }, opts, opts == null ? void 0 : opts.success));
7389
7389
  return p;
7390
7390
  })["catch"](function (e) {
7391
- toast.error(resolveValue(msgs.error, e), _extends$y({
7391
+ toast.error(resolveValue(msgs.error, e), _extends$z({
7392
7392
  id: id
7393
7393
  }, opts, opts == null ? void 0 : opts.error));
7394
7394
  });
@@ -7727,7 +7727,7 @@ var ToastBar = /*#__PURE__*/React.memo(function (_ref2) {
7727
7727
  var message = React.createElement(Message, Object.assign({}, toast.ariaProps), resolveValue(toast.message, toast));
7728
7728
  return React.createElement(ToastBarBase, {
7729
7729
  className: toast.className,
7730
- style: _extends$y({}, animationStyle, style, toast.style)
7730
+ style: _extends$z({}, animationStyle, style, toast.style)
7731
7731
  }, typeof children === 'function' ? children({
7732
7732
  icon: icon,
7733
7733
  message: message
@@ -7757,7 +7757,7 @@ var getPositionStyle = function getPositionStyle(position, offset) {
7757
7757
  } : position.includes('right') ? {
7758
7758
  justifyContent: 'flex-end'
7759
7759
  } : {};
7760
- return _extends$y({
7760
+ return _extends$z({
7761
7761
  left: 0,
7762
7762
  right: 0,
7763
7763
  display: 'flex',
@@ -7784,7 +7784,7 @@ var Toaster = function Toaster(_ref) {
7784
7784
  handlers = _useToaster.handlers;
7785
7785
 
7786
7786
  return React.createElement("div", {
7787
- style: _extends$y({
7787
+ style: _extends$z({
7788
7788
  position: 'fixed',
7789
7789
  zIndex: 9999,
7790
7790
  top: DEFAULT_OFFSET,
@@ -7819,82 +7819,82 @@ var Toaster = function Toaster(_ref) {
7819
7819
  }));
7820
7820
  };
7821
7821
 
7822
- var _path$v;
7822
+ var _path$w;
7823
7823
 
7824
- function _extends$x() { _extends$x = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$x.apply(this, arguments); }
7824
+ function _extends$y() { _extends$y = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$y.apply(this, arguments); }
7825
7825
 
7826
7826
  function SvgCheckSolid(props) {
7827
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$x({
7827
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$y({
7828
7828
  xmlns: "http://www.w3.org/2000/svg",
7829
7829
  className: "h-5 w-5",
7830
7830
  viewBox: "0 0 20 20",
7831
7831
  fill: "currentColor"
7832
- }, props), _path$v || (_path$v = /*#__PURE__*/React__namespace.createElement("path", {
7832
+ }, props), _path$w || (_path$w = /*#__PURE__*/React__namespace.createElement("path", {
7833
7833
  fillRule: "evenodd",
7834
7834
  d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
7835
7835
  clipRule: "evenodd"
7836
7836
  })));
7837
7837
  }
7838
7838
 
7839
- var _path$u;
7839
+ var _path$v;
7840
7840
 
7841
- function _extends$w() { _extends$w = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$w.apply(this, arguments); }
7841
+ function _extends$x() { _extends$x = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$x.apply(this, arguments); }
7842
7842
 
7843
7843
  function SvgXIcon(props) {
7844
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$w({
7844
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$x({
7845
7845
  xmlns: "http://www.w3.org/2000/svg",
7846
7846
  viewBox: "0 0 20 20",
7847
7847
  fill: "currentColor"
7848
- }, props), _path$u || (_path$u = /*#__PURE__*/React__namespace.createElement("path", {
7848
+ }, props), _path$v || (_path$v = /*#__PURE__*/React__namespace.createElement("path", {
7849
7849
  fill: "evenodd",
7850
7850
  d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
7851
7851
  clipRule: "evenodd"
7852
7852
  })));
7853
7853
  }
7854
7854
 
7855
- var _path$t;
7855
+ var _path$u;
7856
7856
 
7857
- function _extends$v() { _extends$v = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$v.apply(this, arguments); }
7857
+ function _extends$w() { _extends$w = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$w.apply(this, arguments); }
7858
7858
 
7859
7859
  function SvgXIconSolid(props) {
7860
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$v({
7860
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$w({
7861
7861
  className: "plc-w-4 plc-h-4",
7862
7862
  fill: "currentColor",
7863
7863
  xmlns: "http://www.w3.org/2000/svg",
7864
7864
  viewBox: "0 0 100 100"
7865
- }, props), _path$t || (_path$t = /*#__PURE__*/React__namespace.createElement("path", {
7865
+ }, props), _path$u || (_path$u = /*#__PURE__*/React__namespace.createElement("path", {
7866
7866
  d: "M94.842 48.408c0 24.852-20.148 44.999-45.002 44.999-24.851 0-44.997-20.146-44.997-44.999 0-24.854 20.146-45 44.997-45 24.853 0 45.002 20.146 45.002 45zM71.073 64.841L54.73 48.497l16.344-16.344-4.979-4.979-16.343 16.345-16.343-16.344-4.799 4.799 16.344 16.344L28.61 64.661l4.979 4.978 16.344-16.344 16.343 16.344 4.797-4.798z"
7867
7867
  })));
7868
7868
  }
7869
7869
 
7870
- var _path$s;
7870
+ var _path$t;
7871
7871
 
7872
- function _extends$u() { _extends$u = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$u.apply(this, arguments); }
7872
+ function _extends$v() { _extends$v = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$v.apply(this, arguments); }
7873
7873
 
7874
7874
  function SvgExclamation(props) {
7875
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$u({
7875
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$v({
7876
7876
  className: "plc-w-4 plc-h-4 plc-mr-1",
7877
7877
  xmlns: "http://www.w3.org/2000/svg",
7878
7878
  viewBox: "0 0 20 20",
7879
7879
  fill: "currentColor"
7880
- }, props), _path$s || (_path$s = /*#__PURE__*/React__namespace.createElement("path", {
7880
+ }, props), _path$t || (_path$t = /*#__PURE__*/React__namespace.createElement("path", {
7881
7881
  fillRule: "evenodd",
7882
7882
  d: "M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z",
7883
7883
  clipRule: "evenodd"
7884
7884
  })));
7885
7885
  }
7886
7886
 
7887
- var _path$r, _path2$4;
7887
+ var _path$s, _path2$4;
7888
7888
 
7889
- function _extends$t() { _extends$t = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$t.apply(this, arguments); }
7889
+ function _extends$u() { _extends$u = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$u.apply(this, arguments); }
7890
7890
 
7891
7891
  function SvgSpinner(props) {
7892
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$t({
7892
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$u({
7893
7893
  className: "plc-animate-spin",
7894
7894
  viewBox: "0 0 24 24",
7895
7895
  fill: "currentColor",
7896
7896
  xmlns: "http://www.w3.org/2000/svg"
7897
- }, props), _path$r || (_path$r = /*#__PURE__*/React__namespace.createElement("path", {
7897
+ }, props), _path$s || (_path$s = /*#__PURE__*/React__namespace.createElement("path", {
7898
7898
  opacity: 0.2,
7899
7899
  fill: "evenodd",
7900
7900
  clipRule: "evenodd",
@@ -8629,6 +8629,7 @@ var pure_1 = pure.loadStripe;
8629
8629
  * @param {Object} error Error object
8630
8630
  * @return {string}
8631
8631
  */
8632
+
8632
8633
  const getErrorMessages = error => {
8633
8634
  var _error$error, _error$response, _error$response$data, _error$response3, _error$response3$data, _error$response3$data2, _error$response5, _error$response5$data;
8634
8635
 
@@ -8683,6 +8684,15 @@ const debounce = (func, waitTime) => {
8683
8684
  timeout = setTimeout(later, waitTime);
8684
8685
  };
8685
8686
  };
8687
+ function getSiteCardProcessor() {
8688
+ var _window$Pelcro$site$r;
8689
+
8690
+ if ((_window$Pelcro$site$r = window.Pelcro.site.read()) !== null && _window$Pelcro$site$r !== void 0 && _window$Pelcro$site$r.vantiv_pay_page_id) {
8691
+ return "vantiv";
8692
+ }
8693
+
8694
+ return "stripe";
8695
+ }
8686
8696
 
8687
8697
  /**
8688
8698
  * @typedef {Object} OptionsType
@@ -8763,13 +8773,26 @@ const loadPaymentSDKs = () => {
8763
8773
  if (!window.Stripe) {
8764
8774
  pure_1(window.Pelcro.environment.stripe);
8765
8775
  }
8766
- }); // Load PayPal SDK's
8776
+ }); // Load PayPal SDKs
8767
8777
 
8768
8778
  const supportsPaypal = Boolean(window.Pelcro.site.read().braintree_tokenization);
8769
8779
 
8770
8780
  if (supportsPaypal) {
8771
8781
  window.Pelcro.helpers.loadSDK("https://js.braintreegateway.com/web/3.69.0/js/client.min.js", "braintree-sdk");
8772
8782
  window.Pelcro.helpers.loadSDK("https://js.braintreegateway.com/web/3.69.0/js/paypal-checkout.min.js", "braintree-paypal-sdk");
8783
+ } // Load Vantiv SDKs
8784
+
8785
+
8786
+ const supportsVantiv = Boolean(window.Pelcro.site.read().vantiv_pay_page_id);
8787
+
8788
+ if (supportsVantiv) {
8789
+ if (!window.jQuery) {
8790
+ window.Pelcro.helpers.loadSDK("https://code.jquery.com/jquery-3.6.0.slim.min.js", "vantiv-jquery-sdk");
8791
+ }
8792
+
8793
+ if (!window.EprotectIframeClient) {
8794
+ window.Pelcro.helpers.loadSDK("https://request.eprotect.vantivprelive.com/eProtect/js/eProtect-iframe-client.min.js", "vantiv-eprotect-sdk");
8795
+ }
8773
8796
  }
8774
8797
  };
8775
8798
  const loadAuth0SDK = () => {
@@ -8929,8 +8952,7 @@ const initViewFromURL = () => {
8929
8952
  }
8930
8953
 
8931
8954
  if (view === "invoice-details") {
8932
- // FIXME: commented out to remove from the release
8933
- return false; // return showInvoiceDetailsFromUrl();
8955
+ return showInvoiceDetailsFromUrl();
8934
8956
  }
8935
8957
 
8936
8958
  switchView(view);
@@ -9109,6 +9131,43 @@ const verifyEmailTokenFromUrl = () => {
9109
9131
  });
9110
9132
  };
9111
9133
 
9134
+ const showInvoiceDetailsFromUrl = () => {
9135
+ const {
9136
+ isAuthenticated,
9137
+ setInvoice,
9138
+ whenSiteReady,
9139
+ switchView
9140
+ } = usePelcro.getStore();
9141
+ whenSiteReady(() => {
9142
+ if (!isAuthenticated()) {
9143
+ return switchView("login");
9144
+ }
9145
+
9146
+ const invoiceId = window.Pelcro.helpers.getURLParameter("id");
9147
+ const wasSetSuccessfully = setInvoice(invoiceId);
9148
+
9149
+ if (!wasSetSuccessfully) {
9150
+ const errorMessage = i18next.t("messages:invalidInvoice", {
9151
+ returnObjects: true
9152
+ });
9153
+ return notify.error(errorMessage);
9154
+ }
9155
+
9156
+ const {
9157
+ invoice
9158
+ } = usePelcro.getStore();
9159
+
9160
+ if (invoice.total === 0) {
9161
+ const errorMessage = i18next.t("messages:zeroTotalInvoice", {
9162
+ returnObjects: true
9163
+ });
9164
+ return notify.error(errorMessage);
9165
+ }
9166
+
9167
+ return switchView("invoice-details");
9168
+ });
9169
+ };
9170
+
9112
9171
  const defaultOptions = {
9113
9172
  loadPaymentSDKs: true,
9114
9173
  loadAuth0SDK: true,
@@ -9878,16 +9937,16 @@ const LoginPassword = props => /*#__PURE__*/React__default['default'].createElem
9878
9937
  store: store$h
9879
9938
  }, props));
9880
9939
 
9881
- var _path$q;
9940
+ var _path$r;
9882
9941
 
9883
- function _extends$s() { _extends$s = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$s.apply(this, arguments); }
9942
+ function _extends$t() { _extends$t = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$t.apply(this, arguments); }
9884
9943
 
9885
9944
  function SvgCheck(props) {
9886
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$s({
9945
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$t({
9887
9946
  xmlns: "http://www.w3.org/2000/svg",
9888
9947
  fill: "currentColor",
9889
9948
  viewBox: "0 0 20 20"
9890
- }, props), _path$q || (_path$q = /*#__PURE__*/React__namespace.createElement("path", {
9949
+ }, props), _path$r || (_path$r = /*#__PURE__*/React__namespace.createElement("path", {
9891
9950
  fillRule: "evenodd",
9892
9951
  d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",
9893
9952
  clipRule: "evenodd"
@@ -10206,15 +10265,15 @@ function hasSecurityTokenEnabled$1() {
10206
10265
  return hasSecuritySdkLoaded;
10207
10266
  }
10208
10267
 
10209
- var _path$p;
10268
+ var _path$q;
10210
10269
 
10211
- function _extends$r() { _extends$r = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$r.apply(this, arguments); }
10270
+ function _extends$s() { _extends$s = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$s.apply(this, arguments); }
10212
10271
 
10213
10272
  function SvgFacebookLogo(props) {
10214
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$r({
10273
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$s({
10215
10274
  xmlns: "http://www.w3.org/2000/svg",
10216
10275
  viewBox: "88.428 12.828 107.543 207.085"
10217
- }, props), _path$p || (_path$p = /*#__PURE__*/React__namespace.createElement("path", {
10276
+ }, props), _path$q || (_path$q = /*#__PURE__*/React__namespace.createElement("path", {
10218
10277
  d: "M158.232 219.912v-94.461h31.707l4.747-36.813h-36.454V65.134c0-10.658 2.96-17.922 18.245-17.922l19.494-.009V14.278c-3.373-.447-14.944-1.449-28.406-1.449-28.106 0-47.348 17.155-47.348 48.661v27.149H88.428v36.813h31.788v94.461l38.016-.001z",
10219
10278
  fill: "#3c5a9a"
10220
10279
  })));
@@ -10287,15 +10346,15 @@ var googleLogin = createCommonjsModule(function (module, exports) {
10287
10346
  unwrapExports(googleLogin);
10288
10347
  var googleLogin_1 = googleLogin.GoogleLogin;
10289
10348
 
10290
- var _path$o, _path2$3, _path3$1, _path4;
10349
+ var _path$p, _path2$3, _path3$1, _path4;
10291
10350
 
10292
- function _extends$q() { _extends$q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$q.apply(this, arguments); }
10351
+ function _extends$r() { _extends$r = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$r.apply(this, arguments); }
10293
10352
 
10294
10353
  function SvgGoogleLogo(props) {
10295
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$q({
10354
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$r({
10296
10355
  viewBox: "0 0 24 24",
10297
10356
  xmlns: "http://www.w3.org/2000/svg"
10298
- }, props), _path$o || (_path$o = /*#__PURE__*/React__namespace.createElement("path", {
10357
+ }, props), _path$p || (_path$p = /*#__PURE__*/React__namespace.createElement("path", {
10299
10358
  fill: "#4285F4",
10300
10359
  d: "M23.745 12.27c0-.79-.07-1.54-.19-2.27h-11.3v4.51h6.47c-.29 1.48-1.14 2.73-2.4 3.58v3h3.86c2.26-2.09 3.56-5.17 3.56-8.82z"
10301
10360
  })), _path2$3 || (_path2$3 = /*#__PURE__*/React__namespace.createElement("path", {
@@ -10372,15 +10431,15 @@ const GoogleLoginButton = ({
10372
10431
  }) : null;
10373
10432
  };
10374
10433
 
10375
- var _path$n;
10434
+ var _path$o;
10376
10435
 
10377
- function _extends$p() { _extends$p = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$p.apply(this, arguments); }
10436
+ function _extends$q() { _extends$q = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$q.apply(this, arguments); }
10378
10437
 
10379
10438
  function SvgAuth0Logo(props) {
10380
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$p({
10439
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$q({
10381
10440
  viewBox: "0 0 256 285",
10382
10441
  xmlns: "http://www.w3.org/2000/svg"
10383
- }, props), _path$n || (_path$n = /*#__PURE__*/React__namespace.createElement("path", {
10442
+ }, props), _path$o || (_path$o = /*#__PURE__*/React__namespace.createElement("path", {
10384
10443
  d: "M220.412 0h-92.415l28.562 89.006h92.416l-74.77 53.077 28.57 89.511c48.128-35.06 63.854-88.12 46.208-142.588L220.413 0zM7.018 89.006h92.416L127.997 0H35.589L7.019 89.006c-17.655 54.468-1.92 107.529 46.207 142.588l28.563-89.51-74.77-53.078zm46.208 142.588l74.77 52.97 74.77-52.97-74.77-53.847-74.77 53.847z"
10385
10444
  })));
10386
10445
  }
@@ -10556,15 +10615,15 @@ function LoginView(props) {
10556
10615
  }, /*#__PURE__*/React__default['default'].createElement(GoogleLoginButton, null), /*#__PURE__*/React__default['default'].createElement(FacebookLoginButton, null), /*#__PURE__*/React__default['default'].createElement(Auth0LoginButton, null))))));
10557
10616
  }
10558
10617
 
10559
- var _path$m, _path2$2, _path3;
10618
+ var _path$n, _path2$2, _path3;
10560
10619
 
10561
- function _extends$o() { _extends$o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$o.apply(this, arguments); }
10620
+ function _extends$p() { _extends$p = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$p.apply(this, arguments); }
10562
10621
 
10563
10622
  function SvgPelcroAuthorship(props) {
10564
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$o({
10623
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$p({
10565
10624
  xmlns: "http://www.w3.org/2000/svg",
10566
10625
  viewBox: "0 -80.652 497.072 179.991"
10567
- }, props), _path$m || (_path$m = /*#__PURE__*/React__namespace.createElement("path", {
10626
+ }, props), _path$n || (_path$n = /*#__PURE__*/React__namespace.createElement("path", {
10568
10627
  fill: "none",
10569
10628
  stroke: "#4a4a4a",
10570
10629
  d: "M487.89 42.299c0 13.158-10.671 23.829-23.829 23.829H37.074c-13.162 0-23.832-10.671-23.832-23.829v-63.552c0-13.158 10.67-23.831 23.832-23.831H464.06c13.158 0 23.829 10.672 23.829 23.831l.001 63.552z"
@@ -12708,7 +12767,7 @@ var _generateUserError = /*#__PURE__*/new WeakMap();
12708
12767
  class Subscription {
12709
12768
  /**
12710
12769
  * Subscription service constructor
12711
- * @param {(StripeGateway|PaypalGateWay)} paymentGateway
12770
+ * @param {(StripeGateway|PaypalGateway|VantivGateway)} paymentGateway
12712
12771
  */
12713
12772
  constructor(paymentGateway) {
12714
12773
  _defineProperty$3(this, "execute", (options, callback) => {
@@ -12729,7 +12788,7 @@ class Subscription {
12729
12788
  _isPaymentGatewayInvalid.set(this, {
12730
12789
  writable: true,
12731
12790
  value: gateway => {
12732
- return gateway && !(gateway instanceof StripeGateway) && gateway && !(gateway instanceof PaypalGateWay);
12791
+ return gateway && !(gateway instanceof StripeGateway || gateway instanceof PaypalGateway || gateway instanceof VantivGateway);
12733
12792
  }
12734
12793
  });
12735
12794
 
@@ -12782,7 +12841,8 @@ class Subscription {
12782
12841
  }
12783
12842
  const PAYMENT_GATEWAYS_ENUM = {
12784
12843
  stripe: "stripe",
12785
- paypal: "braintree"
12844
+ paypal: "braintree",
12845
+ vantiv: "vantiv"
12786
12846
  };
12787
12847
  /**
12788
12848
  * Subscription Strategies
@@ -12974,7 +13034,7 @@ var _createGiftedSubscription2 = /*#__PURE__*/new WeakMap();
12974
13034
 
12975
13035
  var _payInvoice2 = /*#__PURE__*/new WeakMap();
12976
13036
 
12977
- class PaypalGateWay {
13037
+ class PaypalGateway {
12978
13038
  constructor() {
12979
13039
  _paymentGateway2.set(this, {
12980
13040
  writable: true,
@@ -13075,6 +13135,180 @@ class PaypalGateWay {
13075
13135
 
13076
13136
  }
13077
13137
 
13138
+ var _paymentGateway3 = /*#__PURE__*/new WeakMap();
13139
+
13140
+ var _createSubscription3 = /*#__PURE__*/new WeakMap();
13141
+
13142
+ var _renewSubscription2 = /*#__PURE__*/new WeakMap();
13143
+
13144
+ var _createGiftedSubscription3 = /*#__PURE__*/new WeakMap();
13145
+
13146
+ var _renewGiftedSubscription2 = /*#__PURE__*/new WeakMap();
13147
+
13148
+ class VantivGateway {
13149
+ constructor() {
13150
+ _paymentGateway3.set(this, {
13151
+ writable: true,
13152
+ value: PAYMENT_GATEWAYS_ENUM["vantiv"]
13153
+ });
13154
+
13155
+ _defineProperty$3(this, "execute", (options, callback) => {
13156
+ const types = SUBSCRIPTION_TYPES;
13157
+
13158
+ switch (options.type) {
13159
+ case types.CREATE_SUBSCRIPTION:
13160
+ return _classPrivateFieldGet(this, _createSubscription3).call(this, options, callback);
13161
+
13162
+ case types.RENEW_SUBSCRIPTION:
13163
+ return _classPrivateFieldGet(this, _renewSubscription2).call(this, options, callback);
13164
+
13165
+ case types.CREATE_GIFTED_SUBSCRIPTION:
13166
+ return _classPrivateFieldGet(this, _createGiftedSubscription3).call(this, options, callback);
13167
+
13168
+ case types.RENEW_GIFTED_SUBSCRIPTION:
13169
+ return _classPrivateFieldGet(this, _renewGiftedSubscription2).call(this, options, callback);
13170
+ // TODO: implement paying invoices as well
13171
+ // case types.PAY_INVOICE:
13172
+ // return this.#payInvoice(options, callback);
13173
+
13174
+ default:
13175
+ console.error("Unsupported subscriptiion method: vantiv Gateway");
13176
+ }
13177
+ });
13178
+
13179
+ _createSubscription3.set(this, {
13180
+ writable: true,
13181
+ value: (options, callback) => {
13182
+ const {
13183
+ token,
13184
+ plan,
13185
+ couponCode,
13186
+ product,
13187
+ quantity = 1,
13188
+ addressId,
13189
+ isExistingSource
13190
+ } = options;
13191
+ const params = isExistingSource ? {
13192
+ source_id: token
13193
+ } : {
13194
+ payment_gateway: _classPrivateFieldGet(this, _paymentGateway3),
13195
+ gateway_token: token
13196
+ };
13197
+ window.Pelcro.subscription.create({
13198
+ quantity,
13199
+ auth_token: window.Pelcro.user.read().auth_token,
13200
+ plan_id: plan.id,
13201
+ coupon_code: couponCode,
13202
+ address_id: product.address_required ? addressId : null,
13203
+ ...params
13204
+ }, (err, res) => {
13205
+ callback(err, res);
13206
+ });
13207
+ }
13208
+ });
13209
+
13210
+ _renewSubscription2.set(this, {
13211
+ writable: true,
13212
+ value: (options, callback) => {
13213
+ const {
13214
+ subscriptionIdToRenew,
13215
+ token,
13216
+ plan,
13217
+ couponCode,
13218
+ product,
13219
+ addressId,
13220
+ isExistingSource
13221
+ } = options;
13222
+ const params = isExistingSource ? {
13223
+ source_id: token
13224
+ } : {
13225
+ payment_gateway: _classPrivateFieldGet(this, _paymentGateway3),
13226
+ gateway_token: token
13227
+ };
13228
+ window.Pelcro.subscription.renew({
13229
+ auth_token: window.Pelcro.user.read().auth_token,
13230
+ plan_id: plan.id,
13231
+ coupon_code: couponCode,
13232
+ subscription_id: subscriptionIdToRenew,
13233
+ address_id: product.address_required ? addressId : null,
13234
+ ...params
13235
+ }, (err, res) => {
13236
+ callback(err, res);
13237
+ });
13238
+ }
13239
+ });
13240
+
13241
+ _createGiftedSubscription3.set(this, {
13242
+ writable: true,
13243
+ value: (options, callback) => {
13244
+ const {
13245
+ token,
13246
+ plan,
13247
+ couponCode,
13248
+ product,
13249
+ giftRecipient,
13250
+ quantity = 1,
13251
+ addressId,
13252
+ isExistingSource
13253
+ } = options;
13254
+ const params = isExistingSource ? {
13255
+ source_id: token
13256
+ } : {
13257
+ payment_gateway: _classPrivateFieldGet(this, _paymentGateway3),
13258
+ gateway_token: token
13259
+ };
13260
+ window.Pelcro.subscription.create({
13261
+ quantity,
13262
+ auth_token: window.Pelcro.user.read().auth_token,
13263
+ plan_id: plan.id,
13264
+ coupon_code: couponCode,
13265
+ gift_recipient_email: giftRecipient.email,
13266
+ gift_recipient_first_name: giftRecipient === null || giftRecipient === void 0 ? void 0 : giftRecipient.firstName,
13267
+ gift_recipient_last_name: giftRecipient === null || giftRecipient === void 0 ? void 0 : giftRecipient.lastName,
13268
+ gift_start_date: giftRecipient === null || giftRecipient === void 0 ? void 0 : giftRecipient.startDate,
13269
+ gift_message: giftRecipient === null || giftRecipient === void 0 ? void 0 : giftRecipient.giftMessage,
13270
+ address_id: product.address_required ? addressId : null,
13271
+ ...params
13272
+ }, (err, res) => {
13273
+ callback(err, res);
13274
+ });
13275
+ }
13276
+ });
13277
+
13278
+ _renewGiftedSubscription2.set(this, {
13279
+ writable: true,
13280
+ value: (options, callback) => {
13281
+ const {
13282
+ subscriptionIdToRenew,
13283
+ token,
13284
+ product,
13285
+ plan,
13286
+ couponCode,
13287
+ addressId,
13288
+ isExistingSource
13289
+ } = options;
13290
+ const params = isExistingSource ? {
13291
+ source_id: token
13292
+ } : {
13293
+ payment_gateway: _classPrivateFieldGet(this, _paymentGateway3),
13294
+ gateway_token: token
13295
+ };
13296
+ window.Pelcro.subscription.renewGift({
13297
+ auth_token: window.Pelcro.user.read().auth_token,
13298
+ plan_id: plan.id,
13299
+ coupon_code: couponCode,
13300
+ subscription_id: subscriptionIdToRenew,
13301
+ address_id: product.address_required ? addressId : null,
13302
+ ...params
13303
+ }, (err, res) => {
13304
+ callback(err, res);
13305
+ });
13306
+ }
13307
+ });
13308
+ }
13309
+
13310
+ }
13311
+
13078
13312
  /**
13079
13313
  * @typedef {Object} PaymentStateType
13080
13314
  * @property {boolean} disableSubmit
@@ -13130,7 +13364,7 @@ const PaymentMethodContainerWithoutStripe = ({
13130
13364
  onFailure = () => {},
13131
13365
  ...props
13132
13366
  }) => {
13133
- var _props$product, _props$plan, _props$subscriptionId, _props$selectedAddres, _props$giftRecipient, _props$isRenewingGift, _props$invoice;
13367
+ var _props$product, _props$plan, _props$subscriptionId, _props$selectedAddres, _props$giftRecipient, _props$isGift, _props$isRenewingGift, _props$invoice;
13134
13368
 
13135
13369
  const {
13136
13370
  t
@@ -13146,6 +13380,7 @@ const PaymentMethodContainerWithoutStripe = ({
13146
13380
  const subscriptionIdToRenew = (_props$subscriptionId = props.subscriptionIdToRenew) !== null && _props$subscriptionId !== void 0 ? _props$subscriptionId : pelcroStore.subscriptionIdToRenew;
13147
13381
  const selectedAddressId = (_props$selectedAddres = props.selectedAddressId) !== null && _props$selectedAddres !== void 0 ? _props$selectedAddres : pelcroStore.selectedAddressId;
13148
13382
  const giftRecipient = (_props$giftRecipient = props.giftRecipient) !== null && _props$giftRecipient !== void 0 ? _props$giftRecipient : pelcroStore.giftRecipient;
13383
+ const isGift = (_props$isGift = props.isGift) !== null && _props$isGift !== void 0 ? _props$isGift : pelcroStore.isGift;
13149
13384
  const isRenewingGift = (_props$isRenewingGift = props.isRenewingGift) !== null && _props$isRenewingGift !== void 0 ? _props$isRenewingGift : pelcroStore.isRenewingGift;
13150
13385
  const invoice = (_props$invoice = props.invoice) !== null && _props$invoice !== void 0 ? _props$invoice : pelcroStore.invoice;
13151
13386
  React.useEffect(() => {
@@ -13162,6 +13397,159 @@ const PaymentMethodContainerWithoutStripe = ({
13162
13397
  updateTotalAmountWithTax();
13163
13398
  }, []);
13164
13399
 
13400
+ function submitVantivPayment() {
13401
+ if (!selectedPaymentMethodId) {
13402
+ if (!vantivInstanceRef.current) {
13403
+ return console.error("Vantiv sdk script wasn't loaded, you need to load vantiv sdk before rendering the vantiv payment flow");
13404
+ }
13405
+
13406
+ const orderId = `pelcro-${new Date().getTime()}`; // calls handleVantivPayment
13407
+
13408
+ vantivInstanceRef.current.getPaypageRegistrationId({
13409
+ id: orderId,
13410
+ orderId: orderId
13411
+ });
13412
+ } else {
13413
+ handleVantivPayment(null);
13414
+ }
13415
+ }
13416
+
13417
+ function handleVantivPayment(paymentRequest) {
13418
+ if (paymentRequest) {
13419
+ const SUCCESS_STATUS = "870";
13420
+
13421
+ if (paymentRequest.response !== SUCCESS_STATUS) {
13422
+ return handlePaymentError({
13423
+ error: new Error(paymentRequest.message)
13424
+ });
13425
+ }
13426
+ }
13427
+
13428
+ const subscription = new Subscription(new VantivGateway());
13429
+
13430
+ if (type === "createPayment") {
13431
+ handleVantivSubscription();
13432
+ } // TODO: handle other types of payments
13433
+ // } else if (type === "orderCreate") {
13434
+ // purchase(stripeSource, state, dispatch);
13435
+ // } else if (type === "invoicePayment") {
13436
+ // payInvoice(new StripeGateway(), stripeSource.id, dispatch);
13437
+ // }
13438
+
13439
+
13440
+ function handleVantivSubscription() {
13441
+ const createSubscription = !isGift && !subscriptionIdToRenew;
13442
+ const renewSubscription = !isGift && subscriptionIdToRenew;
13443
+ const giftSubscriprition = isGift && !subscriptionIdToRenew;
13444
+ const renewGift = isRenewingGift;
13445
+ const {
13446
+ couponCode
13447
+ } = state;
13448
+ const isUsingExistingPaymentMethod = Boolean(selectedPaymentMethodId);
13449
+
13450
+ if (renewGift) {
13451
+ return subscription.execute({
13452
+ type: SUBSCRIPTION_TYPES.RENEW_GIFTED_SUBSCRIPTION,
13453
+ token: isUsingExistingPaymentMethod ? selectedPaymentMethodId : paymentRequest,
13454
+ plan,
13455
+ couponCode,
13456
+ product,
13457
+ isExistingSource: isUsingExistingPaymentMethod,
13458
+ subscriptionIdToRenew,
13459
+ addressId: selectedAddressId
13460
+ }, (err, res) => {
13461
+ if (err) {
13462
+ return handlePaymentError(err);
13463
+ }
13464
+
13465
+ onSuccess(res);
13466
+ });
13467
+ } else if (giftSubscriprition) {
13468
+ return subscription.execute({
13469
+ type: SUBSCRIPTION_TYPES.CREATE_GIFTED_SUBSCRIPTION,
13470
+ token: isUsingExistingPaymentMethod ? selectedPaymentMethodId : paymentRequest,
13471
+ quantity: plan.quantity,
13472
+ plan,
13473
+ couponCode,
13474
+ product,
13475
+ isExistingSource: isUsingExistingPaymentMethod,
13476
+ giftRecipient,
13477
+ addressId: selectedAddressId
13478
+ }, (err, res) => {
13479
+ if (err) {
13480
+ return handlePaymentError(err);
13481
+ }
13482
+
13483
+ onSuccess(res);
13484
+ });
13485
+ } else if (renewSubscription) {
13486
+ return subscription.execute({
13487
+ type: SUBSCRIPTION_TYPES.RENEW_SUBSCRIPTION,
13488
+ token: isUsingExistingPaymentMethod ? selectedPaymentMethodId : paymentRequest,
13489
+ quantity: plan.quantity,
13490
+ plan,
13491
+ couponCode,
13492
+ product,
13493
+ isExistingSource: isUsingExistingPaymentMethod,
13494
+ subscriptionIdToRenew,
13495
+ addressId: selectedAddressId
13496
+ }, (err, res) => {
13497
+ if (err) {
13498
+ return handlePaymentError(err);
13499
+ }
13500
+
13501
+ onSuccess(res);
13502
+ });
13503
+ } else if (createSubscription) {
13504
+ return subscription.execute({
13505
+ type: SUBSCRIPTION_TYPES.CREATE_SUBSCRIPTION,
13506
+ token: isUsingExistingPaymentMethod ? selectedPaymentMethodId : paymentRequest,
13507
+ quantity: plan.quantity,
13508
+ plan,
13509
+ couponCode,
13510
+ product,
13511
+ isExistingSource: isUsingExistingPaymentMethod,
13512
+ addressId: selectedAddressId
13513
+ }, (err, res) => {
13514
+ if (err) {
13515
+ return handlePaymentError(err);
13516
+ }
13517
+
13518
+ onSuccess(res);
13519
+ });
13520
+ }
13521
+ }
13522
+ }
13523
+
13524
+ const vantivInstanceRef = React__default['default'].useRef(null);
13525
+ React.useEffect(() => {
13526
+ const cardProcessor = getSiteCardProcessor();
13527
+
13528
+ if (cardProcessor === "vantiv" && !selectedPaymentMethodId) {
13529
+ var _window$Pelcro$site$r;
13530
+
13531
+ const payPageId = (_window$Pelcro$site$r = window.Pelcro.site.read()) === null || _window$Pelcro$site$r === void 0 ? void 0 : _window$Pelcro$site$r.vantiv_pay_page_id;
13532
+ vantivInstanceRef.current = new window.EprotectIframeClient({
13533
+ paypageId: payPageId,
13534
+ reportGroup: payPageId,
13535
+ style: "pelcro",
13536
+ height: "245",
13537
+ timeout: 50000,
13538
+ div: "eProtectiframe",
13539
+ callback: handleVantivPayment,
13540
+ showCvv: true,
13541
+ numYears: 8,
13542
+ placeholderText: {
13543
+ cvv: "CVV",
13544
+ accountNumber: "1234 1234 1234 1234"
13545
+ },
13546
+ enhancedUxFeatures: {
13547
+ inlineFieldValidations: true
13548
+ }
13549
+ });
13550
+ }
13551
+ }, [selectedPaymentMethodId]);
13552
+
13165
13553
  const initPaymentRequest = (state, dispatch) => {
13166
13554
  try {
13167
13555
  const paymentRequest = stripe.paymentRequest({
@@ -13232,9 +13620,9 @@ const PaymentMethodContainerWithoutStripe = ({
13232
13620
 
13233
13621
 
13234
13622
  const updateTotalAmountWithTax = () => {
13235
- var _window$Pelcro$site$r;
13623
+ var _window$Pelcro$site$r2;
13236
13624
 
13237
- const taxesEnabled = (_window$Pelcro$site$r = window.Pelcro.site.read()) === null || _window$Pelcro$site$r === void 0 ? void 0 : _window$Pelcro$site$r.taxes_enabled;
13625
+ const taxesEnabled = (_window$Pelcro$site$r2 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r2 === void 0 ? void 0 : _window$Pelcro$site$r2.taxes_enabled;
13238
13626
 
13239
13627
  if (taxesEnabled && type === "createPayment") {
13240
13628
  dispatch({
@@ -13584,7 +13972,7 @@ const PaymentMethodContainerWithoutStripe = ({
13584
13972
 
13585
13973
 
13586
13974
  const handlePaypalSubscription = (state, paypalNonce) => {
13587
- const subscription = new Subscription(new PaypalGateWay());
13975
+ const subscription = new Subscription(new PaypalGateway());
13588
13976
  const {
13589
13977
  couponCode
13590
13978
  } = state;
@@ -13879,13 +14267,13 @@ const PaymentMethodContainerWithoutStripe = ({
13879
14267
 
13880
14268
 
13881
14269
  const resolveTaxCalculation = () => {
13882
- var _window$Pelcro$site$r2;
14270
+ var _window$Pelcro$site$r3;
13883
14271
 
13884
14272
  if (type === "invoicePayment") {
13885
14273
  return new Promise(resolve => resolve());
13886
14274
  }
13887
14275
 
13888
- const taxesEnabled = (_window$Pelcro$site$r2 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r2 === void 0 ? void 0 : _window$Pelcro$site$r2.taxes_enabled;
14276
+ const taxesEnabled = (_window$Pelcro$site$r3 = window.Pelcro.site.read()) === null || _window$Pelcro$site$r3 === void 0 ? void 0 : _window$Pelcro$site$r3.taxes_enabled;
13889
14277
  return new Promise((resolve, reject) => {
13890
14278
  // resolve early if taxes isn't enabled
13891
14279
  if (!taxesEnabled) {
@@ -13964,6 +14352,8 @@ const PaymentMethodContainerWithoutStripe = ({
13964
14352
  };
13965
14353
 
13966
14354
  const handlePaymentError = error => {
14355
+ var _getErrorMessages;
14356
+
13967
14357
  if (error.type === "validation_error" && // Subscription creation & renewal
13968
14358
  type === "createPayment") {
13969
14359
  var _state$couponObject;
@@ -13982,7 +14372,7 @@ const PaymentMethodContainerWithoutStripe = ({
13982
14372
  type: SHOW_ALERT,
13983
14373
  payload: {
13984
14374
  type: "error",
13985
- content: error === null || error === void 0 ? void 0 : error.message
14375
+ content: (_getErrorMessages = getErrorMessages(error)) !== null && _getErrorMessages !== void 0 ? _getErrorMessages : error === null || error === void 0 ? void 0 : error.message
13986
14376
  }
13987
14377
  });
13988
14378
  dispatch({
@@ -14077,6 +14467,10 @@ const PaymentMethodContainerWithoutStripe = ({
14077
14467
  disableSubmit: true,
14078
14468
  isLoading: true
14079
14469
  }, (state, dispatch) => {
14470
+ if (getSiteCardProcessor() === "vantiv") {
14471
+ return submitVantivPayment();
14472
+ }
14473
+
14080
14474
  if (selectedPaymentMethodId) {
14081
14475
  // pay with selected method (source) if exists already
14082
14476
  return handlePayment({
@@ -14086,16 +14480,16 @@ const PaymentMethodContainerWithoutStripe = ({
14086
14480
  }
14087
14481
 
14088
14482
  if (type === "updatePaymentSource") {
14089
- updatePaymentSource(state, dispatch);
14090
- } else {
14091
- submitPayment(state);
14483
+ return updatePaymentSource(state, dispatch);
14092
14484
  }
14485
+
14486
+ submitPayment(state);
14093
14487
  });
14094
14488
 
14095
14489
  case HANDLE_PAYPAL_SUBSCRIPTION:
14096
14490
  return lib_5(state, (state, dispatch) => {
14097
14491
  if (type === "invoicePayment") {
14098
- payInvoice(new PaypalGateWay(), action.payload, dispatch);
14492
+ payInvoice(new PaypalGateway(), action.payload, dispatch);
14099
14493
  } else {
14100
14494
  handlePaypalSubscription(state, action.payload);
14101
14495
  }
@@ -14278,19 +14672,35 @@ const CheckoutForm = () => {
14278
14672
  const {
14279
14673
  selectedPaymentMethodId
14280
14674
  } = usePelcro();
14281
- return !selectedPaymentMethodId && /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(PelcroCardNumber, {
14282
- autoFocus: true
14283
- }), /*#__PURE__*/React__default['default'].createElement("img", {
14284
- alt: "credit_cards",
14285
- className: "plc-h-4 plc-w-auto plc-mt-2",
14286
- src: "https://js.pelcro.com/ui/plugin/main/images/credit_cards.png"
14287
- }), /*#__PURE__*/React__default['default'].createElement("div", {
14288
- className: "plc-flex plc-justify-between plc-my-2 plc-items-end"
14289
- }, /*#__PURE__*/React__default['default'].createElement("div", {
14290
- className: "plc-w-6/12 plc-pr-4"
14291
- }, /*#__PURE__*/React__default['default'].createElement(PelcroCardExpiry, null)), /*#__PURE__*/React__default['default'].createElement("div", {
14292
- className: "plc-w-6/12 plc-pl-4"
14293
- }, /*#__PURE__*/React__default['default'].createElement(PelcroCardCVC, null))));
14675
+ const cardProcessor = getSiteCardProcessor();
14676
+
14677
+ if (selectedPaymentMethodId) {
14678
+ return null;
14679
+ }
14680
+
14681
+ if (cardProcessor === "vantiv") {
14682
+ return /*#__PURE__*/React__default['default'].createElement("div", {
14683
+ id: "eProtectiframe"
14684
+ });
14685
+ }
14686
+
14687
+ if (cardProcessor === "stripe") {
14688
+ return /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(PelcroCardNumber, {
14689
+ autoFocus: true
14690
+ }), /*#__PURE__*/React__default['default'].createElement("img", {
14691
+ alt: "credit_cards",
14692
+ className: "plc-w-auto plc-h-4 plc-mt-2",
14693
+ src: "https://js.pelcro.com/ui/plugin/main/images/credit_cards.png"
14694
+ }), /*#__PURE__*/React__default['default'].createElement("div", {
14695
+ className: "plc-flex plc-items-end plc-justify-between plc-my-2"
14696
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
14697
+ className: "plc-w-6/12 plc-pr-4"
14698
+ }, /*#__PURE__*/React__default['default'].createElement(PelcroCardExpiry, null)), /*#__PURE__*/React__default['default'].createElement("div", {
14699
+ className: "plc-w-6/12 plc-pl-4"
14700
+ }, /*#__PURE__*/React__default['default'].createElement(PelcroCardCVC, null))));
14701
+ }
14702
+
14703
+ return null;
14294
14704
  };
14295
14705
 
14296
14706
  const DiscountedPrice = props => {
@@ -14377,17 +14787,17 @@ const SubmitPaymentMethod = ({
14377
14787
  }, t("labels.pay"), " ", priceFormatted && priceFormatted) : t("labels.submit"));
14378
14788
  };
14379
14789
 
14380
- var _path$l;
14790
+ var _path$m;
14381
14791
 
14382
- function _extends$n() { _extends$n = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$n.apply(this, arguments); }
14792
+ function _extends$o() { _extends$o = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$o.apply(this, arguments); }
14383
14793
 
14384
14794
  function SvgArrowLeft(props) {
14385
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$n({
14795
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$o({
14386
14796
  xmlns: "http://www.w3.org/2000/svg",
14387
14797
  fill: "none",
14388
14798
  viewBox: "0 0 24 24",
14389
14799
  stroke: "currentColor"
14390
- }, props), _path$l || (_path$l = /*#__PURE__*/React__namespace.createElement("path", {
14800
+ }, props), _path$m || (_path$m = /*#__PURE__*/React__namespace.createElement("path", {
14391
14801
  strokeLinecap: "round",
14392
14802
  strokeLinejoin: "round",
14393
14803
  strokeWidth: 2,
@@ -14469,17 +14879,17 @@ const CouponCodeField = props => {
14469
14879
  }, props));
14470
14880
  };
14471
14881
 
14472
- var _path$k;
14882
+ var _path$l;
14473
14883
 
14474
- function _extends$m() { _extends$m = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$m.apply(this, arguments); }
14884
+ function _extends$n() { _extends$n = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$n.apply(this, arguments); }
14475
14885
 
14476
14886
  function SvgTicket(props) {
14477
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$m({
14887
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$n({
14478
14888
  xmlns: "http://www.w3.org/2000/svg",
14479
14889
  fill: "none",
14480
14890
  viewBox: "0 0 24 24",
14481
14891
  stroke: "currentColor"
14482
- }, props), _path$k || (_path$k = /*#__PURE__*/React__namespace.createElement("path", {
14892
+ }, props), _path$l || (_path$l = /*#__PURE__*/React__namespace.createElement("path", {
14483
14893
  strokeLinecap: "round",
14484
14894
  strokeLinejoin: "round",
14485
14895
  strokeWidth: 2,
@@ -14839,16 +15249,16 @@ const BankRedirection = () => {
14839
15249
  }));
14840
15250
  };
14841
15251
 
14842
- var _path$j;
15252
+ var _path$k;
14843
15253
 
14844
- function _extends$l() { _extends$l = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$l.apply(this, arguments); }
15254
+ function _extends$m() { _extends$m = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$m.apply(this, arguments); }
14845
15255
 
14846
15256
  function SvgLock(props) {
14847
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$l({
15257
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$m({
14848
15258
  xmlns: "http://www.w3.org/2000/svg",
14849
15259
  viewBox: "0 0 20 20",
14850
15260
  fill: "currentColor"
14851
- }, props), _path$j || (_path$j = /*#__PURE__*/React__namespace.createElement("path", {
15261
+ }, props), _path$k || (_path$k = /*#__PURE__*/React__namespace.createElement("path", {
14852
15262
  fillRule: "evenodd",
14853
15263
  d: "M5 9V7a5 5 0 0110 0v2a2 2 0 012 2v5a2 2 0 01-2 2H5a2 2 0 01-2-2v-5a2 2 0 012-2zm8-2v2H7V7a3 3 0 016 0z",
14854
15264
  clipRule: "evenodd"
@@ -14940,9 +15350,10 @@ function PaymentMethodView({
14940
15350
  const {
14941
15351
  t
14942
15352
  } = useTranslation("checkoutForm");
15353
+ const cardProcessor = getSiteCardProcessor();
14943
15354
  return /*#__PURE__*/React__default['default'].createElement("div", {
14944
15355
  className: "plc-flex plc-flex-col plc-items-center plc-mt-4 sm:plc-px-8 pelcro-payment-block"
14945
- }, /*#__PURE__*/React__default['default'].createElement("div", {
15356
+ }, cardProcessor === "stripe" && /*#__PURE__*/React__default['default'].createElement("div", {
14946
15357
  className: "plc-flex plc-items-center plc-w-full plc-px-4 plc-py-2 plc-text-center plc-text-green-600 plc-border plc-border-green-400 plc-rounded plc-bg-green-50"
14947
15358
  }, /*#__PURE__*/React__default['default'].createElement(SvgLock, {
14948
15359
  className: "plc-w-5 plc-h-5 plc-mr-1"
@@ -15070,12 +15481,12 @@ function SubscriptionRenewModal({
15070
15481
  }
15071
15482
  SubscriptionRenewModal.viewId = "subscription-renew";
15072
15483
 
15073
- var _path$i;
15484
+ var _path$j;
15074
15485
 
15075
- function _extends$k() { _extends$k = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$k.apply(this, arguments); }
15486
+ function _extends$l() { _extends$l = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$l.apply(this, arguments); }
15076
15487
 
15077
15488
  function SvgGift(props) {
15078
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$k({
15489
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$l({
15079
15490
  className: "plc-w-6 plc-h-6 plc-mr-2",
15080
15491
  fill: "none",
15081
15492
  stroke: "currentColor",
@@ -15084,7 +15495,7 @@ function SvgGift(props) {
15084
15495
  strokeWidth: 2,
15085
15496
  viewBox: "0 0 24 24",
15086
15497
  xmlns: "http://www.w3.org/2000/svg"
15087
- }, props), _path$i || (_path$i = /*#__PURE__*/React__namespace.createElement("path", {
15498
+ }, props), _path$j || (_path$j = /*#__PURE__*/React__namespace.createElement("path", {
15088
15499
  d: "M20 12v10H4V12M2 7h20v5H2zM12 22V7M12 7H7.5a2.5 2.5 0 010-5C11 2 12 7 12 7zM12 7h4.5a2.5 2.5 0 000-5C13 2 12 7 12 7z"
15089
15500
  })));
15090
15501
  }
@@ -16093,17 +16504,17 @@ const UserUpdatePhone = props => /*#__PURE__*/React__default['default'].createEl
16093
16504
 
16094
16505
  var userSolidIcon = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20class%3D%22plc-h-5%20plc-w-5%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22white%22%3E%20%20%3Cpath%20transform%3D%22translate%280%2C2%29%22%20fill-rule%3D%22evenodd%22%20d%3D%22M10%209a3%203%200%20100-6%203%203%200%20000%206zm-7%209a7%207%200%201114%200H3z%22%20clip-rule%3D%22evenodd%22%20%2F%3E%3C%2Fsvg%3E";
16095
16506
 
16096
- var _path$h;
16507
+ var _path$i;
16097
16508
 
16098
- function _extends$j() { _extends$j = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$j.apply(this, arguments); }
16509
+ function _extends$k() { _extends$k = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$k.apply(this, arguments); }
16099
16510
 
16100
16511
  function SvgEdit(props) {
16101
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$j({
16512
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$k({
16102
16513
  className: "plc-w-6 plc-h-6",
16103
16514
  xmlns: "http://www.w3.org/2000/svg",
16104
16515
  viewBox: "0 0 20 20",
16105
16516
  fill: "currentColor"
16106
- }, props), _path$h || (_path$h = /*#__PURE__*/React__namespace.createElement("path", {
16517
+ }, props), _path$i || (_path$i = /*#__PURE__*/React__namespace.createElement("path", {
16107
16518
  d: "M13.586 3.586a2 2 0 112.828 2.828l-.793.793-2.828-2.828.793-.793zm-2.207 2.207L3 14.172V17h2.828l8.38-8.379-2.83-2.828z"
16108
16519
  })));
16109
16520
  }
@@ -19213,18 +19624,18 @@ const GiftCreateLastName = props => /*#__PURE__*/React__default['default'].creat
19213
19624
  store: store$6
19214
19625
  }, props));
19215
19626
 
19216
- var _path$g;
19627
+ var _path$h;
19217
19628
 
19218
- function _extends$i() { _extends$i = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$i.apply(this, arguments); }
19629
+ function _extends$j() { _extends$j = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$j.apply(this, arguments); }
19219
19630
 
19220
19631
  function SvgInfoCircle(props) {
19221
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$i({
19632
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$j({
19222
19633
  xmlns: "http://www.w3.org/2000/svg",
19223
19634
  className: "plc-w-5 plc-h-5",
19224
19635
  fill: "none",
19225
19636
  viewBox: "0 0 24 24",
19226
19637
  stroke: "currentColor"
19227
- }, props), _path$g || (_path$g = /*#__PURE__*/React__namespace.createElement("path", {
19638
+ }, props), _path$h || (_path$h = /*#__PURE__*/React__namespace.createElement("path", {
19228
19639
  strokeLinecap: "round",
19229
19640
  strokeLinejoin: "round",
19230
19641
  strokeWidth: 2,
@@ -20236,8 +20647,8 @@ const PaymentMethodSelectModal = ({
20236
20647
  };
20237
20648
  PaymentMethodSelectModal.viewId = "payment-method-select";
20238
20649
 
20239
- function _extends$h() {
20240
- _extends$h = Object.assign || function (target) {
20650
+ function _extends$i() {
20651
+ _extends$i = Object.assign || function (target) {
20241
20652
  for (var i = 1; i < arguments.length; i++) {
20242
20653
  var source = arguments[i];
20243
20654
 
@@ -20251,7 +20662,7 @@ function _extends$h() {
20251
20662
  return target;
20252
20663
  };
20253
20664
 
20254
- return _extends$h.apply(this, arguments);
20665
+ return _extends$i.apply(this, arguments);
20255
20666
  }
20256
20667
 
20257
20668
  function _objectWithoutPropertiesLoose(source, excluded) {
@@ -20435,7 +20846,7 @@ function render(props, propsBag, defaultTag, features, visible) {
20435
20846
  return match(strategy, (_match = {}, _match[RenderStrategy.Unmount] = function () {
20436
20847
  return null;
20437
20848
  }, _match[RenderStrategy.Hidden] = function () {
20438
- return _render(_extends$h({}, _rest, {
20849
+ return _render(_extends$i({}, _rest, {
20439
20850
  hidden: true,
20440
20851
  style: {
20441
20852
  display: 'none'
@@ -20963,7 +21374,7 @@ function TransitionChild(props) {
20963
21374
  var passthroughProps = rest;
20964
21375
  return React__default['default'].createElement(NestingContext.Provider, {
20965
21376
  value: nesting
20966
- }, render(_extends$h({}, passthroughProps, propsWeControl), propsBag, DEFAULT_TRANSITION_CHILD_TAG, TransitionChildRenderFeatures, state === TreeStates.Visible));
21377
+ }, render(_extends$i({}, passthroughProps, propsWeControl), propsBag, DEFAULT_TRANSITION_CHILD_TAG, TransitionChildRenderFeatures, state === TreeStates.Visible));
20967
21378
  }
20968
21379
 
20969
21380
  function Transition(props) {
@@ -21007,7 +21418,7 @@ function Transition(props) {
21007
21418
  value: nestingBag
21008
21419
  }, React__default['default'].createElement(TransitionContext.Provider, {
21009
21420
  value: transitionBag
21010
- }, render(_extends$h({}, sharedProps, {
21421
+ }, render(_extends$i({}, sharedProps, {
21011
21422
  as: React.Fragment,
21012
21423
  children: React__default['default'].createElement(TransitionChild, Object.assign({}, sharedProps, passthroughProps))
21013
21424
  }), propsBag, React.Fragment, TransitionChildRenderFeatures, state === TreeStates.Visible)));
@@ -21134,12 +21545,12 @@ var ActionTypes;
21134
21545
  })(ActionTypes || (ActionTypes = {}));
21135
21546
 
21136
21547
  (_reducers = {}, _reducers[ActionTypes.CloseMenu] = function (state) {
21137
- return _extends$h({}, state, {
21548
+ return _extends$i({}, state, {
21138
21549
  activeItemIndex: null,
21139
21550
  menuState: MenuStates.Closed
21140
21551
  });
21141
21552
  }, _reducers[ActionTypes.OpenMenu] = function (state) {
21142
- return _extends$h({}, state, {
21553
+ return _extends$i({}, state, {
21143
21554
  menuState: MenuStates.Open
21144
21555
  });
21145
21556
  }, _reducers[ActionTypes.GoToItem] = function (state, action) {
@@ -21158,7 +21569,7 @@ var ActionTypes;
21158
21569
  }
21159
21570
  });
21160
21571
  if (state.searchQuery === '' && state.activeItemIndex === activeItemIndex) return state;
21161
- return _extends$h({}, state, {
21572
+ return _extends$i({}, state, {
21162
21573
  searchQuery: '',
21163
21574
  activeItemIndex: activeItemIndex
21164
21575
  });
@@ -21169,19 +21580,19 @@ var ActionTypes;
21169
21580
 
21170
21581
  return ((_item$dataRef$current = item.dataRef.current.textValue) == null ? void 0 : _item$dataRef$current.startsWith(searchQuery)) && !item.dataRef.current.disabled;
21171
21582
  });
21172
- if (match === -1 || match === state.activeItemIndex) return _extends$h({}, state, {
21583
+ if (match === -1 || match === state.activeItemIndex) return _extends$i({}, state, {
21173
21584
  searchQuery: searchQuery
21174
21585
  });
21175
- return _extends$h({}, state, {
21586
+ return _extends$i({}, state, {
21176
21587
  searchQuery: searchQuery,
21177
21588
  activeItemIndex: match
21178
21589
  });
21179
21590
  }, _reducers[ActionTypes.ClearSearch] = function (state) {
21180
- return _extends$h({}, state, {
21591
+ return _extends$i({}, state, {
21181
21592
  searchQuery: ''
21182
21593
  });
21183
21594
  }, _reducers[ActionTypes.RegisterItem] = function (state, action) {
21184
- return _extends$h({}, state, {
21595
+ return _extends$i({}, state, {
21185
21596
  items: [].concat(state.items, [{
21186
21597
  id: action.id,
21187
21598
  dataRef: action.dataRef
@@ -21194,7 +21605,7 @@ var ActionTypes;
21194
21605
  return a.id === action.id;
21195
21606
  });
21196
21607
  if (idx !== -1) nextItems.splice(idx, 1);
21197
- return _extends$h({}, state, {
21608
+ return _extends$i({}, state, {
21198
21609
  items: nextItems,
21199
21610
  activeItemIndex: function () {
21200
21611
  if (idx === state.activeItemIndex) return null;
@@ -21233,19 +21644,19 @@ var ActionTypes$1;
21233
21644
  (_reducers$1 = {}, _reducers$1[ActionTypes$1.CloseListbox] = function (state) {
21234
21645
  if (state.disabled) return state;
21235
21646
  if (state.listboxState === ListboxStates.Closed) return state;
21236
- return _extends$h({}, state, {
21647
+ return _extends$i({}, state, {
21237
21648
  activeOptionIndex: null,
21238
21649
  listboxState: ListboxStates.Closed
21239
21650
  });
21240
21651
  }, _reducers$1[ActionTypes$1.OpenListbox] = function (state) {
21241
21652
  if (state.disabled) return state;
21242
21653
  if (state.listboxState === ListboxStates.Open) return state;
21243
- return _extends$h({}, state, {
21654
+ return _extends$i({}, state, {
21244
21655
  listboxState: ListboxStates.Open
21245
21656
  });
21246
21657
  }, _reducers$1[ActionTypes$1.SetDisabled] = function (state, action) {
21247
21658
  if (state.disabled === action.disabled) return state;
21248
- return _extends$h({}, state, {
21659
+ return _extends$i({}, state, {
21249
21660
  disabled: action.disabled
21250
21661
  });
21251
21662
  }, _reducers$1[ActionTypes$1.GoToOption] = function (state, action) {
@@ -21266,7 +21677,7 @@ var ActionTypes$1;
21266
21677
  }
21267
21678
  });
21268
21679
  if (state.searchQuery === '' && state.activeOptionIndex === activeOptionIndex) return state;
21269
- return _extends$h({}, state, {
21680
+ return _extends$i({}, state, {
21270
21681
  searchQuery: '',
21271
21682
  activeOptionIndex: activeOptionIndex
21272
21683
  });
@@ -21279,10 +21690,10 @@ var ActionTypes$1;
21279
21690
 
21280
21691
  return !option.dataRef.current.disabled && ((_option$dataRef$curre = option.dataRef.current.textValue) == null ? void 0 : _option$dataRef$curre.startsWith(searchQuery));
21281
21692
  });
21282
- if (match === -1 || match === state.activeOptionIndex) return _extends$h({}, state, {
21693
+ if (match === -1 || match === state.activeOptionIndex) return _extends$i({}, state, {
21283
21694
  searchQuery: searchQuery
21284
21695
  });
21285
- return _extends$h({}, state, {
21696
+ return _extends$i({}, state, {
21286
21697
  searchQuery: searchQuery,
21287
21698
  activeOptionIndex: match
21288
21699
  });
@@ -21290,11 +21701,11 @@ var ActionTypes$1;
21290
21701
  if (state.disabled) return state;
21291
21702
  if (state.listboxState === ListboxStates.Closed) return state;
21292
21703
  if (state.searchQuery === '') return state;
21293
- return _extends$h({}, state, {
21704
+ return _extends$i({}, state, {
21294
21705
  searchQuery: ''
21295
21706
  });
21296
21707
  }, _reducers$1[ActionTypes$1.RegisterOption] = function (state, action) {
21297
- return _extends$h({}, state, {
21708
+ return _extends$i({}, state, {
21298
21709
  options: [].concat(state.options, [{
21299
21710
  id: action.id,
21300
21711
  dataRef: action.dataRef
@@ -21307,7 +21718,7 @@ var ActionTypes$1;
21307
21718
  return a.id === action.id;
21308
21719
  });
21309
21720
  if (idx !== -1) nextOptions.splice(idx, 1);
21310
- return _extends$h({}, state, {
21721
+ return _extends$i({}, state, {
21311
21722
  options: nextOptions,
21312
21723
  activeOptionIndex: function () {
21313
21724
  if (idx === state.activeOptionIndex) return null;
@@ -21368,18 +21779,18 @@ const getPaymentCardIcon = name => {
21368
21779
  }));
21369
21780
  };
21370
21781
 
21371
- var _path$f;
21782
+ var _path$g;
21372
21783
 
21373
- function _extends$g() { _extends$g = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$g.apply(this, arguments); }
21784
+ function _extends$h() { _extends$h = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$h.apply(this, arguments); }
21374
21785
 
21375
21786
  function SvgChevronRight(props) {
21376
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$g({
21787
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$h({
21377
21788
  className: "plc-w-6 plc-h-6",
21378
21789
  xmlns: "http://www.w3.org/2000/svg",
21379
21790
  fill: "none",
21380
21791
  viewBox: "0 0 24 24",
21381
21792
  stroke: "currentColor"
21382
- }, props), _path$f || (_path$f = /*#__PURE__*/React__namespace.createElement("path", {
21793
+ }, props), _path$g || (_path$g = /*#__PURE__*/React__namespace.createElement("path", {
21383
21794
  strokeLinecap: "round",
21384
21795
  strokeLinejoin: "round",
21385
21796
  strokeWidth: 2,
@@ -21595,18 +22006,18 @@ const SavedItems = ({
21595
22006
  });
21596
22007
  };
21597
22008
 
21598
- var _path$e;
22009
+ var _path$f;
21599
22010
 
21600
- function _extends$f() { _extends$f = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$f.apply(this, arguments); }
22011
+ function _extends$g() { _extends$g = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$g.apply(this, arguments); }
21601
22012
 
21602
22013
  function SvgRefresh(props) {
21603
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$f({
22014
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$g({
21604
22015
  className: "plc-w-4 plc-h-4 plc-mr-1",
21605
22016
  xmlns: "http://www.w3.org/2000/svg",
21606
22017
  fill: "none",
21607
22018
  viewBox: "0 0 24 24",
21608
22019
  stroke: "currentColor"
21609
- }, props), _path$e || (_path$e = /*#__PURE__*/React__namespace.createElement("path", {
22020
+ }, props), _path$f || (_path$f = /*#__PURE__*/React__namespace.createElement("path", {
21610
22021
  strokeLinecap: "round",
21611
22022
  strokeLinejoin: "round",
21612
22023
  strokeWidth: 2,
@@ -21614,35 +22025,35 @@ function SvgRefresh(props) {
21614
22025
  })));
21615
22026
  }
21616
22027
 
21617
- var _path$d;
22028
+ var _path$e;
21618
22029
 
21619
- function _extends$e() { _extends$e = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$e.apply(this, arguments); }
22030
+ function _extends$f() { _extends$f = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$f.apply(this, arguments); }
21620
22031
 
21621
22032
  function SvgCalendar(props) {
21622
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$e({
22033
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$f({
21623
22034
  xmlns: "http://www.w3.org/2000/svg",
21624
22035
  className: "plc-h-4 plc-w-4 plc-mr-1",
21625
22036
  viewBox: "0 0 20 20",
21626
22037
  fill: "currentColor"
21627
- }, props), _path$d || (_path$d = /*#__PURE__*/React__namespace.createElement("path", {
22038
+ }, props), _path$e || (_path$e = /*#__PURE__*/React__namespace.createElement("path", {
21628
22039
  fillRule: "evenodd",
21629
22040
  d: "M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z",
21630
22041
  clipRule: "evenodd"
21631
22042
  })));
21632
22043
  }
21633
22044
 
21634
- var _path$c;
22045
+ var _path$d;
21635
22046
 
21636
- function _extends$d() { _extends$d = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$d.apply(this, arguments); }
22047
+ function _extends$e() { _extends$e = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$e.apply(this, arguments); }
21637
22048
 
21638
22049
  function SvgPlus(props) {
21639
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$d({
22050
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$e({
21640
22051
  className: "plc-w-5 plc-h-5",
21641
22052
  xmlns: "http://www.w3.org/2000/svg",
21642
22053
  fill: "none",
21643
22054
  viewBox: "0 0 24 24",
21644
22055
  stroke: "currentColor"
21645
- }, props), _path$c || (_path$c = /*#__PURE__*/React__namespace.createElement("path", {
22056
+ }, props), _path$d || (_path$d = /*#__PURE__*/React__namespace.createElement("path", {
21646
22057
  strokeLinecap: "round",
21647
22058
  strokeLinejoin: "round",
21648
22059
  strokeWidth: 2,
@@ -21650,17 +22061,17 @@ function SvgPlus(props) {
21650
22061
  })));
21651
22062
  }
21652
22063
 
21653
- var _path$b;
22064
+ var _path$c;
21654
22065
 
21655
- function _extends$c() { _extends$c = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$c.apply(this, arguments); }
22066
+ function _extends$d() { _extends$d = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$d.apply(this, arguments); }
21656
22067
 
21657
22068
  function SvgCheckMark(props) {
21658
- return /*#__PURE__*/React__namespace.createElement("svg", _extends$c({
22069
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$d({
21659
22070
  className: "plc-w-4 plc-h-4 plc-mr-1",
21660
22071
  xmlns: "http://www.w3.org/2000/svg",
21661
22072
  viewBox: "0 0 20 20",
21662
22073
  fill: "currentColor"
21663
- }, props), _path$b || (_path$b = /*#__PURE__*/React__namespace.createElement("path", {
22074
+ }, props), _path$c || (_path$c = /*#__PURE__*/React__namespace.createElement("path", {
21664
22075
  fillRule: "evenodd",
21665
22076
  d: "M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",
21666
22077
  clipRule: "evenodd"
@@ -21955,13 +22366,31 @@ Accordion.item = function AccordionItem({
21955
22366
  }, content)) : null;
21956
22367
  };
21957
22368
 
22369
+ var _path$b;
22370
+
22371
+ function _extends$c() { _extends$c = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$c.apply(this, arguments); }
22372
+
22373
+ function SvgExit(props) {
22374
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends$c({
22375
+ className: "plc-w-6 plc-h-6",
22376
+ xmlns: "http://www.w3.org/2000/svg",
22377
+ fill: "none",
22378
+ viewBox: "0 0 24 24",
22379
+ stroke: "currentColor"
22380
+ }, props), _path$b || (_path$b = /*#__PURE__*/React__namespace.createElement("path", {
22381
+ strokeLinecap: "round",
22382
+ strokeLinejoin: "round",
22383
+ strokeWidth: 2,
22384
+ d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"
22385
+ })));
22386
+ }
22387
+
21958
22388
  var _path$a;
21959
22389
 
21960
22390
  function _extends$b() { _extends$b = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$b.apply(this, arguments); }
21961
22391
 
21962
- function SvgExit(props) {
22392
+ function SvgUser(props) {
21963
22393
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$b({
21964
- className: "plc-w-6 plc-h-6",
21965
22394
  xmlns: "http://www.w3.org/2000/svg",
21966
22395
  fill: "none",
21967
22396
  viewBox: "0 0 24 24",
@@ -21970,7 +22399,7 @@ function SvgExit(props) {
21970
22399
  strokeLinecap: "round",
21971
22400
  strokeLinejoin: "round",
21972
22401
  strokeWidth: 2,
21973
- d: "M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"
22402
+ d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zm-4 7a7 7 0 00-7 7h14a7 7 0 00-7-7z"
21974
22403
  })));
21975
22404
  }
21976
22405
 
@@ -21978,9 +22407,10 @@ var _path$9;
21978
22407
 
21979
22408
  function _extends$a() { _extends$a = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$a.apply(this, arguments); }
21980
22409
 
21981
- function SvgUser(props) {
22410
+ function SvgNewsletter(props) {
21982
22411
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$a({
21983
22412
  xmlns: "http://www.w3.org/2000/svg",
22413
+ className: "plc-h-5 plc-w-5",
21984
22414
  fill: "none",
21985
22415
  viewBox: "0 0 24 24",
21986
22416
  stroke: "currentColor"
@@ -21988,7 +22418,7 @@ function SvgUser(props) {
21988
22418
  strokeLinecap: "round",
21989
22419
  strokeLinejoin: "round",
21990
22420
  strokeWidth: 2,
21991
- d: "M16 7a4 4 0 11-8 0 4 4 0 018 0zm-4 7a7 7 0 00-7 7h14a7 7 0 00-7-7z"
22421
+ d: "M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"
21992
22422
  })));
21993
22423
  }
21994
22424
 
@@ -21996,10 +22426,10 @@ var _path$8;
21996
22426
 
21997
22427
  function _extends$9() { _extends$9 = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$9.apply(this, arguments); }
21998
22428
 
21999
- function SvgNewsletter(props) {
22429
+ function SvgDocument(props) {
22000
22430
  return /*#__PURE__*/React__namespace.createElement("svg", _extends$9({
22001
22431
  xmlns: "http://www.w3.org/2000/svg",
22002
- className: "plc-h-5 plc-w-5",
22432
+ className: "plc-h-6 plc-w-6 plc-mr-2",
22003
22433
  fill: "none",
22004
22434
  viewBox: "0 0 24 24",
22005
22435
  stroke: "currentColor"
@@ -22007,7 +22437,7 @@ function SvgNewsletter(props) {
22007
22437
  strokeLinecap: "round",
22008
22438
  strokeLinejoin: "round",
22009
22439
  strokeWidth: 2,
22010
- d: "M19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v4H7V8z"
22440
+ d: "M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"
22011
22441
  })));
22012
22442
  }
22013
22443
 
@@ -22187,6 +22617,138 @@ function formatStartDate(date) {
22187
22617
  return new Intl.DateTimeFormat("en-CA").format(startDate);
22188
22618
  }
22189
22619
 
22620
+ const InvoicesMenu = props => {
22621
+ const {
22622
+ t
22623
+ } = useTranslation("dashboard");
22624
+ return /*#__PURE__*/React__default['default'].createElement("table", {
22625
+ className: "plc-w-full plc-table-fixed"
22626
+ }, /*#__PURE__*/React__default['default'].createElement("thead", {
22627
+ className: "plc-text-xs plc-font-semibold plc-tracking-wider plc-text-gray-400 plc-uppercase "
22628
+ }, /*#__PURE__*/React__default['default'].createElement("tr", null, /*#__PURE__*/React__default['default'].createElement("th", {
22629
+ className: "plc-w-4/12 "
22630
+ }, t("labels.details")), /*#__PURE__*/React__default['default'].createElement("th", {
22631
+ className: "plc-w-4/12 "
22632
+ }, t("labels.status.title")), /*#__PURE__*/React__default['default'].createElement("th", {
22633
+ className: "plc-w-3/12 "
22634
+ }, t("labels.actions")))), /*#__PURE__*/React__default['default'].createElement("tbody", null, /*#__PURE__*/React__default['default'].createElement("tr", {
22635
+ className: "plc-h-4"
22636
+ }), /*#__PURE__*/React__default['default'].createElement(InvoicesItems, props)));
22637
+ };
22638
+
22639
+ const InvoicesItems = () => {
22640
+ var _window$Pelcro$invoic, _window$Pelcro$invoic2;
22641
+
22642
+ const {
22643
+ t
22644
+ } = useTranslation("dashboard");
22645
+ const {
22646
+ setInvoice,
22647
+ switchView
22648
+ } = usePelcro();
22649
+ const invoices = (_window$Pelcro$invoic = (_window$Pelcro$invoic2 = window.Pelcro.invoice.list()) === null || _window$Pelcro$invoic2 === void 0 ? void 0 : _window$Pelcro$invoic2.filter(invoice => invoice.total > 0)) !== null && _window$Pelcro$invoic !== void 0 ? _window$Pelcro$invoic : [];
22650
+
22651
+ const showInvoiceDetails = event => {
22652
+ if (setInvoice(event.target.dataset.id)) {
22653
+ switchView("invoice-details");
22654
+ }
22655
+ };
22656
+
22657
+ if (invoices.length === 0) return null;
22658
+ return invoices.sort((a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime()).map(invoice => {
22659
+ const invoiceStatus = getInvoiceStatus(invoice);
22660
+ const formattedCreationDate = new Intl.DateTimeFormat("en-CA").format(new Date(invoice.created_at));
22661
+ return /*#__PURE__*/React__default['default'].createElement("tr", {
22662
+ key: invoice.id,
22663
+ className: `plc-w-full plc-align-middle plc-cursor-pointer accordion-header hover:plc-bg-gray-50`
22664
+ }, /*#__PURE__*/React__default['default'].createElement("td", {
22665
+ className: "plc-truncate"
22666
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
22667
+ className: "plc-font-semibold plc-text-gray-500"
22668
+ }, `#${invoice.id}`), /*#__PURE__*/React__default['default'].createElement("br", null), /*#__PURE__*/React__default['default'].createElement("span", {
22669
+ className: "plc-text-sm plc-text-gray-500"
22670
+ }, getFormattedPriceByLocal(invoice.total, invoice.currency, getPageOrDefaultLanguage())), /*#__PURE__*/React__default['default'].createElement("br", null), /*#__PURE__*/React__default['default'].createElement("span", {
22671
+ className: "plc-text-sm plc-text-gray-500"
22672
+ }, formattedCreationDate)), /*#__PURE__*/React__default['default'].createElement("td", {
22673
+ className: "plc-py-2"
22674
+ }, /*#__PURE__*/React__default['default'].createElement("span", {
22675
+ className: `plc-inline-flex plc-p-1 plc-text-xs plc-font-semibold ${invoiceStatus.bgColor} plc-uppercase ${invoiceStatus.textColor} plc-rounded-lg`
22676
+ }, invoiceStatus.icon, invoiceStatus.title)), /*#__PURE__*/React__default['default'].createElement("td", null, /*#__PURE__*/React__default['default'].createElement(Button, {
22677
+ variant: "ghost",
22678
+ className: "plc-text-blue-400 focus:plc-ring-blue-400 pelcro-dashboard-view-invoice-button",
22679
+ icon: /*#__PURE__*/React__default['default'].createElement(SvgDocument, {
22680
+ className: "plc-w-4 plc-h-4"
22681
+ }),
22682
+ onClick: showInvoiceDetails,
22683
+ "data-id": invoice.id
22684
+ }, t("labels.view"))));
22685
+ });
22686
+ };
22687
+
22688
+ function getInvoiceStatus(invoice) {
22689
+ const translations = i18next.t("dashboard:labels", {
22690
+ returnObjects: true
22691
+ });
22692
+
22693
+ switch (invoice.status) {
22694
+ case "paid":
22695
+ return {
22696
+ textColor: "plc-text-green-700",
22697
+ bgColor: "plc-bg-green-100",
22698
+ icon: /*#__PURE__*/React__default['default'].createElement(SvgCheckMark, null),
22699
+ title: translations.paid
22700
+ };
22701
+
22702
+ case "past_due":
22703
+ return {
22704
+ textColor: "plc-text-orange-700",
22705
+ bgColor: "plc-bg-orange-100",
22706
+ icon: /*#__PURE__*/React__default['default'].createElement(SvgExclamation, null),
22707
+ title: translations.pastDue
22708
+ };
22709
+
22710
+ case "open":
22711
+ return {
22712
+ textColor: "plc-text-yellow-700",
22713
+ bgColor: "plc-bg-yellow-100",
22714
+ icon: /*#__PURE__*/React__default['default'].createElement(SvgExclamation, null),
22715
+ title: translations.open
22716
+ };
22717
+
22718
+ case "draft":
22719
+ return {
22720
+ textColor: "plc-text-blue-700",
22721
+ bgColor: "plc-bg-blue-100",
22722
+ icon: /*#__PURE__*/React__default['default'].createElement(SvgEdit, null),
22723
+ title: translations.draft
22724
+ };
22725
+
22726
+ case "scheduled":
22727
+ return {
22728
+ textColor: "plc-text-blue-700",
22729
+ bgColor: "plc-bg-blue-100",
22730
+ icon: /*#__PURE__*/React__default['default'].createElement(SvgCalendar, null),
22731
+ title: translations.scheduled
22732
+ };
22733
+
22734
+ case "uncollectible":
22735
+ return {
22736
+ textColor: "plc-text-red-700",
22737
+ bgColor: "plc-bg-red-100",
22738
+ icon: /*#__PURE__*/React__default['default'].createElement(SvgXIconSolid, null),
22739
+ title: translations.uncollectible
22740
+ };
22741
+
22742
+ case "void":
22743
+ return {
22744
+ textColor: "plc-text-gray-700",
22745
+ bgColor: "plc-bg-gray-100",
22746
+ icon: /*#__PURE__*/React__default['default'].createElement(SvgXIconSolid, null),
22747
+ title: translations.void
22748
+ };
22749
+ }
22750
+ }
22751
+
22190
22752
  const SUB_MENUS = {
22191
22753
  PROFILE: "profile",
22192
22754
  SUBSCRIPTIONS: "subscriptions",
@@ -22740,6 +23302,12 @@ class Dashboard extends React.Component {
22740
23302
  icon: /*#__PURE__*/React__default['default'].createElement(SvgShopping, null),
22741
23303
  title: this.locale("labels.orders.label"),
22742
23304
  content: /*#__PURE__*/React__default['default'].createElement(OrdersMenu, null)
23305
+ }), /*#__PURE__*/React__default['default'].createElement(Accordion.item, {
23306
+ show: hasInvoices(),
23307
+ name: SUB_MENUS.INVOICES,
23308
+ icon: /*#__PURE__*/React__default['default'].createElement(SvgDocument, null),
23309
+ title: this.locale("labels.invoices"),
23310
+ content: /*#__PURE__*/React__default['default'].createElement(InvoicesMenu, null)
22743
23311
  }), /*#__PURE__*/React__default['default'].createElement(Accordion.item, {
22744
23312
  name: SUB_MENUS.SAVED_ITEMS,
22745
23313
  icon: /*#__PURE__*/React__default['default'].createElement(SvgBookmark, null),
@@ -22755,6 +23323,13 @@ class Dashboard extends React.Component {
22755
23323
 
22756
23324
  }
22757
23325
 
23326
+ function hasInvoices() {
23327
+ var _window$Pelcro$invoic, _window$Pelcro$invoic2;
23328
+
23329
+ const invoices = (_window$Pelcro$invoic = (_window$Pelcro$invoic2 = window.Pelcro.invoice.list()) === null || _window$Pelcro$invoic2 === void 0 ? void 0 : _window$Pelcro$invoic2.filter(invoice => invoice.total > 0)) !== null && _window$Pelcro$invoic !== void 0 ? _window$Pelcro$invoic : [];
23330
+ return invoices.length > 0;
23331
+ }
23332
+
22758
23333
  function hasDonationSubs() {
22759
23334
  var _window$Pelcro$subscr, _window$Pelcro$subscr2, _window$Pelcro$subscr3, _window$Pelcro$user$r4, _window$Pelcro$user$r5;
22760
23335