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.
@@ -17,7 +17,4 @@ export interface IAddonContainterProps {
17
17
  configs: any;
18
18
  onAddOnSelect?: (id: string, value: string, addon: any) => void;
19
19
  }
20
- export interface ObjectLiteral {
21
- [key: string]: any;
22
- }
23
20
  export declare const AddonsContainter: ({ classNamePrefix, enableBillingInfoAutoCreate, enableTimer, onGetAddonsPageInfoSuccess, onGetAddonsPageInfoError, onPostCheckoutSuccess, onPostCheckoutError, onConfirmSelectionSuccess, onConfirmSelectionError, onCountdownFinish, onPendingVerification, samePage, descriptionTrigger, addOnDataWithCustomFields, configs, onAddOnSelect, }: IAddonContainterProps) => JSX.Element | null;
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ export interface IUseAddonsOptions {
3
+ enableBillingInfoAutoCreate?: boolean;
4
+ addOnDataWithCustomFields?: any;
5
+ onGetAddonsPageInfoSuccess?: (res: any) => void;
6
+ onGetAddonsPageInfoError?: (error: any) => void;
7
+ onPostCheckoutSuccess?: (res: any) => void;
8
+ onPostCheckoutError?: (error: any) => void;
9
+ onConfirmSelectionSuccess?: (res: any) => void;
10
+ onConfirmSelectionError?: (error: any) => void;
11
+ }
12
+ export declare const useAddons: (eventId: string | null, options?: IUseAddonsOptions) => {
13
+ addons: any;
14
+ addonsOptions: any;
15
+ loading: boolean;
16
+ cartExpirationTime: number;
17
+ pendingVerificationMessage: any;
18
+ setPendingVerificationMessage: import("react").Dispatch<any>;
19
+ initialValues: any;
20
+ onFieldChange: (id: any, value: any, addon: any) => void;
21
+ handleConfirm: (values: any, skipAddonPage?: boolean | undefined) => Promise<void>;
22
+ handleClearAddons: () => void;
23
+ };
@@ -33,6 +33,7 @@ export interface IPaymentPage {
33
33
  stripePublishableKey?: string;
34
34
  stripeAccountId?: string;
35
35
  onStripeReady?: (stripe: any, elements: any) => void;
36
+ onPaymentElementChange?: (event: any) => void;
36
37
  enablePaymentPlan?: boolean;
37
38
  }
38
- export declare const PaymentContainer: ({ paymentFields, handlePayment, formTitle, errorText, checkoutData, onErrorClose, onGetPaymentDataSuccess, onGetPaymentDataError, onPaymentError, themeOptions, elementsOptions, paymentElementOptions, onCountdownFinish, enableTimer, orderInfoLabel, paymentInfoLabel, displayPaymentButton, hidePaymentForm, hideFieldsBlock, isSinglePageCheckout, stripePublishableKey, stripeAccountId, onStripeReady, enablePaymentPlan, }: IPaymentPage) => JSX.Element;
39
+ export declare const PaymentContainer: ({ paymentFields, handlePayment, formTitle, errorText, checkoutData, onErrorClose, onGetPaymentDataSuccess, onGetPaymentDataError, onPaymentError, themeOptions, elementsOptions, paymentElementOptions, onCountdownFinish, enableTimer, orderInfoLabel, paymentInfoLabel, displayPaymentButton, hidePaymentForm, hideFieldsBlock, isSinglePageCheckout, stripePublishableKey, stripeAccountId, onStripeReady, onPaymentElementChange, enablePaymentPlan, }: IPaymentPage) => JSX.Element;
package/dist/index.d.ts CHANGED
@@ -13,6 +13,9 @@ export { RsvpContainer } from './components/rsvpContainer';
13
13
  export { ResetPasswordContainer } from './components/resetPasswordContainer';
14
14
  export { ForgotPasswordModal } from './components/forgotPasswordModal';
15
15
  export { AddonsContainter } from './components/addonsContainer';
16
+ export { useAddons } from './components/addonsContainer/useAddons';
17
+ export { default as TimerWidget } from './components/timerWidget';
18
+ export { VerificationPendingModal } from './components/idVerificationContainer/VerificationPendingModal';
16
19
  export { PreRegistration } from './components/preRegistration';
17
20
  export { PreRegistrationComplete } from './components/preRegistration/PreRegistrationComplete';
18
21
  export { PreRegistrationInformations } from './components/preRegistration/PreRegistrationInformations';
@@ -2747,59 +2747,6 @@ var TimerWidget = function TimerWidget(_ref) {
2747
2747
  };
2748
2748
  var TimerWidget$1 = /*#__PURE__*/React.memo(TimerWidget);
2749
2749
 
