@pelcro/react-pelcro-js 4.0.0-alpha.63 → 4.0.0-alpha.65

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
@@ -3360,12 +3360,19 @@ var paymentMethod_en = {
3360
3360
  select: select$6,
3361
3361
  "delete": {
3362
3362
  title: "Delete payment method",
3363
- subtitle: "This payment method could be associated with active subscriptions or serve as the default payment method. Please choose from the available options below for replacement.",
3363
+ subtitle: "Are you sure you want to delete the selected payment method?",
3364
+ details: "Payment method details",
3365
+ message: "This action is irreversible and will permanently remove the payment method from the system. Please ensure that there are no pending transactions or subscriptions associated with this payment method.",
3366
+ buttons: {
3367
+ "delete": "Delete payment method",
3368
+ back: "Go back"
3369
+ },
3364
3370
  options: {
3365
- select: "Select an existing payment method",
3371
+ select: "Select a payment method to be the default",
3366
3372
  add: "Add a new payment method"
3367
3373
  },
3368
- paymentMethodReplaced: "Payment Method Successfully Deleted and Replaced"
3374
+ paymentMethodReplaced: "Payment Method Successfully Deleted and Replaced",
3375
+ deletedSuccessfully: "Payment Method Successfully Deleted"
3369
3376
  },
3370
3377
  create: create$5
3371
3378
  };
@@ -9871,6 +9878,21 @@ function notifyBugsnag(callback, startOptions) {
9871
9878
 
9872
9879
  callback();
9873
9880
  }
9881
+ const refreshUser = () => {
9882
+ var _window$Pelcro6, _window$Pelcro6$user, _window$Pelcro6$user$;
9883
+
9884
+ window.Pelcro.user.refresh({
9885
+ auth_token: (_window$Pelcro6 = window.Pelcro) === null || _window$Pelcro6 === void 0 ? void 0 : (_window$Pelcro6$user = _window$Pelcro6.user) === null || _window$Pelcro6$user === void 0 ? void 0 : (_window$Pelcro6$user$ = _window$Pelcro6$user.read()) === null || _window$Pelcro6$user$ === void 0 ? void 0 : _window$Pelcro6$user$.auth_token
9886
+ }, (err, res) => {
9887
+ if (err) {
9888
+ console.error(err);
9889
+ }
9890
+
9891
+ if (res) {
9892
+ return res.data;
9893
+ }
9894
+ });
9895
+ };
9874
9896
 
9875
9897
  const resources = {
9876
9898
  en: {
@@ -12857,8 +12879,8 @@ const SET_CANCEL_SUBSCRIPTION_REASON = "SET_CANCEL_SUBSCRIPTION_REASON";
12857
12879
  const SET_CANCEL_SUBSCRIPTION_OPTION = "SET_CANCEL_SUBSCRIPTION_OPTION";
12858
12880
  const HANDLE_CHECKBOX_CHANGE = "HANDLE_CHECKBOX_CHANGE";
12859
12881
  const SET_IS_DEFAULT_PAYMENT_METHOD = "SET_IS_DEFAULT_PAYMENT_METHOD";
12860
- const SET_DELETE_PAYMENT_METHOD_OPTION = "SET_DELETE_PAYMENT_METHOD_OPTION";
12861
12882
  const SET_PAYMENT_METHODS = "SET_PAYMENT_METHODS";
12883
+ const SHOW_PAYMENT_METHOD_SELECT = "SHOW_PAYMENT_METHOD_SELECT";
12862
12884
  const SET_SUBSCRIPTION_SUSPEND_DATE = "SET_SUBSCRIPTION_SUSPEND_DATE";
12863
12885
  const SET_EMAILS = "SET_EMAILS";
12864
12886
  const SET_EMAILS_ERROR = "SET_EMAILS_ERROR";
@@ -23257,6 +23279,7 @@ const PaymentMethodContainerWithoutStripe = ({
23257
23279
  content: t("messages.sourceCreated")
23258
23280
  }
23259
23281
  });
23282
+ refreshUser();
23260
23283
  onSuccess(res);
23261
23284
  });
23262
23285
  }
@@ -23315,6 +23338,7 @@ const PaymentMethodContainerWithoutStripe = ({
23315
23338
  });
23316
23339
  }
23317
23340
 
23341
+ refreshUser();
23318
23342
  onSuccess(res);
23319
23343
  });
23320
23344
  }, 2000);
@@ -23379,6 +23403,7 @@ const PaymentMethodContainerWithoutStripe = ({
23379
23403
  content: t("messages.sourceUpdated")
23380
23404
  }
23381
23405
  });
23406
+ refreshUser();
23382
23407
  onSuccess(res);
23383
23408
  });
23384
23409
  }
@@ -23785,6 +23810,7 @@ const PaymentMethodContainerWithoutStripe = ({
23785
23810
  type: LOADING,
23786
23811
  payload: false
23787
23812
  });
23813
+ refreshUser();
23788
23814
  onSuccess(res);
23789
23815
  return;
23790
23816
  }
@@ -23801,6 +23827,7 @@ const PaymentMethodContainerWithoutStripe = ({
23801
23827
  content: t("messages.sourceCreated")
23802
23828
  }
23803
23829
  });
23830
+ refreshUser();
23804
23831
  onSuccess(res);
23805
23832
  return;
23806
23833
  }
@@ -23821,6 +23848,7 @@ const PaymentMethodContainerWithoutStripe = ({
23821
23848
  content: t("messages.sourceUpdated")
23822
23849
  }
23823
23850
  });
23851
+ refreshUser();
23824
23852
  onSuccess(res);
23825
23853
  return;
23826
23854
  }
@@ -23851,6 +23879,7 @@ const PaymentMethodContainerWithoutStripe = ({
23851
23879
  });
23852
23880
  }
23853
23881
 
23882
+ refreshUser();
23854
23883
  onSuccess(res);
