@pelcro/react-pelcro-js 3.26.0-beta.53 → 3.26.0-beta.55

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
@@ -3366,12 +3366,19 @@ var paymentMethod_en = {
3366
3366
  select: select$6,
3367
3367
  "delete": {
3368
3368
  title: "Delete payment method",
3369
- 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.",
3369
+ subtitle: "Are you sure you want to delete the selected payment method?",
3370
+ details: "Payment method details",
3371
+ 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.",
3372
+ buttons: {
3373
+ "delete": "Delete payment method",
3374
+ back: "Go back"
3375
+ },
3370
3376
  options: {
3371
- select: "Select an existing payment method",
3377
+ select: "Select a payment method to be the default",
3372
3378
  add: "Add a new payment method"
3373
3379
  },
3374
- paymentMethodReplaced: "Payment Method Successfully Deleted and Replaced"
3380
+ paymentMethodReplaced: "Payment Method Successfully Deleted and Replaced",
3381
+ deletedSuccessfully: "Payment Method Successfully Deleted"
3375
3382
  },
3376
3383
  create: create$5
3377
3384
  };
@@ -9846,6 +9853,17 @@ const getPaymentCardIcon$1 = name => {
9846
9853
  }), /*#__PURE__*/React__default['default'].createElement("path", {
9847
9854
  fill: "#FFF",
9848
9855
  d: "M22.255 20l-2.113 4.683L18.039 20h-2.695v6.726L12.341 20h-2.274L7 26.981h1.815l.671-1.558h3.432l.682 1.558h3.465v-5.185l2.299 5.185h1.563l2.351-5.095v5.095H25V20H22.255zM10.135 23.915l1.026-2.44 1.066 2.44H10.135zM37.883 23.413L41 20.018h-2.217l-1.994 2.164L34.86 20H28v6.982h6.635l2.092-2.311L38.767 27h2.21L37.883 23.413zM33.728 25.516h-4.011v-1.381h3.838v-1.323h-3.838v-1.308l4.234.012 1.693 1.897L33.728 25.516z"
9856
+ })),
9857
+ amex: /*#__PURE__*/React__default['default'].createElement("svg", {
9858
+ className: "plc-w-16",
9859
+ xmlns: "http://www.w3.org/2000/svg",
9860
+ viewBox: "0 0 48 48"
9861
+ }, /*#__PURE__*/React__default['default'].createElement("path", {
9862
+ fill: "#1976D2",
9863
+ d: "M45,35c0,2.209-1.791,4-4,4H7c-2.209,0-4-1.791-4-4V13c0-2.209,1.791-4,4-4h34c2.209,0,4,1.791,4,4V35z"
9864
+ }), /*#__PURE__*/React__default['default'].createElement("path", {
9865
+ fill: "#FFF",
9866
+ d: "M22.255 20l-2.113 4.683L18.039 20h-2.695v6.726L12.341 20h-2.274L7 26.981h1.815l.671-1.558h3.432l.682 1.558h3.465v-5.185l2.299 5.185h1.563l2.351-5.095v5.095H25V20H22.255zM10.135 23.915l1.026-2.44 1.066 2.44H10.135zM37.883 23.413L41 20.018h-2.217l-1.994 2.164L34.86 20H28v6.982h6.635l2.092-2.311L38.767 27h2.21L37.883 23.413zM33.728 25.516h-4.011v-1.381h3.838v-1.323h-3.838v-1.308l4.234.012 1.693 1.897L33.728 25.516z"
9849
9867
  }))
9850
9868
  };
9851
9869
  return name ? icons[name.toLowerCase()] : /*#__PURE__*/React__default['default'].createElement("svg", {
@@ -13011,8 +13029,8 @@ const SET_CANCEL_SUBSCRIPTION_REASON = "SET_CANCEL_SUBSCRIPTION_REASON";
13011
13029
  const SET_CANCEL_SUBSCRIPTION_OPTION = "SET_CANCEL_SUBSCRIPTION_OPTION";
13012
13030
  const HANDLE_CHECKBOX_CHANGE = "HANDLE_CHECKBOX_CHANGE";
13013
13031
  const SET_IS_DEFAULT_PAYMENT_METHOD = "SET_IS_DEFAULT_PAYMENT_METHOD";
13014
- const SET_DELETE_PAYMENT_METHOD_OPTION = "SET_DELETE_PAYMENT_METHOD_OPTION";
13015
13032
  const SET_PAYMENT_METHODS = "SET_PAYMENT_METHODS";
13033
+ const SHOW_PAYMENT_METHOD_SELECT = "SHOW_PAYMENT_METHOD_SELECT";
13016
13034
  const SET_SUBSCRIPTION_SUSPEND_DATE = "SET_SUBSCRIPTION_SUSPEND_DATE";
13017
13035
  const SET_EMAILS = "SET_EMAILS";
13018
13036
  const SET_EMAILS_ERROR = "SET_EMAILS_ERROR";
@@ -18510,6 +18528,7 @@ class BraintreeGateway {
18510
18528
  const initialState$l = {
18511
18529
  disableSubmit: false,
18512
18530
  isLoading: false,
18531
+ isSkeletonLoaded: false,
18513
18532
  disableCouponButton: false,
18514
18533
  couponObject: null,
18515
18534
  couponCode: "",
@@ -19233,6 +19252,10 @@ const PaymentMethodContainerWithoutStripe = _ref => {
19233
19252
  }
19234
19253
  }
19235
19254
  };
19255
+ dispatch({
19256
+ type: SKELETON_LOADER,
19257
+ payload: true
19258
+ });
19236
19259
  return window.braintree.hostedFields.create(options);
19237
19260
  });