2750
- var addonsWithGroupsAdapter = function addonsWithGroupsAdapter(data) {
2751
- var addonsData = _extends({}, data);
2752
- var addOnsGroups = _get(addonsData, 'add_on_groups', []);
2753
- var addons = _get(addonsData, 'add_ons', []);
2754
- if (!_isEmpty(addOnsGroups)) {
2755
- var addOnGroupsWithVariants = [];
2756
- var addOnsWithoutVariants = [];
2757
- addons.forEach(function (addon) {
2758
- if (addon.attributes.addOnGroupId) {
2759
- // Collect addons groups inside with their variants
2760
- var currentGroupId = addon.attributes.addOnGroupId;
2761
- var exsistingGroupIndex = addOnGroupsWithVariants.findIndex(function (item) {
2762
- return item.id === currentGroupId;
2763
- });
2764
- if (addOnGroupsWithVariants[exsistingGroupIndex]) {
2765
- var addOnGroup = addOnGroupsWithVariants[exsistingGroupIndex];
2766
- addOnGroupsWithVariants[exsistingGroupIndex] = _extends({}, addOnGroup, {
2767
- variants: [].concat(addOnGroup.variants, addon.attributes)
2768
- });
2769
- } else {
2770
- var group = addOnsGroups.find(function (group) {
2771
- return group.attributes.id === currentGroupId;
2772
- }) || {};
2773
- addOnGroupsWithVariants.push(_extends({}, group.attributes, {
2774
- variants: [].concat(addon.attributes)
2775
- }));
2776
- }
2777
- } else {
2778
- addOnsWithoutVariants.push(addon.attributes);
2779
- }
2780
- });
2781
- return addOnGroupsWithVariants.concat(addOnsWithoutVariants);
2782
- }
2783
- // Adapt only simple addons data
2784
- var adaptedAddons = addons.map(function (addon) {
2785
- return _extends({}, addon.attributes);
2786
- });
2787
- return adaptedAddons;
2788
- };
2789
- var cartAdapter = function cartAdapter(cart) {
2790
- var cartData = _get(cart, 'data.attributes', []);
2791
- var expiresAt = cartData.expiresAt,
2792
- carts_arr = cartData.cart;
2793
- var _ref = carts_arr[0] || {},
2794
- id = _ref.id,
2795
- quantity = _ref.quantity;
2796
- return {
2797
- id: id,
2798
- quantity: quantity,
2799
- expiresAt: expiresAt
2800
- };
2801
- };
2802
-
2803
2750
  var CheckboxField = function CheckboxField(_ref) {
2804
2751
  var label = _ref.label,
2805
2752
  field = _ref.field,
@@ -3918,37 +3865,79 @@ var isAtLeastOneAddonSelected = function isAtLeastOneAddonSelected(value) {
3918
3865
  return !_isEmpty(selectedAddons);
3919
3866
  };
3920
3867
 
3921
- var AddonsContainter = function AddonsContainter(_ref) {
3922
- var _ref$classNamePrefix = _ref.classNamePrefix,
3923
- classNamePrefix = _ref$classNamePrefix === void 0 ? 'add_on' : _ref$classNamePrefix,
3924
- _ref$enableBillingInf = _ref.enableBillingInfoAutoCreate,
3925
- enableBillingInfoAutoCreate = _ref$enableBillingInf === void 0 ? true : _ref$enableBillingInf,
3926
- _ref$enableTimer = _ref.enableTimer,
3927
- enableTimer = _ref$enableTimer === void 0 ? false : _ref$enableTimer,
3928
- _ref$onGetAddonsPageI = _ref.onGetAddonsPageInfoSuccess,
3929
- onGetAddonsPageInfoSuccess = _ref$onGetAddonsPageI === void 0 ? _identity : _ref$onGetAddonsPageI,
3930
- _ref$onGetAddonsPageI2 = _ref.onGetAddonsPageInfoError,
3931
- onGetAddonsPageInfoError = _ref$onGetAddonsPageI2 === void 0 ? _identity : _ref$onGetAddonsPageI2,
3932
- _ref$onPostCheckoutSu = _ref.onPostCheckoutSuccess,
3933
- onPostCheckoutSuccess = _ref$onPostCheckoutSu === void 0 ? _identity : _ref$onPostCheckoutSu,
3934
- _ref$onPostCheckoutEr = _ref.onPostCheckoutError,
3935
- onPostCheckoutError = _ref$onPostCheckoutEr === void 0 ? _identity : _ref$onPostCheckoutEr,
3936
- _ref$onConfirmSelecti = _ref.onConfirmSelectionSuccess,
3937
- onConfirmSelectionSuccess = _ref$onConfirmSelecti === void 0 ? _identity : _ref$onConfirmSelecti,
3938
- _ref$onConfirmSelecti2 = _ref.onConfirmSelectionError,
3939
- onConfirmSelectionError = _ref$onConfirmSelecti2 === void 0 ? _identity : _ref$onConfirmSelecti2,
3940
- _ref$onCountdownFinis = _ref.onCountdownFinish,
3941
- _onCountdownFinish = _ref$onCountdownFinis === void 0 ? _identity : _ref$onCountdownFinis,
3942
- _ref$onPendingVerific = _ref.onPendingVerification,
3943
- onPendingVerification = _ref$onPendingVerific === void 0 ? _identity : _ref$onPendingVerific,
3944
- samePage = _ref.samePage,
3945
- _ref$descriptionTrigg = _ref.descriptionTrigger,
3946
- descriptionTrigger = _ref$descriptionTrigg === void 0 ? 'click' : _ref$descriptionTrigg,
3947
- addOnDataWithCustomFields = _ref.addOnDataWithCustomFields,
3948
- configs = _ref.configs,
3949
- _ref$onAddOnSelect = _ref.onAddOnSelect,
3950
- onAddOnSelect = _ref$onAddOnSelect === void 0 ? _identity : _ref$onAddOnSelect;
3951
- var eventId = getQueryVariable('event_id');
3868
+ var addonsWithGroupsAdapter = function addonsWithGroupsAdapter(data) {
3869
+ var addonsData = _extends({}, data);
3870
+ var addOnsGroups = _get(addonsData, 'add_on_groups', []);
3871
+ var addons = _get(addonsData, 'add_ons', []);
3872
+ if (!_isEmpty(addOnsGroups)) {
3873
+ var addOnGroupsWithVariants = [];
3874
+ var addOnsWithoutVariants = [];
3875
+ addons.forEach(function (addon) {
3876
+ if (addon.attributes.addOnGroupId) {
3877
+ // Collect addons groups inside with their variants
3878
+ var currentGroupId = addon.attributes.addOnGroupId;
3879
+ var exsistingGroupIndex = addOnGroupsWithVariants.findIndex(function (item) {
3880
+ return item.id === currentGroupId;
3881
+ });
3882
+ if (addOnGroupsWithVariants[exsistingGroupIndex]) {
3883
+ var addOnGroup = addOnGroupsWithVariants[exsistingGroupIndex];
3884
+ addOnGroupsWithVariants[exsistingGroupIndex] = _extends({}, addOnGroup, {
3885
+ variants: [].concat(addOnGroup.variants, addon.attributes)
3886
+ });
3887
+ } else {
3888
+ var group = addOnsGroups.find(function (group) {
3889
+ return group.attributes.id === currentGroupId;
3890
+ }) || {};
3891
+ addOnGroupsWithVariants.push(_extends({}, group.attributes, {
3892
+ variants: [].concat(addon.attributes)
3893
+ }));
3894
+ }
3895
+ } else {
3896
+ addOnsWithoutVariants.push(addon.attributes);
3897
+ }
3898
+ });
3899
+ return addOnGroupsWithVariants.concat(addOnsWithoutVariants);
3900
+ }
3901
+ // Adapt only simple addons data
3902
+ var adaptedAddons = addons.map(function (addon) {
3903
+ return _extends({}, addon.attributes);
3904
+ });
3905
+ return adaptedAddons;
3906
+ };
3907
+ var cartAdapter = function cartAdapter(cart) {
3908
+ var cartData = _get(cart, 'data.attributes', []);
3909
+ var expiresAt = cartData.expiresAt,
3910
+ carts_arr = cartData.cart;
3911
+ var _ref = carts_arr[0] || {},
3912
+ id = _ref.id,
3913
+ quantity = _ref.quantity;
3914
+ return {
3915
+ id: id,
3916
+ quantity: quantity,
3917
+ expiresAt: expiresAt
3918
+ };
3919
+ };
3920
+
3921
+ var useAddons = function useAddons(eventId, options) {
3922
+ if (options === void 0) {
3923
+ options = {};
3924
+ }
3925
+ var _options = options,
3926
+ _options$enableBillin = _options.enableBillingInfoAutoCreate,
3927
+ enableBillingInfoAutoCreate = _options$enableBillin === void 0 ? true : _options$enableBillin,
3928
+ addOnDataWithCustomFields = _options.addOnDataWithCustomFields,
3929
+ _options$onGetAddonsP = _options.onGetAddonsPageInfoSuccess,
3930
+ onGetAddonsPageInfoSuccess = _options$onGetAddonsP === void 0 ? _identity : _options$onGetAddonsP,
3931
+ _options$onGetAddonsP2 = _options.onGetAddonsPageInfoError,
3932
+ onGetAddonsPageInfoError = _options$onGetAddonsP2 === void 0 ? _identity : _options$onGetAddonsP2,
3933
+ _options$onPostChecko = _options.onPostCheckoutSuccess,
3934
+ onPostCheckoutSuccess = _options$onPostChecko === void 0 ? _identity : _options$onPostChecko,
3935
+ _options$onPostChecko2 = _options.onPostCheckoutError,
3936
+ onPostCheckoutError = _options$onPostChecko2 === void 0 ? _identity : _options$onPostChecko2,
3937
+ _options$onConfirmSel = _options.onConfirmSelectionSuccess,
3938
+ onConfirmSelectionSuccess = _options$onConfirmSel === void 0 ? _identity : _options$onConfirmSel,
3939
+ _options$onConfirmSel2 = _options.onConfirmSelectionError,
3940
+ onConfirmSelectionError = _options$onConfirmSel2 === void 0 ? _identity : _options$onConfirmSel2;
3952
3941
  var _useState = React.useState([]),
3953
3942
  addons = _useState[0],
3954
3943
  setAddons = _useState[1];
@@ -3970,20 +3959,9 @@ var AddonsContainter = function AddonsContainter(_ref) {
3970
3959
  var _useState7 = React.useState(),
3971
3960
  pendingVerificationMessage = _useState7[0],
3972
3961
  setPendingVerificationMessage = _useState7[1];
3973
- var _useState8 = React.useState(null),
3974
- visibleDescription = _useState8[0],
3975
- setVisibleDescription = _useState8[1];
3976
- var handleDescriptionToggle = function handleDescriptionToggle(ticketId) {
3977
- setVisibleDescription(function (current) {
3978
- return current === ticketId ? null : ticketId;
3979
- });
3980
- };
3981
3962
  React.useEffect(function () {
3982
- if (samePage) {
3983
- window.localStorage.removeItem('add_ons');
3984
- }
3985
3963
  var getAddonsPageInfo = /*#__PURE__*/function () {
3986
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
3964
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
3987
3965
  var cart, _cartAdapter, choosedTicketID, quantity, expiresAt, choosedTicketCount, addonsData, adaptedAddons, ticketRelatedAddons, sortedTicketAddons, _getAddonSelectOption, addonsWithOptions, groupsWithSelectedVariantsInfo, groupsWithVariants;
3988
3966
  return _regeneratorRuntime().wrap(function _callee$(_context) {
3989
3967
  while (1) switch (_context.prev = _context.next) {
@@ -3994,7 +3972,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
3994
3972
  break;
3995
3973
  }
3996
3974
  setLoading(true);
3997
- // Get choosed ticket info (id, count) from Cart request for addons options calculations
3998
3975
  _context.next = 5;
3999
3976
  return getCart();
4000
3977
  case 5:
@@ -4002,7 +3979,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
4002
3979
  _cartAdapter = cartAdapter(cart), choosedTicketID = _cartAdapter.id, quantity = _cartAdapter.quantity, expiresAt = _cartAdapter.expiresAt;
4003
3980
  choosedTicketCount = Number(quantity);
4004
3981
  setCartExpirationTime(expiresAt);
4005
- // Get and collect addons data
4006
3982
  _context.next = 11;
4007
3983
  return getAddons(eventId);
4008
3984
  case 11:
@@ -4011,12 +3987,10 @@ var AddonsContainter = function AddonsContainter(_ref) {
4011
3987
  ticketRelatedAddons = getTicketRelatedAddons(adaptedAddons, choosedTicketID);
4012
3988
  sortedTicketAddons = getSortedAddons(ticketRelatedAddons);
4013
3989
  setAddons(sortedTicketAddons);
4014
- // Collect addons and addon group options
4015
3990
  _getAddonSelectOption = getAddonSelectOptions(adaptedAddons, choosedTicketCount), addonsWithOptions = _getAddonSelectOption.addonsWithOptions, groupsWithSelectedVariantsInfo = _getAddonSelectOption.groupsWithSelectedVariantsInfo, groupsWithVariants = _getAddonSelectOption.groupsWithVariants;
4016
3991
  setAddonsOptions(addonsWithOptions);
4017
3992
  setGroupsWithSelectedVariants(groupsWithSelectedVariantsInfo);
4018
3993
  setGroupsWithInitialVariantsValues(groupsWithVariants);
4019
- // Success callback props
4020
3994
  onGetAddonsPageInfoSuccess(addonsData);
4021
3995
  case 21:
4022
3996
  _context.next = 26;
@@ -4024,7 +3998,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
4024
3998
  case 23:
4025
3999
  _context.prev = 23;
4026
4000
  _context.t0 = _context["catch"](0);
4027
- // Callback error props
4028
4001
  onGetAddonsPageInfoError(_context.t0);
4029
4002
  case 26:
4030
4003
  _context.prev = 26;
@@ -4037,23 +4010,21 @@ var AddonsContainter = function AddonsContainter(_ref) {
4037
4010
  }, _callee, null, [[0, 23, 26, 29]]);
4038
4011
  }));
4039
4012
  return function getAddonsPageInfo() {
4040
- return _ref2.apply(this, arguments);
4013
+ return _ref.apply(this, arguments);
4041
4014
  };
4042
4015
  }();
4043
4016
  getAddonsPageInfo();
4044
- }, []);
4045
- var recreateGroupVariantsSelectOptions = function recreateGroupVariantsSelectOptions(groupId, changedGroupd) {
4046
- var choosedVariants = changedGroupd.choosedVariants,
4047
- limit = changedGroupd.limit,
4048
- selectedCount = changedGroupd.selectedCount;
4017
+ }, [eventId]);
4018
+ var recreateGroupVariantsSelectOptions = function recreateGroupVariantsSelectOptions(groupId, changedGroup) {
4019
+ var choosedVariants = changedGroup.choosedVariants,
4020
+ limit = changedGroup.limit,
4021
+ selectedCount = changedGroup.selectedCount;
4049
4022
  var remainingGroupStock = limit - selectedCount;
4050
4023
  var recreatedVariantsOptions = {};
4051
- // Regenerate variants allowed stock counts
4052
4024
  for (var variant in choosedVariants) {
4053
4025
  var variantId = variant;
4054
4026
  var variantCurrSelectedValue = choosedVariants[variant];
4055
4027
  var allowedOptionCount = void 0;
4056
- // Formula for regenerating
4057
4028
  if (remainingGroupStock >= groupsWithInitialVariantsValues[groupId][variantId] - variantCurrSelectedValue) {
4058
4029
  allowedOptionCount = groupsWithInitialVariantsValues[groupId][variantId];
4059
4030
  } else {
@@ -4066,7 +4037,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
4066
4037
  });
4067
4038
  };
4068
4039
  var onFieldChange = function onFieldChange(id, value, addon) {
4069
- // If changeableGroup exsists it means that group with limitation variant was changed
4070
4040
  var changeableGroup = groupsWithSelectedVariants[addon.id];
4071
4041
  if (changeableGroup) {
4072
4042
  var _extends2, _extends3;
@@ -4075,18 +4045,16 @@ var AddonsContainter = function AddonsContainter(_ref) {
4075
4045
  var currSelectedVariantCount = Number(value);
4076
4046
  var currSelectedVariantPrevCount = groupsWithSelectedVariants[currGroupId].choosedVariants[currSelectedVariantId];
4077
4047
  var currSelectedGroupCount = changeableGroup.selectedCount + (currSelectedVariantCount - currSelectedVariantPrevCount);
4078
- // Update Group info
4079
4048
  var updatedGroupsWithSelectedVariants = _extends({}, groupsWithSelectedVariants, (_extends3 = {}, _extends3[currGroupId] = _extends({}, groupsWithSelectedVariants[currGroupId], {
4080
4049
  selectedCount: currSelectedGroupCount,
4081
4050
  choosedVariants: _extends({}, groupsWithSelectedVariants[currGroupId].choosedVariants, (_extends2 = {}, _extends2[currSelectedVariantId] = currSelectedVariantCount, _extends2))
4082
4051
  }), _extends3));
4083
4052
  setGroupsWithSelectedVariants(updatedGroupsWithSelectedVariants);
4084
- // Recreate Select Options for Addon Group Variants
4085
4053
  recreateGroupVariantsSelectOptions(currGroupId, updatedGroupsWithSelectedVariants[currGroupId]);
4086
4054
  }
4087
4055
  };
4088
4056
  var handleConfirm = /*#__PURE__*/function () {
4089
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values, skipAddonPage) {
4057
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values, skipAddonPage) {
4090
4058
  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;
4091
4059
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
4092
4060
  while (1) switch (_context2.prev = _context2.next) {
@@ -4168,7 +4136,7 @@ var AddonsContainter = function AddonsContainter(_ref) {
4168
4136
  }, _callee2, null, [[0, 30], [10, 22]]);
4169
4137
  }));
4170
4138
  return function handleConfirm(_x, _x2) {
4171
- return _ref3.apply(this, arguments);
4139
+ return _ref2.apply(this, arguments);
4172
4140
  };
4173
4141
  }();