23855
23884
  });
23856
23885
  }, 2000);
@@ -24123,6 +24152,7 @@ const PaymentMethodContainerWithoutStripe = ({
24123
24152
  content: t("messages.sourceCreated")
24124
24153
  }
24125
24154
  });
24155
+ refreshUser();
24126
24156
  onSuccess(res);
24127
24157
  }
24128
24158
  });
@@ -24179,6 +24209,7 @@ const PaymentMethodContainerWithoutStripe = ({
24179
24209
  content: t("messages.sourceUpdated")
24180
24210
  }
24181
24211
  });
24212
+ refreshUser();
24182
24213
  onSuccess(res);
24183
24214
  }
24184
24215
  });
@@ -24254,6 +24285,7 @@ const PaymentMethodContainerWithoutStripe = ({
24254
24285
  });
24255
24286
  }
24256
24287
 
24288
+ refreshUser();
24257
24289
  onSuccess(res);
24258
24290
  });
24259
24291
  }, 2000);
@@ -33747,9 +33779,7 @@ const BillingAddressSelectModal = ({
33747
33779
  BillingAddressSelectModal.viewId = "billing-address-select";
33748
33780
 
33749
33781
  const moveDefaultPaymentMethodToStart = paymentMethods => {
33750
- var _window$Pelcro$user$r;
33751
-
33752
- const defaultPaymentMethod = (_window$Pelcro$user$r = window.Pelcro.user.read()) === null || _window$Pelcro$user$r === void 0 ? void 0 : _window$Pelcro$user$r.source;
33782
+ const defaultPaymentMethod = getDefaultPaymentMethod(paymentMethods);
33753
33783
  const paymentMethodsWithoutDefault = paymentMethods.filter(paymentMethod => paymentMethod.id !== defaultPaymentMethod.id);
33754
33784
 
33755
33785
  if (defaultPaymentMethod.status !== "chargeable") {
@@ -33759,9 +33789,15 @@ const moveDefaultPaymentMethodToStart = paymentMethods => {
33759
33789
  return [defaultPaymentMethod, ...paymentMethodsWithoutDefault];
33760
33790
  };
33761
33791
 
33792
+ const getDefaultPaymentMethod = paymentMethods => {
33793
+ const defaultPaymentMethod = paymentMethods.find(paymentMethod => paymentMethod.is_default);
33794
+ return defaultPaymentMethod;
33795
+ };
33796
+
33762
33797
  const initialState$6 = {
33763
33798
  paymentMethods: [],
33764
33799
  selectedPaymentMethodId: null,
33800
+ skeletonLoader: true,
33765
33801
  isSubmitting: false,
33766
33802
  alert: {
33767
33803
  type: "error",
@@ -33793,14 +33829,12 @@ const PaymentMethodSelectContainer = ({
33793
33829
  return onSuccess(selectedPaymentMethodId);
33794
33830
  };
33795
33831
 
33796
- const getInitialSelectedMethodId = () => {
33797
- var _window$Pelcro$user$r2;
33798
-
33832
+ const getInitialSelectedMethodId = paymentMethods => {
33799
33833
  if (selectedPaymentMethodIdFromStore) {
33800
33834
  return selectedPaymentMethodIdFromStore;
33801
33835
  }
33802
33836
 
33803
- const defaultMethod = (_window$Pelcro$user$r2 = window.Pelcro.user.read()) === null || _window$Pelcro$user$r2 === void 0 ? void 0 : _window$Pelcro$user$r2.source;
33837
+ const defaultMethod = getDefaultPaymentMethod(paymentMethods);
33804
33838
 
33805
33839
  if (defaultMethod && defaultMethod.status === "chargeable") {
33806
33840
  return String(defaultMethod.id);
@@ -33819,7 +33853,12 @@ const PaymentMethodSelectContainer = ({
33819
33853
  case LOAD_PAYMENT_METHODS:
33820
33854
  return lib_7({ ...state,
33821
33855
  paymentMethods: moveDefaultPaymentMethodToStart(action.payload),
33822
- selectedPaymentMethodId: getInitialSelectedMethodId()
33856
+ selectedPaymentMethodId: getInitialSelectedMethodId(action.payload)
33857
+ });
33858
+
33859
+ case SKELETON_LOADER:
33860
+ return lib_7({ ...state,
33861
+ skeletonLoader: action.payload
33823
33862
  });
33824
33863
 
33825
33864
  case HANDLE_SUBMIT:
@@ -33832,11 +33871,25 @@ const PaymentMethodSelectContainer = ({
33832
33871
  }
33833
33872
  }, initialState$6);
33834
33873
  React.useEffect(() => {
33835
- var _window$Pelcro$user$r3;
33874
+ window.Pelcro.paymentMethods.list({
33875
+ auth_token: window.Pelcro.user.read().auth_token
33876
+ }, (err, res) => {
33877
+ if (err) {
33878
+ return console.error(err);
33879
+ }
33836
33880
 
33837
- dispatch({
33838
- type: LOAD_PAYMENT_METHODS,
33839
- payload: (_window$Pelcro$user$r3 = window.Pelcro.user.read().sources) !== null && _window$Pelcro$user$r3 !== void 0 ? _window$Pelcro$user$r3 : []
33881
+ if (res) {
33882
+ var _res$data;
33883
+
33884
+ dispatch({
33885
+ type: LOAD_PAYMENT_METHODS,
33886
+ payload: (_res$data = res.data) !== null && _res$data !== void 0 ? _res$data : []
33887
+ });
33888
+ dispatch({
33889
+ type: SKELETON_LOADER,
33890
+ payload: false
33891
+ });
33892
+ }
33840
33893
  });
33841
33894
  }, []);
33842
33895
  return /*#__PURE__*/React__default['default'].createElement("div", {
@@ -33864,7 +33917,8 @@ const PaymentMethodSelectList = () => {
33864
33917
  dispatch,
33865
33918
  state: {
33866
33919
  paymentMethods,
33867
- selectedPaymentMethodId
33920
+ selectedPaymentMethodId,
33921
+ skeletonLoader
33868
33922
  }
33869
33923
  } = React.useContext(store$6);
33870
33924
 
@@ -33875,7 +33929,9 @@ const PaymentMethodSelectList = () => {
33875
33929
  });
33876
33930
  };
33877
33931
 
33878
- return /*#__PURE__*/React__default['default'].createElement("div", {
33932
+ return /*#__PURE__*/React__default['default'].createElement("div", null, skeletonLoader ? /*#__PURE__*/React__default['default'].createElement("div", {
33933
+ className: "plc-w-full plc-h-20 plc-bg-gray-300 plc-rounded-md plc-animate-pulse"
33934
+ }) : /*#__PURE__*/React__default['default'].createElement("div", {
33879
33935
  className: "plc-px-3 plc-py-2 plc-space-y-4 plc-overflow-y-scroll plc-max-h-80 pelcro-payment-method-select-wrapper"
33880
33936
  }, paymentMethods.map(paymentMethod => {
33881
33937
  var _paymentMethod$proper, _paymentMethod$proper2, _paymentMethod$proper3, _paymentMethod$proper4, _paymentMethod$proper5;
@@ -33899,7 +33955,7 @@ const PaymentMethodSelectList = () => {
33899
33955
  }, (paymentMethod === null || paymentMethod === void 0 ? void 0 : (_paymentMethod$proper2 = paymentMethod.properties) === null || _paymentMethod$proper2 === void 0 ? void 0 : _paymentMethod$proper2.brand) === "bacs_debit" ? "••••" : "•••• •••• ••••", " ", paymentMethod === null || paymentMethod === void 0 ? void 0 : (_paymentMethod$proper3 = paymentMethod.properties) === null || _paymentMethod$proper3 === void 0 ? void 0 : _paymentMethod$proper3.last4), paymentMethod.properties.brand !== "bacs_debit" && /*#__PURE__*/React__default['default'].createElement("p", {
33900
33956
  className: "plc-text-sm plc-text-gray-500"
33901
33957
  }, t("select.expires"), " ", (_paymentMethod$proper4 = paymentMethod.properties) === null || _paymentMethod$proper4 === void 0 ? void 0 : _paymentMethod$proper4.exp_month, "/", (_paymentMethod$proper5 = paymentMethod.properties) === null || _paymentMethod$proper5 === void 0 ? void 0 : _paymentMethod$proper5.exp_year))));
33902
- }));
33958
+ })));
33903
33959
  };
33904
33960
 
33905
33961
  const PaymentMethodSelectSubmit = ({
@@ -34009,10 +34065,10 @@ const initialState$5 = {
34009
34065
  paymentMethods: [],
34010
34066
  selectedPaymentMethodId: null,
34011
34067
  isSubmitting: false,
34012
- deleteOption: "",
34013
- disableSubmit: false,
34068
+ disableSubmit: true,
34014
34069
  isLoading: false,
34015
34070
  skeletonLoader: true,
34071
+ showPaymentMethodSelect: false,
34016
34072
  alert: {
34017
34073
  type: "error",
34018
34074
  content: ""
@@ -34051,20 +34107,20 @@ const PaymentMethodDeleteContainer = ({
34051
34107
  payload: false
34052
34108
  });
34053
34109
 
34054
- if (res.data.length !== 1) {
34110
+ if (res.data.length !== 1 && paymentMethodToDelete.is_default && paymentMethodToDelete.deletable) {
34055
34111
  dispatch({
34056
- type: SET_DELETE_PAYMENT_METHOD_OPTION,
34057
- payload: "select"
34058
- });
34059
- } else {
34060
- dispatch({
34061
- type: SET_DELETE_PAYMENT_METHOD_OPTION,
34062
- payload: "add"
34112
+ type: SHOW_PAYMENT_METHOD_SELECT,
34113
+ payload: true
34063
34114
  });
34064
34115
  }
34116
+
34117
+ dispatch({
34118
+ type: DISABLE_SUBMIT,
34119
+ payload: false
34120
+ });
34065
34121
  }
34066
34122
  });
34067
- }, []); // eslint-disable-line react-hooks/exhaustive-deps
34123
+ }, [paymentMethodToDelete]); // eslint-disable-line react-hooks/exhaustive-deps
34068
34124
 
34069
34125
  const setDefaultPaymentMethod = () => {
34070
34126
  const {
@@ -34076,6 +34132,15 @@ const PaymentMethodDeleteContainer = ({
34076
34132
  is_default: true
34077
34133
  }, (err, res) => {
34078
34134
  if (err) {
34135
+ dispatch({
34136
+ type: DISABLE_SUBMIT,
34137
+ payload: false
34138
+ });
34139
+ dispatch({
34140
+ type: LOADING,
34141
+ payload: false
34142
+ });
34143
+ console.log(err);
34079
34144
  onFailure(err);
34080
34145
  return dispatch({
34081
34146
  type: SHOW_ALERT,
@@ -34100,6 +34165,15 @@ const PaymentMethodDeleteContainer = ({
34100
34165
  auth_token: window.Pelcro.user.read().auth_token,
34101
34166
  payment_method_id: paymentMethodId
34102
34167
  }, (err, res) => {
34168
+ dispatch({
34169
+ type: DISABLE_SUBMIT,
34170
+ payload: false
34171
+ });
34172
+ dispatch({
34173
+ type: LOADING,
34174
+ payload: false
34175
+ });
34176
+
34103
34177
  if (err) {
34104
34178
  onFailure === null || onFailure === void 0 ? void 0 : onFailure(err);
34105
34179
  return dispatch({
@@ -34111,14 +34185,7 @@ const PaymentMethodDeleteContainer = ({
34111
34185
  });
34112
34186
  }
34113
34187
 
34114
- dispatch({
34115
- type: DISABLE_SUBMIT,
34116
- payload: false
34117
- });
34118
- dispatch({
34119
- type: LOADING,
34120
- payload: false
34121
- });
34188
+ refreshUser();
34122
34189
  onSuccess(res);
34123
34190
  });
34124
34191
  };
@@ -34134,11 +34201,12 @@ const PaymentMethodDeleteContainer = ({
34134
34201
  return lib_5({ ...state,
34135
34202
  disableSubmit: true,
34136
34203
  isLoading: true
34137
- }, (state, dispatch) => setDefaultPaymentMethod());
34138
-
34139
- case SET_DELETE_PAYMENT_METHOD_OPTION:
34140
- return lib_7({ ...state,
34141
- deleteOption: action.payload
34204
+ }, (state, dispatch) => {
34205
+ if (state.showPaymentMethodSelect) {
34206
+ setDefaultPaymentMethod();
34207
+ } else {
34208
+ deletePaymentMethod();
34209
+ }
34142
34210
  });
34143
34211
 
34144
34212
  case SET_PAYMENT_METHODS:
@@ -34166,6 +34234,11 @@ const PaymentMethodDeleteContainer = ({
34166
34234
  skeletonLoader: action.payload
34167
34235
  });
34168
34236
 
34237
+ case SHOW_PAYMENT_METHOD_SELECT:
34238
+ return lib_7({ ...state,
34239
+ showPaymentMethodSelect: action.payload
34240
+ });
34241
+
34169
34242
  default:
34170
34243
  return state;
34171
34244
  }
@@ -34187,34 +34260,6 @@ const PaymentMethodDeleteContainer = ({
34187
34260
  })));
34188
34261
  };
34189
34262
 
34190
- const PaymentMethodDeleteSubmit = ({
34191
- name,
34192
- onClick,
34193
- ...otherProps
34194
- }) => {
34195
- const {
34196
- t
34197
- } = useTranslation("paymentMethod");
34198
- const {
34199
- dispatch,
34200
- state: {
34201
- isLoading,
34202
- isDisabled
34203
- }
34204
- } = React.useContext(store$5);
34205
- return /*#__PURE__*/React__default['default'].createElement(Button, Object.assign({
34206
- onClick: () => {
34207
- dispatch({
34208
- type: HANDLE_SUBMIT
34209
- });
34210
- onClick === null || onClick === void 0 ? void 0 : onClick();
34211
- },
34212
- disabled: isDisabled,
34213
- isLoading: isLoading,
34214
- className: "plc-w-full"
34215
- }, otherProps), name !== null && name !== void 0 ? name : t("select.buttons.selectPaymentMethod"));
34216
- };
34217
-
34218
34263
  const PaymentMethodDeleteList = props => {
34219
34264
  const {
34220
34265
  t
@@ -34222,16 +34267,28 @@ const PaymentMethodDeleteList = props => {
34222
34267
  const {
34223
34268
  dispatch,
34224
34269
  state: {
34225
- deleteOption,
34226
34270
  selectedPaymentMethodId,
34227
34271
  paymentMethods,
34228
- skeletonLoader
34272
+ skeletonLoader,
34273
+ showPaymentMethodSelect
34229
34274
  }
34230
34275
  } = React.useContext(store$5);
34231
34276
  const {
34232
34277
  paymentMethodToDelete
34233
34278
  } = usePelcro();
34234
34279
 
34280
+ const createPaymentMethodItems = () => {
34281
+ if (paymentMethods.length) {
34282
+ return paymentMethods.filter(paymentMethod => (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id) !== (paymentMethodToDelete === null || paymentMethodToDelete === void 0 ? void 0 : paymentMethodToDelete.id)).map(paymentMethod => paymentMethod.properties.brand === "bacs_debit" ? /*#__PURE__*/React__default['default'].createElement("option", {
34283
+ key: paymentMethod.id,
34284
+ value: paymentMethod.id
34285
+ }, "bacs - ", paymentMethod.properties.last4) : /*#__PURE__*/React__default['default'].createElement("option", {
34286
+ key: paymentMethod.id,
34287
+ value: paymentMethod.id
34288
+ }, paymentMethod.properties.brand, " -", " ", paymentMethod.properties.last4, " -", " ", paymentMethod.properties.exp_month, " /", paymentMethod.properties.exp_year));
34289
+ }
34290
+ };
34291
+
34235
34292
  const handlePaymentMethodSelect = event => {
34236
34293
  dispatch({
34237
34294
  type: SELECT_PAYMENT_METHOD,
@@ -34239,102 +34296,124 @@ const PaymentMethodDeleteList = props => {
34239
34296
  });
34240
34297
  };
34241
34298
 
34242
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, skeletonLoader ? /*#__PURE__*/React__default['default'].createElement("div", {
34243
- className: "plc-w-full plc-h-40 plc-bg-gray-300 plc-rounded-md plc-animate-pulse"
34244
- }) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, paymentMethods && deleteOption === "select" && /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement("div", {
34245
- className: "plc-px-3 plc-py-2 plc-space-y-4 plc-overflow-y-scroll no-scrollbar plc-max-h-80 pelcro-payment-method-select-wrapper plc-mb-4"
34246
- }, paymentMethods.filter(paymentMethod => (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id) !== (paymentMethodToDelete === null || paymentMethodToDelete === void 0 ? void 0 : paymentMethodToDelete.id)).map(paymentMethod => {
34247
- var _paymentMethod$proper, _paymentMethod$proper2, _paymentMethod$proper3, _paymentMethod$proper4, _paymentMethod$proper5;
34248
-
34249
- const isSelected = selectedPaymentMethodId === String(paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id);
34250
- return /*#__PURE__*/React__default['default'].createElement("div", {
34251
- key: paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id,
34252
- className: `plc-p-2 plc-pl-4 plc-shadow-md plc-text-gray-900 plc-rounded pelcro-payment-method-wrapper`
34253
- }, /*#__PURE__*/React__default['default'].createElement(Radio, {
34254
- className: "plc-flex plc-items-center pelcro-select-payment-method-radio",
34255
- labelClassName: "plc-flex plc-items-center plc-space-x-2 plc-cursor-pointer plc-w-full",
34256
- id: `pelcro-payment-method-select-${paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id}`,
34257
- name: "paymentMethod",
34258
- checked: isSelected,
34259
- value: paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id,
34260
- onChange: handlePaymentMethodSelect
34261
- }, getPaymentCardIcon((_paymentMethod$proper = paymentMethod.properties) === null || _paymentMethod$proper === void 0 ? void 0 : _paymentMethod$proper.brand), /*#__PURE__*/React__default['default'].createElement("div", {
34262
- className: "plc-flex plc-flex-col plc-text-lg pelcro-payment-method-details"
34263
- }, /*#__PURE__*/React__default['default'].createElement("p", {
34264
- className: "plc-font-semibold"
34265
- }, (paymentMethod === null || paymentMethod === void 0 ? void 0 : (_paymentMethod$proper2 = paymentMethod.properties) === null || _paymentMethod$proper2 === void 0 ? void 0 : _paymentMethod$proper2.brand) === "bacs_debit" ? "••••" : "•••• •••• ••••", " ", (_paymentMethod$proper3 = paymentMethod.properties) === null || _paymentMethod$proper3 === void 0 ? void 0 : _paymentMethod$proper3.last4), paymentMethod.properties.brand !== "bacs_debit" && /*#__PURE__*/React__default['default'].createElement("p", {
34266
- className: "plc-text-sm plc-text-gray-500"
34267
- }, t("select.expires"), " ", (_paymentMethod$proper4 = paymentMethod.properties) === null || _paymentMethod$proper4 === void 0 ? void 0 : _paymentMethod$proper4.exp_month, "/", (_paymentMethod$proper5 = paymentMethod.properties) === null || _paymentMethod$proper5 === void 0 ? void 0 : _paymentMethod$proper5.exp_year))));
34268
- })), /*#__PURE__*/React__default['default'].createElement("div", {
34269
- className: "plc-px-3"
34270
- }, /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteSubmit, null))), deleteOption === "add" && /*#__PURE__*/React__default['default'].createElement(PaymentMethodView, {
34271
- type: "deletePaymentSource",
34272
- showCoupon: false,
34273
- showExternalPaymentMethods: false,
34274
- showApplePayButton: false,
34275
- onDisplay: props.onDisplay,
34276
- onFailure: props.onFailure,
34277
- onSuccess: props.onSuccess,
34278
- setAsDefault: true
34279
- })));
34299
+ if (showPaymentMethodSelect) {
34300
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, skeletonLoader ? /*#__PURE__*/React__default['default'].createElement("div", {
34301
+ className: "plc-w-full plc-h-8 plc-bg-gray-300 plc-rounded-md plc-animate-pulse"
34302
+ }) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, paymentMethods && /*#__PURE__*/React__default['default'].createElement("div", {
34303
+ className: "plc-mt-4"
34304
+ }, /*#__PURE__*/React__default['default'].createElement(Select, {
34305
+ label: t("delete.options.select"),
34306
+ name: "default-payment-method",
34307
+ onChange: handlePaymentMethodSelect,
34308
+ value: selectedPaymentMethodId
34309
+ }, /*#__PURE__*/React__default['default'].createElement("option", {
34310
+ value: "",
34311
+ disabled: true,
34312
+ selected: true
34313
+ }), createPaymentMethodItems()))));
34314
+ } else {
34315
+ return null;
34316
+ }
34280
34317
  };
34281
34318
 
34282
- const PaymentMethodDeleteOptions = ({
34283
- subscription,
34284
- hasPhases,
34285
- onClick,
34286
- className
34287
- }) => {
34319
+ const PaymentMethodDetails = () => {
34320
+ var _paymentMethodToDelet, _paymentMethodToDelet2, _paymentMethodToDelet3, _paymentMethodToDelet4, _paymentMethodToDelet5;
34321
+
34288
34322
  const {
34289
34323
  state: {
34290
- deleteOption,
34291
- paymentMethods,
34292
34324
  skeletonLoader
34293
- },
34294
- dispatch
34325
+ }
34295
34326
  } = React.useContext(store$5);
34296
34327
  const {
34297
34328
  t
34298
34329
  } = useTranslation("paymentMethod");
34299
-
34300
- const handleOptionSelect = event => {
34301
- dispatch({
34302
- type: SET_DELETE_PAYMENT_METHOD_OPTION,
34303
- payload: event.target.value
34304
- });
34305
- };
34306
-
34330
+ const {
34331
+ paymentMethodToDelete
34332
+ } = usePelcro();
34307
34333
  return /*#__PURE__*/React__default['default'].createElement("div", {
34308
34334
  className: "plc-text-left plc-mr-auto plc-mb-6"
34309
- }, skeletonLoader ? /*#__PURE__*/React__default['default'].createElement("div", {
34310
- className: "plc-flex plc-flex-col plc-space-y-3"
34311
- }, /*#__PURE__*/React__default['default'].createElement(Radio, {
34312
- className: "plc-animate-puls"
34313
- }, /*#__PURE__*/React__default['default'].createElement("div", {
34314
- className: "plc-w-36 plc-bg-gray-300 plc-h-4 plc-rounded-md plc-animate-pulse"
34315
- })), /*#__PURE__*/React__default['default'].createElement(Radio, {
34316
- className: "plc-animate-pulse"
34335
+ }, /*#__PURE__*/React__default['default'].createElement("h4", {
34336
+ className: "plc-mb-2"
34337
+ }, t("delete.details")), skeletonLoader ? /*#__PURE__*/React__default['default'].createElement("div", {
34338
+ className: "plc-w-full plc-h-16 plc-bg-gray-300 plc-rounded-md plc-animate-pulse"
34339
+ }) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, paymentMethodToDelete && /*#__PURE__*/React__default['default'].createElement("div", {
34340
+ key: paymentMethodToDelete === null || paymentMethodToDelete === void 0 ? void 0 : paymentMethodToDelete.id,
34341
+ className: `plc-p-2 plc-pl-4 plc-shadow-md_dark plc-text-gray-900 plc-rounded pelcro-payment-method-wrapper`
34317
34342
  }, /*#__PURE__*/React__default['default'].createElement("div", {
34318
- className: "plc-w-36 plc-bg-gray-300 plc-h-4 plc-rounded-md plc-animate-pulse"
34319
- }))) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, paymentMethods && paymentMethods.length !== 1 && /*#__PURE__*/React__default['default'].createElement(Radio, {
34320
- onChange: handleOptionSelect,
34321
- checked: deleteOption === "select",
34322
- value: "select"
34323
- }, t("delete.options.select")), /*#__PURE__*/React__default['default'].createElement(Radio, {
34324
- onChange: handleOptionSelect,
34325
- checked: deleteOption === "add",
34326
- value: "add"
34327
- }, t("delete.options.add"))));
34343
+ className: "plc-flex plc-items-center plc-space-x-2 plc-w-full pelcro-select-payment-method-radio",
34344
+ id: `pelcro-payment-method-select-${paymentMethodToDelete === null || paymentMethodToDelete === void 0 ? void 0 : paymentMethodToDelete.id}`,
34345
+ name: "paymentMethod"
34346
+ }, getPaymentCardIcon((_paymentMethodToDelet = paymentMethodToDelete.properties) === null || _paymentMethodToDelet === void 0 ? void 0 : _paymentMethodToDelet.brand), /*#__PURE__*/React__default['default'].createElement("div", {
34347
+ className: "plc-flex plc-flex-col plc-text-lg pelcro-payment-method-details"
34348
+ }, /*#__PURE__*/React__default['default'].createElement("p", {
34349
+ className: "plc-font-semibold"
34350
+ }, (paymentMethodToDelete === null || paymentMethodToDelete === void 0 ? void 0 : (_paymentMethodToDelet2 = paymentMethodToDelete.properties) === null || _paymentMethodToDelet2 === void 0 ? void 0 : _paymentMethodToDelet2.brand) === "bacs_debit" ? "••••" : "•••• •••• ••••", " ", (_paymentMethodToDelet3 = paymentMethodToDelete.properties) === null || _paymentMethodToDelet3 === void 0 ? void 0 : _paymentMethodToDelet3.last4), paymentMethodToDelete.properties.brand !== "bacs_debit" && /*#__PURE__*/React__default['default'].createElement("p", {
34351
+ className: "plc-text-sm plc-text-gray-500"
34352
+ }, t("select.expires"), " ", (_paymentMethodToDelet4 = paymentMethodToDelete.properties) === null || _paymentMethodToDelet4 === void 0 ? void 0 : _paymentMethodToDelet4.exp_month, "/", (_paymentMethodToDelet5 = paymentMethodToDelete.properties) === null || _paymentMethodToDelet5 === void 0 ? void 0 : _paymentMethodToDelet5.exp_year))))));
34353
+ };
34354
+
34355
+ const PaymentMethodDeleteSubmit = ({
34356
+ name,
34357
+ onClick,
34358
+ ...otherProps
34359
+ }) => {
34360
+ const {
34361
+ t
34362
+ } = useTranslation("paymentMethod");
34363
+ const {
34364
+ dispatch,
34365
+ state: {
34366
+ isLoading,
34367
+ disableSubmit,
34368
+ showPaymentMethodSelect,
34369
+ selectedPaymentMethodId
34370
+ }
34371
+ } = React.useContext(store$5);
34372
+ return /*#__PURE__*/React__default['default'].createElement(Button, Object.assign({
34373
+ onClick: () => {
34374
+ dispatch({
34375
+ type: HANDLE_SUBMIT
34376
+ });
34377
+ onClick === null || onClick === void 0 ? void 0 : onClick();
34378
+ },
34379
+ disabled: showPaymentMethodSelect ? !selectedPaymentMethodId : disableSubmit,
34380
+ isLoading: isLoading,
34381
+ className: "plc-w-full"
34382
+ }, otherProps), name !== null && name !== void 0 ? name : t("delete.buttons.delete"));
34383
+ };
34384
+
34385
+ const PaymentMethodDeleteBack = ({
34386
+ name,
34387
+ onClick,
34388
+ ...otherProps
34389
+ }) => {
34390
+ const {
34391
+ t
34392
+ } = useTranslation("paymentMethod");
34393
+ const {
34394
+ switchView
34395
+ } = usePelcro();
34396
+ return /*#__PURE__*/React__default['default'].createElement(Button, Object.assign({
34397
+ variant: "outline",
34398
+ onClick: () => {
34399
+ switchView("dashboard");
34400
+ onClick === null || onClick === void 0 ? void 0 : onClick();
34401
+ },
34402
+ className: "plc-w-full"
34403
+ }, otherProps), name !== null && name !== void 0 ? name : t("delete.buttons.back"));
34328
34404
  };
34329
34405
 
34330
34406
  function PaymentMethodDeleteView(props) {
34407
+ const {
34408
+ t
34409
+ } = useTranslation("paymentMethod");
34331
34410
  return /*#__PURE__*/React__default['default'].createElement("div", {
34332
34411
  id: "pelcro-payment-method-delete-view"
34333
- }, /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteContainer, props, /*#__PURE__*/React__default['default'].createElement(AlertWithContext, {
34334
- className: "plc-mb-2"
34335
- }), /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteOptions, null), /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteList, {
34336
- onSuccess: props.onSuccess
34337
- })));
34412
+ }, /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteContainer, props, /*#__PURE__*/React__default['default'].createElement(AlertWithContext, null), /*#__PURE__*/React__default['default'].createElement(PaymentMethodDetails, null), /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteList, null), /*#__PURE__*/React__default['default'].createElement("p", {
34413
+ className: "plc-text-sm plc-text-justify"
34414
+ }, t("delete.message")), /*#__PURE__*/React__default['default'].createElement("div", {
34415
+ className: "plc-space-x-0 plc-space-y-3 plc-w-full plc-flex plc-flex-col plc-items-center plc-justify-center plc-mt-4"
34416
+ }, /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteSubmit, null), /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteBack, null))));
34338
34417
  }