19238
19261
  }
@@ -19310,7 +19333,8 @@ const PaymentMethodContainerWithoutStripe = _ref => {
19310
19333
  }
19311
19334
  });
19312
19335
  }
19313
- handleBraintreePayment(payload.nonce, state);
19336
+ console.log(payload);
19337
+ handleBraintreePayment(payload, state);
19314
19338
  });
19315
19339
  }).catch(error => {
19316
19340
  if (error) {
@@ -19319,16 +19343,19 @@ const PaymentMethodContainerWithoutStripe = _ref => {
19319
19343
  }
19320
19344
  });
19321
19345
  };
19322
- const handleBraintreePayment = (braintreeNonce, state) => {
19346
+ const handleBraintreePayment = (braintreePaymentRequest, state) => {
19323
19347
  const isUsingExistingPaymentMethod = Boolean(selectedPaymentMethodId);
19348
+ const braintreeNonce = braintreePaymentRequest === null || braintreePaymentRequest === void 0 ? void 0 : braintreePaymentRequest.nonce;
19324
19349
  if (type === "createPayment") {
19325
19350
  handleBraintreeSubscription();
19326
19351
  } else if (type === "orderCreate") {
19327
19352
  purchase(new BraintreeGateway(), isUsingExistingPaymentMethod ? selectedPaymentMethodId : braintreeNonce, state, dispatch);
19328
19353
  } else if (type === "invoicePayment") {
19329
19354
  payInvoice(new BraintreeGateway(), isUsingExistingPaymentMethod ? selectedPaymentMethodId : braintreeNonce, dispatch);
19330
- } else if (type === "createPaymentSource" || type === "updatePaymentSource") {
19355
+ } else if (type === "createPaymentSource") {
19331
19356
  createNewBraintreeCard();
19357
+ } else if (type === "updatePaymentSource") {
19358
+ updateBraintreeCard();
19332
19359
  } else if (type === "deletePaymentSource") {
19333
19360
  replaceBraintreeCard();
19334
19361
  }
@@ -19423,45 +19450,54 @@ const PaymentMethodContainerWithoutStripe = _ref => {
19423
19450
  }
19424
19451
  });
19425
19452
  }
19426
-
19427
- // TODO: Implement card update
19428
- // function updateBraintreeCard() {
19429
- // const { id: paymentMethodId } = paymentMethodToEdit;
19430
-
19431
- // const { isDefault } = state;
19432
- // window.Pelcro.paymentMethods.update(
19433
- // {
19434
- // auth_token: window.Pelcro.user.read().auth_token,
19435
- // payment_method_id: paymentMethodId,
19436
- // gateway: "braintree",
19437
- // is_default: isDefault
19438
- // },
19439
- // (err, res) => {
19440
- // dispatch({ type: DISABLE_SUBMIT, payload: false });
19441
- // dispatch({ type: LOADING, payload: false });
19442
- // if (err) {
19443
- // onFailure(err);
19444
- // return dispatch({
19445
- // type: SHOW_ALERT,
19446
- // payload: {
19447
- // type: "error",
19448
- // content: getErrorMessages(err)
19449
- // }
19450
- // });
19451
- // }
19452
-
19453
- // dispatch({
19454
- // type: SHOW_ALERT,
19455
- // payload: {
19456
- // type: "success",
19457
- // content: t("messages.sourceUpdated")
19458
- // }
19459
- // });
19460
- // onSuccess(res);
19461
- // }
19462
- // );
19463
- // }
19464
-
19453
+ function updateBraintreeCard() {
19454
+ const {
19455
+ id: paymentMethodId
19456
+ } = paymentMethodToEdit;
19457
+ const {
19458
+ expirationMonth,
19459
+ expirationYear
19460
+ } = braintreePaymentRequest === null || braintreePaymentRequest === void 0 ? void 0 : braintreePaymentRequest.details;
19461
+ const {
19462
+ isDefault
19463
+ } = state;
19464
+ window.Pelcro.paymentMethods.update({
19465
+ auth_token: window.Pelcro.user.read().auth_token,
19466
+ payment_method_id: paymentMethodId,
19467
+ token: braintreeNonce,
19468
+ gateway: "braintree",
19469
+ exp_month: expirationMonth,
19470
+ exp_year: expirationYear,
19471
+ is_default: isDefault
19472
+ }, (err, res) => {
19473
+ dispatch({
19474
+ type: DISABLE_SUBMIT,
19475
+ payload: false
19476
+ });
19477
+ dispatch({
19478
+ type: LOADING,
19479
+ payload: false
19480
+ });
19481
+ if (err) {
19482
+ onFailure(err);
19483
+ return dispatch({
19484
+ type: SHOW_ALERT,
19485
+ payload: {
19486
+ type: "error",
19487
+ content: getErrorMessages(err)
19488
+ }
19489
+ });
19490
+ }
19491
+ dispatch({
19492
+ type: SHOW_ALERT,
19493
+ payload: {
19494
+ type: "success",
19495
+ content: t("messages.sourceUpdated")
19496
+ }
19497
+ });
19498
+ onSuccess(res);
19499
+ });
19500
+ }
19465
19501
  function handleBraintreeSubscription() {
19466
19502
  const payment = new Payment(new BraintreeGateway());
19467
19503
  const createSubscription = !isGift && !subscriptionIdToRenew;
@@ -21146,6 +21182,11 @@ const PaymentMethodContainerWithoutStripe = _ref => {
21146
21182
  ...state,
21147
21183
  isLoading: action.payload
21148
21184
  });
