tf-checkout-react 1.7.8 → 1.7.14

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.
@@ -2740,59 +2740,6 @@ var TimerWidget = function TimerWidget(_ref) {
2740
2740
  };
2741
2741
  var TimerWidget$1 = /*#__PURE__*/memo(TimerWidget);
2742
2742
 
2743
- var addonsWithGroupsAdapter = function addonsWithGroupsAdapter(data) {
2744
- var addonsData = _extends({}, data);
2745
- var addOnsGroups = _get(addonsData, 'add_on_groups', []);
2746
- var addons = _get(addonsData, 'add_ons', []);
2747
- if (!_isEmpty(addOnsGroups)) {
2748
- var addOnGroupsWithVariants = [];
2749
- var addOnsWithoutVariants = [];
2750
- addons.forEach(function (addon) {
2751
- if (addon.attributes.addOnGroupId) {
2752
- // Collect addons groups inside with their variants
2753
- var currentGroupId = addon.attributes.addOnGroupId;
2754
- var exsistingGroupIndex = addOnGroupsWithVariants.findIndex(function (item) {
2755
- return item.id === currentGroupId;
2756
- });
2757
- if (addOnGroupsWithVariants[exsistingGroupIndex]) {
2758
- var addOnGroup = addOnGroupsWithVariants[exsistingGroupIndex];
2759
- addOnGroupsWithVariants[exsistingGroupIndex] = _extends({}, addOnGroup, {
2760
- variants: [].concat(addOnGroup.variants, addon.attributes)
2761
- });
2762
- } else {
2763
- var group = addOnsGroups.find(function (group) {
2764
- return group.attributes.id === currentGroupId;
2765
- }) || {};
2766
- addOnGroupsWithVariants.push(_extends({}, group.attributes, {
2767
- variants: [].concat(addon.attributes)
2768
- }));
2769
- }
2770
- } else {
2771
- addOnsWithoutVariants.push(addon.attributes);
2772
- }
2773
- });
2774
- return addOnGroupsWithVariants.concat(addOnsWithoutVariants);
2775
- }
2776
- // Adapt only simple addons data
2777
- var adaptedAddons = addons.map(function (addon) {
2778
- return _extends({}, addon.attributes);
2779
- });
2780
- return adaptedAddons;
2781
- };
2782
- var cartAdapter = function cartAdapter(cart) {
2783
- var cartData = _get(cart, 'data.attributes', []);
2784
- var expiresAt = cartData.expiresAt,
2785
- carts_arr = cartData.cart;
2786
- var _ref = carts_arr[0] || {},
2787
- id = _ref.id,
2788
- quantity = _ref.quantity;
2789
- return {
2790
- id: id,
2791
- quantity: quantity,
2792
- expiresAt: expiresAt
2793
- };
2794
- };
2795
-
2796
2743
  var CheckboxField = function CheckboxField(_ref) {
2797
2744
  var label = _ref.label,
2798
2745
  field = _ref.field,
@@ -3911,37 +3858,79 @@ var isAtLeastOneAddonSelected = function isAtLeastOneAddonSelected(value) {
3911
3858
  return !_isEmpty(selectedAddons);
3912
3859
  };
3913
3860
 
3914
- var AddonsContainter = function AddonsContainter(_ref) {
3915
- var _ref$classNamePrefix = _ref.classNamePrefix,
3916
- classNamePrefix = _ref$classNamePrefix === void 0 ? 'add_on' : _ref$classNamePrefix,
3917
- _ref$enableBillingInf = _ref.enableBillingInfoAutoCreate,
3918
- enableBillingInfoAutoCreate = _ref$enableBillingInf === void 0 ? true : _ref$enableBillingInf,
3919
- _ref$enableTimer = _ref.enableTimer,
3920
- enableTimer = _ref$enableTimer === void 0 ? false : _ref$enableTimer,
3921
- _ref$onGetAddonsPageI = _ref.onGetAddonsPageInfoSuccess,
3922
- onGetAddonsPageInfoSuccess = _ref$onGetAddonsPageI === void 0 ? _identity : _ref$onGetAddonsPageI,
3923
- _ref$onGetAddonsPageI2 = _ref.onGetAddonsPageInfoError,
3924
- onGetAddonsPageInfoError = _ref$onGetAddonsPageI2 === void 0 ? _identity : _ref$onGetAddonsPageI2,
3925
- _ref$onPostCheckoutSu = _ref.onPostCheckoutSuccess,
3926
- onPostCheckoutSuccess = _ref$onPostCheckoutSu === void 0 ? _identity : _ref$onPostCheckoutSu,
3927
- _ref$onPostCheckoutEr = _ref.onPostCheckoutError,
3928
- onPostCheckoutError = _ref$onPostCheckoutEr === void 0 ? _identity : _ref$onPostCheckoutEr,
3929
- _ref$onConfirmSelecti = _ref.onConfirmSelectionSuccess,
3930
- onConfirmSelectionSuccess = _ref$onConfirmSelecti === void 0 ? _identity : _ref$onConfirmSelecti,
3931
- _ref$onConfirmSelecti2 = _ref.onConfirmSelectionError,
3932
- onConfirmSelectionError = _ref$onConfirmSelecti2 === void 0 ? _identity : _ref$onConfirmSelecti2,
3933
- _ref$onCountdownFinis = _ref.onCountdownFinish,
3934
- _onCountdownFinish = _ref$onCountdownFinis === void 0 ? _identity : _ref$onCountdownFinis,
3935
- _ref$onPendingVerific = _ref.onPendingVerification,
3936
- onPendingVerification = _ref$onPendingVerific === void 0 ? _identity : _ref$onPendingVerific,
3937
- samePage = _ref.samePage,
3938
- _ref$descriptionTrigg = _ref.descriptionTrigger,
3939
- descriptionTrigger = _ref$descriptionTrigg === void 0 ? 'click' : _ref$descriptionTrigg,
3940
- addOnDataWithCustomFields = _ref.addOnDataWithCustomFields,
3941
- configs = _ref.configs,
3942
- _ref$onAddOnSelect = _ref.onAddOnSelect,
3943
- onAddOnSelect = _ref$onAddOnSelect === void 0 ? _identity : _ref$onAddOnSelect;
3944
- var eventId = getQueryVariable('event_id');
3861
+ var addonsWithGroupsAdapter = function addonsWithGroupsAdapter(data) {
3862
+ var addonsData = _extends({}, data);
3863
+ var addOnsGroups = _get(addonsData, 'add_on_groups', []);
3864
+ var addons = _get(addonsData, 'add_ons', []);
3865
+ if (!_isEmpty(addOnsGroups)) {
3866
+ var addOnGroupsWithVariants = [];
3867
+ var addOnsWithoutVariants = [];
3868
+ addons.forEach(function (addon) {
3869
+ if (addon.attributes.addOnGroupId) {
3870
+ // Collect addons groups inside with their variants
3871
+ var currentGroupId = addon.attributes.addOnGroupId;
3872
+ var exsistingGroupIndex = addOnGroupsWithVariants.findIndex(function (item) {
3873
+ return item.id === currentGroupId;
3874
+ });
3875
+ if (addOnGroupsWithVariants[exsistingGroupIndex]) {
3876
+ var addOnGroup = addOnGroupsWithVariants[exsistingGroupIndex];
3877
+ addOnGroupsWithVariants[exsistingGroupIndex] = _extends({}, addOnGroup, {
3878
+ variants: [].concat(addOnGroup.variants, addon.attributes)
3879
+ });
3880
+ } else {
3881
+ var group = addOnsGroups.find(function (group) {
3882
+ return group.attributes.id === currentGroupId;
3883
+ }) || {};
3884
+ addOnGroupsWithVariants.push(_extends({}, group.attributes, {
3885
+ variants: [].concat(addon.attributes)
3886
+ }));
3887
+ }
3888
+ } else {
3889
+ addOnsWithoutVariants.push(addon.attributes);
3890
+ }
3891
+ });
3892
+ return addOnGroupsWithVariants.concat(addOnsWithoutVariants);
3893
+ }
3894
+ // Adapt only simple addons data
3895
+ var adaptedAddons = addons.map(function (addon) {
3896
+ return _extends({}, addon.attributes);
3897
+ });
3898
+ return adaptedAddons;
3899
+ };
3900
+ var cartAdapter = function cartAdapter(cart) {
3901
+ var cartData = _get(cart, 'data.attributes', []);
3902
+ var expiresAt = cartData.expiresAt,
3903
+ carts_arr = cartData.cart;
3904
+ var _ref = carts_arr[0] || {},
3905
+ id = _ref.id,
3906
+ quantity = _ref.quantity;
3907
+ return {
3908
+ id: id,
3909
+ quantity: quantity,
3910
+ expiresAt: expiresAt
3911
+ };
3912
+ };
3913
+
3914
+ var useAddons = function useAddons(eventId, options) {
3915
+ if (options === void 0) {
3916
+ options = {};
3917
+ }
3918
+ var _options = options,
3919
+ _options$enableBillin = _options.enableBillingInfoAutoCreate,
3920
+ enableBillingInfoAutoCreate = _options$enableBillin === void 0 ? true : _options$enableBillin,
3921
+ addOnDataWithCustomFields = _options.addOnDataWithCustomFields,
3922
+ _options$onGetAddonsP = _options.onGetAddonsPageInfoSuccess,
3923
+ onGetAddonsPageInfoSuccess = _options$onGetAddonsP === void 0 ? _identity : _options$onGetAddonsP,
3924
+ _options$onGetAddonsP2 = _options.onGetAddonsPageInfoError,
3925
+ onGetAddonsPageInfoError = _options$onGetAddonsP2 === void 0 ? _identity : _options$onGetAddonsP2,
3926
+ _options$onPostChecko = _options.onPostCheckoutSuccess,
3927
+ onPostCheckoutSuccess = _options$onPostChecko === void 0 ? _identity : _options$onPostChecko,
3928
+ _options$onPostChecko2 = _options.onPostCheckoutError,
3929
+ onPostCheckoutError = _options$onPostChecko2 === void 0 ? _identity : _options$onPostChecko2,
3930
+ _options$onConfirmSel = _options.onConfirmSelectionSuccess,
3931
+ onConfirmSelectionSuccess = _options$onConfirmSel === void 0 ? _identity : _options$onConfirmSel,
3932
+ _options$onConfirmSel2 = _options.onConfirmSelectionError,
3933
+ onConfirmSelectionError = _options$onConfirmSel2 === void 0 ? _identity : _options$onConfirmSel2;
3945
3934
  var _useState = useState([]),
3946
3935
  addons = _useState[0],
3947
3936
  setAddons = _useState[1];
@@ -3963,20 +3952,9 @@ var AddonsContainter = function AddonsContainter(_ref) {
3963
3952
  var _useState7 = useState(),
3964
3953
  pendingVerificationMessage = _useState7[0],
3965
3954
  setPendingVerificationMessage = _useState7[1];
3966
- var _useState8 = useState(null),
3967
- visibleDescription = _useState8[0],
3968
- setVisibleDescription = _useState8[1];
3969
- var handleDescriptionToggle = function handleDescriptionToggle(ticketId) {
3970
- setVisibleDescription(function (current) {
3971
- return current === ticketId ? null : ticketId;
3972
- });
3973
- };
3974
3955
  useEffect(function () {
3975
- if (samePage) {
3976
- window.localStorage.removeItem('add_ons');
3977
- }
3978
3956
  var getAddonsPageInfo = /*#__PURE__*/function () {
3979
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
3957
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
3980
3958
  var cart, _cartAdapter, choosedTicketID, quantity, expiresAt, choosedTicketCount, addonsData, adaptedAddons, ticketRelatedAddons, sortedTicketAddons, _getAddonSelectOption, addonsWithOptions, groupsWithSelectedVariantsInfo, groupsWithVariants;
3981
3959
  return _regeneratorRuntime().wrap(function _callee$(_context) {
3982
3960
  while (1) switch (_context.prev = _context.next) {
@@ -3987,7 +3965,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
3987
3965
  break;
3988
3966
  }
3989
3967
  setLoading(true);
3990
- // Get choosed ticket info (id, count) from Cart request for addons options calculations
3991
3968
  _context.next = 5;
3992
3969
  return getCart();
3993
3970
  case 5:
@@ -3995,7 +3972,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
3995
3972
  _cartAdapter = cartAdapter(cart), choosedTicketID = _cartAdapter.id, quantity = _cartAdapter.quantity, expiresAt = _cartAdapter.expiresAt;
3996
3973
  choosedTicketCount = Number(quantity);
3997
3974
  setCartExpirationTime(expiresAt);
3998
- // Get and collect addons data
3999
3975
  _context.next = 11;
4000
3976
  return getAddons(eventId);
4001
3977
  case 11:
@@ -4004,12 +3980,10 @@ var AddonsContainter = function AddonsContainter(_ref) {
4004
3980
  ticketRelatedAddons = getTicketRelatedAddons(adaptedAddons, choosedTicketID);
4005
3981
  sortedTicketAddons = getSortedAddons(ticketRelatedAddons);
4006
3982
  setAddons(sortedTicketAddons);
4007
- // Collect addons and addon group options
4008
3983
  _getAddonSelectOption = getAddonSelectOptions(adaptedAddons, choosedTicketCount), addonsWithOptions = _getAddonSelectOption.addonsWithOptions, groupsWithSelectedVariantsInfo = _getAddonSelectOption.groupsWithSelectedVariantsInfo, groupsWithVariants = _getAddonSelectOption.groupsWithVariants;
4009
3984
  setAddonsOptions(addonsWithOptions);
4010
3985
  setGroupsWithSelectedVariants(groupsWithSelectedVariantsInfo);
4011
3986
  setGroupsWithInitialVariantsValues(groupsWithVariants);
4012
- // Success callback props
4013
3987
  onGetAddonsPageInfoSuccess(addonsData);
4014
3988
  case 21:
4015
3989
  _context.next = 26;
@@ -4017,7 +3991,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
4017
3991
  case 23:
4018
3992
  _context.prev = 23;
4019
3993
  _context.t0 = _context["catch"](0);
4020
- // Callback error props
4021
3994
  onGetAddonsPageInfoError(_context.t0);
4022
3995
  case 26:
4023
3996
  _context.prev = 26;
@@ -4030,23 +4003,21 @@ var AddonsContainter = function AddonsContainter(_ref) {
4030
4003
  }, _callee, null, [[0, 23, 26, 29]]);
4031
4004
  }));
4032
4005
  return function getAddonsPageInfo() {
4033
- return _ref2.apply(this, arguments);
4006
+ return _ref.apply(this, arguments);
4034
4007
  };
4035
4008
  }();
4036
4009
  getAddonsPageInfo();
4037
- }, []);
4038
- var recreateGroupVariantsSelectOptions = function recreateGroupVariantsSelectOptions(groupId, changedGroupd) {
4039
- var choosedVariants = changedGroupd.choosedVariants,
4040
- limit = changedGroupd.limit,
4041
- selectedCount = changedGroupd.selectedCount;
4010
+ }, [eventId]);
4011
+ var recreateGroupVariantsSelectOptions = function recreateGroupVariantsSelectOptions(groupId, changedGroup) {
4012
+ var choosedVariants = changedGroup.choosedVariants,
4013
+ limit = changedGroup.limit,
4014
+ selectedCount = changedGroup.selectedCount;
4042
4015
  var remainingGroupStock = limit - selectedCount;
4043
4016
  var recreatedVariantsOptions = {};
4044
- // Regenerate variants allowed stock counts
4045
4017
  for (var variant in choosedVariants) {
4046
4018
  var variantId = variant;
4047
4019
  var variantCurrSelectedValue = choosedVariants[variant];
4048
4020
  var allowedOptionCount = void 0;
4049
- // Formula for regenerating
4050
4021
  if (remainingGroupStock >= groupsWithInitialVariantsValues[groupId][variantId] - variantCurrSelectedValue) {
4051
4022
  allowedOptionCount = groupsWithInitialVariantsValues[groupId][variantId];
4052
4023
  } else {
@@ -4059,7 +4030,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
4059
4030
  });
4060
4031
  };
4061
4032
  var onFieldChange = function onFieldChange(id, value, addon) {
4062
- // If changeableGroup exsists it means that group with limitation variant was changed
4063
4033
  var changeableGroup = groupsWithSelectedVariants[addon.id];
4064
4034
  if (changeableGroup) {
4065
4035
  var _extends2, _extends3;
@@ -4068,18 +4038,16 @@ var AddonsContainter = function AddonsContainter(_ref) {
4068
4038
  var currSelectedVariantCount = Number(value);
4069
4039
  var currSelectedVariantPrevCount = groupsWithSelectedVariants[currGroupId].choosedVariants[currSelectedVariantId];
4070
4040
  var currSelectedGroupCount = changeableGroup.selectedCount + (currSelectedVariantCount - currSelectedVariantPrevCount);
4071
- // Update Group info
4072
4041
  var updatedGroupsWithSelectedVariants = _extends({}, groupsWithSelectedVariants, (_extends3 = {}, _extends3[currGroupId] = _extends({}, groupsWithSelectedVariants[currGroupId], {
4073
4042
  selectedCount: currSelectedGroupCount,
4074
4043
  choosedVariants: _extends({}, groupsWithSelectedVariants[currGroupId].choosedVariants, (_extends2 = {}, _extends2[currSelectedVariantId] = currSelectedVariantCount, _extends2))
4075
4044
  }), _extends3));
4076
4045
  setGroupsWithSelectedVariants(updatedGroupsWithSelectedVariants);
4077
- // Recreate Select Options for Addon Group Variants
4078
4046
  recreateGroupVariantsSelectOptions(currGroupId, updatedGroupsWithSelectedVariants[currGroupId]);
4079
4047
  }
4080
4048
  };
4081
4049
  var handleConfirm = /*#__PURE__*/function () {
4082
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values, skipAddonPage) {
4050
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values, skipAddonPage) {
4083
4051
  var _pageConfigsData$skip, pageConfigsDataResponse, pageConfigsData, skipBillingPage, ticketsQuantity, userData, checkoutBody, _checkoutResponse$dat, _checkoutResponse$dat2, _checkoutResponse$dat3, _checkoutResponse$dat4, checkoutResponse, hash, total, _error$response, _error$response$data, _error$response$data$, _error$response2, _error$response2$data;
4084
4052
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
4085
4053
  while (1) switch (_context2.prev = _context2.next) {
@@ -4161,7 +4129,7 @@ var AddonsContainter = function AddonsContainter(_ref) {
4161
4129
  }, _callee2, null, [[0, 30], [10, 22]]);
4162
4130
  }));
4163
4131
  return function handleConfirm(_x, _x2) {
4164
- return _ref3.apply(this, arguments);
4132
+ return _ref2.apply(this, arguments);
4165
4133
  };
4166
4134
  }();
