tf-checkout-react 1.3.30 → 1.3.33

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.
@@ -7,5 +7,5 @@ export interface ICheckboxField {
7
7
  interface IOtherProps {
8
8
  [key: string]: any;
9
9
  }
10
- export declare const CheckboxField: ({ label, field, selectOptions, theme, setFieldValue, disableDropdown, setPhoneValidationIsLoading, ...rest }: ICheckboxField & IOtherProps) => JSX.Element;
10
+ export declare const CheckboxField: ({ label, field, selectOptions, theme, setFieldValue, disableDropdown, setPhoneValidationIsLoading, defaultCountry, dateFormat, datePlaceholder, ...rest }: ICheckboxField & IOtherProps) => JSX.Element;
11
11
  export {};
@@ -10,5 +10,5 @@ export interface IDatePickerFieldProps {
10
10
  interface IOtherProps {
11
11
  [key: string]: any;
12
12
  }
13
- export declare const DatePickerField: ({ label, field, form, theme, useCompact, }: IDatePickerFieldProps & IOtherProps) => JSX.Element;
13
+ export declare const DatePickerField: ({ label, field, form, theme, useCompact, dateFormat, datePlaceholder }: IDatePickerFieldProps & IOtherProps) => JSX.Element;
14
14
  export {};
@@ -0,0 +1,17 @@
1
+ import { FieldInputProps, FormikProps } from 'formik';
2
+ import React from 'react';
3
+ interface IRadio {
4
+ id: string | number;
5
+ name: string | number;
6
+ value: string | number;
7
+ [key: string]: any;
8
+ }
9
+ interface IRadioGroupField {
10
+ label?: string;
11
+ field: FieldInputProps<any>;
12
+ form: FormikProps<any>;
13
+ radios: IRadio[];
14
+ onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;
15
+ }
16
+ export declare const RadioGroupField: ({ label, field, radios, form: { errors, setFieldValue }, onChange, }: IRadioGroupField) => JSX.Element;
17
+ export {};
@@ -4,3 +4,4 @@ export { FormikPhoneNumberField } from './FormikPhoneNumberField';
4
4
  export { PhoneNumberField } from './PhoneNumberField';
5
5
  export { Loader } from './Loader';
6
6
  export { SelectField } from './SelectField';
7
+ export { RadioGroupField } from './RadioGroupField';
@@ -27,6 +27,8 @@ export interface IGetTickets {
27
27
  onGetTicketsError: (e: AxiosError) => void;
28
28
  onLogoutSuccess: () => void;
29
29
  onLogoutError: (e: AxiosError) => void;
30
+ onGetProfileDataSuccess: (response: any) => void;
31
+ onGetProfileDataError: (e: AxiosError) => void;
30
32
  onLoginSuccess: () => void;
31
33
  handleNotInvitedModalClose: () => void;
32
34
  handleInvalidLinkModalClose: () => void;
@@ -59,5 +61,5 @@ export interface ITicket {
59
61
  export interface ISelectedTickets {
60
62
  [key: string]: string | number;
61
63
  }
62
- export declare const TicketsContainer: ({ onLoginSuccess, getTicketsLabel, eventId, onAddToCartSuccess, contentStyle, onAddToCartError, onGetTicketsSuccess, onGetTicketsError, onLogoutSuccess, onLogoutError, theme, queryPromoCode, isPromotionsEnabled, themeOptions, isAccessCodeEnabled, hideSessionButtons, hideWaitingList, enableBillingInfoAutoCreate, isButtonScrollable, sortBySoldOut, disableCountdownLeadingZero, isLoggedIn, actionsSectionComponent: ActionsSectionComponent, ticketsHeaderComponent, hideTicketsHeader, enableInfluencersSection, enableAddOns, handleNotInvitedModalClose, handleInvalidLinkModalClose, ordersPath, }: IGetTickets) => JSX.Element;
64
+ export declare const TicketsContainer: ({ onLoginSuccess, getTicketsLabel, eventId, onAddToCartSuccess, contentStyle, onAddToCartError, onGetTicketsSuccess, onGetTicketsError, onLogoutSuccess, onLogoutError, onGetProfileDataSuccess, onGetProfileDataError, theme, queryPromoCode, isPromotionsEnabled, themeOptions, isAccessCodeEnabled, hideSessionButtons, hideWaitingList, enableBillingInfoAutoCreate, isButtonScrollable, sortBySoldOut, disableCountdownLeadingZero, isLoggedIn, actionsSectionComponent: ActionsSectionComponent, ticketsHeaderComponent, hideTicketsHeader, enableInfluencersSection, enableAddOns, handleNotInvitedModalClose, handleInvalidLinkModalClose, ordersPath, }: IGetTickets) => JSX.Element;
63
65
  export {};
@@ -0,0 +1 @@
1
+ export declare const X_TF_ECOMMERCE = "X-TF-ECOMMERCE";
@@ -0,0 +1 @@
1
+ export declare const useCookieListener: (key: string, handler: (value: string | null) => void) => void;
@@ -10,6 +10,7 @@ var Button = _interopDefault(require('@mui/material/Button'));
10
10
  var styles = require('@mui/material/styles');
11
11
  var axios = _interopDefault(require('axios'));
12
12
  var formik = require('formik');
13
+ var _find = _interopDefault(require('lodash/find'));
13
14
  var _get = _interopDefault(require('lodash/get'));
14
15
  var _identity = _interopDefault(require('lodash/identity'));
15
16
  var _includes = _interopDefault(require('lodash/includes'));
@@ -27,13 +28,18 @@ var TextField = _interopDefault(require('@mui/material/TextField'));
27
28
  var styles$1 = require('@mui/styles');
28
29
  var _isFunction = _interopDefault(require('lodash/isFunction'));
29
30
  var _isObject = _interopDefault(require('lodash/isObject'));
30
- var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
31
- var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel'));
32
31
  var Checkbox = _interopDefault(require('@mui/material/Checkbox'));
32
+ var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel'));
33
+ var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
33
34
  var MuiPhoneNumber = _interopDefault(require('material-ui-phone-number'));
34
35
  var _debounce = _interopDefault(require('lodash/debounce'));
35
36
  var CircularProgress = _interopDefault(require('@mui/material/CircularProgress'));
36
37
  var Select = _interopDefault(require('@mui/material/Select'));
38
+ var FormControl = _interopDefault(require('@mui/material/FormControl'));
39
+ var FormHelperText = _interopDefault(require('@mui/material/FormHelperText'));
40
+ var FormLabel = _interopDefault(require('@mui/material/FormLabel'));
41
+ var Radio = _interopDefault(require('@mui/material/Radio'));
42
+ var RadioGroup = _interopDefault(require('@mui/material/RadioGroup'));
37
43
  var Yup = require('yup');
38
44
  var Box = _interopDefault(require('@mui/material/Box'));
39
45
  var Modal = _interopDefault(require('@mui/material/Modal'));
@@ -49,12 +55,10 @@ var stripeJs = require('@stripe/stripe-js');
49
55
  var reactShare = require('react-share');
50
56
  var privateTheming = require('@mui/private-theming');
51
57
  var jwt_decode = _interopDefault(require('jwt-decode'));
52
- var _find = _interopDefault(require('lodash/find'));
53
58
  var _some = _interopDefault(require('lodash/some'));
54
59
  var Button$1 = _interopDefault(require('react-bootstrap/Button'));
55
60
  var moment = _interopDefault(require('moment-timezone'));
56
61
  var _sortBy = _interopDefault(require('lodash/sortBy'));
57
- var FormControl = _interopDefault(require('@mui/material/FormControl'));
58
62
  var MenuItem = _interopDefault(require('@mui/material/MenuItem'));
59
63
  var Autocomplete = _interopDefault(require('@mui/material/Autocomplete'));
60
64
  var Paper = _interopDefault(require('@mui/material/Paper'));
@@ -66,7 +70,6 @@ var TableHead = _interopDefault(require('@mui/material/TableHead'));
66
70
  var TablePagination = _interopDefault(require('@mui/material/TablePagination'));
67
71
  var TableRow = _interopDefault(require('@mui/material/TableRow'));
68
72
  var _has = _interopDefault(require('lodash/has'));
69
- var Radio = _interopDefault(require('@mui/material/Radio'));
70
73
  var _isNull = _interopDefault(require('lodash/isNull'));
71
74
  var _reverse = _interopDefault(require('lodash/reverse'));
72
75
 
@@ -1187,6 +1190,22 @@ var createMarkup = function createMarkup(data) {
1187
1190
  };
1188
1191
  };
1189
1192
 
1193
+ var setLoggedUserData = function setLoggedUserData(data) {
1194
+ return {
1195
+ id: data.id,
1196
+ first_name: data.firstName,
1197
+ last_name: data.lastName,
1198
+ email: data.email,
1199
+ confirmEmail: data.email,
1200
+ city: (data == null ? void 0 : data.city) || '',
1201
+ country: (data == null ? void 0 : data.countryId) || (data == null ? void 0 : data.country) || '',
1202
+ phone: (data == null ? void 0 : data.phone) || '',
1203
+ street_address: (data == null ? void 0 : data.streetAddress) || '',
1204
+ state: (data == null ? void 0 : data.stateId) || '',
1205
+ zip: (data == null ? void 0 : data.zip) || (data == null ? void 0 : data.zipCode) || ''
1206
+ };
1207
+ };
1208
+
1190
1209
  var isWindowDefined = typeof window !== 'undefined';
1191
1210
  var isDocumentDefined = typeof document !== 'undefined';
1192
1211
 
@@ -1466,7 +1485,7 @@ var getProfileData = function getProfileData(accessToken) {
1466
1485
  });
1467
1486
  };
1468
1487
  var getCountries = function getCountries() {
1469
- return publicRequest.get('/countries/');
1488
+ return publicRequest.get('/countries/list');
1470
1489
  };
1471
1490
  var getConfirmationData = function getConfirmationData(orderHash) {
1472
1491
  return publicRequest.get("v1/order/" + orderHash + "/payment/complete");
@@ -1759,7 +1778,11 @@ var DatePickerField = function DatePickerField(_ref) {
1759
1778
  form = _ref.form,
1760
1779
  theme = _ref.theme,
1761
1780
  _ref$useCompact = _ref.useCompact,
1762
- useCompact = _ref$useCompact === void 0 ? true : _ref$useCompact;
1781
+ useCompact = _ref$useCompact === void 0 ? true : _ref$useCompact,
1782
+ _ref$dateFormat = _ref.dateFormat,
1783
+ dateFormat = _ref$dateFormat === void 0 ? 'DD/MM/YYYY' : _ref$dateFormat,
1784
+ _ref$datePlaceholder = _ref.datePlaceholder,
1785
+ datePlaceholder = _ref$datePlaceholder === void 0 ? 'dd/mm/yyyy' : _ref$datePlaceholder;
1763
1786
  return React__default.createElement(styles.ThemeProvider, {
1764
1787
  theme: useCompact ? compactStyleTheme : {}
1765
1788
  }, React__default.createElement(LocalizationProvider.LocalizationProvider, {
@@ -1774,12 +1797,12 @@ var DatePickerField = function DatePickerField(_ref) {
1774
1797
  },
1775
1798
  showDaysOutsideCurrentMonth: true,
1776
1799
  disableFuture: true,
1777
- inputFormat: "DD/MM/YYYY",
1800
+ inputFormat: dateFormat,
1778
1801
  mask: "__/__/____",
1779
1802
  renderInput: function renderInput(params) {
1780
1803
  return React__default.createElement(CustomField, Object.assign({}, params, {
1781
1804
  inputProps: _extends({}, params.inputProps, {
1782
- placeholder: 'dd/mm/yyyy'
1805
+ placeholder: datePlaceholder
1783
1806
  }),
1784
1807
  theme: theme,
1785
1808
  field: _extends({}, field, {
@@ -1797,7 +1820,7 @@ var DatePickerField = function DatePickerField(_ref) {
1797
1820
  })));
1798
1821
  };
1799
1822
 
1800
- var _excluded = ["label", "field", "selectOptions", "theme", "setFieldValue", "disableDropdown", "setPhoneValidationIsLoading"];
1823
+ var _excluded = ["label", "field", "selectOptions", "theme", "setFieldValue", "disableDropdown", "setPhoneValidationIsLoading", "defaultCountry", "dateFormat", "datePlaceholder"];
1801
1824
  var CheckboxField = function CheckboxField(_ref) {
1802
1825
  var _rest$form, _field$name, _rest$form2, _field$name2;
1803
1826
 
@@ -1807,14 +1830,14 @@ var CheckboxField = function CheckboxField(_ref) {
1807
1830
 
1808
1831
  var customTheme = styles$1.useTheme();
1809
1832
  return React__default.createElement(material.FormControl, {
1810
- error: !!(rest != null && (_rest$form = rest.form) != null && _rest$form.errors && rest.form.errors[(_field$name = field == null ? void 0 : field.name) != null ? _field$name : ""])
1833
+ error: !!(rest != null && (_rest$form = rest.form) != null && _rest$form.errors && rest.form.errors[(_field$name = field == null ? void 0 : field.name) != null ? _field$name : ''])
1811
1834
  }, React__default.createElement(FormGroup, null, React__default.createElement(FormControlLabel, {
1812
1835
  control: React__default.createElement(Checkbox, Object.assign({}, field, rest)),
1813
1836
  label: label,
1814
1837
  componentsProps: {
1815
1838
  typography: customTheme == null ? void 0 : customTheme.checkbox
1816
1839
  }
1817
- })), !!(rest != null && (_rest$form2 = rest.form) != null && _rest$form2.errors && rest.form.errors[(_field$name2 = field == null ? void 0 : field.name) != null ? _field$name2 : ""]) ? React__default.createElement(material.FormHelperText, null, "Required") : null);
1840
+ })), !!(rest != null && (_rest$form2 = rest.form) != null && _rest$form2.errors && rest.form.errors[(_field$name2 = field == null ? void 0 : field.name) != null ? _field$name2 : '']) ? React__default.createElement(material.FormHelperText, null, "Required") : null);
1818
1841
  };
1819
1842
 
1820
1843
  var PhoneNumberField = function PhoneNumberField(_ref) {
@@ -1999,6 +2022,48 @@ var SelectField = function SelectField(_ref) {
1999
2022
  }, error) : null);
2000
2023
  };
2001
2024
 
2025
+ var RadioGroupField = function RadioGroupField(_ref) {
2026
+ var label = _ref.label,
2027
+ field = _ref.field,
2028
+ radios = _ref.radios,
2029
+ _ref$form = _ref.form,
2030
+ errors = _ref$form.errors,
2031
+ setFieldValue = _ref$form.setFieldValue,
2032
+ _ref$onChange = _ref.onChange,
2033
+ onChange = _ref$onChange === void 0 ? _identity : _ref$onChange;
2034
+ var radioId = "radio-" + field.name;
2035
+
2036
+ var error = _get(errors, field.name);
2037
+
2038
+ var handleChange = function handleChange(e) {
2039
+ var value = e.target.value;
2040
+ setFieldValue(field.name, value);
2041
+ onChange(e);
2042
+ };
2043
+
2044
+ return React__default.createElement(FormControl, null, error ? React__default.createElement(FormHelperText, {
2045
+ className: "radio-error",
2046
+ error: true
2047
+ }, error) : null, label && React__default.createElement(FormLabel, {
2048
+ id: radioId
2049
+ }, label), React__default.createElement(RadioGroup, {
2050
+ "aria-labelledby": radioId,
2051
+ name: field.name,
2052
+ value: field.value,
2053
+ onChange: handleChange
2054
+ }, radios.map(function (radio) {
2055
+ var id = radio.id,
2056
+ name = radio.name,
2057
+ value = radio.value;
2058
+ return React__default.createElement(FormControlLabel, {
2059
+ key: id,
2060
+ label: name,
2061
+ value: value,
2062
+ control: React__default.createElement(Radio, null)
2063
+ });
2064
+ })));
2065
+ };
2066
+
2002
2067
  var SnackbarAlert = function SnackbarAlert(_ref) {
2003
2068
  var isOpen = _ref.isOpen,
2004
2069
  message = _ref.message,
@@ -2184,7 +2249,7 @@ var style$1 = {
2184
2249
  border: '1px solid white',
2185
2250
  outline: 'none'
2186
2251
  };
2187
- var setLoggedUserData = function setLoggedUserData(data) {
2252
+ var setLoggedUserData$1 = function setLoggedUserData(data) {
2188
2253
  return {
2189
2254
  id: data.id,
2190
2255
  first_name: data.firstName,
@@ -2282,7 +2347,7 @@ var LoginModal = function LoginModal(_ref) {
2282
2347
 
2283
2348
  case 17:
2284
2349
  profileSpecifiedData = _get(profileResponse, 'data.data');
2285
- profileDataObj = setLoggedUserData(profileSpecifiedData);
2350
+ profileDataObj = setLoggedUserData$1(profileSpecifiedData);
2286
2351
 
2287
2352
  if (typeof window !== 'undefined') {
2288
2353
  window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
@@ -2716,7 +2781,7 @@ var createRegisterFormData = function createRegisterFormData(values, checkoutBod
2716
2781
 
2717
2782
  return bodyFormData;
2718
2783
  };
2719
- var setLoggedUserData$1 = function setLoggedUserData(data) {
2784
+ var setLoggedUserData$2 = function setLoggedUserData(data) {
2720
2785
  return {
2721
2786
  id: data.id,
2722
2787
  first_name: data.firstName,
@@ -3054,6 +3119,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3054
3119
 
3055
3120
  var themeMui = styles.createTheme(themeOptions);
3056
3121
  var isWindowDefined = typeof window !== 'undefined';
3122
+ var defaultCountry = isWindowDefined ? window.localStorage.getItem('eventCountry') : '';
3057
3123
  var userData = isWindowDefined && window.localStorage.getItem('user_data') ? JSON.parse(window.localStorage.getItem('user_data') || '') : {};
3058
3124
  var access_token = isWindowDefined && window.localStorage.getItem('access_token') ? window.localStorage.getItem('access_token') || '' : '';
3059
3125
 
@@ -3125,13 +3191,17 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3125
3191
  loading = _useState14[0],
3126
3192
  setLoading = _useState14[1];
3127
3193
 
3128
- var _useState15 = React.useState(null),
3129
- error = _useState15[0],
3130
- setError = _useState15[1];
3194
+ var _useState15 = React.useState(true),
3195
+ isCountriesLoading = _useState15[0],
3196
+ setIsCountriesLoading = _useState15[1];
3197
+
3198
+ var _useState16 = React.useState(null),
3199
+ error = _useState16[0],
3200
+ setError = _useState16[1];
3131
3201
 
3132
- var _useState16 = React.useState(false),
3133
- phoneValidationIsLoading = _useState16[0],
3134
- setPhoneValidationIsLoading = _useState16[1];
3202
+ var _useState17 = React.useState(false),
3203
+ phoneValidationIsLoading = _useState17[0],
3204
+ setPhoneValidationIsLoading = _useState17[1];
3135
3205
 
3136
3206
  var emailLogged = _get(userData, 'email', '') || _get(userValues, 'email', '');
3137
3207
 
@@ -3211,30 +3281,34 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3211
3281
  case 3:
3212
3282
  res = _context2.sent;
3213
3283
  setCustomHeader(res);
3214
- setCountries(_map(_get(res, 'data.data'), function (item, key) {
3284
+ setCountries(_map(_get(res, 'data.data'), function (item) {
3215
3285
  return {
3216
- label: item,
3217
- value: key
3286
+ label: item.name,
3287
+ value: item.id,
3288
+ code: item.code
3218
3289
  };
3219
3290
  }));
3291
+ setIsCountriesLoading(false);
3220
3292
  onGetCountriesSuccess(res.data);
3221
- _context2.next = 12;
3293
+ _context2.next = 14;
3222
3294
  break;
3223
3295
 
3224
- case 9:
3225
- _context2.prev = 9;
3296
+ case 10:
3297
+ _context2.prev = 10;
3226
3298
  _context2.t0 = _context2["catch"](0);
3227
3299
 
3228
3300
  if (axios.isAxiosError(_context2.t0)) {
3229
3301
  onGetCountriesError(_context2.t0);
3230
3302
  }
3231
3303
 
3232
- case 12:
3304
+ setIsCountriesLoading(false);
3305
+
3306
+ case 14:
3233
3307
  case "end":
3234
3308
  return _context2.stop();
3235
3309
  }
3236
3310
  }
3237
- }, _callee2, null, [[0, 9]]);
3311
+ }, _callee2, null, [[0, 10]]);
3238
3312
  }));
3239
3313
 
3240
3314
  return function fetchCountries() {
@@ -3313,7 +3387,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3313
3387
  case 4:
3314
3388
  userDataResponse = _context4.sent;
3315
3389
  profileSpecifiedData = _get(userDataResponse, 'data.data');
3316
- profileDataObj = setLoggedUserData$1(profileSpecifiedData);
3390
+ profileDataObj = setLoggedUserData$2(profileSpecifiedData);
3317
3391
  setUserValues(_extends({}, profileDataObj, {
3318
3392
  firstName: profileDataObj.first_name,
3319
3393
  lastName: profileDataObj.last_name
@@ -3444,7 +3518,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3444
3518
 
3445
3519
  return React__default.createElement(styles.ThemeProvider, {
3446
3520
  theme: themeMui
3447
- }, loading && React__default.createElement(Backdrop, {
3521
+ }, (loading || isCountriesLoading) && React__default.createElement(Backdrop, {
3448
3522
  sx: {
3449
3523
  color: '#fff',
3450
3524
  backgroundColor: '#000000bd',
@@ -3456,9 +3530,11 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3456
3530
  })), !!expirationTime && enableTimer && React__default.createElement(TimerWidget$1, {
3457
3531
  expires_at: expirationTime,
3458
3532
  onCountdownFinish: onCountdownFinish
3459
- }), React__default.createElement(formik.Formik, {
3533
+ }), !isCountriesLoading && React__default.createElement(formik.Formik, {
3460
3534
  initialValues: getInitialValues(dataWithUniqueIds, _extends({
3461
- country: _get(userData, 'country', '') || '1',
3535
+ country: (_find(countries, function (item) {
3536
+ return item.code.toLowerCase() === defaultCountry;
3537
+ }) || {}).value || _get(userData, 'country', '') || '1',
3462
3538
  state: _get(userData, 'state', '') || '1',
3463
3539
  brand_opt_in: optedInFieldValue,
3464
3540
  ttf_opt_in: ttfOptIn
@@ -3503,7 +3579,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3503
3579
  case 11:
3504
3580
  updatedUserData = _context6.sent;
3505
3581
  _profileSpecifiedData = _get(updatedUserData, 'data.data');
3506
- _profileDataObj = setLoggedUserData$1(_profileSpecifiedData);
3582
+ _profileDataObj = setLoggedUserData$2(_profileSpecifiedData);
3507
3583
  window.localStorage.setItem('user_data', JSON.stringify(_profileDataObj));
3508
3584
 
3509
3585
  case 15:
@@ -3577,7 +3653,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3577
3653
  case 39:
3578
3654
  profileData = _context6.sent;
3579
3655
  profileSpecifiedData = _get(profileData, 'data.data');
3580
- profileDataObj = setLoggedUserData$1(profileSpecifiedData);
3656
+ profileDataObj = setLoggedUserData$2(profileSpecifiedData);
3581
3657
 
3582
3658
  if (isWindowDefined) {
3583
3659
  window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
@@ -3745,7 +3821,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3745
3821
  return ['password', 'confirmPassword', 'password-info'].includes(element.name) && isLoggedIn ? null : ['data_capture[wallet_address]'].includes(element.name) && hideWalletAddressField ? null : React__default.createElement(React__default.Fragment, {
3746
3822
  key: element.uniqueId
3747
3823
  }, React__default.createElement("div", {
3748
- className: element.className + " " + (props == null ? void 0 : props.errors[element.name])
3824
+ className: element.className + " " + ((props == null ? void 0 : props.errors[element.name]) || '')
3749
3825
  }, element.component ? element.component : React__default.createElement(formik.Field, {
3750
3826
  setPhoneValidationIsLoading: element.type === 'phone' ? setPhoneValidationIsLoading : undefined,
3751
3827
  name: element.name,
@@ -3755,11 +3831,14 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3755
3831
  validate: getValidateFunctions(element, states, props.values, props.errors),
3756
3832
  setFieldValue: props.setFieldValue,
3757
3833
  onBlur: props.handleBlur,
3758
- component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? PhoneNumberField : element.type === 'date' ? DatePickerField : CustomField,
3834
+ component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? PhoneNumberField : element.type === 'date' ? DatePickerField : element.type === 'radio' ? RadioGroupField : CustomField,
3759
3835
  selectOptions: element.name === 'country' ? countries : element.name === 'state' ? states : [],
3836
+ radios: element.radios,
3760
3837
  theme: theme,
3761
3838
  disableDropdown: element.disableDropdown,
3762
- defaultCountry: element.defaultCountry
3839
+ defaultCountry: defaultCountry || element.defaultCountry,
3840
+ dateFormat: element.format,
3841
+ datePlaceholder: element.placeholder
3763
3842
  })));
3764
3843
  })));
3765
3844
  }));
@@ -3795,7 +3874,7 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3795
3874
  }),
3796
3875
  disableDropdown: element.disableDropdown,
3797
3876
  setPhoneValidationIsLoading: setPhoneValidationIsLoading,
3798
- defaultCountry: element.defaultCountry
3877
+ defaultCountry: defaultCountry || element.defaultCountry
3799
3878
  }));
3800
3879
  })));
3801
3880
  }));