21185
+ case SKELETON_LOADER:
21186
+ return lib_7({
21187
+ ...state,
21188
+ isSkeletonLoaded: action.payload
21189
+ });
21149
21190
  case SHOW_COUPON_FIELD:
21150
21191
  return lib_7({
21151
21192
  ...state,
@@ -21613,6 +21654,11 @@ const CheckoutForm = _ref => {
21613
21654
  paymentMethodToEdit
21614
21655
  } = usePelcro();
21615
21656
  const cardProcessor = getSiteCardProcessor();
21657
+ const {
21658
+ state: {
21659
+ isSkeletonLoaded
21660
+ }
21661
+ } = React.useContext(store$l);
21616
21662
  if (selectedPaymentMethodId) {
21617
21663
  return null;
21618
21664
  }
@@ -21645,7 +21691,7 @@ const CheckoutForm = _ref => {
21645
21691
  }))));
21646
21692
  }
21647
21693
  if (cardProcessor === "braintree") {
21648
- return /*#__PURE__*/React__default['default'].createElement("div", {
21694
+ return /*#__PURE__*/React__default['default'].createElement("div", null, isSkeletonLoaded ? /*#__PURE__*/React__default['default'].createElement("div", {
21649
21695
  className: "plc-max-w-[50em]"
21650
21696
  }, /*#__PURE__*/React__default['default'].createElement("label", {
21651
21697
  htmlFor: "card-number"
@@ -21664,7 +21710,9 @@ const CheckoutForm = _ref => {
21664
21710
  }, "CVV"), /*#__PURE__*/React__default['default'].createElement("div", {
21665
21711
  id: "cvv",
21666
21712
  className: "pelcro-input-field plc-h-12 plc-bg-white"
21667
- }))));
21713
+ })))) : /*#__PURE__*/React__default['default'].createElement("div", {
21714
+ className: "plc-w-full plc-h-36 plc-bg-gray-300 plc-rounded plc-animate-pulse"
21715
+ }));
21668
21716
  }
21669
21717
  if (cardProcessor === "stripe") {
21670
21718
  if (type === "updatePaymentSource") {
@@ -29833,10 +29881,10 @@ const initialState$4 = {
29833
29881
  paymentMethods: [],
29834
29882
  selectedPaymentMethodId: null,
29835
29883
  isSubmitting: false,
29836
- deleteOption: "",
29837
29884
  disableSubmit: false,
29838
29885
  isLoading: false,
29839
29886
  skeletonLoader: true,
29887
+ showPaymentMethodSelect: false,
29840
29888
  alert: {
29841
29889
  type: "error",
29842
29890
  content: ""
@@ -29873,20 +29921,15 @@ const PaymentMethodDeleteContainer = _ref => {
29873
29921
  type: SKELETON_LOADER,
29874
29922
  payload: false
29875
29923
  });
29876
- if (res.data.length !== 1) {
29877
- dispatch({
29878
- type: SET_DELETE_PAYMENT_METHOD_OPTION,
29879
- payload: "select"
29880
- });
29881
- } else {
29924
+ if (res.data.length !== 1 && paymentMethodToDelete.is_default && paymentMethodToDelete.deletable) {
29882
29925
  dispatch({
29883
- type: SET_DELETE_PAYMENT_METHOD_OPTION,
29884
- payload: "add"
29926
+ type: SHOW_PAYMENT_METHOD_SELECT,
29927
+ payload: true
29885
29928
  });
29886
29929
  }
29887
29930
  }
29888
29931
  });
29889
- }, []); // eslint-disable-line react-hooks/exhaustive-deps
29932
+ }, [paymentMethodToDelete]); // eslint-disable-line react-hooks/exhaustive-deps
29890
29933
 