4174
4142
  var handleClearAddons = function handleClearAddons() {
@@ -4190,6 +4158,84 @@ var AddonsContainter = function AddonsContainter(_ref) {
4190
4158
  }
4191
4159
  return addOnsData;
4192
4160
  }, [addons, addOnDataWithCustomFields]);
4161
+ return {
4162
+ addons: addons,
4163
+ addonsOptions: addonsOptions,
4164
+ loading: loading,
4165
+ cartExpirationTime: cartExpirationTime,
4166
+ pendingVerificationMessage: pendingVerificationMessage,
4167
+ setPendingVerificationMessage: setPendingVerificationMessage,
4168
+ initialValues: initialValues,
4169
+ onFieldChange: onFieldChange,
4170
+ handleConfirm: handleConfirm,
4171
+ handleClearAddons: handleClearAddons
4172
+ };
4173
+ };
4174
+
4175
+ /* eslint-disable @typescript-eslint/no-explicit-any */
4176
+ var AddonsContainter = function AddonsContainter(_ref) {
4177
+ var _ref$classNamePrefix = _ref.classNamePrefix,
4178
+ classNamePrefix = _ref$classNamePrefix === void 0 ? 'add_on' : _ref$classNamePrefix,
4179
+ _ref$enableBillingInf = _ref.enableBillingInfoAutoCreate,
4180
+ enableBillingInfoAutoCreate = _ref$enableBillingInf === void 0 ? true : _ref$enableBillingInf,
4181
+ _ref$enableTimer = _ref.enableTimer,
4182
+ enableTimer = _ref$enableTimer === void 0 ? false : _ref$enableTimer,
4183
+ _ref$onGetAddonsPageI = _ref.onGetAddonsPageInfoSuccess,
4184
+ onGetAddonsPageInfoSuccess = _ref$onGetAddonsPageI === void 0 ? _identity : _ref$onGetAddonsPageI,
4185
+ _ref$onGetAddonsPageI2 = _ref.onGetAddonsPageInfoError,
4186
+ onGetAddonsPageInfoError = _ref$onGetAddonsPageI2 === void 0 ? _identity : _ref$onGetAddonsPageI2,
4187
+ _ref$onPostCheckoutSu = _ref.onPostCheckoutSuccess,
4188
+ onPostCheckoutSuccess = _ref$onPostCheckoutSu === void 0 ? _identity : _ref$onPostCheckoutSu,
4189
+ _ref$onPostCheckoutEr = _ref.onPostCheckoutError,
4190
+ onPostCheckoutError = _ref$onPostCheckoutEr === void 0 ? _identity : _ref$onPostCheckoutEr,
4191
+ _ref$onConfirmSelecti = _ref.onConfirmSelectionSuccess,
4192
+ onConfirmSelectionSuccess = _ref$onConfirmSelecti === void 0 ? _identity : _ref$onConfirmSelecti,
4193
+ _ref$onConfirmSelecti2 = _ref.onConfirmSelectionError,
4194
+ onConfirmSelectionError = _ref$onConfirmSelecti2 === void 0 ? _identity : _ref$onConfirmSelecti2,
4195
+ _ref$onCountdownFinis = _ref.onCountdownFinish,
4196
+ _onCountdownFinish = _ref$onCountdownFinis === void 0 ? _identity : _ref$onCountdownFinis,
4197
+ _ref$onPendingVerific = _ref.onPendingVerification,
4198
+ onPendingVerification = _ref$onPendingVerific === void 0 ? _identity : _ref$onPendingVerific,
4199
+ samePage = _ref.samePage,
4200
+ _ref$descriptionTrigg = _ref.descriptionTrigger,
4201
+ descriptionTrigger = _ref$descriptionTrigg === void 0 ? 'click' : _ref$descriptionTrigg,
4202
+ addOnDataWithCustomFields = _ref.addOnDataWithCustomFields,
4203
+ configs = _ref.configs,
4204
+ _ref$onAddOnSelect = _ref.onAddOnSelect,
4205
+ onAddOnSelect = _ref$onAddOnSelect === void 0 ? _identity : _ref$onAddOnSelect;
4206
+ var eventId = getQueryVariable('event_id') || null;
4207
+ var _useAddons = useAddons(eventId, {
4208
+ enableBillingInfoAutoCreate: enableBillingInfoAutoCreate,
4209
+ addOnDataWithCustomFields: addOnDataWithCustomFields,
4210
+ onGetAddonsPageInfoSuccess: onGetAddonsPageInfoSuccess,
4211
+ onGetAddonsPageInfoError: onGetAddonsPageInfoError,
4212
+ onPostCheckoutSuccess: onPostCheckoutSuccess,
4213
+ onPostCheckoutError: onPostCheckoutError,
4214
+ onConfirmSelectionSuccess: onConfirmSelectionSuccess,
4215
+ onConfirmSelectionError: onConfirmSelectionError
4216
+ }),
4217
+ addons = _useAddons.addons,
4218
+ addonsOptions = _useAddons.addonsOptions,
4219
+ loading = _useAddons.loading,
4220
+ cartExpirationTime = _useAddons.cartExpirationTime,
4221
+ pendingVerificationMessage = _useAddons.pendingVerificationMessage,
4222
+ initialValues = _useAddons.initialValues,
4223
+ onFieldChange = _useAddons.onFieldChange,
4224
+ handleConfirm = _useAddons.handleConfirm,
4225
+ handleClearAddons = _useAddons.handleClearAddons;
4226
+ var _useState = React.useState(null),
4227
+ visibleDescription = _useState[0],
4228
+ setVisibleDescription = _useState[1];
4229
+ var handleDescriptionToggle = function handleDescriptionToggle(ticketId) {
4230
+ setVisibleDescription(function (current) {
4231
+ return current === ticketId ? null : ticketId;
4232
+ });
4233
+ };
4234
+ React.useEffect(function () {
4235
+ if (samePage) {
4236
+ window.localStorage.removeItem('add_ons');
4237
+ }
4238
+ }, []);
4193
4239
  if (loading) {
4194
4240
  return React__default.createElement("div", {
4195
4241
  className: classNamePrefix + "_loader"
@@ -4238,10 +4284,10 @@ var AddonsContainter = function AddonsContainter(_ref) {
4238
4284
  window.localStorage.setItem('add_ons', JSON.stringify(values));
4239
4285
  }
4240
4286
  } : undefined
4241
- }, function (_ref4) {
4242
- var values = _ref4.values,
4243
- errors = _ref4.errors,
4244
- setFieldTouched = _ref4.setFieldTouched;
4287
+ }, function (_ref2) {
4288
+ var values = _ref2.values,
4289
+ errors = _ref2.errors,
4290
+ setFieldTouched = _ref2.setFieldTouched;
4245
4291
  var isConfirmDisabled = !isAtLeastOneAddonSelected(values);
4246
4292
  return React__default.createElement(formik.Form, {
4247
4293
  autoComplete: "off",
@@ -5641,7 +5687,8 @@ var PaymentPlanSection = function PaymentPlanSection(props) {
5641
5687
  // Wrapper component to access Stripe hooks inside Elements context
5642
5688
  var StripeWrapper = function StripeWrapper(_ref) {
5643
5689
  var options = _ref.options,
5644
- onStripeReady = _ref.onStripeReady;
5690
+ onStripeReady = _ref.onStripeReady,
5691
+ onPaymentElementChange = _ref.onPaymentElementChange;
5645
5692
  var stripe = reactStripeJs.useStripe();
5646
5693
  var elements = reactStripeJs.useElements();
5647
5694
  React.useEffect(function () {
@@ -5650,7 +5697,8 @@ var StripeWrapper = function StripeWrapper(_ref) {
5650
5697
  }
5651
5698
  }, [stripe, elements, onStripeReady]);
5652
5699
  return React__default.createElement(reactStripeJs.PaymentElement, {
5653
- options: options
5700
+ options: options,
5701
+ onChange: onPaymentElementChange
5654
5702
  });
5655
5703
  };
5656
5704
  var initialPaymentPlanConfiguration = {
@@ -5742,6 +5790,7 @@ var PaymentContainer = function PaymentContainer(_ref2) {
5742
5790
  stripeAccountId = _ref2.stripeAccountId,
5743
5791
  _ref2$onStripeReady = _ref2.onStripeReady,
5744
5792
  onStripeReady = _ref2$onStripeReady === void 0 ? _identity : _ref2$onStripeReady,
5793
+ onPaymentElementChange = _ref2.onPaymentElementChange,
5745
5794
  _ref2$enablePaymentPl = _ref2.enablePaymentPlan,
5746
5795
  enablePaymentPlan = _ref2$enablePaymentPl === void 0 ? true : _ref2$enablePaymentPl;
5747
5796
  var _useState = React.useState(initialReviewValues),
@@ -6125,7 +6174,8 @@ var PaymentContainer = function PaymentContainer(_ref2) {
6125
6174
  options: elementsOptions
6126
6175
  }, React__default.createElement(StripeWrapper, {
6127
6176
  onStripeReady: onStripeReady,
6128
- options: paymentElementOptions
6177
+ options: paymentElementOptions,
6178
+ onPaymentElementChange: onPaymentElementChange
6129
6179
  })))) : displayPaymentButton ? React__default.createElement("div", {
6130
6180
  className: "payment_button " + (paymentIsLoading ? 'disabled-payment-button' : '')
6131
6181
  }, React__default.createElement("button", {
@@ -6442,38 +6492,34 @@ var useStripePayment = function useStripePayment(_ref) {
6442
6492
  isBrowser = _ref.isBrowser;
6443
6493
  var processPayment = /*#__PURE__*/function () {
6444
6494
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(paymentDataResponse, values, formikHelpers, checkoutResponse, checkoutUpdateResponse, paymentData) {
6445
- var attributes, isFreeTickets, updatedOrderData, eventId, _yield$elementsRef$cu, submitError, paymentContext, _yield$stripeRef$curr, confirmError, paymentResponse;
6495
+ var attributes, isFreeTickets, updatedOrderData, eventId, _yield$elementsRef$cu, submitError, paymentContext, confirmParams, rawPhone, e164Phone, _yield$stripeRef$curr, confirmError, paymentResponse;
6446
6496
  return _regeneratorRuntime().wrap(function _callee$(_context) {
6447
6497
  while (1) switch (_context.prev = _context.next) {
6448
6498
  case 0:
6449
6499
  attributes = paymentData.attributes, isFreeTickets = paymentData.isFreeTickets, updatedOrderData = paymentData.updatedOrderData, eventId = paymentData.eventId;
6450
6500
  if (isFreeTickets) {
6451
- _context.next = 25;
6501
+ _context.next = 23;
6452
6502
  break;
6453
6503
  }
6454
6504
  if (stripeRef.current) {
6455
- _context.next = 6;
6505
+ _context.next = 5;
6456
6506
  break;
6457
6507
  }
6458
6508
  setError('Stripe is not ready');
6459
- console.log('Stripe is not ready in billing-info-container');
6460
6509
  return _context.abrupt("return", null);
6461
- case 6:
6462
- console.log('Stripe confirmPayment in billing-info-container');
6463
- // Step 1: Submit elements first
6464
- _context.next = 9;
6510
+ case 5:
6511
+ _context.next = 7;
6465
6512
  return elementsRef.current.submit();
6466
- case 9:
6513
+ case 7:
6467
6514
  _yield$elementsRef$cu = _context.sent;
6468
6515
  submitError = _yield$elementsRef$cu.error;
6469
6516
  if (!submitError) {
6470
- _context.next = 15;
6517
+ _context.next = 12;
6471
6518
  break;
6472
6519
  }
6473
6520
  setError('' + (submitError == null ? void 0 : submitError.message));
6474
- console.log('Stripe elements.submit() error in billing-info-container', submitError);
6475
6521
  return _context.abrupt("return", null);
6476
- case 15:
6522
+ case 12:
6477
6523
  // Step 2: Store payment context before potential redirect
6478
6524
  paymentContext = {
6479
6525
  attributes: attributes,
@@ -6488,30 +6534,38 @@ var useStripePayment = function useStripePayment(_ref) {
6488
6534
  };
6489
6535
  localStorage.setItem('stripe_payment_context', JSON.stringify(paymentContext));
6490
6536
  // Step 3: Confirm payment with current page return URL
6491
- _context.next = 19;
6537
+ confirmParams = {
6538
+ return_url: window.location.href + (window.location.href.includes('?') ? '&' : '?') + 'payment_return=true'
6539
+ };
6540
+ if (values != null && values.phone) {
6541
+ rawPhone = String(values.phone).replace(/[\s\-().]/g, '');
6542
+ e164Phone = rawPhone.startsWith('+') ? rawPhone : "+" + rawPhone;
6543
+ confirmParams.payment_method_data = {
6544
+ billing_details: {
6545
+ phone: e164Phone
6546
+ }
6547
+ };
6548
+ }
6549
+ _context.next = 18;
6492
6550
  return stripeRef.current.confirmPayment({
6493
6551
  clientSecret: paymentDataResponse.data.attributes.payment_method.stripe_client_secret,
6494
6552
  elements: elementsRef.current,
6495
- confirmParams: {
6496
- return_url: window.location.href + (window.location.href.includes('?') ? '&' : '?') + 'payment_return=true'
6497
- },
6553
+ confirmParams: confirmParams,
6498
6554
  redirect: 'if_required'
6499
6555
  });
6500
- case 19:
6556
+ case 18:
6501
6557
  _yield$stripeRef$curr = _context.sent;
6502
6558
  confirmError = _yield$stripeRef$curr.error;
6503
6559
  if (!confirmError) {
6504
- _context.next = 25;
6560
+ _context.next = 23;
6505
6561
  break;
6506
6562
  }
6507
6563
  setError('' + (confirmError == null ? void 0 : confirmError.message));
6508
- console.log('Stripe confirmPayment error in billing-info-container');
6509
6564
  return _context.abrupt("return", null);
6510
- case 25:
6511
- console.log('Stripe confirmPayment success in billing-info-container');
6565
+ case 23:
6512
6566
  // Handle payment middleware for non-redirect payments
6513
6567
  paymentResponse = null;
6514
- _context.next = 29;
6568
+ _context.next = 26;
6515
6569
  return handlePaymentMiddleWare(null, {}, {
6516
6570
  reviewData: attributes,
6517
6571
  isFreeTickets: isFreeTickets,
@@ -6529,9 +6583,9 @@ var useStripePayment = function useStripePayment(_ref) {
6529
6583
  throw error;
6530
6584
  }
6531
6585
  });
6532
- case 29:
6586
+ case 26:
6533
6587
  return _context.abrupt("return", paymentResponse);
6534
- case 30:
6588
+ case 27:
6535
6589
  case "end":
6536
6590
  return _context.stop();
6537
6591
  }
@@ -7018,7 +7072,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref6) {
7018
7072
  setSingleCheckoutAddOns = _useState25[1];
7019
7073
  var orderIsFree = !Number(checkoutData == null ? void 0 : checkoutData.total);
7020
7074
  React.useEffect(function () {
7021
- var hasUniqueId = _get(dataWithUniqueIds, '[0].uniqueId');
7075
+ var hasUniqueId = _get(data, '[0].uniqueId');
7022
7076
  var isEqualData = _isEqual(prevData.current, data);
7023
7077
  if (!hasUniqueId || !isEqualData) {
7024
7078
  setDataWithUniqueIds(assingUniqueIds(data));
@@ -7026,7 +7080,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref6) {
7026
7080
  prevData.current = data;
7027
7081
  }
7028
7082
  }
7029
- }, [dataWithUniqueIds, data]);
7083
+ }, [data]);
7030
7084
  var getQuantity = React.useCallback(function (cart) {
7031
7085
  if (cart === void 0) {
7032
7086
  cart = [];
@@ -7982,6 +8036,11 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref6) {
7982
8036
  checkoutData: checkoutData,
7983
8037
  elementsOptions: elementsOptions,
7984
8038
  paymentElementOptions: {
8039
+ fields: {
8040
+ billingDetails: {
8041
+ phone: 'never'
8042
+ }
8043
+ },
7985
8044
  wallets: {
7986
8045
  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',
7987
8046
  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'
@@ -16036,10 +16095,13 @@ exports.RsvpContainer = RsvpContainer;
16036
16095
  exports.SeatMapContainer = SeatMapContainer;
16037
16096
  exports.TicketResaleContainer = TicketResaleContainer;
16038
16097
  exports.TicketsContainer = TicketsContainer;
16098
+ exports.TimerWidget = TimerWidget$1;
16039
16099
  exports.VERIFICATION_STATUSES = VERIFICATION_STATUSES;
16100
+ exports.VerificationPendingModal = VerificationPendingModal;
16040
16101
  exports.createFixedFloatNormalizer = createFixedFloatNormalizer;
16041
16102
  exports.currencyNormalizerCreator = currencyNormalizerCreator;
16042
16103
  exports.logoutUser = logoutUser;
16043
16104
  exports.setConfigs = setConfigs;
16105
+ exports.useAddons = useAddons;
16044
16106
  exports.useCookieListener = useCookieListener;
16045
16107
  //# sourceMappingURL=tf-checkout-react.cjs.development.js.map