tf-checkout-react 1.7.13 → 1.7.15

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.
@@ -8,7 +8,8 @@ interface IAddonComponentProps {
8
8
  configs: any;
9
9
  values: any;
10
10
  errors: any;
11
+ useStepperQty?: boolean;
11
12
  onCustomFieldChange?: (addon: any, groupId: string | number, fieldName: string, value: any) => void;
12
13
  }
13
- declare const AddonComponent: ({ classNamePrefix, data, selectOptions, handleAddonChange, addOnDataWithCustomFields, configs, values, errors, onCustomFieldChange, }: IAddonComponentProps) => JSX.Element;
14
+ declare const AddonComponent: ({ classNamePrefix, data, selectOptions, handleAddonChange, addOnDataWithCustomFields, configs, values, errors, useStepperQty, onCustomFieldChange, }: IAddonComponentProps) => JSX.Element;
14
15
  export default AddonComponent;
@@ -7,11 +7,12 @@ export interface ISimpleAddonContainerProps {
7
7
  addOnDataWithCustomFields: any;
8
8
  configs: any;
9
9
  eventId: string;
10
+ useStepperQty?: boolean;
10
11
  onAddOnSelect?: (id: string, value: string, addon: any, fieldUpdates: any) => void;
11
12
  handleConfirm?: (values: any) => void;
12
13
  }
13
14
  export interface ObjectLiteral {
14
15
  [key: string]: any;
15
16
  }
16
- export declare const SimpleAddonsContainer: ({ classNamePrefix, onGetAddonsPageInfoSuccess, onGetAddonsPageInfoError, descriptionTrigger, addOnDataWithCustomFields, configs, eventId, onAddOnSelect, handleConfirm, }: ISimpleAddonContainerProps) => JSX.Element;
17
+ export declare const SimpleAddonsContainer: ({ classNamePrefix, onGetAddonsPageInfoSuccess, onGetAddonsPageInfoError, descriptionTrigger, addOnDataWithCustomFields, configs, eventId, useStepperQty, onAddOnSelect, handleConfirm, }: ISimpleAddonContainerProps) => JSX.Element;
17
18
  export default SimpleAddonsContainer;
@@ -16,8 +16,6 @@ export interface IAddonContainterProps {
16
16
  addOnDataWithCustomFields: any;
17
17
  configs: any;
18
18
  onAddOnSelect?: (id: string, value: string, addon: any) => void;
19
+ useStepperQty?: boolean;
19
20
  }
20
- export interface ObjectLiteral {
21
- [key: string]: any;
22
- }
23
- export declare const AddonsContainter: ({ classNamePrefix, enableBillingInfoAutoCreate, enableTimer, onGetAddonsPageInfoSuccess, onGetAddonsPageInfoError, onPostCheckoutSuccess, onPostCheckoutError, onConfirmSelectionSuccess, onConfirmSelectionError, onCountdownFinish, onPendingVerification, samePage, descriptionTrigger, addOnDataWithCustomFields, configs, onAddOnSelect, }: IAddonContainterProps) => JSX.Element | null;
21
+ export declare const AddonsContainter: ({ classNamePrefix, enableBillingInfoAutoCreate, enableTimer, onGetAddonsPageInfoSuccess, onGetAddonsPageInfoError, onPostCheckoutSuccess, onPostCheckoutError, onConfirmSelectionSuccess, onConfirmSelectionError, onCountdownFinish, onPendingVerification, samePage, descriptionTrigger, addOnDataWithCustomFields, configs, onAddOnSelect, useStepperQty, }: 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
+ };
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,
@@ -3658,19 +3605,58 @@ var filterBillingInfoFields = function filterBillingInfoFields(fields, options)
3658
3605
  };
3659
3606
 
3660
3607
  /* eslint-disable @typescript-eslint/no-explicit-any */