29891
29934
  const setDefaultPaymentMethod = () => {
29892
29935
  const {
@@ -29897,7 +29940,16 @@ const PaymentMethodDeleteContainer = _ref => {
29897
29940
  payment_method_id: paymentMethodId,
29898
29941
  is_default: true
29899
29942
  }, (err, res) => {
29943
+ dispatch({
29944
+ type: DISABLE_SUBMIT,
29945
+ payload: false
29946
+ });
29947
+ dispatch({
29948
+ type: LOADING,
29949
+ payload: false
29950
+ });
29900
29951
  if (err) {
29952
+ console.log(err);
29901
29953
  onFailure(err);
29902
29954
  return dispatch({
29903
29955
  type: SHOW_ALERT,
@@ -29920,6 +29972,14 @@ const PaymentMethodDeleteContainer = _ref => {
29920
29972
  auth_token: window.Pelcro.user.read().auth_token,
29921
29973
  payment_method_id: paymentMethodId
29922
29974
  }, (err, res) => {
29975
+ dispatch({
29976
+ type: DISABLE_SUBMIT,
29977
+ payload: false
29978
+ });
29979
+ dispatch({
29980
+ type: LOADING,
29981
+ payload: false
29982
+ });
29923
29983
  if (err) {
29924
29984
  onFailure === null || onFailure === void 0 ? void 0 : onFailure(err);
29925
29985
  return dispatch({
@@ -29930,14 +29990,6 @@ const PaymentMethodDeleteContainer = _ref => {
29930
29990
  }
29931
29991
  });
29932
29992
  }
29933
- dispatch({
29934
- type: DISABLE_SUBMIT,
29935
- payload: false
29936
- });
29937
- dispatch({
29938
- type: LOADING,
29939
- payload: false
29940
- });
29941
29993
  onSuccess(res);
29942
29994
  });
29943
29995
  };
@@ -29953,11 +30005,12 @@ const PaymentMethodDeleteContainer = _ref => {
29953
30005
  ...state,
29954
30006
  disableSubmit: true,
29955
30007
  isLoading: true
29956
- }, (state, dispatch) => setDefaultPaymentMethod());
29957
- case SET_DELETE_PAYMENT_METHOD_OPTION:
29958
- return lib_7({
29959
- ...state,
29960
- deleteOption: action.payload
30008
+ }, (state, dispatch) => {
30009
+ if (state.showPaymentMethodSelect) {
30010
+ setDefaultPaymentMethod();
30011
+ } else {
30012
+ deletePaymentMethod();
30013
+ }
29961
30014
  });
29962
30015
  case SET_PAYMENT_METHODS:
29963
30016
  return lib_7({
@@ -29984,6 +30037,11 @@ const PaymentMethodDeleteContainer = _ref => {
29984
30037
  ...state,
29985
30038
  skeletonLoader: action.payload
29986
30039
  });
30040
+ case SHOW_PAYMENT_METHOD_SELECT:
30041
+ return lib_7({
30042
+ ...state,
30043
+ showPaymentMethodSelect: action.payload
30044
+ });
29987
30045
  default:
29988
30046
  return state;
29989
30047
  }
@@ -30006,6 +30064,91 @@ const PaymentMethodDeleteContainer = _ref => {
30006
30064
  })));
30007
30065
  };
30008
30066
 