34339
34418
 
34340
34419
  const PaymentMethodDeleteModal = props => {
@@ -34367,7 +34446,7 @@ const PaymentMethodDeleteModal = props => {
34367
34446
  });
34368
34447
  }
34369
34448
 
34370
- notify.success(t("delete.paymentMethodReplaced"));
34449
+ notify.success(t("delete.deletedSuccessfully"));
34371
34450
  resetView();
34372
34451
  };
34373
34452
 
@@ -37217,38 +37296,9 @@ const PaymentCardsMenu = props => {
37217
37296
  return switchView("payment-method-update");
37218
37297
  };
37219
37298
 
37220
- const deletePaymentMethod = (paymentMethodId, onSuccess, onFailure) => {
37221
- // disable the Login button to prevent repeated clicks
37222
- window.Pelcro.paymentMethods.deletePaymentMethod({
37223
- auth_token: window.Pelcro.user.read().auth_token,
37224
- payment_method_id: paymentMethodId
37225
- }, (err, res) => {
37226
- if (err) {
37227
- return onFailure === null || onFailure === void 0 ? void 0 : onFailure(err);
37228
- }
37229
-
37230
- onSuccess === null || onSuccess === void 0 ? void 0 : onSuccess(res);
37231
- });
37232
- };
37233
-
37234
37299
  const onDeletePaymentMethodClick = source => {
37235
- const isDeletable = source === null || source === void 0 ? void 0 : source.deletable;
37236
-
37237
- if (isDeletable) {
37238
- notify.confirm((onSuccess, onFailure) => {
37239
- deletePaymentMethod(source.id, onSuccess, onFailure);
37240
- }, {
37241
- confirmMessage: t("messages.paymentMethodDeletion.isSureToDelete"),
37242
- loadingMessage: t("messages.paymentMethodDeletion.loading"),
37243
- successMessage: t("messages.paymentMethodDeletion.success"),
37244
- errorMessage: t("messages.paymentMethodDeletion.error")
37245
- }, {
37246
- closeButtonLabel: t("labels.subCancellation.goBack")
37247
- });
37248
- } else {
37249
- setPaymentMethodToDelete(source.id);
37250
- return switchView("payment-method-delete");
37251
- }
37300
+ setPaymentMethodToDelete(source.id);
37301
+ return switchView("payment-method-delete");
37252
37302
  };