4167
4135
  var handleClearAddons = function handleClearAddons() {
@@ -4183,6 +4151,84 @@ var AddonsContainter = function AddonsContainter(_ref) {
4183
4151
  }
4184
4152
  return addOnsData;
4185
4153
  }, [addons, addOnDataWithCustomFields]);
4154
+ return {
4155
+ addons: addons,
4156
+ addonsOptions: addonsOptions,
4157
+ loading: loading,
4158
+ cartExpirationTime: cartExpirationTime,
4159
+ pendingVerificationMessage: pendingVerificationMessage,
4160
+ setPendingVerificationMessage: setPendingVerificationMessage,
4161
+ initialValues: initialValues,
4162
+ onFieldChange: onFieldChange,
4163
+ handleConfirm: handleConfirm,
4164
+ handleClearAddons: handleClearAddons
4165
+ };
4166
+ };
4167
+
4168
+ /* eslint-disable @typescript-eslint/no-explicit-any */
4169
+ var AddonsContainter = function AddonsContainter(_ref) {
4170
+ var _ref$classNamePrefix = _ref.classNamePrefix,
4171
+ classNamePrefix = _ref$classNamePrefix === void 0 ? 'add_on' : _ref$classNamePrefix,
4172
+ _ref$enableBillingInf = _ref.enableBillingInfoAutoCreate,
4173
+ enableBillingInfoAutoCreate = _ref$enableBillingInf === void 0 ? true : _ref$enableBillingInf,
4174
+ _ref$enableTimer = _ref.enableTimer,
4175
+ enableTimer = _ref$enableTimer === void 0 ? false : _ref$enableTimer,
4176
+ _ref$onGetAddonsPageI = _ref.onGetAddonsPageInfoSuccess,
4177
+ onGetAddonsPageInfoSuccess = _ref$onGetAddonsPageI === void 0 ? _identity : _ref$onGetAddonsPageI,
4178
+ _ref$onGetAddonsPageI2 = _ref.onGetAddonsPageInfoError,
4179
+ onGetAddonsPageInfoError = _ref$onGetAddonsPageI2 === void 0 ? _identity : _ref$onGetAddonsPageI2,
4180
+ _ref$onPostCheckoutSu = _ref.onPostCheckoutSuccess,
4181
+ onPostCheckoutSuccess = _ref$onPostCheckoutSu === void 0 ? _identity : _ref$onPostCheckoutSu,
4182
+ _ref$onPostCheckoutEr = _ref.onPostCheckoutError,
4183
+ onPostCheckoutError = _ref$onPostCheckoutEr === void 0 ? _identity : _ref$onPostCheckoutEr,
4184
+ _ref$onConfirmSelecti = _ref.onConfirmSelectionSuccess,
4185
+ onConfirmSelectionSuccess = _ref$onConfirmSelecti === void 0 ? _identity : _ref$onConfirmSelecti,
4186
+ _ref$onConfirmSelecti2 = _ref.onConfirmSelectionError,
4187
+ onConfirmSelectionError = _ref$onConfirmSelecti2 === void 0 ? _identity : _ref$onConfirmSelecti2,
4188
+ _ref$onCountdownFinis = _ref.onCountdownFinish,
4189
+ _onCountdownFinish = _ref$onCountdownFinis === void 0 ? _identity : _ref$onCountdownFinis,
4190
+ _ref$onPendingVerific = _ref.onPendingVerification,
4191
+ onPendingVerification = _ref$onPendingVerific === void 0 ? _identity : _ref$onPendingVerific,
4192
+ samePage = _ref.samePage,
4193
+ _ref$descriptionTrigg = _ref.descriptionTrigger,
4194
+ descriptionTrigger = _ref$descriptionTrigg === void 0 ? 'click' : _ref$descriptionTrigg,
4195
+ addOnDataWithCustomFields = _ref.addOnDataWithCustomFields,
4196
+ configs = _ref.configs,
4197
+ _ref$onAddOnSelect = _ref.onAddOnSelect,
4198
+ onAddOnSelect = _ref$onAddOnSelect === void 0 ? _identity : _ref$onAddOnSelect;
4199
+ var eventId = getQueryVariable('event_id') || null;
4200
+ var _useAddons = useAddons(eventId, {
4201
+ enableBillingInfoAutoCreate: enableBillingInfoAutoCreate,
4202
+ addOnDataWithCustomFields: addOnDataWithCustomFields,
4203
+ onGetAddonsPageInfoSuccess: onGetAddonsPageInfoSuccess,
4204
+ onGetAddonsPageInfoError: onGetAddonsPageInfoError,
4205
+ onPostCheckoutSuccess: onPostCheckoutSuccess,
4206
+ onPostCheckoutError: onPostCheckoutError,
4207
+ onConfirmSelectionSuccess: onConfirmSelectionSuccess,
4208
+ onConfirmSelectionError: onConfirmSelectionError
4209
+ }),
4210
+ addons = _useAddons.addons,
4211
+ addonsOptions = _useAddons.addonsOptions,
4212
+ loading = _useAddons.loading,
4213
+ cartExpirationTime = _useAddons.cartExpirationTime,
4214
+ pendingVerificationMessage = _useAddons.pendingVerificationMessage,
4215
+ initialValues = _useAddons.initialValues,
4216
+ onFieldChange = _useAddons.onFieldChange,
4217
+ handleConfirm = _useAddons.handleConfirm,
4218
+ handleClearAddons = _useAddons.handleClearAddons;
4219
+ var _useState = useState(null),
4220
+ visibleDescription = _useState[0],
4221
+ setVisibleDescription = _useState[1];
4222
+ var handleDescriptionToggle = function handleDescriptionToggle(ticketId) {
4223
+ setVisibleDescription(function (current) {
4224
+ return current === ticketId ? null : ticketId;
4225
+ });
4226
+ };
4227
+ useEffect(function () {
4228
+ if (samePage) {
4229
+ window.localStorage.removeItem('add_ons');
4230
+ }
4231
+ }, []);
4186
4232
  if (loading) {
4187
4233
  return React.createElement("div", {
4188
4234
  className: classNamePrefix + "_loader"
@@ -4231,10 +4277,10 @@ var AddonsContainter = function AddonsContainter(_ref) {
4231
4277
  window.localStorage.setItem('add_ons', JSON.stringify(values));
4232
4278
  }
4233
4279
  } : undefined
4234
- }, function (_ref4) {
4235
- var values = _ref4.values,
4236
- errors = _ref4.errors,
4237
- setFieldTouched = _ref4.setFieldTouched;
4280
+ }, function (_ref2) {
4281
+ var values = _ref2.values,
4282
+ errors = _ref2.errors,
4283
+ setFieldTouched = _ref2.setFieldTouched;
4238
4284
  var isConfirmDisabled = !isAtLeastOneAddonSelected(values);
4239
4285
  return React.createElement(Form, {
4240
4286
  autoComplete: "off",
@@ -5634,7 +5680,8 @@ var PaymentPlanSection = function PaymentPlanSection(props) {
5634
5680
  // Wrapper component to access Stripe hooks inside Elements context
5635
5681
  var StripeWrapper = function StripeWrapper(_ref) {
5636
5682
  var options = _ref.options,
5637
- onStripeReady = _ref.onStripeReady;
5683
+ onStripeReady = _ref.onStripeReady,
5684
+ onPaymentElementChange = _ref.onPaymentElementChange;
5638
5685
  var stripe = useStripe();
5639
5686
  var elements = useElements();
5640
5687
  useEffect(function () {
@@ -5643,7 +5690,8 @@ var StripeWrapper = function StripeWrapper(_ref) {
5643
5690
  }
5644
5691
  }, [stripe, elements, onStripeReady]);
5645
5692
  return React.createElement(PaymentElement, {
5646
- options: options
5693
+ options: options,
5694
+ onChange: onPaymentElementChange
5647
5695
  });
5648
5696
  };
5649
5697
  var initialPaymentPlanConfiguration = {
@@ -5735,6 +5783,7 @@ var PaymentContainer = function PaymentContainer(_ref2) {
5735
5783
  stripeAccountId = _ref2.stripeAccountId,
5736
5784
  _ref2$onStripeReady = _ref2.onStripeReady,
5737
5785
  onStripeReady = _ref2$onStripeReady === void 0 ? _identity : _ref2$onStripeReady,
5786
+ onPaymentElementChange = _ref2.onPaymentElementChange,
5738
5787
  _ref2$enablePaymentPl = _ref2.enablePaymentPlan,
5739
5788
  enablePaymentPlan = _ref2$enablePaymentPl === void 0 ? true : _ref2$enablePaymentPl;
5740
5789
  var _useState = useState(initialReviewValues),
@@ -6118,7 +6167,8 @@ var PaymentContainer = function PaymentContainer(_ref2) {
6118
6167
  options: elementsOptions
6119
6168
  }, React.createElement(StripeWrapper, {
6120
6169
  onStripeReady: onStripeReady,
6121
- options: paymentElementOptions
6170
+ options: paymentElementOptions,
6171
+ onPaymentElementChange: onPaymentElementChange
6122
6172
  })))) : displayPaymentButton ? React.createElement("div", {
6123
6173
  className: "payment_button " + (paymentIsLoading ? 'disabled-payment-button' : '')
6124
6174
  }, React.createElement("button", {
@@ -6435,38 +6485,34 @@ var useStripePayment = function useStripePayment(_ref) {
6435
6485
  isBrowser = _ref.isBrowser;
6436
6486
  var processPayment = /*#__PURE__*/function () {
6437
6487
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(paymentDataResponse, values, formikHelpers, checkoutResponse, checkoutUpdateResponse, paymentData) {
6438
- var attributes, isFreeTickets, updatedOrderData, eventId, _yield$elementsRef$cu, submitError, paymentContext, _yield$stripeRef$curr, confirmError, paymentResponse;
6488
+ var attributes, isFreeTickets, updatedOrderData, eventId, _yield$elementsRef$cu, submitError, paymentContext, confirmParams, rawPhone, e164Phone, _yield$stripeRef$curr, confirmError, paymentResponse;
6439
6489
  return _regeneratorRuntime().wrap(function _callee$(_context) {
6440
6490
  while (1) switch (_context.prev = _context.next) {
6441
6491
  case 0:
6442
6492
  attributes = paymentData.attributes, isFreeTickets = paymentData.isFreeTickets, updatedOrderData = paymentData.updatedOrderData, eventId = paymentData.eventId;
6443
6493
  if (isFreeTickets) {
6444
- _context.next = 25;
6494
+ _context.next = 23;
6445
6495
  break;
6446
6496
  }
6447
6497
  if (stripeRef.current) {
6448
- _context.next = 6;
6498
+ _context.next = 5;
6449
6499
  break;
6450
6500
  }
6451
6501
  setError('Stripe is not ready');
6452
- console.log('Stripe is not ready in billing-info-container');
6453
6502
  return _context.abrupt("return", null);
6454
- case 6:
6455
- console.log('Stripe confirmPayment in billing-info-container');
6456
- // Step 1: Submit elements first
6457
- _context.next = 9;
6503
+ case 5:
6504
+ _context.next = 7;
6458
6505
  return elementsRef.current.submit();
6459
- case 9:
6506
+ case 7:
6460
6507
  _yield$elementsRef$cu = _context.sent;
6461
6508
  submitError = _yield$elementsRef$cu.error;
6462
6509
  if (!submitError) {
6463
- _context.next = 15;
6510
+ _context.next = 12;
6464
6511
  break;
6465
6512
  }
6466
6513
  setError('' + (submitError == null ? void 0 : submitError.message));
6467
- console.log('Stripe elements.submit() error in billing-info-container', submitError);
6468
6514
  return _context.abrupt("return", null);
6469
- case 15:
6515
+ case 12:
6470
6516
  // Step 2: Store payment context before potential redirect
6471
6517
  paymentContext = {
6472
6518
  attributes: attributes,
@@ -6481,30 +6527,38 @@ var useStripePayment = function useStripePayment(_ref) {
6481
6527
  };
6482
6528
  localStorage.setItem('stripe_payment_context', JSON.stringify(paymentContext));
6483
6529
  // Step 3: Confirm payment with current page return URL
6484
- _context.next = 19;
6530
+ confirmParams = {
6531
+ return_url: window.location.href + (window.location.href.includes('?') ? '&' : '?') + 'payment_return=true'
6532
+ };
6533
+ if (values != null && values.phone) {
6534
+ rawPhone = String(values.phone).replace(/[\s\-().]/g, '');
6535
+ e164Phone = rawPhone.startsWith('+') ? rawPhone : "+" + rawPhone;
6536
+ confirmParams.payment_method_data = {
6537
+ billing_details: {
6538
+ phone: e164Phone
6539
+ }
6540
+ };
6541
+ }
6542
+ _context.next = 18;
6485
6543
  return stripeRef.current.confirmPayment({
6486
6544
  clientSecret: paymentDataResponse.data.attributes.payment_method.stripe_client_secret,
6487
6545
  elements: elementsRef.current,
6488
- confirmParams: {
6489
- return_url: window.location.href + (window.location.href.includes('?') ? '&' : '?') + 'payment_return=true'
6490
- },
6546
+ confirmParams: confirmParams,
6491
6547
  redirect: 'if_required'
6492
6548
  });
6493
- case 19:
6549
+ case 18:
6494
6550
  _yield$stripeRef$curr = _context.sent;
6495
6551
  confirmError = _yield$stripeRef$curr.error;
6496
6552
  if (!confirmError) {
6497
- _context.next = 25;
6553
+ _context.next = 23;
6498
6554
  break;
6499
6555
  }
6500
6556
  setError('' + (confirmError == null ? void 0 : confirmError.message));
6501
- console.log('Stripe confirmPayment error in billing-info-container');
6502
6557
  return _context.abrupt("return", null);
6503
- case 25:
6504
- console.log('Stripe confirmPayment success in billing-info-container');
6558
+ case 23:
6505
6559
  // Handle payment middleware for non-redirect payments
6506
6560
  paymentResponse = null;
6507
- _context.next = 29;
6561
+ _context.next = 26;
6508
6562
  return handlePaymentMiddleWare(null, {}, {
6509
6563
  reviewData: attributes,
6510
6564
  isFreeTickets: isFreeTickets,
@@ -6522,9 +6576,9 @@ var useStripePayment = function useStripePayment(_ref) {
6522
6576
  throw error;
6523
6577
  }
6524
6578
  });
6525
- case 29:
6579
+ case 26:
6526
6580
  return _context.abrupt("return", paymentResponse);
6527
- case 30:
6581
+ case 27:
6528
6582
  case "end":
6529
6583
  return _context.stop();
6530
6584
  }
@@ -7011,7 +7065,7 @@ var BillingInfoContainer = /*#__PURE__*/React.memo(function (_ref6) {
7011
7065
  setSingleCheckoutAddOns = _useState25[1];
7012
7066
  var orderIsFree = !Number(checkoutData == null ? void 0 : checkoutData.total);
7013
7067
  useEffect(function () {
7014
- var hasUniqueId = _get(dataWithUniqueIds, '[0].uniqueId');
7068
+ var hasUniqueId = _get(data, '[0].uniqueId');
7015
7069
  var isEqualData = _isEqual(prevData.current, data);
7016
7070
  if (!hasUniqueId || !isEqualData) {
7017
7071
  setDataWithUniqueIds(assingUniqueIds(data));
@@ -7019,7 +7073,7 @@ var BillingInfoContainer = /*#__PURE__*/React.memo(function (_ref6) {
7019
7073
  prevData.current = data;
7020
7074
  }
7021
7075
  }
7022
- }, [dataWithUniqueIds, data]);
7076
+ }, [data]);
7023
7077
  var getQuantity = useCallback(function (cart) {
7024
7078
  if (cart === void 0) {
7025
7079
  cart = [];
@@ -7975,6 +8029,11 @@ var BillingInfoContainer = /*#__PURE__*/React.memo(function (_ref6) {
7975
8029
  checkoutData: checkoutData,
7976
8030
  elementsOptions: elementsOptions,
7977
8031
  paymentElementOptions: {
8032
+ fields: {
8033
+ billingDetails: {
8034
+ phone: 'never'
8035
+ }
8036
+ },
7978
8037
  wallets: {
7979
8038
  applePay: (checkoutUpdateData == null ? void 0 : (_checkoutUpdateData$a6 = checkoutUpdateData.additional_payment_information) == null ? void 0 : (_checkoutUpdateData$a7 = _checkoutUpdateData$a6.stripe_wallets) == null ? void 0 : _checkoutUpdateData$a7.applePay) || 'never',
7980
8039
  googlePay: (checkoutUpdateData == null ? void 0 : (_checkoutUpdateData$a8 = checkoutUpdateData.additional_payment_information) == null ? void 0 : (_checkoutUpdateData$a9 = _checkoutUpdateData$a8.stripe_wallets) == null ? void 0 : _checkoutUpdateData$a9.googlePay) || 'never'
@@ -16011,5 +16070,5 @@ var OrderDetails = function OrderDetails(_ref3) {
16011
16070
  })));
16012
16071
  };
16013
16072
 
16014
- export { AddonsContainter, WithCustomFieldsBillingInfoContainer as BillingInfoContainer, ConfirmationContainer, DEFAULT_FEES_STYLE, DelegationsContainer, ForgotPasswordModal, IDVerification, LoginModal, MyTicketsContainer, OrderDetails, OrderDetailsContainer, PaymentContainer, PoweredBy, PreRegistration, PreRegistrationComplete, PreRegistrationInformations, RedirectModal, ResetPasswordContainer, RsvpContainer, SeatMapContainer, TicketResaleContainer, TicketsContainer, VERIFICATION_STATUSES, createFixedFloatNormalizer, currencyNormalizerCreator, logoutUser, setConfigs, useCookieListener };
16073
+ export { AddonsContainter, WithCustomFieldsBillingInfoContainer as BillingInfoContainer, ConfirmationContainer, DEFAULT_FEES_STYLE, DelegationsContainer, ForgotPasswordModal, IDVerification, LoginModal, MyTicketsContainer, OrderDetails, OrderDetailsContainer, PaymentContainer, PoweredBy, PreRegistration, PreRegistrationComplete, PreRegistrationInformations, RedirectModal, ResetPasswordContainer, RsvpContainer, SeatMapContainer, TicketResaleContainer, TicketsContainer, TimerWidget$1 as TimerWidget, VERIFICATION_STATUSES, VerificationPendingModal, createFixedFloatNormalizer, currencyNormalizerCreator, logoutUser, setConfigs, useAddons, useCookieListener };
16015
16074
  //# sourceMappingURL=tf-checkout-react.esm.js.map