30067
+ const PaymentMethodDeleteList = props => {
30068
+ const {
30069
+ t
30070
+ } = useTranslation("paymentMethod");
30071
+ const {
30072
+ dispatch,
30073
+ state: {
30074
+ selectedPaymentMethodId,
30075
+ paymentMethods,
30076
+ skeletonLoader,
30077
+ showPaymentMethodSelect
30078
+ }
30079
+ } = React.useContext(store$4);
30080
+ const {
30081
+ paymentMethodToDelete
30082
+ } = usePelcro();
30083
+ const createPaymentMethodItems = () => {
30084
+ if (paymentMethods.length) {
30085
+ return paymentMethods.filter(paymentMethod => (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id) !== (paymentMethodToDelete === null || paymentMethodToDelete === void 0 ? void 0 : paymentMethodToDelete.id)).map(paymentMethod => /*#__PURE__*/React__default['default'].createElement("option", {
30086
+ key: paymentMethod.id,
30087
+ value: paymentMethod.id
30088
+ }, paymentMethod.properties.brand, " -", " ", paymentMethod.properties.last4, " -", " ", paymentMethod.properties.exp_month, " /", paymentMethod.properties.exp_year));
30089
+ }
30090
+ };
30091
+ const handlePaymentMethodSelect = event => {
30092
+ dispatch({
30093
+ type: SELECT_PAYMENT_METHOD,
30094
+ payload: event.target.value
30095
+ });
30096
+ };
30097
+ if (showPaymentMethodSelect) {
30098
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, skeletonLoader ? /*#__PURE__*/React__default['default'].createElement("div", {
30099
+ className: "plc-w-full plc-h-8 plc-bg-gray-300 plc-rounded-md plc-animate-pulse"
30100
+ }) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, paymentMethods && /*#__PURE__*/React__default['default'].createElement("div", {
30101
+ className: "plc-mt-4"
30102
+ }, /*#__PURE__*/React__default['default'].createElement(Select, {
30103
+ label: t("delete.options.select"),
30104
+ name: "default-payment-method",
30105
+ onChange: handlePaymentMethodSelect,
30106
+ value: selectedPaymentMethodId
30107
+ }, /*#__PURE__*/React__default['default'].createElement("option", {
30108
+ value: "",
30109
+ disabled: true,
30110
+ selected: true
30111
+ }), createPaymentMethodItems()))));
30112
+ } else {
30113
+ return null;
30114
+ }
30115
+ };
30116
+
30117
+ const PaymentMethodDetails = () => {
30118
+ var _paymentMethodToDelet, _paymentMethodToDelet2, _paymentMethodToDelet3, _paymentMethodToDelet4;
30119
+ const {
30120
+ state: {
30121
+ skeletonLoader
30122
+ }
30123
+ } = React.useContext(store$4);
30124
+ const {
30125
+ t
30126
+ } = useTranslation("paymentMethod");
30127
+ const {
30128
+ paymentMethodToDelete
30129
+ } = usePelcro();
30130
+ return /*#__PURE__*/React__default['default'].createElement("div", {
30131
+ className: "plc-text-left plc-mr-auto plc-mb-6"
30132
+ }, /*#__PURE__*/React__default['default'].createElement("h4", {
30133
+ className: "plc-mb-2"
30134
+ }, t("delete.details")), skeletonLoader ? /*#__PURE__*/React__default['default'].createElement("div", {
30135
+ className: "plc-w-full plc-h-16 plc-bg-gray-300 plc-rounded-md plc-animate-pulse"
30136
+ }) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, paymentMethodToDelete && /*#__PURE__*/React__default['default'].createElement("div", {
30137
+ key: paymentMethodToDelete === null || paymentMethodToDelete === void 0 ? void 0 : paymentMethodToDelete.id,
30138
+ className: `plc-p-2 plc-pl-4 plc-shadow-md_dark plc-text-gray-900 plc-rounded pelcro-payment-method-wrapper`
30139
+ }, /*#__PURE__*/React__default['default'].createElement("div", {
30140
+ className: "plc-flex plc-items-center plc-space-x-2 plc-w-full pelcro-select-payment-method-radio",
30141
+ id: `pelcro-payment-method-select-${paymentMethodToDelete === null || paymentMethodToDelete === void 0 ? void 0 : paymentMethodToDelete.id}`,
30142
+ name: "paymentMethod"
30143
+ }, getPaymentCardIcon$1((_paymentMethodToDelet = paymentMethodToDelete.properties) === null || _paymentMethodToDelet === void 0 ? void 0 : _paymentMethodToDelet.brand), /*#__PURE__*/React__default['default'].createElement("div", {
30144
+ className: "plc-flex plc-flex-col plc-text-lg pelcro-payment-method-details"
30145
+ }, /*#__PURE__*/React__default['default'].createElement("p", {
30146
+ className: "plc-font-semibold"
30147
+ }, "\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022", " ", (_paymentMethodToDelet2 = paymentMethodToDelete.properties) === null || _paymentMethodToDelet2 === void 0 ? void 0 : _paymentMethodToDelet2.last4), /*#__PURE__*/React__default['default'].createElement("p", {
30148
+ className: "plc-text-sm plc-text-gray-500"
30149
+ }, t("select.expires"), " ", (_paymentMethodToDelet3 = paymentMethodToDelete.properties) === null || _paymentMethodToDelet3 === void 0 ? void 0 : _paymentMethodToDelet3.exp_month, "/", (_paymentMethodToDelet4 = paymentMethodToDelete.properties) === null || _paymentMethodToDelet4 === void 0 ? void 0 : _paymentMethodToDelet4.exp_year))))));
30150
+ };
30151
+
30009
30152
  const PaymentMethodDeleteSubmit = _ref => {
30010
30153
  let {
30011
30154
  name,
@@ -30019,7 +30162,9 @@ const PaymentMethodDeleteSubmit = _ref => {
30019
30162
  dispatch,
30020
30163
  state: {
30021
30164
  isLoading,
30022
- isDisabled
30165
+ isDisabled,
30166
+ showPaymentMethodSelect,
30167
+ selectedPaymentMethodId
30023
30168
  }
30024
30169
  } = React.useContext(store$4);
30025
30170
  return /*#__PURE__*/React__default['default'].createElement(Button, Object.assign({
@@ -30029,116 +30174,38 @@ const PaymentMethodDeleteSubmit = _ref => {
30029
30174
  });
30030
30175
  onClick === null || onClick === void 0 ? void 0 : onClick();
30031
30176
  },
30032
- disabled: isDisabled,
30177
+ disabled: showPaymentMethodSelect ? isDisabled || !selectedPaymentMethodId : isDisabled,
30033
30178
  isLoading: isLoading,
30034
30179
  className: "plc-w-full"
30035
- }, otherProps), name !== null && name !== void 0 ? name : t("select.buttons.selectPaymentMethod"));
30180
+ }, otherProps), name !== null && name !== void 0 ? name : t("delete.buttons.delete"));
30036
30181
  };
30037
30182
 