37253
37303
 
37254
37304
  return /*#__PURE__*/React__default['default'].createElement(Card, {
@@ -38946,7 +38996,7 @@ const hasActiveMemberships = () => {
38946
38996
  };
38947
38997
 
38948
38998
  const DashboardContent = props => {
38949
- var _window$Pelcro$user$r, _window$Pelcro, _window$Pelcro$uiSett, _props$children;
38999
+ var _window$Pelcro$user$r, _props$children;
38950
39000
 
38951
39001
  const {
38952
39002
  state: {
@@ -38970,24 +39020,25 @@ const DashboardContent = props => {
38970
39020
  const menuRef = React.useRef(null);
38971
39021
  const user = window.Pelcro.user.read();
38972
39022
  const userHasName = user.first_name || user.last_name;
38973
- const profilePicture = (_window$Pelcro$user$r = window.Pelcro.user.read().profile_photo) !== null && _window$Pelcro$user$r !== void 0 ? _window$Pelcro$user$r : userSolidIcon;
38974
- const newsletters = (_window$Pelcro = window.Pelcro) === null || _window$Pelcro === void 0 ? void 0 : (_window$Pelcro$uiSett = _window$Pelcro.uiSettings) === null || _window$Pelcro$uiSett === void 0 ? void 0 : _window$Pelcro$uiSett.newsletters;
38975
- Array.isArray(newsletters) && newsletters.length > 0;
38976
-
38977
- const initializeHideMenuHandler = () => {
38978
- document.addEventListener("click", hideMenuIfClickedOutside);
38979
- };
38980
-
38981
- const hideMenuIfClickedOutside = event => {
38982
- const dashboardSubmenus = document.getElementById("pelcro-view-dashboard-submenus");
38983
- const didClickOutsideMenu = isOpen && menuRef.current && !menuRef.current.contains(event.target) && !(dashboardSubmenus !== null && dashboardSubmenus !== void 0 && dashboardSubmenus.contains(event.target));
38984
-
38985
- if (didClickOutsideMenu) {
38986
- dispatch({
38987
- type: CLOSE_DASHBOARD
38988
- });
38989
- }
38990
- };
39023
+ const profilePicture = (_window$Pelcro$user$r = window.Pelcro.user.read().profile_photo) !== null && _window$Pelcro$user$r !== void 0 ? _window$Pelcro$user$r : userSolidIcon; // const newsletters = window.Pelcro?.uiSettings?.newsletters;
39024
+ // const siteHasNewslettersDefined =
39025
+ // Array.isArray(newsletters) && newsletters.length > 0;
39026
+ // const initializeHideMenuHandler = () => {
39027
+ // document.addEventListener("click", hideMenuIfClickedOutside);
39028
+ // };
39029
+ // const hideMenuIfClickedOutside = (event) => {
39030
+ // const dashboardSubmenus = document.getElementById(
39031
+ // "pelcro-view-dashboard-submenus"
39032
+ // );
39033
+ // const didClickOutsideMenu =
39034
+ // isOpen &&
39035
+ // menuRef.current &&
39036
+ // !menuRef.current.contains(event.target) &&
39037
+ // !dashboardSubmenus?.contains(event.target);
39038
+ // if (didClickOutsideMenu) {
39039
+ // dispatch({ type: CLOSE_DASHBOARD });
39040
+ // }
39041
+ // };
38991
39042
 
38992
39043
  const setActiveDashboardLink = submenuName => {
38993
39044
  dispatch({
@@ -39126,18 +39177,25 @@ const DashboardContent = props => {
39126
39177
  });
39127
39178
  };
39128
39179
 
39129
- React.useEffect(() => {
39130
- return () => {
39131
- document.removeEventListener("click", hideMenuIfClickedOutside);
39132
- };
39133
- }, []);
39180
+ const closeSubMenusTab = () => {
39181
+ dispatch({
39182
+ type: SET_ACTIVE_DASHBOARD_LINK,
39183
+ payload: null
39184
+ });
39185
+ }; // useEffect(() => {
39186
+ // return () => {
39187
+ // document.removeEventListener("click", hideMenuIfClickedOutside);
39188
+ // };
39189
+ // }, []);
39190
+
39191
+
39134
39192
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(Transition, {
39135
39193
  className: `plc-fixed plc-inset-y-0 plc-h-full lg:plc-w-3/12 plc-w-full plc-overflow-y-auto plc-text-left plc-bg-white plc-shadow-xl plc-z-max ${dashboardLayout == "left" ? "plc-left-0" : "plc-right-0"}`,
39136
39194
  show: isOpen,
39137
39195
  enter: "plc-transform plc-transition plc-duration-500",
39138
39196
  enterFrom: `${dashboardLayout == "left" ? "plc--translate-x-full" : "plc-translate-x-full"}`,
39139
- enterTo: "plc-translate-x-0",
39140
- afterEnter: initializeHideMenuHandler,
39197
+ enterTo: "plc-translate-x-0" // afterEnter={initializeHideMenuHandler}
39198
+ ,
39141
39199
  leave: "plc-transform plc-transition plc-duration-500",
39142
39200
  leaveFrom: "plc-translate-x-0",
39143
39201
  leaveTo: `${dashboardLayout == "left" ? "plc--translate-x-full" : "plc-translate-x-full"}`,
@@ -39164,12 +39222,10 @@ const DashboardContent = props => {
39164
39222
  className: "plc-font-bold plc-break-all"
39165
39223
  }, user.first_name, " ", user.last_name), /*#__PURE__*/React__default['default'].createElement("p", {
39166
39224
  className: `plc-m-0 plc-text-sm plc-break-all ${userHasName ? "plc-text-sm" : "plc-text-lg plc-font-bold plc-mt-auto"}`
39167
- }, user.email)), /*#__PURE__*/React__default['default'].createElement("div", {
39168
- className: "lg:plc-hidden"
39169
- }, /*#__PURE__*/React__default['default'].createElement(Button, {
39225
+ }, user.email)), /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(Button, {
39170
39226
  variant: "ghost",
39171
39227
  type: "button",
39172
- className: "plc-text-gray-500 plc-rounded-2xl plc-absolute plc-z-max plc-top-5 plc-right-10",
39228
+ className: "plc-text-gray-500 plc-rounded-2xl plc-absolute plc-z-max plc-top-5 plc-right-5",
39173
39229
  onClick: closeDashboard
39174
39230
  }, /*#__PURE__*/React__default['default'].createElement(SvgXIcon, {
39175
39231
  className: "plc-fill-current"
@@ -39207,8 +39263,8 @@ const DashboardContent = props => {
39207
39263
  }), activeDashboardLink === SUB_MENUS.ORDERS && /*#__PURE__*/React__default['default'].createElement(OrdersMenu, null), activeDashboardLink === SUB_MENUS.INVOICES && /*#__PURE__*/React__default['default'].createElement(InvoicesMenu, null), activeDashboardLink === SUB_MENUS.LOGOUT && logout(), /*#__PURE__*/React__default['default'].createElement(Button, {
39208
39264
  variant: "ghost",
39209
39265
  type: "button",
39210
- className: "plc-text-gray-500 plc-rounded-2xl plc-absolute plc-z-max plc-top-2 plc-right-2 md:plc-top-5 md:plc-right-10",
39211
- onClick: closeDashboard
39266
+ className: `plc-text-gray-500 plc-rounded-2xl plc-absolute plc-z-max plc-top-2 md:plc-top-5 ${dashboardLayout == "left" ? "plc-right-2 md:plc-right-10" : "plc-left-2 md:plc-left-10"}`,
39267
+ onClick: closeSubMenusTab
39212
39268
  }, /*#__PURE__*/React__default['default'].createElement(SvgXIcon, {
39213
39269
  className: "plc-fill-current"
39214
39270
  }))));
@@ -42495,7 +42551,6 @@ exports.PaymentMethodCreateView = PaymentMethodCreateView;
42495
42551
  exports.PaymentMethodDeleteContainer = PaymentMethodDeleteContainer;
42496
42552
  exports.PaymentMethodDeleteList = PaymentMethodDeleteList;
42497
42553
  exports.PaymentMethodDeleteModal = PaymentMethodDeleteModal;
42498
- exports.PaymentMethodDeleteOptions = PaymentMethodDeleteOptions;
42499
42554
  exports.PaymentMethodDeleteSubmit = PaymentMethodDeleteSubmit;
42500
42555
  exports.PaymentMethodDeleteView = PaymentMethodDeleteView;
42501
42556
  exports.PaymentMethodSelectContainer = PaymentMethodSelectContainer;