3661
- var AddonComponent = function AddonComponent(_ref) {
3662
- var _ref$classNamePrefix = _ref.classNamePrefix,
3663
- classNamePrefix = _ref$classNamePrefix === void 0 ? '' : _ref$classNamePrefix,
3664
- data = _ref.data,
3608
+ var AddonStepper = function AddonStepper(_ref) {
3609
+ var _values$id;
3610
+ var id = _ref.id,
3665
3611
  selectOptions = _ref.selectOptions,
3666
- _ref$handleAddonChang = _ref.handleAddonChange,
3667
- handleAddonChange = _ref$handleAddonChang === void 0 ? _identity : _ref$handleAddonChang,
3668
- addOnDataWithCustomFields = _ref.addOnDataWithCustomFields,
3669
- configs = _ref.configs,
3670
- values = _ref.values,
3671
- errors = _ref.errors,
3672
- _ref$onCustomFieldCha = _ref.onCustomFieldChange,
3673
- onCustomFieldChange = _ref$onCustomFieldCha === void 0 ? _identity : _ref$onCustomFieldCha;
3612
+ handleAddonChange = _ref.handleAddonChange,
3613
+ classNamePrefix = _ref.classNamePrefix;
3614
+ var _useFormikContext = formik.useFormikContext(),
3615
+ values = _useFormikContext.values,
3616
+ setFieldValue = _useFormikContext.setFieldValue;
3617
+ var qty = Number((_values$id = values[id]) != null ? _values$id : 0);
3618
+ var max = (selectOptions == null ? void 0 : selectOptions.length) > 0 ? selectOptions[selectOptions.length - 1].value : 0;
3619
+ var change = function change(next) {
3620
+ setFieldValue(id, next);
3621
+ handleAddonChange(id, next);
3622
+ };
3623
+ return React__default.createElement("div", {
3624
+ className: classNamePrefix + "_stepper"
3625
+ }, React__default.createElement("button", {
3626
+ type: "button",
3627
+ className: classNamePrefix + "_stepper__btn",
3628
+ onClick: function onClick() {
3629
+ return change(qty - 1);
3630
+ },
3631
+ disabled: qty <= 0,
3632
+ "aria-label": "Decrease quantity"
3633
+ }, "\u2212"), React__default.createElement("span", {
3634
+ className: classNamePrefix + "_stepper__count"
3635
+ }, qty), React__default.createElement("button", {
3636
+ type: "button",
3637
+ className: classNamePrefix + "_stepper__btn",
3638
+ onClick: function onClick() {
3639
+ return change(qty + 1);
3640
+ },
3641
+ disabled: qty >= max,
3642
+ "aria-label": "Increase quantity"
3643
+ }, "+"));
3644
+ };
3645
+ var AddonComponent = function AddonComponent(_ref2) {
3646
+ var _ref2$classNamePrefix = _ref2.classNamePrefix,
3647
+ classNamePrefix = _ref2$classNamePrefix === void 0 ? '' : _ref2$classNamePrefix,
3648
+ data = _ref2.data,
3649
+ selectOptions = _ref2.selectOptions,
3650
+ _ref2$handleAddonChan = _ref2.handleAddonChange,
3651
+ handleAddonChange = _ref2$handleAddonChan === void 0 ? _identity : _ref2$handleAddonChan,
3652
+ addOnDataWithCustomFields = _ref2.addOnDataWithCustomFields,
3653
+ configs = _ref2.configs,
3654
+ values = _ref2.values,
3655
+ errors = _ref2.errors,
3656
+ _ref2$useStepperQty = _ref2.useStepperQty,
3657
+ useStepperQty = _ref2$useStepperQty === void 0 ? false : _ref2$useStepperQty,
3658
+ _ref2$onCustomFieldCh = _ref2.onCustomFieldChange,
3659
+ onCustomFieldChange = _ref2$onCustomFieldCh === void 0 ? _identity : _ref2$onCustomFieldCh;
3674
3660
  var id = data.id,
3675
3661
  name = data.name,
3676
3662
  active = data.active,
@@ -3689,7 +3675,12 @@ var AddonComponent = function AddonComponent(_ref) {
3689
3675
  className: "sold_out"
3690
3676
  }, "SOLD OUT") : React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
3691
3677
  className: classNamePrefix + "_product_qty_select"
3692
- }, React__default.createElement(formik.Field, {
3678
+ }, useStepperQty ? React__default.createElement(AddonStepper, {
3679
+ id: id,
3680
+ selectOptions: selectOptions,
3681
+ handleAddonChange: handleAddonChange,
3682
+ classNamePrefix: classNamePrefix
3683
+ }) : React__default.createElement(formik.Field, {
3693
3684
  name: id,
3694
3685
  selectOptions: selectOptions,
3695
3686
  component: NativeSelectField,
@@ -3717,13 +3708,13 @@ var AddonComponent = function AddonComponent(_ref) {
3717
3708
  }, React__default.createElement(formik.Field, Object.assign({}, element, {
3718
3709
  name: fieldName,
3719
3710
  validate: getValidateFunctions(element, [], values, errors)
3720
- }), function (_ref2) {
3721
- var field = _ref2.field,
3722
- form = _ref2.form;
3711
+ }), function (_ref3) {
3712
+ var field = _ref3.field,
3713
+ form = _ref3.form;
3723
3714
  var handleChange = function handleChange(e) {
3724
- var _ref3, _e$target$value, _e$target;
3715
+ var _ref4, _e$target$value, _e$target;
3725
3716
  // extract value from native events or custom widgets
3726
- var v = (_ref3 = (_e$target$value = e == null ? void 0 : (_e$target = e.target) == null ? void 0 : _e$target.value) != null ? _e$target$value : e == null ? void 0 : e.value) != null ? _ref3 : e; // allow custom components to pass raw value
3717
+ var v = (_ref4 = (_e$target$value = e == null ? void 0 : (_e$target = e.target) == null ? void 0 : _e$target.value) != null ? _e$target$value : e == null ? void 0 : e.value) != null ? _ref4 : e; // allow custom components to pass raw value
3727
3718
  form.setFieldValue(field.name, v);
3728
3719
  onCustomFieldChange == null ? void 0 : onCustomFieldChange(data, id, element.name, v);
3729
3720
  };
@@ -3918,37 +3909,79 @@ var isAtLeastOneAddonSelected = function isAtLeastOneAddonSelected(value) {
3918
3909
  return !_isEmpty(selectedAddons);
3919
3910
  };
3920
3911
 
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');
3912
+ var addonsWithGroupsAdapter = function addonsWithGroupsAdapter(data) {
3913
+ var addonsData = _extends({}, data);
3914
+ var addOnsGroups = _get(addonsData, 'add_on_groups', []);
3915
+ var addons = _get(addonsData, 'add_ons', []);
3916
+ if (!_isEmpty(addOnsGroups)) {
3917
+ var addOnGroupsWithVariants = [];
3918
+ var addOnsWithoutVariants = [];
3919
+ addons.forEach(function (addon) {
3920
+ if (addon.attributes.addOnGroupId) {
3921
+ // Collect addons groups inside with their variants
3922
+ var currentGroupId = addon.attributes.addOnGroupId;
3923
+ var exsistingGroupIndex = addOnGroupsWithVariants.findIndex(function (item) {
3924
+ return item.id === currentGroupId;
3925
+ });
3926
+ if (addOnGroupsWithVariants[exsistingGroupIndex]) {
3927
+ var addOnGroup = addOnGroupsWithVariants[exsistingGroupIndex];
3928
+ addOnGroupsWithVariants[exsistingGroupIndex] = _extends({}, addOnGroup, {
3929
+ variants: [].concat(addOnGroup.variants, addon.attributes)
3930
+ });
3931
+ } else {
3932
+ var group = addOnsGroups.find(function (group) {
3933
+ return group.attributes.id === currentGroupId;
3934
+ }) || {};
3935
+ addOnGroupsWithVariants.push(_extends({}, group.attributes, {
3936
+ variants: [].concat(addon.attributes)
3937
+ }));
3938
+ }
3939
+ } else {
3940
+ addOnsWithoutVariants.push(addon.attributes);
3941
+ }
3942
+ });
3943
+ return addOnGroupsWithVariants.concat(addOnsWithoutVariants);
3944
+ }
3945
+ // Adapt only simple addons data
3946
+ var adaptedAddons = addons.map(function (addon) {
3947
+ return _extends({}, addon.attributes);
3948
+ });
3949
+ return adaptedAddons;
3950
+ };
3951
+ var cartAdapter = function cartAdapter(cart) {
3952
+ var cartData = _get(cart, 'data.attributes', []);
3953
+ var expiresAt = cartData.expiresAt,
3954
+ carts_arr = cartData.cart;
3955
+ var _ref = carts_arr[0] || {},
3956
+ id = _ref.id,
3957
+ quantity = _ref.quantity;
3958
+ return {
3959
+ id: id,
3960
+ quantity: quantity,
3961
+ expiresAt: expiresAt
3962
+ };
3963
+ };
3964
+
3965
+ var useAddons = function useAddons(eventId, options) {
3966
+ if (options === void 0) {
3967
+ options = {};
3968
+ }
3969
+ var _options = options,
3970
+ _options$enableBillin = _options.enableBillingInfoAutoCreate,
3971
+ enableBillingInfoAutoCreate = _options$enableBillin === void 0 ? true : _options$enableBillin,
3972
+ addOnDataWithCustomFields = _options.addOnDataWithCustomFields,
3973
+ _options$onGetAddonsP = _options.onGetAddonsPageInfoSuccess,
3974
+ onGetAddonsPageInfoSuccess = _options$onGetAddonsP === void 0 ? _identity : _options$onGetAddonsP,
3975
+ _options$onGetAddonsP2 = _options.onGetAddonsPageInfoError,
3976
+ onGetAddonsPageInfoError = _options$onGetAddonsP2 === void 0 ? _identity : _options$onGetAddonsP2,
3977
+ _options$onPostChecko = _options.onPostCheckoutSuccess,
3978
+ onPostCheckoutSuccess = _options$onPostChecko === void 0 ? _identity : _options$onPostChecko,
3979
+ _options$onPostChecko2 = _options.onPostCheckoutError,
3980
+ onPostCheckoutError = _options$onPostChecko2 === void 0 ? _identity : _options$onPostChecko2,
3981
+ _options$onConfirmSel = _options.onConfirmSelectionSuccess,
3982
+ onConfirmSelectionSuccess = _options$onConfirmSel === void 0 ? _identity : _options$onConfirmSel,
3983
+ _options$onConfirmSel2 = _options.onConfirmSelectionError,
3984
+ onConfirmSelectionError = _options$onConfirmSel2 === void 0 ? _identity : _options$onConfirmSel2;
3952
3985
  var _useState = React.useState([]),
3953
3986
  addons = _useState[0],
3954
3987
  setAddons = _useState[1];
@@ -3970,20 +4003,9 @@ var AddonsContainter = function AddonsContainter(_ref) {
3970
4003
  var _useState7 = React.useState(),
3971
4004
  pendingVerificationMessage = _useState7[0],
3972
4005
  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
4006
  React.useEffect(function () {
3982
- if (samePage) {
3983
- window.localStorage.removeItem('add_ons');
3984
- }
3985
4007
  var getAddonsPageInfo = /*#__PURE__*/function () {
3986
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
4008
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
3987
4009
  var cart, _cartAdapter, choosedTicketID, quantity, expiresAt, choosedTicketCount, addonsData, adaptedAddons, ticketRelatedAddons, sortedTicketAddons, _getAddonSelectOption, addonsWithOptions, groupsWithSelectedVariantsInfo, groupsWithVariants;
3988
4010
  return _regeneratorRuntime().wrap(function _callee$(_context) {
3989
4011
  while (1) switch (_context.prev = _context.next) {
@@ -3994,7 +4016,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
3994
4016
  break;
3995
4017
  }
3996
4018
  setLoading(true);
3997
- // Get choosed ticket info (id, count) from Cart request for addons options calculations
3998
4019
  _context.next = 5;
3999
4020
  return getCart();
4000
4021
  case 5:
@@ -4002,7 +4023,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
4002
4023
  _cartAdapter = cartAdapter(cart), choosedTicketID = _cartAdapter.id, quantity = _cartAdapter.quantity, expiresAt = _cartAdapter.expiresAt;
4003
4024
  choosedTicketCount = Number(quantity);
4004
4025
  setCartExpirationTime(expiresAt);
4005
- // Get and collect addons data
4006
4026
  _context.next = 11;
4007
4027
  return getAddons(eventId);
4008
4028
  case 11:
@@ -4011,12 +4031,10 @@ var AddonsContainter = function AddonsContainter(_ref) {
4011
4031
  ticketRelatedAddons = getTicketRelatedAddons(adaptedAddons, choosedTicketID);
4012
4032
  sortedTicketAddons = getSortedAddons(ticketRelatedAddons);
4013
4033
  setAddons(sortedTicketAddons);
4014
- // Collect addons and addon group options
4015
4034
  _getAddonSelectOption = getAddonSelectOptions(adaptedAddons, choosedTicketCount), addonsWithOptions = _getAddonSelectOption.addonsWithOptions, groupsWithSelectedVariantsInfo = _getAddonSelectOption.groupsWithSelectedVariantsInfo, groupsWithVariants = _getAddonSelectOption.groupsWithVariants;
4016
4035
  setAddonsOptions(addonsWithOptions);
4017
4036
  setGroupsWithSelectedVariants(groupsWithSelectedVariantsInfo);
4018
4037
  setGroupsWithInitialVariantsValues(groupsWithVariants);
4019
- // Success callback props
4020
4038
  onGetAddonsPageInfoSuccess(addonsData);
4021
4039
  case 21:
4022
4040
  _context.next = 26;
@@ -4024,7 +4042,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
4024
4042
  case 23:
4025
4043
  _context.prev = 23;
4026
4044
  _context.t0 = _context["catch"](0);
4027
- // Callback error props
4028
4045
  onGetAddonsPageInfoError(_context.t0);
4029
4046
  case 26:
4030
4047
  _context.prev = 26;
@@ -4037,23 +4054,21 @@ var AddonsContainter = function AddonsContainter(_ref) {
4037
4054
  }, _callee, null, [[0, 23, 26, 29]]);
4038
4055
  }));
4039
4056
  return function getAddonsPageInfo() {
4040
- return _ref2.apply(this, arguments);
4057
+ return _ref.apply(this, arguments);
4041
4058
  };
4042
4059
  }();
4043
4060
  getAddonsPageInfo();
4044
- }, []);
4045
- var recreateGroupVariantsSelectOptions = function recreateGroupVariantsSelectOptions(groupId, changedGroupd) {
4046
- var choosedVariants = changedGroupd.choosedVariants,
4047
- limit = changedGroupd.limit,
4048
- selectedCount = changedGroupd.selectedCount;
4061
+ }, [eventId]);
4062
+ var recreateGroupVariantsSelectOptions = function recreateGroupVariantsSelectOptions(groupId, changedGroup) {
4063
+ var choosedVariants = changedGroup.choosedVariants,
4064
+ limit = changedGroup.limit,
4065
+ selectedCount = changedGroup.selectedCount;
4049
4066
  var remainingGroupStock = limit - selectedCount;
4050
4067
  var recreatedVariantsOptions = {};
4051
- // Regenerate variants allowed stock counts
4052
4068
  for (var variant in choosedVariants) {
4053
4069
  var variantId = variant;
4054
4070
  var variantCurrSelectedValue = choosedVariants[variant];
4055
4071
  var allowedOptionCount = void 0;
4056
- // Formula for regenerating
4057
4072
  if (remainingGroupStock >= groupsWithInitialVariantsValues[groupId][variantId] - variantCurrSelectedValue) {
4058
4073
  allowedOptionCount = groupsWithInitialVariantsValues[groupId][variantId];
4059
4074
  } else {
@@ -4066,7 +4081,6 @@ var AddonsContainter = function AddonsContainter(_ref) {
4066
4081
  });
4067
4082
  };
4068
4083
  var onFieldChange = function onFieldChange(id, value, addon) {
4069
- // If changeableGroup exsists it means that group with limitation variant was changed
4070
4084
  var changeableGroup = groupsWithSelectedVariants[addon.id];
4071
4085
  if (changeableGroup) {
4072
4086
  var _extends2, _extends3;
@@ -4075,18 +4089,16 @@ var AddonsContainter = function AddonsContainter(_ref) {
4075
4089
  var currSelectedVariantCount = Number(value);
4076
4090
  var currSelectedVariantPrevCount = groupsWithSelectedVariants[currGroupId].choosedVariants[currSelectedVariantId];
4077
4091
  var currSelectedGroupCount = changeableGroup.selectedCount + (currSelectedVariantCount - currSelectedVariantPrevCount);
4078
- // Update Group info
4079
4092
  var updatedGroupsWithSelectedVariants = _extends({}, groupsWithSelectedVariants, (_extends3 = {}, _extends3[currGroupId] = _extends({}, groupsWithSelectedVariants[currGroupId], {
4080
4093
  selectedCount: currSelectedGroupCount,
4081
4094
  choosedVariants: _extends({}, groupsWithSelectedVariants[currGroupId].choosedVariants, (_extends2 = {}, _extends2[currSelectedVariantId] = currSelectedVariantCount, _extends2))
4082
4095
  }), _extends3));
4083
4096
  setGroupsWithSelectedVariants(updatedGroupsWithSelectedVariants);
4084
- // Recreate Select Options for Addon Group Variants
4085
4097
  recreateGroupVariantsSelectOptions(currGroupId, updatedGroupsWithSelectedVariants[currGroupId]);
4086
4098
  }
4087
4099
  };
4088
4100
  var handleConfirm = /*#__PURE__*/function () {
4089
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values, skipAddonPage) {
4101
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(values, skipAddonPage) {
4090
4102
  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
4103
  return _regeneratorRuntime().wrap(function _callee2$(_context2) {
4092
4104
  while (1) switch (_context2.prev = _context2.next) {
@@ -4168,7 +4180,7 @@ var AddonsContainter = function AddonsContainter(_ref) {
4168
4180
  }, _callee2, null, [[0, 30], [10, 22]]);
4169
4181
  }));
4170
4182
  return function handleConfirm(_x, _x2) {
4171
- return _ref3.apply(this, arguments);
4183
+ return _ref2.apply(this, arguments);
4172
4184
  };
4173
4185
  }();
4174
4186
  var handleClearAddons = function handleClearAddons() {
@@ -4190,6 +4202,86 @@ var AddonsContainter = function AddonsContainter(_ref) {
4190
4202
  }
4191
4203
  return addOnsData;
4192
4204
  }, [addons, addOnDataWithCustomFields]);
4205
+ return {
4206
+ addons: addons,
4207
+ addonsOptions: addonsOptions,
4208
+ loading: loading,
4209
+ cartExpirationTime: cartExpirationTime,
4210
+ pendingVerificationMessage: pendingVerificationMessage,
4211
+ setPendingVerificationMessage: setPendingVerificationMessage,
4212
+ initialValues: initialValues,
4213
+ onFieldChange: onFieldChange,
4214
+ handleConfirm: handleConfirm,
4215
+ handleClearAddons: handleClearAddons
4216
+ };
4217
+ };
4218
+
4219
+ /* eslint-disable @typescript-eslint/no-explicit-any */
4220
+ var AddonsContainter = function AddonsContainter(_ref) {
4221
+ var _ref$classNamePrefix = _ref.classNamePrefix,
4222
+ classNamePrefix = _ref$classNamePrefix === void 0 ? 'add_on' : _ref$classNamePrefix,
4223
+ _ref$enableBillingInf = _ref.enableBillingInfoAutoCreate,
4224
+ enableBillingInfoAutoCreate = _ref$enableBillingInf === void 0 ? true : _ref$enableBillingInf,
4225
+ _ref$enableTimer = _ref.enableTimer,
4226
+ enableTimer = _ref$enableTimer === void 0 ? false : _ref$enableTimer,
4227
+ _ref$onGetAddonsPageI = _ref.onGetAddonsPageInfoSuccess,
4228
+ onGetAddonsPageInfoSuccess = _ref$onGetAddonsPageI === void 0 ? _identity : _ref$onGetAddonsPageI,
4229
+ _ref$onGetAddonsPageI2 = _ref.onGetAddonsPageInfoError,
4230
+ onGetAddonsPageInfoError = _ref$onGetAddonsPageI2 === void 0 ? _identity : _ref$onGetAddonsPageI2,
4231
+ _ref$onPostCheckoutSu = _ref.onPostCheckoutSuccess,
4232
+ onPostCheckoutSuccess = _ref$onPostCheckoutSu === void 0 ? _identity : _ref$onPostCheckoutSu,
4233
+ _ref$onPostCheckoutEr = _ref.onPostCheckoutError,
4234
+ onPostCheckoutError = _ref$onPostCheckoutEr === void 0 ? _identity : _ref$onPostCheckoutEr,
4235
+ _ref$onConfirmSelecti = _ref.onConfirmSelectionSuccess,
4236
+ onConfirmSelectionSuccess = _ref$onConfirmSelecti === void 0 ? _identity : _ref$onConfirmSelecti,
4237
+ _ref$onConfirmSelecti2 = _ref.onConfirmSelectionError,
4238
+ onConfirmSelectionError = _ref$onConfirmSelecti2 === void 0 ? _identity : _ref$onConfirmSelecti2,
4239
+ _ref$onCountdownFinis = _ref.onCountdownFinish,
4240
+ _onCountdownFinish = _ref$onCountdownFinis === void 0 ? _identity : _ref$onCountdownFinis,
4241
+ _ref$onPendingVerific = _ref.onPendingVerification,
4242
+ onPendingVerification = _ref$onPendingVerific === void 0 ? _identity : _ref$onPendingVerific,
4243
+ samePage = _ref.samePage,
4244
+ _ref$descriptionTrigg = _ref.descriptionTrigger,
4245
+ descriptionTrigger = _ref$descriptionTrigg === void 0 ? 'click' : _ref$descriptionTrigg,
4246
+ addOnDataWithCustomFields = _ref.addOnDataWithCustomFields,
4247
+ configs = _ref.configs,
4248
+ _ref$onAddOnSelect = _ref.onAddOnSelect,
4249
+ onAddOnSelect = _ref$onAddOnSelect === void 0 ? _identity : _ref$onAddOnSelect,
4250
+ _ref$useStepperQty = _ref.useStepperQty,
4251
+ useStepperQty = _ref$useStepperQty === void 0 ? false : _ref$useStepperQty;
4252
+ var eventId = getQueryVariable('event_id') || null;
4253
+ var _useAddons = useAddons(eventId, {
4254
+ enableBillingInfoAutoCreate: enableBillingInfoAutoCreate,
4255
+ addOnDataWithCustomFields: addOnDataWithCustomFields,
4256
+ onGetAddonsPageInfoSuccess: onGetAddonsPageInfoSuccess,
4257
+ onGetAddonsPageInfoError: onGetAddonsPageInfoError,
4258
+ onPostCheckoutSuccess: onPostCheckoutSuccess,
4259
+ onPostCheckoutError: onPostCheckoutError,
4260
+ onConfirmSelectionSuccess: onConfirmSelectionSuccess,
4261
+ onConfirmSelectionError: onConfirmSelectionError
4262
+ }),
4263
+ addons = _useAddons.addons,
4264
+ addonsOptions = _useAddons.addonsOptions,
4265
+ loading = _useAddons.loading,
4266
+ cartExpirationTime = _useAddons.cartExpirationTime,
4267
+ pendingVerificationMessage = _useAddons.pendingVerificationMessage,
4268
+ initialValues = _useAddons.initialValues,
4269
+ onFieldChange = _useAddons.onFieldChange,
4270
+ handleConfirm = _useAddons.handleConfirm,
4271
+ handleClearAddons = _useAddons.handleClearAddons;
4272
+ var _useState = React.useState(null),
4273
+ visibleDescription = _useState[0],
4274
+ setVisibleDescription = _useState[1];
4275
+ var handleDescriptionToggle = function handleDescriptionToggle(ticketId) {
4276
+ setVisibleDescription(function (current) {
4277
+ return current === ticketId ? null : ticketId;
4278
+ });
4279
+ };
4280
+ React.useEffect(function () {
4281
+ if (samePage) {
4282
+ window.localStorage.removeItem('add_ons');
4283
+ }
4284
+ }, []);
4193
4285
  if (loading) {
4194
4286
  return React__default.createElement("div", {
4195
4287
  className: classNamePrefix + "_loader"
@@ -4238,10 +4330,10 @@ var AddonsContainter = function AddonsContainter(_ref) {
4238
4330
  window.localStorage.setItem('add_ons', JSON.stringify(values));
4239
4331
  }
4240
4332
  } : undefined
4241
- }, function (_ref4) {
4242
- var values = _ref4.values,
4243
- errors = _ref4.errors,
4244
- setFieldTouched = _ref4.setFieldTouched;
4333
+ }, function (_ref2) {
4334
+ var values = _ref2.values,
4335
+ errors = _ref2.errors,
4336
+ setFieldTouched = _ref2.setFieldTouched;
4245
4337
  var isConfirmDisabled = !isAtLeastOneAddonSelected(values);
4246
4338
  return React__default.createElement(formik.Form, {
4247
4339
  autoComplete: "off",
@@ -4316,7 +4408,8 @@ var AddonsContainter = function AddonsContainter(_ref) {
4316
4408
  addOnDataWithCustomFields: addOnDataWithCustomFields,
4317
4409
  configs: configs,
4318
4410
  values: values,
4319
- errors: errors
4411
+ errors: errors,
4412
+ useStepperQty: useStepperQty
4320
4413
  })
4321
4414
  );
4322
4415
  }) :
@@ -4367,6 +4460,8 @@ var SimpleAddonsContainer = function SimpleAddonsContainer(_ref) {
4367
4460
  addOnDataWithCustomFields = _ref.addOnDataWithCustomFields,
4368
4461
  configs = _ref.configs,
4369
4462
  eventId = _ref.eventId,
4463
+ _ref$useStepperQty = _ref.useStepperQty,
4464
+ useStepperQty = _ref$useStepperQty === void 0 ? false : _ref$useStepperQty,
4370
4465
  _ref$onAddOnSelect = _ref.onAddOnSelect,
4371
4466
  onAddOnSelect = _ref$onAddOnSelect === void 0 ? _identity : _ref$onAddOnSelect,
4372
4467
  _ref$handleConfirm = _ref.handleConfirm,
@@ -4638,7 +4733,8 @@ var SimpleAddonsContainer = function SimpleAddonsContainer(_ref) {
4638
4733
  addOnDataWithCustomFields: addOnDataWithCustomFields,
4639
4734
  configs: configs,
4640
4735
  values: values,
4641
- errors: errors
4736
+ errors: errors,
4737
+ useStepperQty: useStepperQty
4642
4738
  })
4643
4739
  );
4644
4740
  }) :
@@ -16049,10 +16145,13 @@ exports.RsvpContainer = RsvpContainer;
16049
16145
  exports.SeatMapContainer = SeatMapContainer;
16050
16146
  exports.TicketResaleContainer = TicketResaleContainer;
16051
16147
  exports.TicketsContainer = TicketsContainer;
16148
+ exports.TimerWidget = TimerWidget$1;
16052
16149
  exports.VERIFICATION_STATUSES = VERIFICATION_STATUSES;
16150
+ exports.VerificationPendingModal = VerificationPendingModal;
16053
16151
  exports.createFixedFloatNormalizer = createFixedFloatNormalizer;
16054
16152
  exports.currencyNormalizerCreator = currencyNormalizerCreator;
16055
16153
  exports.logoutUser = logoutUser;
16056
16154
  exports.setConfigs = setConfigs;
16155
+ exports.useAddons = useAddons;
16057
16156
  exports.useCookieListener = useCookieListener;
16058
16157
  //# sourceMappingURL=tf-checkout-react.cjs.development.js.map