30038
- const PaymentMethodDeleteList = props => {
30183
+ const PaymentMethodDeleteBack = _ref => {
30184
+ let {
30185
+ name,
30186
+ onClick,
30187
+ ...otherProps
30188
+ } = _ref;
30039
30189
  const {
30040
30190
  t
30041
30191
  } = useTranslation("paymentMethod");
30042
30192
  const {
30043
- dispatch,
30044
- state: {
30045
- deleteOption,
30046
- selectedPaymentMethodId,
30047
- paymentMethods,
30048
- skeletonLoader
30049
- }
30050
- } = React.useContext(store$4);
30051
- const {
30052
- paymentMethodToDelete
30193
+ switchView
30053
30194
  } = usePelcro();
30054
- const handlePaymentMethodSelect = event => {
30055
- dispatch({
30056
- type: SELECT_PAYMENT_METHOD,
30057
- payload: event.target.value
30058
- });
30059
- };
30060
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, skeletonLoader ? /*#__PURE__*/React__default['default'].createElement("div", {
30061
- className: "plc-w-full plc-h-40 plc-bg-gray-300 plc-rounded-md plc-animate-pulse"
30062
- }) : /*#__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", {
30063
- 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"
30064
- }, paymentMethods.filter(paymentMethod => (paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id) !== (paymentMethodToDelete === null || paymentMethodToDelete === void 0 ? void 0 : paymentMethodToDelete.id)).map(paymentMethod => {
30065
- var _paymentMethod$proper, _paymentMethod$proper2, _paymentMethod$proper3, _paymentMethod$proper4;
30066
- const isSelected = selectedPaymentMethodId === String(paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id);
30067
- return /*#__PURE__*/React__default['default'].createElement("div", {
30068
- key: paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id,
30069
- className: `plc-p-2 plc-pl-4 plc-shadow-md plc-text-gray-900 plc-rounded pelcro-payment-method-wrapper`
30070
- }, /*#__PURE__*/React__default['default'].createElement(Radio, {
30071
- className: "plc-flex plc-items-center pelcro-select-payment-method-radio",
30072
- labelClassName: "plc-flex plc-items-center plc-space-x-2 plc-cursor-pointer plc-w-full",
30073
- id: `pelcro-payment-method-select-${paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id}`,
30074
- name: "paymentMethod",
30075
- checked: isSelected,
30076
- value: paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.id,
30077
- onChange: handlePaymentMethodSelect
30078
- }, getPaymentCardIcon$1((_paymentMethod$proper = paymentMethod.properties) === null || _paymentMethod$proper === void 0 ? void 0 : _paymentMethod$proper.brand), /*#__PURE__*/React__default['default'].createElement("div", {
30079
- className: "plc-flex plc-flex-col plc-text-lg pelcro-payment-method-details"
30080
- }, /*#__PURE__*/React__default['default'].createElement("p", {
30081
- className: "plc-font-semibold"
30082
- }, "\u2022\u2022\u2022\u2022 \u2022\u2022\u2022\u2022", " ", (_paymentMethod$proper2 = paymentMethod.properties) === null || _paymentMethod$proper2 === void 0 ? void 0 : _paymentMethod$proper2.last4), /*#__PURE__*/React__default['default'].createElement("p", {
30083
- className: "plc-text-sm plc-text-gray-500"
30084
- }, t("select.expires"), " ", (_paymentMethod$proper3 = paymentMethod.properties) === null || _paymentMethod$proper3 === void 0 ? void 0 : _paymentMethod$proper3.exp_month, "/", (_paymentMethod$proper4 = paymentMethod.properties) === null || _paymentMethod$proper4 === void 0 ? void 0 : _paymentMethod$proper4.exp_year))));
30085
- })), /*#__PURE__*/React__default['default'].createElement("div", {
30086
- className: "plc-px-3"
30087
- }, /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteSubmit, null))), deleteOption === "add" && /*#__PURE__*/React__default['default'].createElement(PaymentMethodView, {
30088
- type: "deletePaymentSource",
30089
- showCoupon: false,
30090
- showExternalPaymentMethods: false,
30091
- showApplePayButton: false,
30092
- onDisplay: props.onDisplay,
30093
- onFailure: props.onFailure,
30094
- onSuccess: props.onSuccess,
30095
- setAsDefault: true
30096
- })));
30195
+ return /*#__PURE__*/React__default['default'].createElement(Button, Object.assign({
30196
+ variant: "outline",
30197
+ onClick: () => {
30198
+ switchView("dashboard");
30199
+ onClick === null || onClick === void 0 ? void 0 : onClick();
30200
+ },
30201
+ className: "plc-w-full"
30202
+ }, otherProps), name !== null && name !== void 0 ? name : t("delete.buttons.back"));
30097
30203
  };
30098
30204
 