@@ -4952,6 +5031,38 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
4952
5031
  }))))));
4953
5032
  };
4954
5033
 
5034
+ var X_TF_ECOMMERCE = 'X-TF-ECOMMERCE';
5035
+
5036
+ var useCookieListener = function useCookieListener(key, handler) {
5037
+ var getCookie = function getCookie() {
5038
+ return getCookieByName(key);
5039
+ };
5040
+
5041
+ var _useState = React.useState(),
5042
+ intervalValue = _useState[0],
5043
+ setIntervalValue = _useState[1];
5044
+
5045
+ var cookieRef = React.useRef(getCookie());
5046
+
5047
+ var handleCookieChange = function handleCookieChange() {
5048
+ var currentCookie = getCookie();
5049
+ var prevCookie = cookieRef.current;
5050
+
5051
+ if (currentCookie !== prevCookie) {
5052
+ cookieRef.current = getCookie();
5053
+ handler(cookieRef.current);
5054
+ }
5055
+ };
5056
+
5057
+ React.useEffect(function () {
5058
+ var interval = setInterval(handleCookieChange, 500);
5059
+ setIntervalValue(interval);
5060
+ return function () {
5061
+ intervalValue && clearInterval(intervalValue);
5062
+ }; // eslint-disable-next-line react-hooks/exhaustive-deps
5063
+ }, []);
5064
+ };
5065
+
4955
5066
  var style$3 = {
4956
5067
  position: 'absolute',
4957
5068
  top: '50%',
@@ -5554,6 +5665,10 @@ var TicketsContainer = function TicketsContainer(_ref) {
5554
5665
  onLogoutSuccess = _ref$onLogoutSuccess === void 0 ? _identity : _ref$onLogoutSuccess,
5555
5666
  _ref$onLogoutError = _ref.onLogoutError,
5556
5667
  onLogoutError = _ref$onLogoutError === void 0 ? _identity : _ref$onLogoutError,
5668
+ _ref$onGetProfileData = _ref.onGetProfileDataSuccess,
5669
+ onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ? _identity : _ref$onGetProfileData,
5670
+ _ref$onGetProfileData2 = _ref.onGetProfileDataError,
5671
+ onGetProfileDataError = _ref$onGetProfileData2 === void 0 ? _identity : _ref$onGetProfileData2,
5557
5672
  _ref$theme = _ref.theme,
5558
5673
  theme = _ref$theme === void 0 ? 'light' : _ref$theme,
5559
5674
  _ref$queryPromoCode = _ref.queryPromoCode,
@@ -5596,9 +5711,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
5596
5711
  setSelectedTickets = _useState[1];
5597
5712
 
5598
5713
  var isWindowDefined = typeof window !== 'undefined';
5599
- var xtfCookie = getCookieByName('X-TF-ECOMMERCE');
5600
5714
 
5601
- var _useState2 = React.useState((isWindowDefined ? !!window.localStorage.getItem('access_token') : false) || !!xtfCookie),
5715
+ var _useState2 = React.useState(Boolean(getCookieByName(X_TF_ECOMMERCE))),
5602
5716
  isLogged = _useState2[0],
5603
5717
  setIsLogged = _useState2[1];
5604
5718
 
@@ -5667,6 +5781,9 @@ var TicketsContainer = function TicketsContainer(_ref) {
5667
5781
  setIsInvalidLinkError = _useState18[1];
5668
5782
 
5669
5783
  var ticketsContainerRef = React.useRef(null);
5784
+ useCookieListener(X_TF_ECOMMERCE, function (value) {
5785
+ return setIsLogged(Boolean(value));
5786
+ });
5670
5787
  React.useEffect(function () {
5671
5788
  if (typeof window !== 'undefined') {
5672
5789
  var access_token = window.localStorage.getItem('access_token');
@@ -5684,6 +5801,18 @@ var TicketsContainer = function TicketsContainer(_ref) {
5684
5801
  React.useEffect(function () {
5685
5802
  !!eventId && getTicketsApi();
5686
5803
  }, [eventId]);
5804
+ React.useEffect(function () {
5805
+ if (isLogged) {
5806
+ fetchUserData().then(function (res) {
5807
+ window.localStorage.setItem('user_data', JSON.stringify(res));
5808
+ onGetProfileDataSuccess(res);
5809
+ })["catch"](function (e) {
5810
+ if (axios.isAxiosError(e)) {
5811
+ onGetProfileDataError(e);
5812
+ }
5813
+ });
5814
+ }
5815
+ }, [isLogged]);
5687
5816
 
5688
5817
  var handleLogout = /*#__PURE__*/function () {
5689
5818
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
@@ -5752,26 +5881,26 @@ var TicketsContainer = function TicketsContainer(_ref) {
5752
5881
  }
5753
5882
 
5754
5883
  function _getTicketsApi() {
5755
- _getTicketsApi = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(isUpdateingCode, type) {
5884
+ _getTicketsApi = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee4(isUpdateingCode, type) {
5756
5885
  var _previewKey, response, eventResponse, attributes, _event2;
5757
5886
 
5758
- return runtime_1.wrap(function _callee3$(_context3) {
5887
+ return runtime_1.wrap(function _callee4$(_context4) {
5759
5888
  while (1) {
5760
- switch (_context3.prev = _context3.next) {
5889
+ switch (_context4.prev = _context4.next) {
5761
5890
  case 0:
5762
- _context3.prev = 0;
5891
+ _context4.prev = 0;
5763
5892
  isUpdateingCode ? setCodeIsLoading(true) : setIsLoading(true);
5764
5893
  _previewKey = getQueryVariable('pk') || undefined;
5765
- _context3.next = 5;
5894
+ _context4.next = 5;
5766
5895
  return getTickets(eventId, code, _previewKey);
5767
5896
 
5768
5897
  case 5:
5769
- response = _context3.sent;
5770
- _context3.next = 8;
5898
+ response = _context4.sent;
5899
+ _context4.next = 8;
5771
5900
  return getEvent(eventId, _previewKey);
5772
5901
 
5773
5902
  case 8:
5774
- eventResponse = _context3.sent;
5903
+ eventResponse = _context4.sent;
5775
5904
 
5776
5905
  if (response.data.success) {
5777
5906
  attributes = _get(response, 'data.data.attributes');
@@ -5788,32 +5917,36 @@ var TicketsContainer = function TicketsContainer(_ref) {
5788
5917
  if (eventResponse.data.success) {
5789
5918
  _event2 = _get(eventResponse, 'data.data.attributes');
5790
5919
  setEvent(_event2);
5920
+
5921
+ if (_event2.country && isWindowDefined) {
5922
+ window.localStorage.setItem('eventCountry', _event2.country);
5923
+ }
5791
5924
  }
5792
5925
 
5793
- _context3.next = 16;
5926
+ _context4.next = 16;
5794
5927
  break;
5795
5928
 
5796
5929
  case 13:
5797
- _context3.prev = 13;
5798
- _context3.t0 = _context3["catch"](0);
5930
+ _context4.prev = 13;
5931
+ _context4.t0 = _context4["catch"](0);
5799
5932
 
5800
- if (axios.isAxiosError(_context3.t0)) {
5801
- onGetTicketsError(_context3.t0);
5802
- setError(_get(_context3.t0, 'response.data.message'));
5933
+ if (axios.isAxiosError(_context4.t0)) {
5934
+ onGetTicketsError(_context4.t0);
5935
+ setError(_get(_context4.t0, 'response.data.message'));
5803
5936
  }
5804
5937
 
5805
5938
  case 16:
5806
- _context3.prev = 16;
5939
+ _context4.prev = 16;
5807
5940
  setIsLoading(false);
5808
5941
  setCodeIsLoading(false);
5809
- return _context3.finish(16);
5942
+ return _context4.finish(16);
5810
5943
 
5811
5944
  case 20:
5812
5945
  case "end":
5813
- return _context3.stop();
5946
+ return _context4.stop();
5814
5947
  }
5815
5948
  }
5816
- }, _callee3, null, [[0, 13, 16, 20]]);
5949
+ }, _callee4, null, [[0, 13, 16, 20]]);
5817
5950
  }));
5818
5951
  return _getTicketsApi.apply(this, arguments);
5819
5952
  }
@@ -6012,6 +6145,41 @@ var TicketsContainer = function TicketsContainer(_ref) {
6012
6145
  getTicketsApi(isUpdateingCode, type);
6013
6146
  };
6014
6147
 
6148
+ var fetchUserData = /*#__PURE__*/function () {
6149
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3() {
6150
+ var userDataResponse, profileData, profileDataObj;
6151
+ return runtime_1.wrap(function _callee3$(_context3) {
6152
+ while (1) {
6153
+ switch (_context3.prev = _context3.next) {
6154
+ case 0:
6155
+ _context3.prev = 0;
6156
+ _context3.next = 3;
6157
+ return getProfileData();
6158
+
6159
+ case 3:
6160
+ userDataResponse = _context3.sent;
6161
+ profileData = _get(userDataResponse, 'data.data');
6162
+ profileDataObj = setLoggedUserData(profileData);
6163
+ return _context3.abrupt("return", profileDataObj);
6164
+
6165
+ case 9:
6166
+ _context3.prev = 9;
6167
+ _context3.t0 = _context3["catch"](0);
6168
+ throw new Error(_context3.t0);
6169
+
6170
+ case 12:
6171
+ case "end":
6172
+ return _context3.stop();
6173
+ }
6174
+ }
6175
+ }, _callee3, null, [[0, 9]]);
6176
+ }));
6177
+
6178
+ return function fetchUserData() {
6179
+ return _ref5.apply(this, arguments);
6180
+ };
6181
+ }();
6182
+
6015
6183
  var isTicketOnSale = _some(tickets, function (item) {
6016
6184
  return item.salesStarted && !item.salesEnded && !item.soldOut;
6017
6185
  });