30099
- const PaymentMethodDeleteOptions = _ref => {
30100
- const {
30101
- state: {
30102
- deleteOption,
30103
- paymentMethods,
30104
- skeletonLoader
30105
- },
30106
- dispatch
30107
- } = React.useContext(store$4);
30205
+ function PaymentMethodDeleteView(props) {
30108
30206
  const {
30109
30207
  t
30110
30208
  } = useTranslation("paymentMethod");
30111
- const handleOptionSelect = event => {
30112
- dispatch({
30113
- type: SET_DELETE_PAYMENT_METHOD_OPTION,
30114
- payload: event.target.value
30115
- });
30116
- };
30117
- return /*#__PURE__*/React__default['default'].createElement("div", {
30118
- className: "plc-text-left plc-mr-auto plc-mb-6"
30119
- }, skeletonLoader ? /*#__PURE__*/React__default['default'].createElement("div", {
30120
- className: "plc-flex plc-flex-col plc-space-y-3"
30121
- }, /*#__PURE__*/React__default['default'].createElement(Radio, {
30122
- className: "plc-animate-puls"
30123
- }, /*#__PURE__*/React__default['default'].createElement("div", {
30124
- className: "plc-w-36 plc-bg-gray-300 plc-h-4 plc-rounded-md plc-animate-pulse"
30125
- })), /*#__PURE__*/React__default['default'].createElement(Radio, {
30126
- className: "plc-animate-pulse"
30127
- }, /*#__PURE__*/React__default['default'].createElement("div", {
30128
- className: "plc-w-36 plc-bg-gray-300 plc-h-4 plc-rounded-md plc-animate-pulse"
30129
- }))) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, paymentMethods && paymentMethods.length !== 1 && /*#__PURE__*/React__default['default'].createElement(Radio, {
30130
- onChange: handleOptionSelect,
30131
- checked: deleteOption === "select",
30132
- value: "select"
30133
- }, t("delete.options.select")), /*#__PURE__*/React__default['default'].createElement(Radio, {
30134
- onChange: handleOptionSelect,
30135
- checked: deleteOption === "add",
30136
- value: "add"
30137
- }, t("delete.options.add"))));
30138
- };
30139
-
30140
- function PaymentMethodDeleteView(props) {
30141
- const [t] = useTranslation("paymentMethod");
30142
30209
  return /*#__PURE__*/React__default['default'].createElement("div", {
30143
30210
  id: "pelcro-payment-method-delete-view"
30144
30211
  }, /*#__PURE__*/React__default['default'].createElement("div", {
@@ -30146,12 +30213,12 @@ function PaymentMethodDeleteView(props) {
30146
30213
  }, /*#__PURE__*/React__default['default'].createElement("h4", {
30147
30214
  className: "plc-text-2xl plc-font-semibold plc-mb-2"
30148
30215
  }, t("delete.title")), /*#__PURE__*/React__default['default'].createElement("p", {
30149
- className: ""
30150
- }, t("delete.subtitle"))), /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteContainer, props, /*#__PURE__*/React__default['default'].createElement(AlertWithContext, {
30151
- className: "plc-mb-2"
30152
- }), /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteOptions, null), /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteList, {
30153
- onSuccess: props.onSuccess
30154
- })));
30216
+ className: "plc-text-sm"
30217
+ }, t("delete.subtitle"))), /*#__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", {
30218
+ className: "plc-text-sm plc-text-justify"
30219
+ }, t("delete.message")), /*#__PURE__*/React__default['default'].createElement("div", {
30220
+ 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"
30221
+ }, /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteSubmit, null), /*#__PURE__*/React__default['default'].createElement(PaymentMethodDeleteBack, null))));
30155
30222
  }
30156
30223
 
30157
30224
  const PaymentMethodDeleteModal = props => {
@@ -30178,7 +30245,7 @@ const PaymentMethodDeleteModal = props => {
30178
30245
  nonInteraction: true
30179
30246
  });
30180
30247
  }
30181
- notify.success(t("delete.paymentMethodReplaced"));
30248
+ notify.success(t("delete.deletedSuccessfully"));
30182
30249
  resetView();
30183
30250
  };
30184
30251
  return /*#__PURE__*/React__default['default'].createElement(Modal, {
@@ -31364,6 +31431,14 @@ const getPaymentCardIcon = name => {
31364
31431
  viewBox: "0 0 50 50"
31365
31432
  }, /*#__PURE__*/React__default['default'].createElement("path", {
31366
31433
  d: "M 5 7 C 2.25 7 0 9.25 0 12 L 0 38 C 0 40.75 2.25 43 5 43 L 45 43 C 47.75 43 50 40.75 50 38 L 50 12 C 50 9.25 47.75 7 45 7 Z M 5 9 L 45 9 C 46.667969 9 48 10.332031 48 12 L 48 38 C 48 39.667969 46.667969 41 45 41 L 5 41 C 3.332031 41 2 39.667969 2 38 L 2 12 C 2 10.332031 3.332031 9 5 9 Z M 8.5625 19.90625 L 4.84375 28.40625 L 7.0625 28.40625 L 7.875 26.5 L 12.0625 26.5 L 12.875 28.40625 L 17.09375 28.40625 L 17.09375 22.09375 L 19.90625 28.40625 L 21.8125 28.40625 L 24.65625 22.1875 L 24.65625 28.40625 L 26.75 28.40625 L 26.75 19.90625 L 23.40625 19.90625 L 20.84375 25.625 L 18.28125 19.90625 L 15 19.90625 L 15 28.09375 L 11.34375 19.90625 Z M 29.5 19.90625 L 29.5 28.4375 L 37.5 28.4375 L 40 25.59375 L 42.46875 28.4375 L 45.125 28.4375 L 41.375 24.0625 L 45.125 19.90625 L 42.46875 19.90625 L 40.0625 22.5625 L 37.75 19.90625 Z M 9.90625 21.6875 L 11.21875 24.6875 L 8.65625 24.6875 Z M 31.5625 21.71875 L 36.65625 21.75 L 38.6875 24.0625 L 36.40625 26.625 L 31.5625 26.625 L 31.5625 24.9375 L 36.1875 24.9375 L 36.1875 23.3125 L 31.5625 23.3125 Z"
31434
+ })),
31435
+ amex: /*#__PURE__*/React__default['default'].createElement("svg", {
31436
+ className: "plc-w-12",
31437
+ fill: "#ffffff",
31438
+ xmlns: "http://www.w3.org/2000/svg",
31439
+ viewBox: "0 0 50 50"
31440
+ }, /*#__PURE__*/React__default['default'].createElement("path", {
31441
+ d: "M 5 7 C 2.25 7 0 9.25 0 12 L 0 38 C 0 40.75 2.25 43 5 43 L 45 43 C 47.75 43 50 40.75 50 38 L 50 12 C 50 9.25 47.75 7 45 7 Z M 5 9 L 45 9 C 46.667969 9 48 10.332031 48 12 L 48 38 C 48 39.667969 46.667969 41 45 41 L 5 41 C 3.332031 41 2 39.667969 2 38 L 2 12 C 2 10.332031 3.332031 9 5 9 Z M 8.5625 19.90625 L 4.84375 28.40625 L 7.0625 28.40625 L 7.875 26.5 L 12.0625 26.5 L 12.875 28.40625 L 17.09375 28.40625 L 17.09375 22.09375 L 19.90625 28.40625 L 21.8125 28.40625 L 24.65625 22.1875 L 24.65625 28.40625 L 26.75 28.40625 L 26.75 19.90625 L 23.40625 19.90625 L 20.84375 25.625 L 18.28125 19.90625 L 15 19.90625 L 15 28.09375 L 11.34375 19.90625 Z M 29.5 19.90625 L 29.5 28.4375 L 37.5 28.4375 L 40 25.59375 L 42.46875 28.4375 L 45.125 28.4375 L 41.375 24.0625 L 45.125 19.90625 L 42.46875 19.90625 L 40.0625 22.5625 L 37.75 19.90625 Z M 9.90625 21.6875 L 11.21875 24.6875 L 8.65625 24.6875 Z M 31.5625 21.71875 L 36.65625 21.75 L 38.6875 24.0625 L 36.40625 26.625 L 31.5625 26.625 L 31.5625 24.9375 L 36.1875 24.9375 L 36.1875 23.3125 L 31.5625 23.3125 Z"
31367
31442
  }))
31368
31443
  };
31369
31444
  return (_icons$name$toLowerCa = icons[name === null || name === void 0 ? void 0 : name.toLowerCase()]) !== null && _icons$name$toLowerCa !== void 0 ? _icons$name$toLowerCa : /*#__PURE__*/React__default['default'].createElement("svg", {
@@ -32700,23 +32775,8 @@ class Dashboard extends React.Component {
32700
32775
  });
32701
32776
  });
32702
32777
  _defineProperty$3(this, "onDeletePaymentMethodClick", source => {
32703
- const isDeletable = source === null || source === void 0 ? void 0 : source.deletable;
32704
- if (isDeletable) {
32705
- this.props.onClose();
32706
- notify.confirm((onSuccess, onFailure) => {
32707
- this.deletePaymentMethod(source.id, onSuccess, onFailure);
32708
- }, {
32709
- confirmMessage: this.locale("messages.paymentMethodDeletion.isSureToDelete"),
32710
- loadingMessage: this.locale("messages.paymentMethodDeletion.loading"),
32711
- successMessage: this.locale("messages.paymentMethodDeletion.success"),
32712
- errorMessage: this.locale("messages.paymentMethodDeletion.error")
32713
- }, {
32714
- closeButtonLabel: this.locale("labels.subCancellation.goBack")
32715
- });
32716
- } else {
32717
- this.props.setPaymentMethodToDelete(source.id);
32718
- return this.props.setView("payment-method-delete");
32719
- }
32778
+ this.props.setPaymentMethodToDelete(source.id);
32779
+ return this.props.setView("payment-method-delete");
32720
32780
  });
32721
32781
  _defineProperty$3(this, "displayRedeem", () => {
32722
32782
  return this.props.setView("gift-redeem");
@@ -37229,7 +37289,6 @@ exports.PaymentMethodCreateView = PaymentMethodCreateView;
37229
37289
  exports.PaymentMethodDeleteContainer = PaymentMethodDeleteContainer;
37230
37290
  exports.PaymentMethodDeleteList = PaymentMethodDeleteList;
37231
37291
  exports.PaymentMethodDeleteModal = PaymentMethodDeleteModal;
37232
- exports.PaymentMethodDeleteOptions = PaymentMethodDeleteOptions;
37233
37292
  exports.PaymentMethodDeleteSubmit = PaymentMethodDeleteSubmit;
37234
37293
  exports.PaymentMethodDeleteView = PaymentMethodDeleteView;
37235
37294
  exports.PaymentMethodSelectContainer = PaymentMethodSelectContainer;