tf-checkout-react 1.0.99 → 1.0.100-beta.2

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.
Files changed (117) hide show
  1. package/README.md +278 -1
  2. package/dist/api/index.d.ts +31 -26
  3. package/dist/components/account-settings/index.d.ts +3 -0
  4. package/dist/components/billing-info-container/index.d.ts +5 -5
  5. package/dist/components/billing-info-container/utils.d.ts +1 -0
  6. package/dist/components/common/CustomField.d.ts +1 -1
  7. package/dist/components/common/DatePickerField.d.ts +14 -0
  8. package/dist/components/common/RedirectModal.d.ts +7 -0
  9. package/dist/components/common/SnackbarAlert.d.ts +13 -0
  10. package/dist/components/confirmationContainer/index.d.ts +2 -1
  11. package/dist/components/countdown/index.d.ts +4 -1
  12. package/dist/components/myTicketsContainer/tableConfig.d.ts +0 -1
  13. package/dist/components/orderDetailsContainer/index.d.ts +5 -1
  14. package/dist/components/orderDetailsContainer/ticketsTable.d.ts +4 -1
  15. package/dist/components/paymentContainer/index.d.ts +3 -1
  16. package/dist/components/rsvpContainer/index.d.ts +7 -0
  17. package/dist/components/stripePayment/index.d.ts +2 -1
  18. package/dist/components/ticketResale/index.d.ts +5 -3
  19. package/dist/components/ticketsContainer/AccessCodeSection.d.ts +7 -0
  20. package/dist/components/ticketsContainer/PromoCodeSection.d.ts +6 -9
  21. package/dist/components/ticketsContainer/TicketsSection.d.ts +5 -3
  22. package/dist/components/ticketsContainer/index.d.ts +13 -2
  23. package/dist/components/timerWidget/index.d.ts +3 -3
  24. package/dist/env.d.ts +1 -0
  25. package/dist/images/cross.svg +44 -0
  26. package/dist/images/done.svg +3 -3
  27. package/dist/index.d.ts +2 -0
  28. package/dist/tf-checkout-react.cjs.development.js +1400 -575
  29. package/dist/tf-checkout-react.cjs.development.js.map +1 -1
  30. package/dist/tf-checkout-react.cjs.production.min.js +1 -1
  31. package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
  32. package/dist/tf-checkout-react.esm.js +1409 -586
  33. package/dist/tf-checkout-react.esm.js.map +1 -1
  34. package/dist/tf-checkout-styles.css +1 -1
  35. package/dist/utils/cookies.d.ts +3 -0
  36. package/dist/utils/createCheckoutDataBodyWithDefaultHolder.d.ts +6 -1
  37. package/dist/utils/downloadPDF.d.ts +1 -1
  38. package/dist/utils/getDomain.d.ts +1 -0
  39. package/dist/utils/index.d.ts +2 -0
  40. package/package.json +89 -89
  41. package/src/.DS_Store +0 -0
  42. package/src/.d.ts +2 -2
  43. package/src/api/index.ts +313 -278
  44. package/src/assets/images/cross.svg +44 -0
  45. package/src/assets/images/done.svg +3 -3
  46. package/src/components/.DS_Store +0 -0
  47. package/src/components/account-settings/index.tsx +161 -0
  48. package/src/components/account-settings/style.css +200 -0
  49. package/src/components/billing-info-container/index.tsx +821 -777
  50. package/src/components/billing-info-container/style.css +106 -106
  51. package/src/components/billing-info-container/utils.ts +233 -223
  52. package/src/components/common/CheckboxField.tsx +41 -41
  53. package/src/components/common/CustomField.tsx +87 -84
  54. package/src/components/common/DatePickerField.tsx +98 -0
  55. package/src/components/common/FormikPhoneNumberField.tsx +51 -51
  56. package/src/components/common/Loader.tsx +9 -9
  57. package/src/components/common/RadioField.tsx +35 -35
  58. package/src/components/common/RedirectModal.tsx +43 -0
  59. package/src/components/common/SelectField.tsx +80 -80
  60. package/src/components/common/SnackbarAlert.tsx +54 -0
  61. package/src/components/common/dist/PhoneNumberField.js +96 -0
  62. package/src/components/common/index.tsx +4 -4
  63. package/src/components/confirmModal/index.tsx +51 -51
  64. package/src/components/confirmModal/style.css +21 -21
  65. package/src/components/confirmationContainer/config.ts +72 -72
  66. package/src/components/confirmationContainer/index.tsx +197 -194
  67. package/src/components/confirmationContainer/social-buttons.tsx +94 -94
  68. package/src/components/confirmationContainer/style.css +202 -202
  69. package/src/components/countdown/index.tsx +100 -89
  70. package/src/components/countdown/style.css +9 -9
  71. package/src/components/index.ts +7 -7
  72. package/src/components/loginModal/index.tsx +171 -209
  73. package/src/components/loginModal/style.css +71 -71
  74. package/src/components/myTicketsContainer/index.tsx +201 -137
  75. package/src/components/myTicketsContainer/row.tsx +41 -41
  76. package/src/components/myTicketsContainer/style.css +40 -40
  77. package/src/components/myTicketsContainer/tableConfig.tsx +32 -34
  78. package/src/components/orderDetailsContainer/index.tsx +289 -249
  79. package/src/components/orderDetailsContainer/style.css +73 -73
  80. package/src/components/orderDetailsContainer/ticketsTable.tsx +177 -124
  81. package/src/components/paymentContainer/index.tsx +352 -284
  82. package/src/components/registerModal/index.tsx +183 -190
  83. package/src/components/rsvpContainer/index.tsx +126 -0
  84. package/src/components/stripePayment/index.tsx +258 -253
  85. package/src/components/stripePayment/style.css +60 -60
  86. package/src/components/ticketResale/index.tsx +74 -56
  87. package/src/components/ticketResaleModal/index.tsx +213 -210
  88. package/src/components/ticketResaleModal/style.css +28 -28
  89. package/src/components/ticketsContainer/AccessCodeSection.tsx +50 -0
  90. package/src/components/ticketsContainer/PromoCodeSection.tsx +89 -99
  91. package/src/components/ticketsContainer/ReferralLogic.tsx +31 -33
  92. package/src/components/ticketsContainer/TicketRow.tsx +89 -83
  93. package/src/components/ticketsContainer/TicketsSection.tsx +87 -81
  94. package/src/components/ticketsContainer/index.tsx +506 -409
  95. package/src/components/ticketsContainer/style.css +181 -181
  96. package/src/components/ticketsContainer/utils.ts +11 -11
  97. package/src/components/timerWidget/index.tsx +87 -70
  98. package/src/components/timerWidget/style.css +34 -26
  99. package/src/components/waitingList/index.tsx +178 -178
  100. package/src/components/waitingList/style.css +26 -26
  101. package/src/env.ts +20 -19
  102. package/src/index.ts +15 -13
  103. package/src/normalizers/index.ts +45 -45
  104. package/src/types/billing-info-data.ts +37 -37
  105. package/src/types/payment-field.ts +7 -7
  106. package/src/types/referral-promotion.ts +7 -7
  107. package/src/utils/cookies.ts +42 -0
  108. package/src/utils/createCheckoutDataBodyWithDefaultHolder.ts +71 -59
  109. package/src/utils/downloadPDF.tsx +52 -30
  110. package/src/utils/formikErrorFocus.ts +24 -24
  111. package/src/utils/getDomain.ts +15 -0
  112. package/src/utils/getImage.ts +14 -14
  113. package/src/utils/getQueryVariable.ts +13 -13
  114. package/src/utils/index.ts +7 -5
  115. package/src/utils/setConfigs.ts +26 -26
  116. package/src/utils/showZero.tsx +10 -10
  117. package/src/validators/index.ts +20 -20
@@ -32,33 +32,35 @@ var CircularProgress = _interopDefault(require('@mui/material/CircularProgress')
32
32
  var Select = _interopDefault(require('@mui/material/Select'));
33
33
  var styles$1 = require('@mui/material/styles');
34
34
  var Backdrop = _interopDefault(require('@mui/material/Backdrop'));
35
+ var Countdown$1 = _interopDefault(require('react-countdown'));
36
+ var _isNumber = _interopDefault(require('lodash/isNumber'));
37
+ var SVG = _interopDefault(require('react-inlinesvg'));
38
+ var DatePicker = _interopDefault(require('@mui/lab/DatePicker'));
39
+ var AdapterMoment = _interopDefault(require('@mui/lab/AdapterMoment'));
40
+ var LocalizationProvider = _interopDefault(require('@mui/lab/LocalizationProvider'));
35
41
  var Container = _interopDefault(require('@mui/material/Container'));
36
42
  var Alert = _interopDefault(require('@mui/material/Alert'));
37
43
  var reactStripeJs = require('@stripe/react-stripe-js');
38
44
  var stripeJs = require('@stripe/stripe-js');
39
- var Countdown$1 = _interopDefault(require('react-countdown'));
40
- var _isNumber = _interopDefault(require('lodash/isNumber'));
41
45
  var reactShare = require('react-share');
42
46
  var _some = _interopDefault(require('lodash/some'));
43
- var _every = _interopDefault(require('lodash/every'));
44
47
  var _find = _interopDefault(require('lodash/find'));
45
48
  var Button$1 = _interopDefault(require('react-bootstrap/Button'));
46
49
  var jwt_decode = _interopDefault(require('jwt-decode'));
47
50
  var _sortBy = _interopDefault(require('lodash/sortBy'));
48
51
  var FormControl = _interopDefault(require('@mui/material/FormControl'));
49
52
  var MenuItem = _interopDefault(require('@mui/material/MenuItem'));
50
- var SVG = _interopDefault(require('react-inlinesvg'));
51
53
  var moment = _interopDefault(require('moment-timezone'));
52
54
  var privateTheming = require('@mui/private-theming');
53
55
  var Table = _interopDefault(require('@mui/material/Table'));
54
56
  var TableBody = _interopDefault(require('@mui/material/TableBody'));
55
- var TableCell = _interopDefault(require('@mui/material/TableCell'));
56
57
  var TableContainer = _interopDefault(require('@mui/material/TableContainer'));
57
- var TableHead = _interopDefault(require('@mui/material/TableHead'));
58
- var TableRow = _interopDefault(require('@mui/material/TableRow'));
59
58
  var Paper = _interopDefault(require('@mui/material/Paper'));
60
59
  var TablePagination = _interopDefault(require('@mui/material/TablePagination'));
61
60
  var Autocomplete = _interopDefault(require('@mui/material/Autocomplete'));
61
+ var TableRow = _interopDefault(require('@mui/material/TableRow'));
62
+ var TableCell = _interopDefault(require('@mui/material/TableCell'));
63
+ var TableHead = _interopDefault(require('@mui/material/TableHead'));
62
64
  var _has = _interopDefault(require('lodash/has'));
63
65
  var yup = require('yup');
64
66
  var Radio = _interopDefault(require('@mui/material/Radio'));
@@ -1003,14 +1005,87 @@ var ErrorFocusInternal = /*#__PURE__*/function (_Component) {
1003
1005
 
1004
1006
  var ErrorFocus = /*#__PURE__*/formik.connect(ErrorFocusInternal);
1005
1007
 
1008
+ function getDomain(url, subdomain) {
1009
+ var updatedUrl = url.replace(/(https?:\/\/)?(www.)?/i, '');
1010
+
1011
+ if (!subdomain) {
1012
+ updatedUrl = updatedUrl.split('.');
1013
+ updatedUrl = updatedUrl.slice(updatedUrl.length - 2).join('.');
1014
+ }
1015
+
1016
+ if (updatedUrl.indexOf('/') !== -1) {
1017
+ return updatedUrl.split('/')[0];
1018
+ }
1019
+
1020
+ return updatedUrl;
1021
+ }
1022
+
1023
+ function setCustomCookie(name, value, days) {
1024
+ if (days === void 0) {
1025
+ days = 5;
1026
+ }
1027
+
1028
+ var expires = '';
1029
+
1030
+ if (days) {
1031
+ var date = new Date();
1032
+ date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
1033
+ expires = '; expires=' + date.toUTCString();
1034
+ }
1035
+
1036
+ if (typeof window !== 'undefined') {
1037
+ var domain = getDomain(window.location.hostname);
1038
+ document.cookie = name + '=' + (value || '') + expires + '; path=/' + ("; domain=" + domain);
1039
+ }
1040
+ }
1041
+ function getCookieByName(cname) {
1042
+ if (typeof window === 'undefined') return '';
1043
+ var name = cname + '=';
1044
+ var ca = document.cookie.split(';');
1045
+
1046
+ for (var i = 0; i < ca.length; i++) {
1047
+ var c = ca[i];
1048
+
1049
+ while (c.charAt(0) == ' ') {
1050
+ c = c.substring(1);
1051
+ }
1052
+
1053
+ if (c.indexOf(name) == 0) {
1054
+ return c.substring(name.length, c.length);
1055
+ }
1056
+ }
1057
+
1058
+ return '';
1059
+ }
1060
+ function deleteCookieByName(name) {
1061
+ if (typeof window !== 'undefined') {
1062
+ var domain = getDomain(window.location.hostname);
1063
+ document.cookie = name + '=; Path=/' + ("; domain=" + domain) + '; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
1064
+ }
1065
+ }
1066
+
1006
1067
  var downloadPDF = function downloadPDF(pdfUrl) {
1007
1068
  if (typeof window === 'undefined') return;
1069
+ var xtfCookie = getCookieByName('X-TF-ECOMMERCE');
1008
1070
  var accessToken = localStorage.getItem('access_token');
1009
- if (!accessToken) return;
1010
- fetch(pdfUrl, {
1011
- headers: {
1071
+ if (!accessToken && !xtfCookie) return;
1072
+ var headers = {};
1073
+
1074
+ if (accessToken) {
1075
+ headers = {
1012
1076
  Authorization: "Bearer " + accessToken
1013
- }
1077
+ };
1078
+ }
1079
+
1080
+ if (xtfCookie) {
1081
+ headers = {
1082
+ 'X-TF-ECOMMERCE': xtfCookie
1083
+ };
1084
+ }
1085
+
1086
+ return fetch(pdfUrl, {
1087
+ headers: headers,
1088
+ credentials: 'include'
1014
1089
  }).then( /*#__PURE__*/function () {
1015
1090
  var _ref = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(response) {
1016
1091
  var blobValue, fileNameHeader, fileName;
@@ -1023,7 +1098,7 @@ var downloadPDF = function downloadPDF(pdfUrl) {
1023
1098
 
1024
1099
  case 2:
1025
1100
  blobValue = _context.sent;
1026
- fileNameHeader = response.headers.get("content-disposition") || '';
1101
+ fileNameHeader = response.headers.get('content-disposition') || '';
1027
1102
  fileName = fileNameHeader.split('"')[1];
1028
1103
  return _context.abrupt("return", {
1029
1104
  blobValue: blobValue,
@@ -1044,7 +1119,11 @@ var downloadPDF = function downloadPDF(pdfUrl) {
1044
1119
  }()).then(function (_ref2) {
1045
1120
  var blobValue = _ref2.blobValue,
1046
1121
  fileName = _ref2.fileName;
1047
- if (!fileName) return;
1122
+
1123
+ if (!fileName) {
1124
+ throw Error('Something went wrong.');
1125
+ }
1126
+
1048
1127
  var file = new Blob([blobValue], {
1049
1128
  type: 'application/pdf'
1050
1129
  });
@@ -1055,21 +1134,27 @@ var downloadPDF = function downloadPDF(pdfUrl) {
1055
1134
  document.body.appendChild(link);
1056
1135
  link.click();
1057
1136
  document.body.removeChild(link);
1137
+ })["catch"](function (error) {
1138
+ return error;
1058
1139
  });
1059
1140
  };
1060
1141
 
1061
- var createCheckoutDataBodyWithDefaultHolder = function createCheckoutDataBodyWithDefaultHolder(ticketsQuantity, logedInValues, includeDob) {
1142
+ var createCheckoutDataBodyWithDefaultHolder = function createCheckoutDataBodyWithDefaultHolder(ticketsQuantity, logedInValues, includeDob, userCredentials) {
1062
1143
  if (includeDob === void 0) {
1063
1144
  includeDob = false;
1064
1145
  }
1065
1146
 
1147
+ if (userCredentials === void 0) {
1148
+ userCredentials = {};
1149
+ }
1150
+
1066
1151
  var ticket_holders = [];
1067
- var first_name = _get(logedInValues, 'firstName') || _get(logedInValues, 'first_name') || '';
1068
- var last_name = _get(logedInValues, 'lastName', '') || _get(logedInValues, 'last_name') || '';
1152
+ var first_name = _get(logedInValues, 'firstName') || _get(logedInValues, 'first_name') || _get(userCredentials, 'firstNameLogged') || '';
1153
+ var last_name = _get(logedInValues, 'lastName') || _get(logedInValues, 'last_name') || _get(userCredentials, 'lastNameLogged') || '';
1069
1154
 
1070
1155
  var phone = _get(logedInValues, 'phone', '');
1071
1156
 
1072
- var email = _get(logedInValues, 'email', '');
1157
+ var email = _get(logedInValues, 'email') || _get(userCredentials, 'emailLogged') || '';
1073
1158
 
1074
1159
  for (var i = 0; i <= ticketsQuantity - 1; i++) {
1075
1160
  var individualHolder = i ? {
@@ -1121,6 +1206,13 @@ var publicRequest = /*#__PURE__*/axios.create({
1121
1206
  headers: ttfHeaders
1122
1207
  });
1123
1208
  publicRequest.interceptors.response.use(function (response) {
1209
+ var authGuestToken = _get(response, 'headers.authorization-guest');
1210
+
1211
+ if (isWindowDefined && authGuestToken) {
1212
+ window.localStorage.setItem('auth_guest_token', authGuestToken);
1213
+ publicRequest.setGuestToken(authGuestToken);
1214
+ }
1215
+
1124
1216
  return response;
1125
1217
  }, function (error) {
1126
1218
  var _error$response;
@@ -1129,7 +1221,6 @@ publicRequest.interceptors.response.use(function (response) {
1129
1221
  if (isWindowDefined) {
1130
1222
  var _error$response2, _error$response2$data;
1131
1223
 
1132
- window.localStorage.removeItem('auth_guest_token');
1133
1224
  window.localStorage.removeItem('user_data');
1134
1225
  window.localStorage.removeItem('access_token');
1135
1226
  var errorType = error == null ? void 0 : (_error$response2 = error.response) == null ? void 0 : (_error$response2$data = _error$response2.data) == null ? void 0 : _error$response2$data.error;
@@ -1140,6 +1231,13 @@ publicRequest.interceptors.response.use(function (response) {
1140
1231
  }
1141
1232
  }
1142
1233
 
1234
+ var authGuestToken = _get(error, 'response.headers.authorization-guest');
1235
+
1236
+ if (isWindowDefined && authGuestToken) {
1237
+ window.localStorage.setItem('auth_guest_token', authGuestToken);
1238
+ publicRequest.setGuestToken(authGuestToken);
1239
+ }
1240
+
1143
1241
  return Promise.reject(error);
1144
1242
  });
1145
1243
  publicRequest.interceptors.request.use(function (config) {
@@ -1165,20 +1263,41 @@ publicRequest.interceptors.request.use(function (config) {
1165
1263
  config.headers = _updatedHeaders;
1166
1264
  }
1167
1265
 
1168
- if (CONFIGS.X_SOURCE_ORIGIN) {
1266
+ if (getCookieByName('X-TF-ECOMMERCE')) {
1169
1267
  var _updatedHeaders2 = _extends({}, config.headers, {
1170
- 'X-Source-Origin': CONFIGS.X_SOURCE_ORIGIN
1268
+ 'X-TF-ECOMMERCE': getCookieByName('X-TF-ECOMMERCE')
1171
1269
  });
1172
1270
 
1173
1271
  config.headers = _updatedHeaders2;
1174
1272
  }
1175
1273
 
1274
+ if (CONFIGS.X_SOURCE_ORIGIN) {
1275
+ var _updatedHeaders3 = _extends({}, config.headers, {
1276
+ 'X-Source-Origin': CONFIGS.X_SOURCE_ORIGIN
1277
+ });
1278
+
1279
+ config.headers = _updatedHeaders3;
1280
+ }
1281
+
1176
1282
  if (CONFIGS.BASE_URL) {
1177
1283
  config.baseURL = CONFIGS.BASE_URL + '/api';
1178
1284
  }
1179
1285
 
1180
1286
  return config;
1181
1287
  });
1288
+ publicRequest.interceptors.response.use(function (response) {
1289
+ var xtfCookie = _get(response, 'headers.x-tf-ecommerce');
1290
+
1291
+ var url = _get(response, 'config.url');
1292
+
1293
+ var method = _get(response, 'config.method');
1294
+
1295
+ if (xtfCookie && !(url === '/auth' && method === 'delete')) {
1296
+ setCustomCookie('X-TF-ECOMMERCE', xtfCookie);
1297
+ }
1298
+
1299
+ return response;
1300
+ });
1182
1301
 
1183
1302
  publicRequest.setGuestToken = function (token) {
1184
1303
  return publicRequest.defaults.headers.common['Authorization-Guest'] = token;
@@ -1209,14 +1328,6 @@ var setCustomHeader = function setCustomHeader(response) {
1209
1328
  }
1210
1329
  }
1211
1330
  };
1212
- var handleSetAccessToken = function handleSetAccessToken(token) {
1213
- if (token) {
1214
- if (isWindowDefined) {
1215
- window.localStorage.setItem('access_token', token);
1216
- publicRequest.setAccessToken(token);
1217
- }
1218
- }
1219
- };
1220
1331
  function getEvent(id) {
1221
1332
  var response = publicRequest.get("v1/event/" + id, {
1222
1333
  headers: ttfHeaders
@@ -1257,14 +1368,11 @@ var postOnCheckout = function postOnCheckout(data, accessToken) {
1257
1368
  return res;
1258
1369
  };
1259
1370
  var authorize = function authorize(data) {
1260
- return publicRequest.post("v1/oauth/authorize-rn?client_id=" + (CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'), data);
1371
+ return publicRequest.post("/auth?clientId=" + (CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf'), data);
1261
1372
  };
1262
1373
  var register = function register(data) {
1263
1374
  return publicRequest.post('v1/oauth/register-rn', data);
1264
1375
  };
1265
- var getAccessToken = function getAccessToken(data) {
1266
- return publicRequest.post('v1/oauth/access_token', data);
1267
- };
1268
1376
  var getPaymentData = function getPaymentData(hash) {
1269
1377
  var response = publicRequest.get("v1/order/" + hash + "/review/")["catch"](function (error) {
1270
1378
  throw error;
@@ -1325,8 +1433,17 @@ var postReferralVisits = function postReferralVisits(eventId, referralId) {
1325
1433
  referrer: "" + referralId
1326
1434
  });
1327
1435
  };
1328
- var checkTicketStatus = function checkTicketStatus(hash) {
1329
- return publicRequest.post("v1/ticket/" + hash + "/status/");
1436
+ var logout = function logout() {
1437
+ return publicRequest["delete"]('/auth');
1438
+ };
1439
+ var processTicket = function processTicket(hash) {
1440
+ return publicRequest.post("v1/ticket/" + hash + "/process/");
1441
+ };
1442
+ var declineInvitation = function declineInvitation(hash) {
1443
+ return publicRequest.post("v1/ticket/" + hash + "/decline");
1444
+ };
1445
+ var sendRSVPInfo = function sendRSVPInfo(eventId, data) {
1446
+ return publicRequest.post("v1/event/" + eventId + "/send-rsvp-info", data);
1330
1447
  };
1331
1448
 
1332
1449
  var style = {
@@ -1346,10 +1463,6 @@ var LoginModal = function LoginModal(_ref) {
1346
1463
  alreadyHasUser = _ref$alreadyHasUser === void 0 ? false : _ref$alreadyHasUser,
1347
1464
  _ref$userExpired = _ref.userExpired,
1348
1465
  userExpired = _ref$userExpired === void 0 ? false : _ref$userExpired,
1349
- _ref$onAuthorizeSucce = _ref.onAuthorizeSuccess,
1350
- onAuthorizeSuccess = _ref$onAuthorizeSucce === void 0 ? function () {} : _ref$onAuthorizeSucce,
1351
- _ref$onAuthorizeError = _ref.onAuthorizeError,
1352
- onAuthorizeError = _ref$onAuthorizeError === void 0 ? function () {} : _ref$onAuthorizeError,
1353
1466
  _ref$onGetProfileData = _ref.onGetProfileDataSuccess,
1354
1467
  onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ? function () {} : _ref$onGetProfileData,
1355
1468
  _ref$onGetProfileData2 = _ref.onGetProfileDataError,
@@ -1382,7 +1495,7 @@ var LoginModal = function LoginModal(_ref) {
1382
1495
  },
1383
1496
  onSubmit: function () {
1384
1497
  var _onSubmit = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref2) {
1385
- var email, password, bodyFormData, resAutorize, bodyFormDataToken, resAccessToken, accessToken, profileResponse, profileSpecifiedData, profileDataObj, event, _e$response, _e$response$data, _error;
1498
+ var email, password, body, profileResponse, profileSpecifiedData, profileDataObj, event, _e$response, _e$response$data, _error;
1386
1499
 
1387
1500
  return runtime_1.wrap(function _callee$(_context) {
1388
1501
  while (1) {
@@ -1390,66 +1503,36 @@ var LoginModal = function LoginModal(_ref) {
1390
1503
  case 0:
1391
1504
  email = _ref2.email, password = _ref2.password;
1392
1505
  _context.prev = 1;
1393
- bodyFormData = new FormData();
1394
- bodyFormData.append('email', email);
1395
- bodyFormData.append('password', password);
1396
- _context.next = 7;
1397
- return authorize(bodyFormData);
1398
-
1399
- case 7:
1400
- resAutorize = _context.sent;
1401
- bodyFormDataToken = new FormData();
1402
- bodyFormDataToken.append('code', resAutorize.data.data.code);
1403
- bodyFormDataToken.append('scope', 'profile');
1404
- bodyFormDataToken.append('grant_type', 'authorization_code');
1405
- bodyFormDataToken.append('client_id', CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf');
1406
- bodyFormDataToken.append('client_secret', CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9');
1407
- resAccessToken = null;
1408
- _context.prev = 15;
1409
- _context.next = 18;
1410
- return getAccessToken(bodyFormDataToken);
1411
-
1412
- case 18:
1413
- resAccessToken = _context.sent;
1414
- onAuthorizeSuccess(resAccessToken.data);
1415
- _context.next = 26;
1416
- break;
1417
-
1418
- case 22:
1419
- _context.prev = 22;
1420
- _context.t0 = _context["catch"](15);
1421
-
1422
- if (axios.isAxiosError(_context.t0)) {
1423
- onAuthorizeError(_context.t0);
1424
- }
1425
-
1426
- return _context.abrupt("return");
1506
+ body = {
1507
+ email: email,
1508
+ password: password
1509
+ };
1510
+ _context.next = 5;
1511
+ return authorize(body);
1427
1512
 
1428
- case 26:
1429
- accessToken = _get(resAccessToken, 'data.access_token');
1430
- handleSetAccessToken(accessToken);
1513
+ case 5:
1431
1514
  profileResponse = null;
1432
- _context.prev = 29;
1433
- _context.next = 32;
1434
- return getProfileData(accessToken);
1515
+ _context.prev = 6;
1516
+ _context.next = 9;
1517
+ return getProfileData();
1435
1518
 
1436
- case 32:
1519
+ case 9:
1437
1520
  profileResponse = _context.sent;
1438
1521
  onGetProfileDataSuccess(profileResponse.data);
1439
- _context.next = 40;
1522
+ _context.next = 17;
1440
1523
  break;
1441
1524
 
1442
- case 36:
1443
- _context.prev = 36;
1444
- _context.t1 = _context["catch"](29);
1525
+ case 13:
1526
+ _context.prev = 13;
1527
+ _context.t0 = _context["catch"](6);
1445
1528
 
1446
- if (axios.isAxiosError(_context.t1)) {
1447
- onGetProfileDataError(_context.t1);
1529
+ if (axios.isAxiosError(_context.t0)) {
1530
+ onGetProfileDataError(_context.t0);
1448
1531
  }
1449
1532
 
1450
1533
  return _context.abrupt("return");
1451
1534
 
1452
- case 40:
1535
+ case 17:
1453
1536
  profileSpecifiedData = _get(profileResponse, 'data.data');
1454
1537
  profileDataObj = {
1455
1538
  id: profileSpecifiedData.id,
@@ -1460,32 +1543,31 @@ var LoginModal = function LoginModal(_ref) {
1460
1543
 
1461
1544
  if (typeof window !== 'undefined') {
1462
1545
  window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
1463
- window.localStorage.setItem('access_token', accessToken);
1464
1546
  event = new window.CustomEvent('tf-login');
1465
1547
  window.document.dispatchEvent(event);
1466
1548
  }
1467
1549
 
1468
1550
  onLogin();
1469
- _context.next = 49;
1551
+ _context.next = 26;
1470
1552
  break;
1471
1553
 
1472
- case 46:
1473
- _context.prev = 46;
1474
- _context.t2 = _context["catch"](1);
1554
+ case 23:
1555
+ _context.prev = 23;
1556
+ _context.t1 = _context["catch"](1);
1475
1557
 
1476
- if (axios.isAxiosError(_context.t2)) {
1477
- _error = (_context.t2 == null ? void 0 : (_e$response = _context.t2.response) == null ? void 0 : (_e$response$data = _e$response.data) == null ? void 0 : _e$response$data.message) || 'Error';
1558
+ if (axios.isAxiosError(_context.t1)) {
1559
+ _error = (_context.t1 == null ? void 0 : (_e$response = _context.t1.response) == null ? void 0 : (_e$response$data = _e$response.data) == null ? void 0 : _e$response$data.message) || 'Error';
1478
1560
  setError(_error);
1479
- } else if (_context.t2 instanceof Error) {
1480
- setError((_context.t2 == null ? void 0 : _context.t2.message) || 'Error');
1561
+ } else if (_context.t1 instanceof Error) {
1562
+ setError((_context.t1 == null ? void 0 : _context.t1.message) || 'Error');
1481
1563
  }
1482
1564
 
1483
- case 49:
1565
+ case 26:
1484
1566
  case "end":
1485
1567
  return _context.stop();
1486
1568
  }
1487
1569
  }
1488
- }, _callee, null, [[1, 46], [15, 22], [29, 36]]);
1570
+ }, _callee, null, [[1, 23], [6, 13]]);
1489
1571
  }));
1490
1572
 
1491
1573
  function onSubmit(_x) {
@@ -1582,7 +1664,7 @@ var RegisterModal = function RegisterModal(_ref) {
1582
1664
  },
1583
1665
  onSubmit: function () {
1584
1666
  var _onSubmit = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref2) {
1585
- var firstName, lastName, email, password, confirmPassword, bodyFormData, resRegister, access_token, profileResponse, profileSpecifiedData, profileDataObj;
1667
+ var firstName, lastName, email, password, confirmPassword, bodyFormData, profileResponse, profileSpecifiedData, profileDataObj;
1586
1668
  return runtime_1.wrap(function _callee$(_context) {
1587
1669
  while (1) {
1588
1670
  switch (_context.prev = _context.next) {
@@ -1600,27 +1682,24 @@ var RegisterModal = function RegisterModal(_ref) {
1600
1682
  return register(bodyFormData);
1601
1683
 
1602
1684
  case 11:
1603
- resRegister = _context.sent;
1604
- access_token = _get(resRegister, 'data.data.attributes.access_token');
1605
- handleSetAccessToken(access_token);
1606
1685
  profileResponse = null;
1607
- _context.prev = 15;
1608
- _context.next = 18;
1609
- return getProfileData(access_token);
1686
+ _context.prev = 12;
1687
+ _context.next = 15;
1688
+ return getProfileData();
1610
1689
 
1611
- case 18:
1690
+ case 15:
1612
1691
  profileResponse = _context.sent;
1613
1692
  onGetProfileDataSuccess(profileResponse.data);
1614
- _context.next = 26;
1693
+ _context.next = 23;
1615
1694
  break;
1616
1695
 
1617
- case 22:
1618
- _context.prev = 22;
1619
- _context.t0 = _context["catch"](15);
1696
+ case 19:
1697
+ _context.prev = 19;
1698
+ _context.t0 = _context["catch"](12);
1620
1699
  onGetProfileDataError(_context.t0.response);
1621
1700
  return _context.abrupt("return");
1622
1701
 
1623
- case 26:
1702
+ case 23:
1624
1703
  profileSpecifiedData = _get(profileResponse, 'data.data');
1625
1704
  profileDataObj = {
1626
1705
  id: profileSpecifiedData.id,
@@ -1630,18 +1709,17 @@ var RegisterModal = function RegisterModal(_ref) {
1630
1709
  };
1631
1710
 
1632
1711
  if (typeof window !== 'undefined') {
1633
- window.localStorage.setItem('access_token', access_token);
1634
1712
  window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
1635
1713
  }
1636
1714
 
1637
1715
  onClose();
1638
1716
 
1639
- case 30:
1717
+ case 27:
1640
1718
  case "end":
1641
1719
  return _context.stop();
1642
1720
  }
1643
1721
  }
1644
- }, _callee, null, [[15, 22]]);
1722
+ }, _callee, null, [[12, 19]]);
1645
1723
  }));
1646
1724
 
1647
1725
  function onSubmit(_x) {
@@ -1795,6 +1873,7 @@ var createRegisterFormData = function createRegisterFormData(values, checkoutBod
1795
1873
  bodyFormData.append('password_confirmation', values.confirmPassword);
1796
1874
  bodyFormData.append('client_id', CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf');
1797
1875
  bodyFormData.append('client_secret', CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9');
1876
+ bodyFormData.append('check_cart_expiration', 'true');
1798
1877
 
1799
1878
  _forEach(checkoutBody.attributes, function (item, key) {
1800
1879
  bodyFormData.append(key, item);
@@ -1810,7 +1889,7 @@ var setLoggedUserData = function setLoggedUserData(data) {
1810
1889
  email: data.email,
1811
1890
  confirmEmail: data.email,
1812
1891
  city: (data == null ? void 0 : data.city) || '',
1813
- country: (data == null ? void 0 : data.country) || '',
1892
+ country: (data == null ? void 0 : data.countryId) || (data == null ? void 0 : data.country) || '',
1814
1893
  phone: (data == null ? void 0 : data.phone) || '',
1815
1894
  street_address: (data == null ? void 0 : data.streetAddress) || '',
1816
1895
  state: (data == null ? void 0 : data.stateId) || '',
@@ -1856,10 +1935,10 @@ var createCheckoutDataBody = function createCheckoutDataBody(ticketsQuantity, va
1856
1935
  });
1857
1936
  ticket_holders = filteredHolders.map(function (item, index) {
1858
1937
  return {
1859
- first_name: item["holderFirstName-" + index] || '',
1860
- last_name: item["holderLastName-" + index] || '',
1938
+ first_name: !index ? item["holderFirstName-" + index] || logedInValues.firstNameLogged || '' : item["holderFirstName-" + index] || '',
1939
+ last_name: !index ? item["holderLastName-" + index] || logedInValues.lastNameLogged || '' : item["holderLastName-" + index] || '',
1861
1940
  phone: item["holderPhone-" + index] || '',
1862
- email: item["holderEmail-" + index] || ''
1941
+ email: !index ? item["holderEmail-" + index] || logedInValues.emailLogged || '' : item["holderEmail-" + index] || ''
1863
1942
  };
1864
1943
  });
1865
1944
  var filteredRestValue = {};
@@ -1910,6 +1989,14 @@ var getValidateFunctions = function getValidateFunctions(element, states, values
1910
1989
  validationFunctions.push(isSameEmail);
1911
1990
  }
1912
1991
 
1992
+ if (element.name === 'confirmPassword') {
1993
+ var isSame = function isSame(confirmPassword) {
1994
+ return values.password !== confirmPassword ? 'Password confirmation does not match' : null;
1995
+ };
1996
+
1997
+ validationFunctions.push(isSame);
1998
+ }
1999
+
1913
2000
  return combineValidators.apply(void 0, validationFunctions);
1914
2001
  };
1915
2002
  var assingUniqueIds = function assingUniqueIds(data) {
@@ -1961,13 +2048,21 @@ var CustomField = function CustomField(_ref) {
1961
2048
  touched = _ref$form.touched,
1962
2049
  errors = _ref$form.errors,
1963
2050
  submitCount = _ref$form.submitCount,
1964
- theme = _ref.theme;
2051
+ theme = _ref.theme,
2052
+ _ref$inputProps = _ref.inputProps,
2053
+ pInputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
2054
+ _ref$InputProps = _ref.InputProps,
2055
+ InputProps = _ref$InputProps === void 0 ? {} : _ref$InputProps,
2056
+ inputRef = _ref.inputRef;
1965
2057
  var isSelectField = type === 'select';
1966
2058
 
1967
2059
  var error = _get(errors, field.name);
1968
2060
 
1969
2061
  var isTouched = Boolean(_get(touched, field.name)) || _includes(field.name, 'holder') && !!error && !!submitCount;
1970
2062
  var customTheme = styles.useTheme();
2063
+ var inputProps = {
2064
+ sx: customTheme == null ? void 0 : customTheme.input
2065
+ };
1971
2066
  return React__default.createElement(TextField, Object.assign({
1972
2067
  id: field.name,
1973
2068
  label: label,
@@ -1984,12 +2079,11 @@ var CustomField = function CustomField(_ref) {
1984
2079
  }
1985
2080
  },
1986
2081
  InputLabelProps: {
1987
- sx: customTheme == null ? void 0 : customTheme.input,
1988
- shrink: field.name === 'holderAge' ? true : undefined
1989
- },
1990
- inputProps: {
1991
2082
  sx: customTheme == null ? void 0 : customTheme.input
1992
- }
2083
+ },
2084
+ InputProps: InputProps,
2085
+ inputProps: _extends({}, inputProps, pInputProps),
2086
+ inputRef: inputRef
1993
2087
  }, field), isSelectField ? _map(selectOptions, function (option) {
1994
2088
  return React__default.createElement("option", {
1995
2089
  key: option.value,
@@ -2167,6 +2261,204 @@ var SelectField = function SelectField(_ref) {
2167
2261
  }, error) : null);
2168
2262
  };
2169
2263
 
2264
+ var showZero = function showZero(value) {
2265
+ if (value === void 0) {
2266
+ value = 0;
2267
+ }
2268
+
2269
+ var intNumber = Number(value);
2270
+ return _isNumber(intNumber) ? intNumber >= 0 && intNumber < 10 ? '0' + intNumber : intNumber : null;
2271
+ };
2272
+
2273
+ var getImage = function getImage(name) {
2274
+ if (name === void 0) {
2275
+ name = '';
2276
+ }
2277
+
2278
+ var image = '';
2279
+
2280
+ if (!name.trim().length) {
2281
+ return image;
2282
+ }
2283
+
2284
+ return image;
2285
+ };
2286
+
2287
+ var TimerWidget = function TimerWidget(_ref) {
2288
+ var expires_at = _ref.expires_at,
2289
+ buyLoading = _ref.buyLoading,
2290
+ _ref$onCountdownFinis = _ref.onCountdownFinish,
2291
+ onCountdownFinish = _ref$onCountdownFinis === void 0 ? function () {} : _ref$onCountdownFinis;
2292
+
2293
+ var _useState = React.useState(true),
2294
+ showTimer = _useState[0],
2295
+ setShowTimer = _useState[1];
2296
+
2297
+ var handleCountdownFinish = function handleCountdownFinish() {
2298
+ setShowTimer(false);
2299
+
2300
+ if (!buyLoading) {
2301
+ onCountdownFinish();
2302
+ }
2303
+ };
2304
+
2305
+ var _renderer = function renderer(_ref2) {
2306
+ var minutes = _ref2.minutes,
2307
+ seconds = _ref2.seconds,
2308
+ completed = _ref2.completed,
2309
+ handleCountdownFinish = _ref2.handleCountdownFinish;
2310
+
2311
+ if (completed) {
2312
+ handleCountdownFinish();
2313
+ return null;
2314
+ }
2315
+
2316
+ return React__default.createElement("span", null, showZero(minutes), ":", showZero(seconds));
2317
+ };
2318
+
2319
+ var hideTimer = function hideTimer() {
2320
+ var timerRl = document.querySelector('.timer');
2321
+
2322
+ if (timerRl) {
2323
+ timerRl.style.visibility = "hidden";
2324
+ }
2325
+ };
2326
+
2327
+ return showTimer && !!expires_at ? React__default.createElement("div", {
2328
+ className: "timer"
2329
+ }, React__default.createElement("div", {
2330
+ className: 'close-icon',
2331
+ onClick: hideTimer
2332
+ }, React__default.createElement(SVG, {
2333
+ src: getImage('cross.svg'),
2334
+ width: '10',
2335
+ height: '10',
2336
+ fill: '#fff'
2337
+ })), React__default.createElement("div", {
2338
+ className: "toast-message"
2339
+ }, React__default.createElement("p", null, "Please complete your purchase before the timer reaches zero."), React__default.createElement("p", {
2340
+ className: "countdown"
2341
+ }, React__default.createElement(Countdown$1, {
2342
+ date: Date.now() + expires_at * 1000,
2343
+ renderer: function renderer(props) {
2344
+ return _renderer(_extends({}, props, {
2345
+ handleCountdownFinish: handleCountdownFinish
2346
+ }));
2347
+ }
2348
+ })))) : null;
2349
+ };
2350
+
2351
+ var TimerWidget$1 = /*#__PURE__*/React.memo(TimerWidget);
2352
+
2353
+ var SnackbarAlert = function SnackbarAlert(_ref) {
2354
+ var isOpen = _ref.isOpen,
2355
+ message = _ref.message,
2356
+ type = _ref.type,
2357
+ position = _ref.position,
2358
+ _ref$autoHideDuration = _ref.autoHideDuration,
2359
+ autoHideDuration = _ref$autoHideDuration === void 0 ? 3000 : _ref$autoHideDuration,
2360
+ variant = _ref.variant,
2361
+ onClose = _ref.onClose;
2362
+ return React__default.createElement("div", {
2363
+ className: "snackbar-alert-container"
2364
+ }, React__default.createElement(material.Snackbar, {
2365
+ autoHideDuration: autoHideDuration,
2366
+ open: isOpen,
2367
+ anchorOrigin: position || {
2368
+ vertical: 'top',
2369
+ horizontal: 'center'
2370
+ },
2371
+ onClose: onClose,
2372
+ classes: {
2373
+ root: 'snackbar-alert-snackbar-root'
2374
+ }
2375
+ }, React__default.createElement(material.Alert, {
2376
+ severity: type,
2377
+ onClose: onClose,
2378
+ variant: variant || 'filled',
2379
+ classes: {
2380
+ icon: 'snackbar-alert-icon',
2381
+ root: 'snackbar-alert-alert-root',
2382
+ action: 'snackbar-alert-action',
2383
+ message: 'snackbar-alert-message',
2384
+ filled: 'snackbar-alert-filled'
2385
+ }
2386
+ }, message)));
2387
+ };
2388
+
2389
+ var DATE_SIZE = 32;
2390
+ var compactStyles = {
2391
+ '& > div': {
2392
+ minWidth: 256
2393
+ },
2394
+ '& > div > div, & > div > div > div, & .MuiCalendarPicker-root': {
2395
+ width: 256
2396
+ },
2397
+ '& .MuiTypography-caption': {
2398
+ width: DATE_SIZE,
2399
+ margin: 0
2400
+ },
2401
+ '& .PrivatePickersSlideTransition-root': {
2402
+ minHeight: DATE_SIZE * 6
2403
+ },
2404
+ '& .PrivatePickersSlideTransition-root [role="row"]': {
2405
+ margin: 0
2406
+ },
2407
+ '& .MuiPickersDay-dayWithMargin': {
2408
+ margin: 0
2409
+ },
2410
+ '& .MuiPickersDay-root': {
2411
+ width: DATE_SIZE,
2412
+ height: DATE_SIZE
2413
+ }
2414
+ };
2415
+ var compactStyleTheme = /*#__PURE__*/styles$1.createTheme({
2416
+ components: {
2417
+ MuiPaper: {
2418
+ defaultProps: {
2419
+ sx: compactStyles
2420
+ }
2421
+ }
2422
+ }
2423
+ });
2424
+ var DatePickerField = function DatePickerField(_ref) {
2425
+ var label = _ref.label,
2426
+ field = _ref.field,
2427
+ form = _ref.form,
2428
+ theme = _ref.theme,
2429
+ _ref$useCompact = _ref.useCompact,
2430
+ useCompact = _ref$useCompact === void 0 ? true : _ref$useCompact;
2431
+ return React__default.createElement(styles$1.ThemeProvider, {
2432
+ theme: useCompact ? compactStyleTheme : {}
2433
+ }, React__default.createElement(LocalizationProvider, {
2434
+ dateAdapter: AdapterMoment
2435
+ }, React__default.createElement(DatePicker, {
2436
+ value: field.value || '',
2437
+ onChange: function onChange(value) {
2438
+ return form.setFieldValue(field.name, value);
2439
+ },
2440
+ PopperProps: {
2441
+ placement: 'bottom-start'
2442
+ },
2443
+ showDaysOutsideCurrentMonth: true,
2444
+ disableFuture: true,
2445
+ inputFormat: "DD/MM/YYYY",
2446
+ mask: "__/__/____",
2447
+ renderInput: function renderInput(params) {
2448
+ return React__default.createElement(CustomField, Object.assign({}, params, {
2449
+ inputProps: _extends({}, params.inputProps, {
2450
+ placeholder: 'dd/mm/yyyy'
2451
+ }),
2452
+ theme: theme,
2453
+ field: field,
2454
+ form: form,
2455
+ label: label,
2456
+ type: "tel"
2457
+ }));
2458
+ }
2459
+ })));
2460
+ };
2461
+
2170
2462
  var LogicRunner = function LogicRunner(_ref) {
2171
2463
  var values = _ref.values,
2172
2464
  setStates = _ref.setStates,
@@ -2174,7 +2466,8 @@ var LogicRunner = function LogicRunner(_ref) {
2174
2466
  setValues = _ref.setValues,
2175
2467
  setUserValues = _ref.setUserValues,
2176
2468
  onGetStatesSuccess = _ref.onGetStatesSuccess,
2177
- onGetStatesError = _ref.onGetStatesError;
2469
+ onGetStatesError = _ref.onGetStatesError,
2470
+ shouldFetchCountries = _ref.shouldFetchCountries;
2178
2471
  var prevCountry = React.useRef(values.country);
2179
2472
  React.useEffect(function () {
2180
2473
  var fetchStates = /*#__PURE__*/function () {
@@ -2229,7 +2522,7 @@ var LogicRunner = function LogicRunner(_ref) {
2229
2522
  };
2230
2523
  }();
2231
2524
 
2232
- fetchStates();
2525
+ shouldFetchCountries && fetchStates();
2233
2526
  }, [values.country, setStates, setFieldValue]);
2234
2527
  var userDataEncoded = typeof window !== 'undefined' ? window.localStorage.getItem('user_data') : '';
2235
2528
  React.useEffect(function () {
@@ -2240,8 +2533,8 @@ var LogicRunner = function LogicRunner(_ref) {
2240
2533
  try {
2241
2534
  var parsedData = JSON.parse(userDataEncoded);
2242
2535
  var mappedValues = {
2243
- firstName: (parsedData == null ? void 0 : parsedData.first_name) || '',
2244
- lastName: (parsedData == null ? void 0 : parsedData.last_name) || '',
2536
+ firstName: (parsedData == null ? void 0 : parsedData.first_name) || (parsedData == null ? void 0 : parsedData.firstName) || '',
2537
+ lastName: (parsedData == null ? void 0 : parsedData.last_name) || (parsedData == null ? void 0 : parsedData.lastName) || '',
2245
2538
  email: (parsedData == null ? void 0 : parsedData.email) || '',
2246
2539
  phone: (parsedData == null ? void 0 : parsedData.phone) || '',
2247
2540
  confirmEmail: (parsedData == null ? void 0 : parsedData.email) || '',
@@ -2249,15 +2542,15 @@ var LogicRunner = function LogicRunner(_ref) {
2249
2542
  street_address: (parsedData == null ? void 0 : parsedData.street_address) || '',
2250
2543
  country: (parsedData == null ? void 0 : parsedData.country) || '1',
2251
2544
  zip: (parsedData == null ? void 0 : parsedData.zip) || '',
2252
- brand_opt_in: (parsedData == null ? void 0 : parsedData.brand_opt_in) || '',
2545
+ brand_opt_in: (parsedData == null ? void 0 : parsedData.brand_opt_in) || false,
2253
2546
  city: (parsedData == null ? void 0 : parsedData.city) || '',
2254
2547
  confirmPassword: '',
2255
2548
  password: '',
2256
- 'holderFirstName-0': (parsedData == null ? void 0 : parsedData.first_name) || '',
2257
- 'holderLastName-0': (parsedData == null ? void 0 : parsedData.last_name) || '',
2549
+ 'holderFirstName-0': (parsedData == null ? void 0 : parsedData.first_name) || (parsedData == null ? void 0 : parsedData.firstName) || '',
2550
+ 'holderLastName-0': (parsedData == null ? void 0 : parsedData.last_name) || (parsedData == null ? void 0 : parsedData.lastName) || '',
2258
2551
  'holderEmail-0': (parsedData == null ? void 0 : parsedData.email) || ''
2259
2552
  };
2260
- setValues(mappedValues);
2553
+ setValues(_extends({}, values, mappedValues));
2261
2554
  setUserValues(mappedValues);
2262
2555
  } catch (e) {}
2263
2556
  }
@@ -2329,7 +2622,13 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2329
2622
  _ref3$skipPage = _ref3.skipPage,
2330
2623
  skipPage = _ref3$skipPage === void 0 ? false : _ref3$skipPage,
2331
2624
  _ref3$canSkipHolderNa = _ref3.canSkipHolderNames,
2332
- canSkipHolderNames = _ref3$canSkipHolderNa === void 0 ? false : _ref3$canSkipHolderNa;
2625
+ canSkipHolderNames = _ref3$canSkipHolderNa === void 0 ? false : _ref3$canSkipHolderNa,
2626
+ _ref3$shouldFetchCoun = _ref3.shouldFetchCountries,
2627
+ shouldFetchCountries = _ref3$shouldFetchCoun === void 0 ? true : _ref3$shouldFetchCoun,
2628
+ _ref3$onCountdownFini = _ref3.onCountdownFinish,
2629
+ onCountdownFinish = _ref3$onCountdownFini === void 0 ? function () {} : _ref3$onCountdownFini,
2630
+ _ref3$enableTimer = _ref3.enableTimer,
2631
+ enableTimer = _ref3$enableTimer === void 0 ? false : _ref3$enableTimer;
2333
2632
 
2334
2633
  var themeMui = styles$1.createTheme(themeOptions);
2335
2634
  var isWindowDefined = typeof window !== 'undefined';
@@ -2340,7 +2639,9 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2340
2639
  dataWithUniqueIds = _useState[0],
2341
2640
  setDataWithUniqueIds = _useState[1];
2342
2641
 
2343
- var _useState2 = React.useState(!!access_token),
2642
+ var xtfCookie = getCookieByName('X-TF-ECOMMERCE');
2643
+
2644
+ var _useState2 = React.useState(!!(pIsLoggedIn || xtfCookie)),
2344
2645
  isLoggedIn = _useState2[0],
2345
2646
  setIsLoggedIn = _useState2[1];
2346
2647
 
@@ -2418,6 +2719,8 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2418
2719
 
2419
2720
  var hideTtfOptIn = _get(cartInfoData, 'hide_ttf_opt_in', true);
2420
2721
 
2722
+ var expirationTime = _get(cartInfoData, 'expiresAt');
2723
+
2421
2724
  var flagRequirePhone = getQueryVariable('phone_required') === 'true'; // Get prevProps
2422
2725
 
2423
2726
  var prevData = React.useRef(data);
@@ -2448,10 +2751,10 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2448
2751
  };
2449
2752
 
2450
2753
  React.useEffect(function () {
2451
- if ((pIsLoggedIn || access_token) && !isLoggedIn) {
2452
- setIsLoggedIn(true);
2754
+ if (pIsLoggedIn !== isLoggedIn || xtfCookie) {
2755
+ setIsLoggedIn(!!(pIsLoggedIn || xtfCookie));
2453
2756
  }
2454
- }, [pIsLoggedIn, isLoggedIn, access_token]); //just once
2757
+ }, [pIsLoggedIn, isLoggedIn, xtfCookie]); //just once
2455
2758
 
2456
2759
  React.useEffect(function () {
2457
2760
  // fetch countries data
@@ -2500,7 +2803,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2500
2803
  };
2501
2804
  }();
2502
2805
 
2503
- fetchCountries();
2806
+ shouldFetchCountries && fetchCountries();
2504
2807
  fetchCart();
2505
2808
  }, []); // fetch cart data
2506
2809
 
@@ -2560,7 +2863,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2560
2863
  case 0:
2561
2864
  _context4.prev = 0;
2562
2865
 
2563
- if (!(isWindowDefined && token)) {
2866
+ if (!(isWindowDefined && token || isLoggedIn)) {
2564
2867
  _context4.next = 10;
2565
2868
  break;
2566
2869
  }
@@ -2607,7 +2910,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2607
2910
 
2608
2911
  React.useEffect(function () {
2609
2912
  fetchUserData(access_token);
2610
- }, [access_token]);
2913
+ }, [access_token, isLoggedIn]);
2611
2914
  React.useEffect(function () {
2612
2915
  var collectPaymentData = /*#__PURE__*/function () {
2613
2916
  var _ref7 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee5() {
@@ -2617,7 +2920,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2617
2920
  switch (_context5.prev = _context5.next) {
2618
2921
  case 0:
2619
2922
  if (!(skipPage && !_isEmpty(ticketsQuantity) && !showDOB)) {
2620
- _context5.next = 16;
2923
+ _context5.next = 17;
2621
2924
  break;
2622
2925
  }
2623
2926
 
@@ -2629,29 +2932,30 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2629
2932
 
2630
2933
  case 6:
2631
2934
  res = _context5.sent;
2935
+ removeReferralKey();
2632
2936
  onSkipBillingPage(_get(res, 'data.data.attributes'));
2633
2937
  setLoading(false);
2634
- _context5.next = 14;
2938
+ _context5.next = 15;
2635
2939
  break;
2636
2940
 
2637
- case 11:
2638
- _context5.prev = 11;
2941
+ case 12:
2942
+ _context5.prev = 12;
2639
2943
  _context5.t0 = _context5["catch"](3);
2640
2944
  onSubmitError(_context5.t0);
2641
2945
 
2642
- case 14:
2643
- _context5.next = 17;
2946
+ case 15:
2947
+ _context5.next = 18;
2644
2948
  break;
2645
2949
 
2646
- case 16:
2950
+ case 17:
2647
2951
  setLoading(false);
2648
2952
 
2649
- case 17:
2953
+ case 18:
2650
2954
  case "end":
2651
2955
  return _context5.stop();
2652
2956
  }
2653
2957
  }
2654
- }, _callee5, null, [[3, 11]]);
2958
+ }, _callee5, null, [[3, 12]]);
2655
2959
  }));
2656
2960
 
2657
2961
  return function collectPaymentData() {
@@ -2662,47 +2966,62 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2662
2966
  collectPaymentData();
2663
2967
  }, [skipPage, ticketsQuantity]);
2664
2968
 
2665
- var collectCheckoutBody = function collectCheckoutBody(values) {
2969
+ var collectCheckoutBody = function collectCheckoutBody(values, profileData) {
2666
2970
  var checkoutBody = {}; // Auto collect ticket holders name when it was skipped optionally
2667
2971
 
2668
2972
  if (showDOB && !showTicketHolders && canSkipHolderNames) {
2669
- checkoutBody = createCheckoutDataBodyWithDefaultHolder(ticketsQuantity.length, values, true);
2670
- } else {
2671
- checkoutBody = createCheckoutDataBody(ticketsQuantity.length, values, {
2973
+ checkoutBody = createCheckoutDataBodyWithDefaultHolder(ticketsQuantity.length, values, true, {
2672
2974
  emailLogged: emailLogged,
2673
2975
  firstNameLogged: firstNameLogged,
2674
2976
  lastNameLogged: lastNameLogged
2977
+ });
2978
+ } else {
2979
+ checkoutBody = createCheckoutDataBody(ticketsQuantity.length, values, {
2980
+ emailLogged: emailLogged || profileData.email,
2981
+ firstNameLogged: firstNameLogged || profileData.first_name || profileData.firstName,
2982
+ lastNameLogged: lastNameLogged || profileData.last_name || profileData.lastName
2675
2983
  }, showDOB);
2676
2984
  }
2677
2985
 
2678
2986
  return checkoutBody;
2679
- }; // Displaying loader
2987
+ };
2680
2988
 
2989
+ var removeReferralKey = function removeReferralKey() {
2990
+ localStorage.removeItem('referral_key');
2991
+ };
2681
2992
 
2682
- if (loading) {
2683
- return React__default.createElement(Backdrop, {
2684
- sx: {
2685
- color: '#fff'
2686
- },
2687
- open: true
2688
- }, React__default.createElement(material.CircularProgress, {
2689
- color: "inherit"
2690
- }));
2993
+ if (loading || enableTimer && !expirationTime && typeof window !== 'undefined') {
2994
+ if (expirationTime === 0) {
2995
+ // Redirect to homepage (countdown finished and browser reloaded case)
2996
+ window.location.href = '/';
2997
+ }
2691
2998
  }
2692
2999
 
2693
3000
  return React__default.createElement(styles$1.ThemeProvider, {
2694
3001
  theme: themeMui
2695
- }, React__default.createElement(formik.Formik, {
3002
+ }, loading && React__default.createElement(Backdrop, {
3003
+ sx: {
3004
+ color: '#fff',
3005
+ backgroundColor: '#000000bd',
3006
+ zIndex: 1205
3007
+ },
3008
+ open: true
3009
+ }, React__default.createElement(material.CircularProgress, {
3010
+ color: "inherit"
3011
+ })), !!expirationTime && enableTimer && React__default.createElement(TimerWidget$1, {
3012
+ expires_at: expirationTime,
3013
+ onCountdownFinish: onCountdownFinish
3014
+ }), React__default.createElement(formik.Formik, {
2696
3015
  initialValues: getInitialValues(dataWithUniqueIds, _extends({}, initialValues, {
2697
3016
  country: _get(userData, 'country', '') || '1',
2698
3017
  state: _get(userData, 'state', '') || '1',
2699
3018
  brand_opt_in: optedInFieldValue,
2700
3019
  ttf_opt_in: ttfOptIn
2701
3020
  }), userValues),
2702
- enableReinitialize: true,
3021
+ enableReinitialize: false,
2703
3022
  onSubmit: function () {
2704
3023
  var _onSubmit = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee6(values, formikHelpers) {
2705
- var updatedUserData, _profileSpecifiedData, _profileDataObj, _checkoutBody, _res, checkoutBodyForRegistration, bodyFormData, access_token_register, resRegister, refreshToken, tokens, _e$response, _e$response$data, _error, profileData, profileSpecifiedData, profileDataObj, checkoutBody, res, _e$response2, _e$response3;
3024
+ var updatedUserData, _profileSpecifiedData, _profileDataObj, _checkoutBody, _res, checkoutBodyForRegistration, bodyFormData, resRegister, _xtfCookie, accessToken, refreshToken, userProfile, _e$response, _e$response$data, _error, profileData, profileSpecifiedData, profileDataObj, checkoutBody, res, _e$response2, _e$response3;
2706
3025
 
2707
3026
  return runtime_1.wrap(function _callee6$(_context6) {
2708
3027
  while (1) {
@@ -2711,7 +3030,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2711
3030
  _context6.prev = 0;
2712
3031
 
2713
3032
  if (!isLoggedIn) {
2714
- _context6.next = 15;
3033
+ _context6.next = 16;
2715
3034
  break;
2716
3035
  }
2717
3036
 
@@ -2733,43 +3052,47 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2733
3052
  }
2734
3053
 
2735
3054
  case 9:
2736
- _checkoutBody = collectCheckoutBody(values);
3055
+ _checkoutBody = collectCheckoutBody(values, userData);
2737
3056
  _context6.next = 12;
2738
3057
  return postOnCheckout(_checkoutBody, access_token);
2739
3058
 
2740
3059
  case 12:
2741
3060
  _res = _context6.sent;
3061
+ removeReferralKey();
2742
3062
  handleSubmit(values, formikHelpers, eventId, _res);
2743
3063
  return _context6.abrupt("return");
2744
3064
 
2745
- case 15:
3065
+ case 16:
2746
3066
  checkoutBodyForRegistration = createCheckoutDataBody(ticketsQuantity.length, values, {
2747
3067
  emailLogged: emailLogged,
2748
3068
  firstNameLogged: firstNameLogged,
2749
3069
  lastNameLogged: lastNameLogged
2750
3070
  }, showDOB);
2751
3071
  bodyFormData = createRegisterFormData(values, checkoutBodyForRegistration);
2752
- access_token_register = null;
2753
3072
  _context6.prev = 18;
2754
- _context6.next = 21;
3073
+ setLoading(true);
3074
+ _context6.next = 22;
2755
3075
  return register(bodyFormData);
2756
3076
 
2757
- case 21:
3077
+ case 22:
2758
3078
  resRegister = _context6.sent;
2759
- access_token_register = _get(resRegister, 'data.data.attributes.access_token');
3079
+ _xtfCookie = _get(resRegister, 'headers.x-tf-ecommerce');
3080
+ accessToken = _get(resRegister, 'data.data.attributes.access_token');
2760
3081
  refreshToken = _get(resRegister, 'data.data.attributes.refresh_token');
2761
- handleSetAccessToken(access_token_register);
2762
- tokens = {
2763
- accessToken: access_token_register,
2764
- refreshToken: refreshToken
2765
- };
2766
- onRegisterSuccess(tokens);
2767
- _context6.next = 33;
3082
+ userProfile = _get(resRegister, 'data.data.attributes.user_profile');
3083
+ onRegisterSuccess({
3084
+ xtfCookie: _xtfCookie,
3085
+ accessToken: accessToken,
3086
+ refreshToken: refreshToken,
3087
+ userProfile: userProfile
3088
+ });
3089
+ _context6.next = 35;
2768
3090
  break;
2769
3091
 
2770
- case 29:
2771
- _context6.prev = 29;
3092
+ case 30:
3093
+ _context6.prev = 30;
2772
3094
  _context6.t0 = _context6["catch"](18);
3095
+ setLoading(false);
2773
3096
 
2774
3097
  if (axios.isAxiosError(_context6.t0)) {
2775
3098
  _error = _context6.t0 == null ? void 0 : (_e$response = _context6.t0.response) == null ? void 0 : (_e$response$data = _e$response.data) == null ? void 0 : _e$response$data.message;
@@ -2789,16 +3112,20 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2789
3112
  setShowModalLogin(true);
2790
3113
  }
2791
3114
 
3115
+ if (_includes(_error, 'The cart is expired') && !hideErrorsAlertSection) {
3116
+ setError(_error);
3117
+ }
3118
+
2792
3119
  onRegisterError(_context6.t0, values.email);
2793
3120
  }
2794
3121
 
2795
3122
  return _context6.abrupt("return");
2796
3123
 
2797
- case 33:
2798
- _context6.next = 35;
2799
- return getProfileData(access_token_register);
2800
-
2801
3124
  case 35:
3125
+ _context6.next = 37;
3126
+ return getProfileData();
3127
+
3128
+ case 37:
2802
3129
  profileData = _context6.sent;
2803
3130
  profileSpecifiedData = _get(profileData, 'data.data');
2804
3131
  profileDataObj = setLoggedUserData(profileSpecifiedData);
@@ -2807,19 +3134,21 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2807
3134
  window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
2808
3135
  }
2809
3136
 
2810
- checkoutBody = collectCheckoutBody(values);
2811
- _context6.next = 42;
2812
- return postOnCheckout(checkoutBody, access_token_register);
3137
+ checkoutBody = collectCheckoutBody(values, profileDataObj);
3138
+ _context6.next = 44;
3139
+ return postOnCheckout(checkoutBody);
2813
3140
 
2814
- case 42:
3141
+ case 44:
2815
3142
  res = _context6.sent;
3143
+ removeReferralKey();
2816
3144
  handleSubmit(values, formikHelpers, eventId, res);
2817
- _context6.next = 49;
3145
+ _context6.next = 53;
2818
3146
  break;
2819
3147
 
2820
- case 46:
2821
- _context6.prev = 46;
3148
+ case 49:
3149
+ _context6.prev = 49;
2822
3150
  _context6.t1 = _context6["catch"](0);
3151
+ setLoading(false);
2823
3152
 
2824
3153
  if (axios.isAxiosError(_context6.t1)) {
2825
3154
  if (((_e$response2 = _context6.t1.response) == null ? void 0 : _e$response2.data.error) === 'invalid_token') {
@@ -2831,23 +3160,24 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2831
3160
  }
2832
3161
  }
2833
3162
 
2834
- if ((_e$response3 = _context6.t1.response) != null && _e$response3.data.message) {
2835
- if (typeof document !== undefined) {
2836
- document.body.scrollTop = document.documentElement.scrollTop = 0;
2837
- }
2838
-
3163
+ if ((_e$response3 = _context6.t1.response) != null && _e$response3.data.message && !hideErrorsAlertSection) {
2839
3164
  setError(_get(_context6.t1, 'response.data.message'));
2840
3165
  }
2841
3166
 
2842
3167
  onSubmitError(_context6.t1);
2843
3168
  }
2844
3169
 
2845
- case 49:
3170
+ case 53:
3171
+ _context6.prev = 53;
3172
+ setLoading(false);
3173
+ return _context6.finish(53);
3174
+
3175
+ case 56:
2846
3176
  case "end":
2847
3177
  return _context6.stop();
2848
3178
  }
2849
3179
  }
2850
- }, _callee6, null, [[0, 46], [18, 29]]);
3180
+ }, _callee6, null, [[0, 49, 53, 56], [18, 30]]);
2851
3181
  }));
2852
3182
 
2853
3183
  function onSubmit(_x2, _x3) {
@@ -2866,17 +3196,24 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2866
3196
  setValues: props.setValues,
2867
3197
  setUserValues: setUserValues,
2868
3198
  onGetStatesSuccess: onGetStatesSuccess,
2869
- onGetStatesError: onGetStatesError
3199
+ onGetStatesError: onGetStatesError,
3200
+ shouldFetchCountries: shouldFetchCountries
2870
3201
  }), React__default.createElement("div", {
2871
3202
  className: "billing-info-container " + theme
2872
- }, error && !hideErrorsAlertSection && React__default.createElement(material.Alert, {
2873
- severity: "error",
2874
- onClose: onErrorClose,
2875
- variant: "filled"
2876
- }, error), !isLoggedIn && React__default.createElement("div", {
3203
+ }, React__default.createElement(SnackbarAlert, {
3204
+ type: "error",
3205
+ isOpen: !!error,
3206
+ message: error || '',
3207
+ onClose: function onClose() {
3208
+ setError(null);
3209
+ onErrorClose();
3210
+ }
3211
+ }), !isLoggedIn && React__default.createElement("div", {
2877
3212
  className: "account-actions-block"
2878
- }, React__default.createElement("div", null, accountInfoTitle), React__default.createElement("div", null, "Login & skip ahead:"), React__default.createElement("div", {
2879
- className: "login-block"
3213
+ }, React__default.createElement("div", {
3214
+ className: "action-item"
3215
+ }, React__default.createElement("div", null, accountInfoTitle), React__default.createElement("div", null, "Login & skip ahead:")), React__default.createElement("div", {
3216
+ className: "action-item login-block"
2880
3217
  }, React__default.createElement("button", {
2881
3218
  className: "login-register-button",
2882
3219
  type: "button",
@@ -2934,7 +3271,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2934
3271
  validate: getValidateFunctions(element, states, props.values),
2935
3272
  setFieldValue: props.setFieldValue,
2936
3273
  onBlur: props.handleBlur,
2937
- component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? FormikPhoneNumberField : CustomField,
3274
+ component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? FormikPhoneNumberField : element.type === 'date' ? DatePickerField : CustomField,
2938
3275
  selectOptions: element.name === 'country' ? countries : element.name === 'state' ? states : [],
2939
3276
  theme: theme
2940
3277
  })));
@@ -2942,7 +3279,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2942
3279
  }));
2943
3280
  }), !_isEmpty(ticketHoldersFields.fields) && React__default.createElement("div", {
2944
3281
  className: "ticket-holders-fields"
2945
- }, React__default.createElement("p", null, ticketHoldersFields.label), _map(ticketsQuantity, function (_item, index) {
3282
+ }, React__default.createElement("h2", null, ticketHoldersFields.label), _map(ticketsQuantity, function (_item, index) {
2946
3283
  return React__default.createElement("div", {
2947
3284
  key: _item
2948
3285
  }, React__default.createElement("h5", null, "Ticket ", index + 1), _map(ticketHoldersFields.fields, function (group) {
@@ -3048,7 +3385,8 @@ var CheckoutForm = function CheckoutForm(_ref) {
3048
3385
  handleSetLoading = _ref$handleSetLoading === void 0 ? function () {} : _ref$handleSetLoading,
3049
3386
  _ref$conditions = _ref.conditions,
3050
3387
  conditions = _ref$conditions === void 0 ? [] : _ref$conditions,
3051
- disableZipSection = _ref.disableZipSection;
3388
+ disableZipSection = _ref.disableZipSection,
3389
+ paymentButtonText = _ref.paymentButtonText;
3052
3390
  var stripe = reactStripeJs.useStripe();
3053
3391
  var elements = reactStripeJs.useElements();
3054
3392
 
@@ -3076,7 +3414,7 @@ var CheckoutForm = function CheckoutForm(_ref) {
3076
3414
  while (1) {
3077
3415
  switch (_context.prev = _context.next) {
3078
3416
  case 0:
3079
- handleSetLoading(true);
3417
+ setStripeError(null);
3080
3418
  _context.prev = 1;
3081
3419
  event.preventDefault();
3082
3420
 
@@ -3136,17 +3474,18 @@ var CheckoutForm = function CheckoutForm(_ref) {
3136
3474
  return _context.abrupt("return");
3137
3475
 
3138
3476
  case 20:
3139
- _context.next = 22;
3477
+ handleSetLoading(true);
3478
+ _context.next = 23;
3140
3479
  return stripe.confirmCardPayment(stripe_client_secret, {
3141
3480
  payment_method: paymentMethodReq.paymentMethod.id
3142
3481
  });
3143
3482
 
3144
- case 22:
3483
+ case 23:
3145
3484
  _yield$stripe$confirm = _context.sent;
3146
3485
  _error = _yield$stripe$confirm.error;
3147
3486
 
3148
3487
  if (!_error) {
3149
- _context.next = 28;
3488
+ _context.next = 29;
3150
3489
  break;
3151
3490
  }
3152
3491
 
@@ -3154,22 +3493,22 @@ var CheckoutForm = function CheckoutForm(_ref) {
3154
3493
  handleSetLoading(false);
3155
3494
  return _context.abrupt("return");
3156
3495
 
3157
- case 28:
3496
+ case 29:
3158
3497
  onSubmit(null);
3159
- _context.next = 34;
3498
+ _context.next = 35;
3160
3499
  break;
3161
3500
 
3162
- case 31:
3163
- _context.prev = 31;
3501
+ case 32:
3502
+ _context.prev = 32;
3164
3503
  _context.t0 = _context["catch"](1);
3165
3504
  onSubmit(_context.t0);
3166
3505
 
3167
- case 34:
3506
+ case 35:
3168
3507
  case "end":
3169
3508
  return _context.stop();
3170
3509
  }
3171
3510
  }
3172
- }, _callee, null, [[1, 31]]);
3511
+ }, _callee, null, [[1, 32]]);
3173
3512
  }));
3174
3513
 
3175
3514
  return function handleSubmit(_x) {
@@ -3225,7 +3564,7 @@ var CheckoutForm = function CheckoutForm(_ref) {
3225
3564
  onSubmit: handleSubmit
3226
3565
  }, React__default.createElement("div", {
3227
3566
  className: "card_form_inner"
3228
- }, React__default.createElement("label", {
3567
+ }, React__default.createElement("div", {
3229
3568
  className: "card_number_element"
3230
3569
  }, React__default.createElement("span", {
3231
3570
  className: "card_label_text"
@@ -3235,19 +3574,21 @@ var CheckoutForm = function CheckoutForm(_ref) {
3235
3574
  onChange: _identity,
3236
3575
  onBlur: _identity,
3237
3576
  onFocus: _identity
3238
- })), React__default.createElement("label", {
3577
+ })), React__default.createElement("div", {
3578
+ className: "elements"
3579
+ }, React__default.createElement("div", {
3239
3580
  className: "expiration_element"
3240
3581
  }, React__default.createElement("span", {
3241
3582
  className: "card_label_text"
3242
3583
  }, "Expiration date"), React__default.createElement(reactStripeJs.CardExpiryElement, {
3243
3584
  options: _extends({}, options, stripeCardOptions)
3244
- })), React__default.createElement("label", {
3585
+ })), React__default.createElement("div", {
3245
3586
  className: "cvc_element"
3246
3587
  }, React__default.createElement("span", {
3247
3588
  className: "card_label_text"
3248
3589
  }, "CVC"), React__default.createElement(reactStripeJs.CardCvcElement, {
3249
3590
  options: _extends({}, options, stripeCardOptions)
3250
- })), !disableZipSection && React__default.createElement("label", {
3591
+ }))), !disableZipSection && React__default.createElement("div", {
3251
3592
  className: "zip_element"
3252
3593
  }, React__default.createElement("p", {
3253
3594
  className: "card_label_text"
@@ -3276,64 +3617,7 @@ var CheckoutForm = function CheckoutForm(_ref) {
3276
3617
  type: "submit"
3277
3618
  }, isLoading ? React__default.createElement(CircularProgress, {
3278
3619
  size: 26
3279
- }) : "Pay " + getCurrencySymbolByCurrency(currency) + total))));
3280
- };
3281
-
3282
- var showZero = function showZero(value) {
3283
- if (value === void 0) {
3284
- value = 0;
3285
- }
3286
-
3287
- var intNumber = Number(value);
3288
- return _isNumber(intNumber) ? intNumber >= 0 && intNumber < 10 ? '0' + intNumber : intNumber : null;
3289
- };
3290
-
3291
- var TimerWidget = function TimerWidget(_ref) {
3292
- var expires_at = _ref.expires_at,
3293
- buyLoading = _ref.buyLoading,
3294
- _ref$onCountdownFinis = _ref.onCountdownFinish,
3295
- onCountdownFinish = _ref$onCountdownFinis === void 0 ? function () {} : _ref$onCountdownFinis;
3296
-
3297
- var _useState = React.useState(true),
3298
- showTimer = _useState[0],
3299
- setShowTimer = _useState[1];
3300
-
3301
- var handleCountdownFinish = function handleCountdownFinish() {
3302
- setShowTimer(false);
3303
-
3304
- if (!buyLoading) {
3305
- onCountdownFinish();
3306
- }
3307
- };
3308
-
3309
- var _renderer = function renderer(_ref2) {
3310
- var minutes = _ref2.minutes,
3311
- seconds = _ref2.seconds,
3312
- completed = _ref2.completed,
3313
- handleCountdownFinish = _ref2.handleCountdownFinish;
3314
-
3315
- if (completed) {
3316
- handleCountdownFinish();
3317
- return null;
3318
- }
3319
-
3320
- return React__default.createElement("span", null, showZero(minutes), ":", showZero(seconds));
3321
- };
3322
-
3323
- return showTimer && !!expires_at ? React__default.createElement("div", {
3324
- className: "timer"
3325
- }, React__default.createElement("div", {
3326
- className: "toast-message"
3327
- }, React__default.createElement("p", null, "Please complete your purchase before the timer reaches zero."), React__default.createElement("p", {
3328
- className: "countdown"
3329
- }, React__default.createElement(Countdown$1, {
3330
- date: Date.now() + expires_at * 1000,
3331
- renderer: function renderer(props) {
3332
- return _renderer(_extends({}, props, {
3333
- handleCountdownFinish: handleCountdownFinish
3334
- }));
3335
- }
3336
- })))) : null;
3620
+ }) : (paymentButtonText ? paymentButtonText : 'Pay') + " " + getCurrencySymbolByCurrency(currency) + total))));
3337
3621
  };
3338
3622
 
3339
3623
  var publishableKey = CONFIGS.STRIPE_PUBLISHABLE_KEY || '';
@@ -3394,7 +3678,10 @@ var PaymentContainer = function PaymentContainer(_ref) {
3394
3678
  _ref$onCountdownFinis = _ref.onCountdownFinish,
3395
3679
  onCountdownFinish = _ref$onCountdownFinis === void 0 ? function () {} : _ref$onCountdownFinis,
3396
3680
  _ref$enableTimer = _ref.enableTimer,
3397
- enableTimer = _ref$enableTimer === void 0 ? false : _ref$enableTimer;
3681
+ enableTimer = _ref$enableTimer === void 0 ? false : _ref$enableTimer,
3682
+ _ref$enablePaymentPla = _ref.enablePaymentPlan,
3683
+ enablePaymentPlan = _ref$enablePaymentPla === void 0 ? false : _ref$enablePaymentPla,
3684
+ paymentButtonText = _ref.paymentButtonText;
3398
3685
 
3399
3686
  var _useState = React.useState(initialReviewValues),
3400
3687
  reviewData = _useState[0],
@@ -3409,16 +3696,20 @@ var PaymentContainer = function PaymentContainer(_ref) {
3409
3696
  setError = _useState3[1];
3410
3697
 
3411
3698
  var _useState4 = React.useState(false),
3412
- paymentIsLoading = _useState4[0],
3413
- setPaymentIsLoading = _useState4[1];
3699
+ showPaymentPlanSection = _useState4[0],
3700
+ setShowPaymentPlanSection = _useState4[1];
3701
+
3702
+ var _useState5 = React.useState(false),
3703
+ paymentIsLoading = _useState5[0],
3704
+ setPaymentIsLoading = _useState5[1];
3414
3705
 
3415
- var _useState5 = React.useState(true),
3416
- paymentDataIsLoading = _useState5[0],
3417
- setPaymentDataIsLoading = _useState5[1];
3706
+ var _useState6 = React.useState(true),
3707
+ paymentDataIsLoading = _useState6[0],
3708
+ setPaymentDataIsLoading = _useState6[1];
3418
3709
 
3419
- var _useState6 = React.useState([]),
3420
- conditions = _useState6[0],
3421
- setConditions = _useState6[1];
3710
+ var _useState7 = React.useState([]),
3711
+ conditions = _useState7[0],
3712
+ setConditions = _useState7[1];
3422
3713
 
3423
3714
  var showFormTitle = Boolean(formTitle);
3424
3715
  var showErrorText = Boolean(errorText);
@@ -3536,37 +3827,36 @@ var PaymentContainer = function PaymentContainer(_ref) {
3536
3827
  _context3.prev = 0;
3537
3828
 
3538
3829
  if (!error) {
3539
- _context3.next = 4;
3830
+ _context3.next = 3;
3540
3831
  break;
3541
3832
  }
3542
3833
 
3543
- setPaymentIsLoading(false);
3544
3834
  throw error;
3545
3835
 
3546
- case 4:
3836
+ case 3:
3547
3837
  order_hash = reviewData.order_details.order_hash;
3548
3838
 
3549
- if (!(total === "0.00")) {
3550
- _context3.next = 11;
3839
+ if (!(total === '0.00')) {
3840
+ _context3.next = 10;
3551
3841
  break;
3552
3842
  }
3553
3843
 
3554
- _context3.next = 8;
3844
+ _context3.next = 7;
3555
3845
  return handleFreeSuccess(order_hash);
3556
3846
 
3557
- case 8:
3847
+ case 7:
3558
3848
  _context3.t0 = _context3.sent;
3559
- _context3.next = 14;
3849
+ _context3.next = 13;
3560
3850
  break;
3561
3851
 
3562
- case 11:
3563
- _context3.next = 13;
3852
+ case 10:
3853
+ _context3.next = 12;
3564
3854
  return handlePaymentSuccess(order_hash);
3565
3855
 
3566
- case 13:
3856
+ case 12:
3567
3857
  _context3.t0 = _context3.sent;
3568
3858
 
3569
- case 14:
3859
+ case 13:
3570
3860
  paymentSuccessResponse = _context3.t0;
3571
3861
 
3572
3862
  if (paymentSuccessResponse.status === 200) {
@@ -3577,10 +3867,11 @@ var PaymentContainer = function PaymentContainer(_ref) {
3577
3867
  _context3.next = 22;
3578
3868
  break;
3579
3869
 
3580
- case 18:
3581
- _context3.prev = 18;
3870
+ case 17:
3871
+ _context3.prev = 17;
3582
3872
  _context3.t1 = _context3["catch"](0);
3583
3873
  setError(_get(_context3.t1, 'response.data.message'));
3874
+ setPaymentIsLoading(false);
3584
3875
  onPaymentError(_context3.t1.response);
3585
3876
 
3586
3877
  case 22:
@@ -3588,7 +3879,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
3588
3879
  return _context3.stop();
3589
3880
  }
3590
3881
  }
3591
- }, _callee3, null, [[0, 18]]);
3882
+ }, _callee3, null, [[0, 17]]);
3592
3883
  }));
3593
3884
 
3594
3885
  return function handlePaymentMiddleWare(_x) {
@@ -3601,7 +3892,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
3601
3892
  theme: themeMui
3602
3893
  }, React__default.createElement("div", {
3603
3894
  className: "payment_page"
3604
- }, !paymentIsLoading && !error && enableTimer && React__default.createElement(TimerWidget, {
3895
+ }, enableTimer && React__default.createElement(TimerWidget$1, {
3605
3896
  expires_at: _get(reviewData, 'expires_at', 0),
3606
3897
  buyLoading: paymentIsLoading,
3607
3898
  onCountdownFinish: onCountdownFinish
@@ -3630,11 +3921,33 @@ var PaymentContainer = function PaymentContainer(_ref) {
3630
3921
  }, label), React__default.createElement("div", {
3631
3922
  className: className + " order_info_text"
3632
3923
  }, normalizer(orderData[id], orderData.currency)));
3633
- })), total !== "0.00" ? React__default.createElement("div", {
3924
+ })), enablePaymentPlan && React__default.createElement("div", {
3925
+ className: "payment_toggle"
3926
+ }, React__default.createElement("label", {
3927
+ htmlFor: "togBtn",
3928
+ className: "switch"
3929
+ }, React__default.createElement("input", {
3930
+ type: "checkbox",
3931
+ id: "togBtn",
3932
+ disabled: true,
3933
+ onChange: function onChange() {
3934
+ return setShowPaymentPlanSection(!showPaymentPlanSection);
3935
+ }
3936
+ }), React__default.createElement("div", {
3937
+ className: "slider round"
3938
+ }), React__default.createElement("span", {
3939
+ className: "tog_text"
3940
+ }, "Click to checkout using Payment Plan"))), showPaymentPlanSection && React__default.createElement("div", {
3941
+ className: "payment_plan"
3942
+ }, React__default.createElement("h2", null, "PAYMENT PLAN"), React__default.createElement("div", {
3943
+ className: "plan_block"
3944
+ }, React__default.createElement("h3", null, "Mbrand Payment Plan Terms"), React__default.createElement("p", null, "By clicking on the \u201CConfirm Payment Plan\u201D button, you are starting your payment plan of 2 payments of $115.00, which will be drawn from your account every 2 weeks, with the first payment taken later today."), React__default.createElement("p", null, "This includes a non-refundable admin fee of $3.00 per payment."), React__default.createElement("p", {
3945
+ className: "payment_note"
3946
+ }, "NOTE: If today\u2019s payment fails, your payment plan will not activate, and your tickets will not be issued until you complete your final payment."), React__default.createElement("p", null, "If you do not complete your payements, your order will be canceled. Your first payment of $115.00, plus the non-refundable admin fee of $3.00 will not be refunded."), React__default.createElement("p", null, "Your payment will proceed with the card ending in **** 4242."))), total !== '0.00' ? React__default.createElement("div", {
3634
3947
  className: "payment_info"
3635
3948
  }, React__default.createElement("div", {
3636
3949
  className: "payment_info_label"
3637
- }, "Please provide your payment information"), showErrorText && React__default.createElement("p", {
3950
+ }, "ORDER CONFIRMATION"), showErrorText && React__default.createElement("p", {
3638
3951
  className: "payment_info__error"
3639
3952
  }, errorText), React__default.createElement("div", null, React__default.createElement(reactStripeJs.Elements, {
3640
3953
  stripe: getStripePromise(reviewData),
@@ -3652,18 +3965,20 @@ var PaymentContainer = function PaymentContainer(_ref) {
3652
3965
  },
3653
3966
  conditions: conditions,
3654
3967
  stripeCardOptions: stripeCardOptions,
3655
- disableZipSection: disableZipSection
3968
+ disableZipSection: disableZipSection,
3969
+ paymentButtonText: paymentButtonText
3656
3970
  })))) : React__default.createElement("div", {
3657
3971
  className: "payment_button " + (paymentIsLoading ? 'disabled-payment-button' : '')
3658
3972
  }, React__default.createElement("button", {
3659
3973
  disabled: paymentIsLoading,
3660
3974
  type: "button",
3661
3975
  onClick: function onClick() {
3976
+ setPaymentIsLoading(true);
3662
3977
  handlePaymentMiddleWare(null);
3663
3978
  }
3664
3979
  }, paymentIsLoading ? React__default.createElement(CircularProgress, {
3665
3980
  size: 26
3666
- }) : "Complete Registration")))));
3981
+ }) : 'Complete Registration')))));
3667
3982
  };
3668
3983
 
3669
3984
  var config = {
@@ -3837,7 +4152,9 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
3837
4152
  onGetConfirmationDataSuccess = _ref$onGetConfirmatio === void 0 ? function () {} : _ref$onGetConfirmatio,
3838
4153
  _ref$onGetConfirmatio2 = _ref.onGetConfirmationDataError,
3839
4154
  onGetConfirmationDataError = _ref$onGetConfirmatio2 === void 0 ? function () {} : _ref$onGetConfirmatio2,
3840
- orderHash = _ref.orderHash;
4155
+ orderHash = _ref.orderHash,
4156
+ _ref$onLinkCopied = _ref.onLinkCopied,
4157
+ onLinkCopied = _ref$onLinkCopied === void 0 ? function () {} : _ref$onLinkCopied;
3841
4158
  var inputRef = React.useRef(null);
3842
4159
 
3843
4160
  var _useState = React.useState(null),
@@ -3975,7 +4292,8 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
3975
4292
  }), React__default.createElement("div", {
3976
4293
  className: "share-by-link-copy-icon",
3977
4294
  onClick: function onClick() {
3978
- return navigator.clipboard.writeText(_get(inputRef, 'current.value'));
4295
+ navigator.clipboard.writeText(_get(inputRef, 'current.value'));
4296
+ onLinkCopied();
3979
4297
  }
3980
4298
  }, React__default.createElement("img", {
3981
4299
  src: "https://img.icons8.com/office/50/000000/copy.png",
@@ -4041,7 +4359,7 @@ var TicketRow = function TicketRow(_ref) {
4041
4359
  var isSalesClosed = !ticketTier.salesStarted || ticketTier.salesEnded;
4042
4360
  var options = getTicketSelectOptions(ticketTier.maxQuantity, ticketTier.minQuantity, ticketTier.multiplier);
4043
4361
  var ticketsClosedMessage = !ticketTier.salesStarted ? 'Sales not started' : 'Sales Ended';
4044
- var onSaleContent = isSalesClosed ? ticketsClosedMessage : React__default.createElement("div", {
4362
+ var onSaleContent = React__default.createElement("div", {
4045
4363
  className: "get-tickets"
4046
4364
  }, React__default.createElement(Box, {
4047
4365
  className: "get-tickets__selectbox"
@@ -4071,17 +4389,17 @@ var TicketRow = function TicketRow(_ref) {
4071
4389
  value: option.value
4072
4390
  }, option.value);
4073
4391
  })))));
4074
- var returnValue = '';
4392
+ var returnValue = ''; // ticketTier.soldOut === false --> means that ticket is in the stock
4075
4393
 
4076
- if (ticketTier.sold_out || !ticketTier.displayTicket || ticketTier.soldOut) {
4077
- returnValue = soldOutMessage;
4078
- }
4394
+ var isSoldOut = ticketTier.sold_out || !ticketTier.displayTicket || ticketTier.soldOut || ticketTier.soldOut === false;
4079
4395
 
4080
- if (ticketTier.displayTicket) {
4396
+ if (isSoldOut) {
4397
+ returnValue = soldOutMessage;
4398
+ } else if (isSalesClosed) {
4399
+ returnValue = ticketsClosedMessage;
4400
+ } else if (ticketTier.displayTicket && ticketTier.maxQuantity) {
4081
4401
  returnValue = onSaleContent;
4082
- }
4083
-
4084
- if (_get(prevTicketTier, 'in_stock')) {
4402
+ } else if (_get(prevTicketTier, 'in_stock')) {
4085
4403
  returnValue = 'SOON';
4086
4404
  }
4087
4405
 
@@ -4092,11 +4410,11 @@ var TicketsSection = function TicketsSection(_ref) {
4092
4410
  var ticketsList = _ref.ticketsList,
4093
4411
  selectedTickets = _ref.selectedTickets,
4094
4412
  handleTicketSelect = _ref.handleTicketSelect,
4095
- promoCodeIsApplied = _ref.promoCodeIsApplied;
4096
-
4097
- var sortedTicketsList = _sortBy(ticketsList, 'sortOrder');
4098
-
4099
- return React__default.createElement(React__default.Fragment, null, sortedTicketsList.map(function (ticket, i, arr) {
4413
+ sortBySoldOut = _ref.sortBySoldOut,
4414
+ ticketsHeaderComponent = _ref.ticketsHeaderComponent,
4415
+ hideTicketsHeader = _ref.hideTicketsHeader;
4416
+ var sortedTicketsList = sortBySoldOut ? _sortBy(_sortBy(ticketsList, 'sortOrder'), 'soldOut') : _sortBy(ticketsList, 'sortOrder');
4417
+ return React__default.createElement(React__default.Fragment, null, !hideTicketsHeader && ticketsHeaderComponent, sortedTicketsList.map(function (ticket, i, arr) {
4100
4418
  var isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut;
4101
4419
 
4102
4420
  var ticketSelect = function ticketSelect(event) {
@@ -4106,12 +4424,12 @@ var TicketsSection = function TicketsSection(_ref) {
4106
4424
 
4107
4425
  var ticketIsDiscounted = false;
4108
4426
 
4109
- if (ticket.oldPrice && promoCodeIsApplied && !isSoldOut && ticket.oldPrice !== ticket.price) {
4427
+ if (ticket.oldPrice && !isSoldOut && ticket.oldPrice !== ticket.price) {
4110
4428
  ticketIsDiscounted = true;
4111
4429
  }
4112
4430
 
4113
- var ticketIsFree = (+ticket.cost || +ticket.price) === 0;
4114
- var ticketPrice = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : "$ " + (+ticket.cost || +ticket.price).toFixed(2);
4431
+ var ticketIsFree = +ticket.price === 0;
4432
+ var ticketPrice = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : "$ " + (+ticket.price).toFixed(2);
4115
4433
  return React__default.createElement("div", {
4116
4434
  key: ticket.id || ticket.name,
4117
4435
  className: "event-detail__tier " + (isSoldOut ? 'disabled' : '')
@@ -4303,31 +4621,15 @@ var WaitingList = function WaitingList(_ref) {
4303
4621
  }) : 'ADD TO WAITING LIST')))));
4304
4622
  };
4305
4623
 
4306
- var getImage = function getImage(name) {
4307
- if (name === void 0) {
4308
- name = '';
4309
- }
4310
-
4311
- var image = '';
4312
-
4313
- if (!name.trim().length) {
4314
- return image;
4315
- }
4316
-
4317
- return image;
4318
- };
4319
-
4320
4624
  var PromoCodeSection = function PromoCodeSection(_ref) {
4321
- var promoCode = _ref.promoCode,
4322
- promoCodeIsApplied = _ref.promoCodeIsApplied,
4625
+ var code = _ref.code,
4626
+ codeIsApplied = _ref.codeIsApplied,
4323
4627
  showPromoInput = _ref.showPromoInput,
4324
- isPromotionsEnabled = _ref.isPromotionsEnabled,
4325
- setPromoCode = _ref.setPromoCode,
4326
- setPromoCodeUpdated = _ref.setPromoCodeUpdated,
4628
+ setCode = _ref.setCode,
4327
4629
  setShowPromoInput = _ref.setShowPromoInput,
4328
- isAccessCodeEnabled = _ref.isAccessCodeEnabled,
4329
- isPromoLoading = _ref.isPromoLoading;
4330
- var isPromoCodeHasValue = !!promoCode.trim();
4630
+ updateTickets = _ref.updateTickets,
4631
+ setCodeIsApplied = _ref.setCodeIsApplied;
4632
+ var isPromoCodeHasValue = !!code.trim();
4331
4633
 
4332
4634
  var renderInputField = function renderInputField() {
4333
4635
  return React__default.createElement("div", {
@@ -4336,30 +4638,30 @@ var PromoCodeSection = function PromoCodeSection(_ref) {
4336
4638
  className: "promo-code-block"
4337
4639
  }, React__default.createElement("p", {
4338
4640
  className: "promo-code-text"
4339
- }, isAccessCodeEnabled ? 'Access code required' : 'Promo code')), React__default.createElement("input", {
4641
+ }, "Promo code")), React__default.createElement("input", {
4340
4642
  className: "promo-code-input",
4341
4643
  placeholder: "",
4342
4644
  onChange: function onChange(e) {
4343
- setPromoCode(e.target.value);
4645
+ setCode(e.target.value);
4344
4646
  },
4345
4647
  onKeyPress: function onKeyPress(event) {
4346
4648
  if (event.key === 'Enter' && isPromoCodeHasValue) {
4347
- setPromoCodeUpdated(promoCode);
4348
4649
  setShowPromoInput(false);
4650
+ updateTickets(true, 'promo');
4349
4651
  }
4350
4652
  }
4351
4653
  }), React__default.createElement(Button$1, {
4352
4654
  className: "promo-submit-button",
4353
4655
  onClick: function onClick() {
4354
4656
  if (isPromoCodeHasValue) {
4355
- setPromoCodeUpdated(promoCode);
4356
4657
  setShowPromoInput(false);
4658
+ updateTickets(true, 'promo');
4357
4659
  }
4358
4660
  }
4359
- }, isAccessCodeEnabled ? 'ENTER' : 'APPLY'));
4661
+ }, "APPLY"));
4360
4662
  };
4361
4663
 
4362
- return isPromoLoading ? React__default.createElement(Loader, null) : React__default.createElement("div", null, promoCodeIsApplied ? React__default.createElement("div", {
4664
+ return React__default.createElement("div", null, codeIsApplied ? React__default.createElement("div", {
4363
4665
  className: "alert-info"
4364
4666
  }, React__default.createElement(SVG, {
4365
4667
  src: getImage('done.svg'),
@@ -4368,13 +4670,46 @@ var PromoCodeSection = function PromoCodeSection(_ref) {
4368
4670
  }
4369
4671
  }), React__default.createElement("p", {
4370
4672
  className: "promo-code-success"
4371
- }, "PROMO CODE APPLIED SUCCESSFULLY")) : null, showPromoInput && renderInputField(), isPromotionsEnabled && !showPromoInput && !isAccessCodeEnabled ? React__default.createElement(Button$1, {
4673
+ }, "PROMO CODE APPLIED SUCCESSFULLY")) : null, !showPromoInput && React__default.createElement(Button$1, {
4372
4674
  className: "promo-code-button",
4373
4675
  placeholder: "Promo Codes",
4374
4676
  onClick: function onClick() {
4677
+ setCodeIsApplied(false);
4375
4678
  setShowPromoInput(true);
4376
4679
  }
4377
- }, "Got a promo code? Click here") : !isPromotionsEnabled && !showPromoInput && isAccessCodeEnabled && !promoCodeIsApplied ? renderInputField() : null);
4680
+ }, "Got a promo code? Click here"), showPromoInput && renderInputField());
4681
+ };
4682
+
4683
+ var AccessCodeSection = function AccessCodeSection(_ref) {
4684
+ var code = _ref.code,
4685
+ setCode = _ref.setCode,
4686
+ updateTickets = _ref.updateTickets;
4687
+ var isAccessCodeHasValue = !!code.trim();
4688
+ return React__default.createElement("div", {
4689
+ className: "access-code-block"
4690
+ }, React__default.createElement("div", {
4691
+ className: "access-code-block"
4692
+ }, React__default.createElement("p", {
4693
+ className: "access-code-text"
4694
+ }, "Access code required")), React__default.createElement("input", {
4695
+ className: "access-code-input",
4696
+ placeholder: "",
4697
+ onChange: function onChange(e) {
4698
+ setCode(e.target.value);
4699
+ },
4700
+ onKeyPress: function onKeyPress(event) {
4701
+ if (event.key === 'Enter' && isAccessCodeHasValue) {
4702
+ updateTickets(true);
4703
+ }
4704
+ }
4705
+ }), React__default.createElement(Button$1, {
4706
+ className: "access-submit-button",
4707
+ onClick: function onClick() {
4708
+ if (isAccessCodeHasValue) {
4709
+ updateTickets(true);
4710
+ }
4711
+ }
4712
+ }, "ENTER"));
4378
4713
  };
4379
4714
 
4380
4715
  var isTimeExpired = function isTimeExpired(startDate, timezone) {
@@ -4389,8 +4724,13 @@ function Countdown(_ref) {
4389
4724
  title = _ref$title === void 0 ? '' : _ref$title,
4390
4725
  _ref$message = _ref.message,
4391
4726
  message = _ref$message === void 0 ? '' : _ref$message,
4727
+ _ref$showMessage = _ref.showMessage,
4728
+ showMessage = _ref$showMessage === void 0 ? false : _ref$showMessage,
4729
+ _ref$disableLeadingZe = _ref.disableLeadingZero,
4730
+ disableLeadingZero = _ref$disableLeadingZe === void 0 ? false : _ref$disableLeadingZe,
4392
4731
  _ref$callback = _ref.callback,
4393
- callback = _ref$callback === void 0 ? function () {} : _ref$callback;
4732
+ callback = _ref$callback === void 0 ? function () {} : _ref$callback,
4733
+ isLoggedIn = _ref.isLoggedIn;
4394
4734
 
4395
4735
  var _useState = React.useState(''),
4396
4736
  duration = _useState[0],
@@ -4412,6 +4752,7 @@ function Countdown(_ref) {
4412
4752
  clearInterval(timer);
4413
4753
  setTimeExpired(true);
4414
4754
  callback();
4755
+ return;
4415
4756
  }
4416
4757
 
4417
4758
  var currentDate = moment.tz(moment(), timezone).format('YYYY-MM-DD HH:mm:ss');
@@ -4429,7 +4770,11 @@ function Countdown(_ref) {
4429
4770
 
4430
4771
  for (var date in dateArr) {
4431
4772
  var unit = dateArr[date] === 1 ? date : date + 's';
4432
- var val = String(dateArr[date]).length === 1 ? '0' + dateArr[date] : dateArr[date];
4773
+ var val = dateArr[date];
4774
+
4775
+ if (!disableLeadingZero && String(dateArr[date]).length === 1) {
4776
+ val = '0' + dateArr[date];
4777
+ }
4433
4778
 
4434
4779
  if (timeLeft) {
4435
4780
  timeLeft += ", " + val + " " + unit;
@@ -4447,10 +4792,10 @@ function Countdown(_ref) {
4447
4792
  };
4448
4793
  }, [timeExpired]);
4449
4794
  return React__default.createElement(React__default.Fragment, null, !timeExpired && duration && React__default.createElement("div", {
4450
- className: 'countdown'
4795
+ className: "countdown " + (!isLoggedIn ? 'countdown-on-bottom' : '')
4451
4796
  }, React__default.createElement("div", null, React__default.createElement("p", {
4452
4797
  className: 'title'
4453
- }, title), React__default.createElement("p", null, duration)), React__default.createElement("p", {
4798
+ }, title), React__default.createElement("p", null, duration)), showMessage && React__default.createElement("p", {
4454
4799
  className: 'message'
4455
4800
  }, message)));
4456
4801
  }
@@ -4462,7 +4807,8 @@ var ReferralLogic = function ReferralLogic(props) {
4462
4807
  if (isWindowDefined) {
4463
4808
  var params = new URL("" + window.location).searchParams;
4464
4809
  var referralId = params.get('ttf_r') || '';
4465
- var isAlreadyCounted = !!localStorage.getItem('referral_key');
4810
+ var referralValue = [eventId, '.', referralId].join('');
4811
+ var isAlreadyCounted = localStorage.getItem('referral_key') === referralValue;
4466
4812
 
4467
4813
  if (referralId && eventId && !isAlreadyCounted) {
4468
4814
  _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
@@ -4475,7 +4821,7 @@ var ReferralLogic = function ReferralLogic(props) {
4475
4821
  return postReferralVisits("" + eventId, referralId);
4476
4822
 
4477
4823
  case 3:
4478
- localStorage.setItem('referral_key', [eventId, '.', referralId].join(''));
4824
+ localStorage.setItem('referral_key', referralValue);
4479
4825
  _context.next = 8;
4480
4826
  break;
4481
4827
 
@@ -4509,6 +4855,10 @@ var TicketsContainer = function TicketsContainer(_ref) {
4509
4855
  onGetTicketsSuccess = _ref$onGetTicketsSucc === void 0 ? function () {} : _ref$onGetTicketsSucc,
4510
4856
  _ref$onGetTicketsErro = _ref.onGetTicketsError,
4511
4857
  onGetTicketsError = _ref$onGetTicketsErro === void 0 ? function () {} : _ref$onGetTicketsErro,
4858
+ _ref$onLogoutSuccess = _ref.onLogoutSuccess,
4859
+ onLogoutSuccess = _ref$onLogoutSuccess === void 0 ? function () {} : _ref$onLogoutSuccess,
4860
+ _ref$onLogoutError = _ref.onLogoutError,
4861
+ onLogoutError = _ref$onLogoutError === void 0 ? function () {} : _ref$onLogoutError,
4512
4862
  _ref$theme = _ref.theme,
4513
4863
  theme = _ref$theme === void 0 ? 'light' : _ref$theme,
4514
4864
  _ref$queryPromoCode = _ref.queryPromoCode,
@@ -4521,62 +4871,82 @@ var TicketsContainer = function TicketsContainer(_ref) {
4521
4871
  _ref$hideSessionButto = _ref.hideSessionButtons,
4522
4872
  hideSessionButtons = _ref$hideSessionButto === void 0 ? false : _ref$hideSessionButto,
4523
4873
  _ref$hideWaitingList = _ref.hideWaitingList,
4524
- hideWaitingList = _ref$hideWaitingList === void 0 ? false : _ref$hideWaitingList;
4874
+ hideWaitingList = _ref$hideWaitingList === void 0 ? false : _ref$hideWaitingList,
4875
+ _ref$enableBillingInf = _ref.enableBillingInfoAutoCreate,
4876
+ enableBillingInfoAutoCreate = _ref$enableBillingInf === void 0 ? true : _ref$enableBillingInf,
4877
+ _ref$isButtonScrollab = _ref.isButtonScrollable,
4878
+ isButtonScrollable = _ref$isButtonScrollab === void 0 ? false : _ref$isButtonScrollab,
4879
+ _ref$sortBySoldOut = _ref.sortBySoldOut,
4880
+ sortBySoldOut = _ref$sortBySoldOut === void 0 ? false : _ref$sortBySoldOut,
4881
+ _ref$disableCountdown = _ref.disableCountdownLeadingZero,
4882
+ disableCountdownLeadingZero = _ref$disableCountdown === void 0 ? false : _ref$disableCountdown,
4883
+ _ref$isLoggedIn = _ref.isLoggedIn,
4884
+ isLoggedIn = _ref$isLoggedIn === void 0 ? false : _ref$isLoggedIn,
4885
+ ActionsSectionComponent = _ref.actionsSectionComponent,
4886
+ ticketsHeaderComponent = _ref.ticketsHeaderComponent,
4887
+ _ref$hideTicketsHeade = _ref.hideTicketsHeader,
4888
+ hideTicketsHeader = _ref$hideTicketsHeade === void 0 ? false : _ref$hideTicketsHeade;
4525
4889
 
4526
4890
  var _useState = React.useState({}),
4527
4891
  selectedTickets = _useState[0],
4528
4892
  setSelectedTickets = _useState[1];
4529
4893
 
4530
4894
  var isWindowDefined = typeof window !== 'undefined';
4895
+ var xtfCookie = getCookieByName('X-TF-ECOMMERCE');
4531
4896
 
4532
- var _useState2 = React.useState(isWindowDefined ? !!window.localStorage.getItem('access_token') : false),
4897
+ var _useState2 = React.useState((isWindowDefined ? !!window.localStorage.getItem('access_token') : false) || !!xtfCookie),
4533
4898
  isLogged = _useState2[0],
4534
4899
  setIsLogged = _useState2[1];
4535
4900
 
4536
- var _React$useState = React__default.useState(false),
4537
- showLoginModal = _React$useState[0],
4538
- setShowLoginModal = _React$useState[1];
4539
-
4540
- var _useState3 = React.useState([]),
4541
- tickets = _useState3[0],
4542
- setTickets = _useState3[1];
4901
+ var _useState3 = React.useState(false),
4902
+ showLoginModal = _useState3[0],
4903
+ setShowLoginModal = _useState3[1];
4543
4904
 
4544
- var _useState4 = React.useState(null),
4545
- event = _useState4[0],
4546
- setEvent = _useState4[1];
4905
+ var _useState4 = React.useState([]),
4906
+ tickets = _useState4[0],
4907
+ setTickets = _useState4[1];
4547
4908
 
4548
- var _useState5 = React.useState(false),
4549
- showWaitingList = _useState5[0],
4550
- setShowWaitingList = _useState5[1];
4909
+ var _useState5 = React.useState(null),
4910
+ event = _useState5[0],
4911
+ setEvent = _useState5[1];
4551
4912
 
4552
4913
  var _useState6 = React.useState(false),
4553
- isLoading = _useState6[0],
4554
- setIsLoading = _useState6[1];
4914
+ showWaitingList = _useState6[0],
4915
+ setShowWaitingList = _useState6[1];
4555
4916
 
4556
- var _useState7 = React.useState(false),
4557
- isPromoLoading = _useState7[0],
4558
- setIsPromoLoading = _useState7[1];
4917
+ var _useState7 = React.useState(true),
4918
+ isLoading = _useState7[0],
4919
+ setIsLoading = _useState7[1];
4559
4920
 
4560
4921
  var _useState8 = React.useState(false),
4561
- handleBookIsLoading = _useState8[0],
4562
- setHandleBookIsLoading = _useState8[1];
4922
+ codeIsLoading = _useState8[0],
4923
+ setCodeIsLoading = _useState8[1];
4563
4924
 
4564
- var _useState9 = React.useState(''),
4565
- promoCode = _useState9[0],
4566
- setPromoCode = _useState9[1];
4925
+ var _useState9 = React.useState(false),
4926
+ handleBookIsLoading = _useState9[0],
4927
+ setHandleBookIsLoading = _useState9[1];
4567
4928
 
4568
4929
  var _useState10 = React.useState(getQueryVariable('r') || queryPromoCode),
4569
- promoCodeUpdated = _useState10[0],
4570
- setPromoCodeUpdated = _useState10[1];
4930
+ code = _useState10[0],
4931
+ setCode = _useState10[1];
4571
4932
 
4572
4933
  var _useState11 = React.useState(false),
4573
4934
  showPromoInput = _useState11[0],
4574
4935
  setShowPromoInput = _useState11[1];
4575
4936
 
4576
4937
  var _useState12 = React.useState(false),
4577
- promoCodeIsApplied = _useState12[0],
4578
- setPromoCodeIsApplied = _useState12[1];
4938
+ codeIsApplied = _useState12[0],
4939
+ setCodeIsApplied = _useState12[1];
4579
4940
 
4941
+ var _useState13 = React.useState(isAccessCodeEnabled),
4942
+ showAccessCodeSection = _useState13[0],
4943
+ setShowAccessCodeSection = _useState13[1];
4944
+
4945
+ var _useState14 = React.useState(isPromotionsEnabled),
4946
+ showPromoCodeSection = _useState14[0],
4947
+ setShowPromoCodeSection = _useState14[1];
4948
+
4949
+ var ticketsContainerRef = React.useRef(null);
4580
4950
  React.useEffect(function () {
4581
4951
  if (typeof window !== 'undefined') {
4582
4952
  var access_token = window.localStorage.getItem('access_token');
@@ -4592,20 +4962,66 @@ var TicketsContainer = function TicketsContainer(_ref) {
4592
4962
  }
4593
4963
  }, []);
4594
4964
  React.useEffect(function () {
4595
- !!eventId && getTicketsApi(!!promoCodeUpdated);
4596
- }, [eventId, promoCodeUpdated]);
4965
+ !!eventId && getTicketsApi();
4966
+ }, [eventId]);
4597
4967
 
4598
- var handleLogout = function handleLogout() {
4599
- if (isWindowDefined) {
4600
- window.localStorage.removeItem('access_token');
4601
- window.localStorage.removeItem('user_data');
4602
- setIsLogged(false);
4968
+ var handleLogout = /*#__PURE__*/function () {
4969
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
4970
+ var _event;
4971
+
4972
+ return runtime_1.wrap(function _callee$(_context) {
4973
+ while (1) {
4974
+ switch (_context.prev = _context.next) {
4975
+ case 0:
4976
+ _context.prev = 0;
4977
+ _context.next = 3;
4978
+ return logout();
4603
4979
 
4604
- var _event = new window.CustomEvent('tf-logout');
4980
+ case 3:
4981
+ onLogoutSuccess();
4982
+
4983
+ if (isWindowDefined) {
4984
+ window.localStorage.removeItem('access_token');
4985
+ window.localStorage.removeItem('user_data');
4986
+ setIsLogged(false);
4987
+ _event = new window.CustomEvent('tf-logout');
4988
+ deleteCookieByName('X-TF-ECOMMERCE');
4989
+ window.document.dispatchEvent(_event);
4990
+ }
4605
4991
 
4606
- window.document.dispatchEvent(_event);
4607
- }
4608
- };
4992
+ _context.next = 10;
4993
+ break;
4994
+
4995
+ case 7:
4996
+ _context.prev = 7;
4997
+ _context.t0 = _context["catch"](0);
4998
+ onLogoutError(_context.t0);
4999
+
5000
+ case 10:
5001
+ case "end":
5002
+ return _context.stop();
5003
+ }
5004
+ }
5005
+ }, _callee, null, [[0, 7]]);
5006
+ }));
5007
+
5008
+ return function handleLogout() {
5009
+ return _ref2.apply(this, arguments);
5010
+ };
5011
+ }();
5012
+
5013
+ React.useEffect(function () {
5014
+ try {
5015
+ if (typeof window !== 'undefined') {
5016
+ var userData = window.localStorage.getItem('user_data') ? JSON.parse(window.localStorage.getItem('user_data') || '{}') : {};
5017
+
5018
+ if (userData.country === '') {
5019
+ handleLogout();
5020
+ window.open('https://www.ticketfairy.com/account/change_information?need_country=true');
5021
+ }
5022
+ }
5023
+ } catch (e) {}
5024
+ }, []);
4609
5025
 
4610
5026
  var handleExternalLogin = function handleExternalLogin() {
4611
5027
  setIsLogged(true);
@@ -4624,40 +5040,40 @@ var TicketsContainer = function TicketsContainer(_ref) {
4624
5040
  }
4625
5041
  };
4626
5042
 
4627
- function getTicketsApi(_x) {
5043
+ function getTicketsApi(_x, _x2) {
4628
5044
  return _getTicketsApi.apply(this, arguments);
4629
5045
  }
4630
5046
 
4631
5047
  function _getTicketsApi() {
4632
- _getTicketsApi = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2(isUpdateingPromoCode) {
5048
+ _getTicketsApi = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(isUpdateingCode, type) {
4633
5049
  var response, eventResponse, attributes, _event2;
4634
5050
 
4635
- return runtime_1.wrap(function _callee2$(_context2) {
5051
+ return runtime_1.wrap(function _callee3$(_context3) {
4636
5052
  while (1) {
4637
- switch (_context2.prev = _context2.next) {
5053
+ switch (_context3.prev = _context3.next) {
4638
5054
  case 0:
4639
- _context2.prev = 0;
4640
- !isUpdateingPromoCode && setIsLoading(true);
4641
- setIsPromoLoading(true);
4642
- _context2.next = 5;
4643
- return getTickets(eventId, promoCodeUpdated);
5055
+ _context3.prev = 0;
5056
+ isUpdateingCode ? setCodeIsLoading(true) : setIsLoading(true);
5057
+ _context3.next = 4;
5058
+ return getTickets(eventId, code);
4644
5059
 
4645
- case 5:
4646
- response = _context2.sent;
4647
- _context2.next = 8;
5060
+ case 4:
5061
+ response = _context3.sent;
5062
+ _context3.next = 7;
4648
5063
  return getEvent(eventId);
4649
5064
 
4650
- case 8:
4651
- eventResponse = _context2.sent;
5065
+ case 7:
5066
+ eventResponse = _context3.sent;
4652
5067
 
4653
5068
  if (response.data.success) {
4654
- setCustomHeader(response);
4655
5069
  attributes = _get(response, 'data.data.attributes');
4656
- setPromoCodeIsApplied(attributes.ValidPromoCode);
5070
+ type === 'promo' && setCodeIsApplied(attributes.ValidPromoCode);
4657
5071
  setTickets(_get(attributes, 'tickets'));
4658
5072
  setShowWaitingList(attributes.showWaitingList);
4659
5073
  onGetTicketsSuccess(response.data);
4660
- setPromoCode('');
5074
+ setCode('');
5075
+ setShowAccessCodeSection(attributes.is_access_code);
5076
+ setShowPromoCodeSection(attributes.isPromotionsEnabled);
4661
5077
  }
4662
5078
 
4663
5079
  if (eventResponse.data.success) {
@@ -4665,42 +5081,42 @@ var TicketsContainer = function TicketsContainer(_ref) {
4665
5081
  setEvent(_event2);
4666
5082
  }
4667
5083
 
4668
- _context2.next = 16;
5084
+ _context3.next = 15;
4669
5085
  break;
4670
5086
 
4671
- case 13:
4672
- _context2.prev = 13;
4673
- _context2.t0 = _context2["catch"](0);
5087
+ case 12:
5088
+ _context3.prev = 12;
5089
+ _context3.t0 = _context3["catch"](0);
4674
5090
 
4675
- if (axios.isAxiosError(_context2.t0)) {
4676
- onGetTicketsError(_context2.t0);
5091
+ if (axios.isAxiosError(_context3.t0)) {
5092
+ onGetTicketsError(_context3.t0);
4677
5093
  }
4678
5094
 
4679
- case 16:
4680
- _context2.prev = 16;
5095
+ case 15:
5096
+ _context3.prev = 15;
4681
5097
  setIsLoading(false);
4682
- setIsPromoLoading(false);
4683
- return _context2.finish(16);
5098
+ setCodeIsLoading(false);
5099
+ return _context3.finish(15);
4684
5100
 
4685
- case 20:
5101
+ case 19:
4686
5102
  case "end":
4687
- return _context2.stop();
5103
+ return _context3.stop();
4688
5104
  }
4689
5105
  }
4690
- }, _callee2, null, [[0, 13, 16, 20]]);
5106
+ }, _callee3, null, [[0, 12, 15, 19]]);
4691
5107
  }));
4692
5108
  return _getTicketsApi.apply(this, arguments);
4693
5109
  }
4694
5110
 
4695
5111
  var handleTicketSelect = function handleTicketSelect(key, value) {
4696
5112
  setSelectedTickets(function (prevState) {
4697
- var _ref2;
5113
+ var _ref3;
4698
5114
 
4699
5115
  if (Object.keys(prevState)[0] !== key && !value) {
4700
5116
  return prevState;
4701
5117
  }
4702
5118
 
4703
- return _ref2 = {}, _ref2[key] = value, _ref2;
5119
+ return _ref3 = {}, _ref3[key] = value, _ref3;
4704
5120
  });
4705
5121
  };
4706
5122
 
@@ -4711,14 +5127,14 @@ var TicketsContainer = function TicketsContainer(_ref) {
4711
5127
  };
4712
5128
 
4713
5129
  var handleBook = /*#__PURE__*/function () {
4714
- var _ref3 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
5130
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
4715
5131
  var _product_options, _product_options2, _ticket_types;
4716
5132
 
4717
- var ticket, optionName, ticketId, ticketQuantity, data, result, _result$data$data$att, _result$data, _result$data$data, _result$data$data$att2, _result$data$data$att3, _result$data2, _result$data2$data, _result$data2$data$at, _result$data$data$att4, _result$data3, _result$data3$data, _result$data3$data$at, _result$data$data$att5, _result$data4, _result$data4$data, _result$data4$data$at, skipBillingPage, nameIsRequired, ageIsRequired, phoneIsRequired, hash, _isWindowDefined, userData, access_token, checkoutBody, checkoutResult;
5133
+ var ticket, optionName, ticketId, ticketQuantity, data, result, _result$data$data$att, _result$data, _result$data$data, _result$data$data$att2, _result$data$data$att3, _result$data2, _result$data2$data, _result$data2$data$at, _result$data$data$att4, _result$data3, _result$data3$data, _result$data3$data$at, _result$data$data$att5, _result$data4, _result$data4$data, _result$data4$data$at, skipBillingPage, nameIsRequired, ageIsRequired, phoneIsRequired, hash, total, _isWindowDefined, userData, access_token, checkoutBody, checkoutResult;
4718
5134
 
4719
- return runtime_1.wrap(function _callee$(_context) {
5135
+ return runtime_1.wrap(function _callee2$(_context2) {
4720
5136
  while (1) {
4721
- switch (_context.prev = _context.next) {
5137
+ switch (_context2.prev = _context2.next) {
4722
5138
  case 0:
4723
5139
  setHandleBookIsLoading(true);
4724
5140
  ticket = _find(tickets, function (item) {
@@ -4739,27 +5155,27 @@ var TicketsContainer = function TicketsContainer(_ref) {
4739
5155
  }, _ticket_types)
4740
5156
  }
4741
5157
  };
4742
- _context.prev = 6;
4743
- _context.next = 9;
5158
+ _context2.prev = 6;
5159
+ _context2.next = 9;
4744
5160
  return addToCart(eventId, data);
4745
5161
 
4746
5162
  case 9:
4747
- result = _context.sent;
5163
+ result = _context2.sent;
4748
5164
 
4749
5165
  if (!(result.status === 200)) {
4750
- _context.next = 27;
5166
+ _context2.next = 33;
4751
5167
  break;
4752
5168
  }
4753
5169
 
4754
- setCustomHeader(result);
4755
5170
  skipBillingPage = (_result$data$data$att = result == null ? void 0 : (_result$data = result.data) == null ? void 0 : (_result$data$data = _result$data.data) == null ? void 0 : (_result$data$data$att2 = _result$data$data.attributes) == null ? void 0 : _result$data$data$att2.skip_billing_page) != null ? _result$data$data$att : false;
4756
5171
  nameIsRequired = (_result$data$data$att3 = result == null ? void 0 : (_result$data2 = result.data) == null ? void 0 : (_result$data2$data = _result$data2.data) == null ? void 0 : (_result$data2$data$at = _result$data2$data.attributes) == null ? void 0 : _result$data2$data$at.names_required) != null ? _result$data$data$att3 : false;
4757
5172
  ageIsRequired = (_result$data$data$att4 = result == null ? void 0 : (_result$data3 = result.data) == null ? void 0 : (_result$data3$data = _result$data3.data) == null ? void 0 : (_result$data3$data$at = _result$data3$data.attributes) == null ? void 0 : _result$data3$data$at.age_required) != null ? _result$data$data$att4 : false;
4758
5173
  phoneIsRequired = (_result$data$data$att5 = result == null ? void 0 : (_result$data4 = result.data) == null ? void 0 : (_result$data4$data = _result$data4.data) == null ? void 0 : (_result$data4$data$at = _result$data4$data.attributes) == null ? void 0 : _result$data4$data$at.phone_required) != null ? _result$data$data$att5 : false;
4759
5174
  hash = '';
5175
+ total = '';
4760
5176
 
4761
5177
  if (!skipBillingPage) {
4762
- _context.next = 26;
5178
+ _context2.next = 32;
4763
5179
  break;
4764
5180
  }
4765
5181
 
@@ -4768,65 +5184,79 @@ var TicketsContainer = function TicketsContainer(_ref) {
4768
5184
  userData = _isWindowDefined && window.localStorage.getItem('user_data') ? JSON.parse(window.localStorage.getItem('user_data') || '') : {};
4769
5185
  access_token = _isWindowDefined && window.localStorage.getItem('access_token') ? window.localStorage.getItem('access_token') || '' : '';
4770
5186
  checkoutBody = createCheckoutDataBodyWithDefaultHolder(ticketQuantity, userData);
4771
- _context.next = 24;
5187
+
5188
+ if (!enableBillingInfoAutoCreate) {
5189
+ _context2.next = 28;
5190
+ break;
5191
+ }
5192
+
5193
+ _context2.next = 25;
4772
5194
  return postOnCheckout(checkoutBody, access_token);
4773
5195
 
4774
- case 24:
4775
- checkoutResult = _context.sent;
5196
+ case 25:
5197
+ _context2.t0 = _context2.sent;
5198
+ _context2.next = 29;
5199
+ break;
5200
+
5201
+ case 28:
5202
+ _context2.t0 = null;
5203
+
5204
+ case 29:
5205
+ checkoutResult = _context2.t0;
4776
5206
  hash = _get(checkoutResult, 'data.data.attributes.hash');
5207
+ total = _get(checkoutResult, 'data.data.attributes.total');
4777
5208
 
4778
- case 26:
5209
+ case 32:
4779
5210
  onAddToCartSuccess({
4780
5211
  skip_billing_page: skipBillingPage,
4781
5212
  names_required: nameIsRequired,
4782
5213
  phone_required: phoneIsRequired,
4783
5214
  age_required: ageIsRequired,
4784
5215
  event_id: String(eventId),
4785
- hash: hash
5216
+ hash: hash,
5217
+ total: total
4786
5218
  });
4787
5219
 
4788
- case 27:
4789
- _context.next = 32;
5220
+ case 33:
5221
+ _context2.next = 38;
4790
5222
  break;
4791
5223
 
4792
- case 29:
4793
- _context.prev = 29;
4794
- _context.t0 = _context["catch"](6);
5224
+ case 35:
5225
+ _context2.prev = 35;
5226
+ _context2.t1 = _context2["catch"](6);
4795
5227
 
4796
- if (axios.isAxiosError(_context.t0)) {
4797
- onAddToCartError(_context.t0);
5228
+ if (axios.isAxiosError(_context2.t1)) {
5229
+ onAddToCartError(_context2.t1);
4798
5230
  }
4799
5231
 
4800
- case 32:
4801
- _context.prev = 32;
5232
+ case 38:
5233
+ _context2.prev = 38;
4802
5234
  setHandleBookIsLoading(false);
4803
- return _context.finish(32);
5235
+ return _context2.finish(38);
4804
5236
 
4805
- case 35:
5237
+ case 41:
4806
5238
  case "end":
4807
- return _context.stop();
5239
+ return _context2.stop();
4808
5240
  }
4809
5241
  }
4810
- }, _callee, null, [[6, 29, 32, 35]]);
5242
+ }, _callee2, null, [[6, 35, 38, 41]]);
4811
5243
  }));
4812
5244
 
4813
5245
  return function handleBook() {
4814
- return _ref3.apply(this, arguments);
5246
+ return _ref4.apply(this, arguments);
4815
5247
  };
4816
5248
  }();
4817
5249
 
4818
- var updateTickets = function updateTickets() {
4819
- getTicketsApi();
5250
+ var updateTickets = function updateTickets(isUpdateingCode, type) {
5251
+ getTicketsApi(isUpdateingCode, type);
4820
5252
  };
4821
5253
 
4822
- var isAllTicketsSoldOut = _every(tickets, function (item) {
4823
- return item.sold_out || item.soldOut;
4824
- });
4825
-
4826
5254
  var isTicketOnSale = _some(tickets, function (item) {
4827
5255
  return item.salesStarted && !item.salesEnded && !item.soldOut;
4828
5256
  });
4829
5257
 
5258
+ var eventHasTickets = !_isEmpty(tickets);
5259
+ var isSalesClosed = event == null ? void 0 : event.salesEnded;
4830
5260
  var themeMui = material.createTheme(themeOptions);
4831
5261
  React.useEffect(function () {
4832
5262
  isWindowDefined && window.document.addEventListener('custom-logout', handleLogout);
@@ -4840,44 +5270,74 @@ var TicketsContainer = function TicketsContainer(_ref) {
4840
5270
  isWindowDefined && window.document.removeEventListener('custom-login', handleExternalLogin);
4841
5271
  };
4842
5272
  }, []);
5273
+
5274
+ var handleGetTicketClick = function handleGetTicketClick() {
5275
+ if (!handleBookIsLoading && !_isEmpty(selectedTickets) && Object.values(selectedTickets)[0] > 0) {
5276
+ handleBook();
5277
+ } else {
5278
+ if (isButtonScrollable && ticketsContainerRef && ticketsContainerRef.current) {
5279
+ ticketsContainerRef.current.scrollIntoView({
5280
+ behavior: 'smooth',
5281
+ block: 'center',
5282
+ inline: 'nearest'
5283
+ });
5284
+ }
5285
+ }
5286
+ };
5287
+
5288
+ var bookButtonIsDisabled = handleBookIsLoading || _isEmpty(selectedTickets) || Object.values(selectedTickets)[0] === 0;
5289
+ var wrappedActionsSectionComponent = React__default.isValidElement(ActionsSectionComponent) ? React__default.cloneElement(ActionsSectionComponent, {
5290
+ handleGetTicketClick: handleGetTicketClick,
5291
+ isTicketOnSale: isTicketOnSale
5292
+ }) : null;
5293
+ var externalUrl = event == null ? void 0 : event.redirectUrl;
5294
+ var eventSaleIsNotStarted = !(event != null && event.salesStarted) && (event == null ? void 0 : event.salesStart);
4843
5295
  return React__default.createElement(privateTheming.ThemeProvider, {
4844
5296
  theme: themeMui
4845
- }, React__default.createElement(ReferralLogic, {
5297
+ }, !isLoading && React__default.createElement(ReferralLogic, {
4846
5298
  eventId: eventId
4847
5299
  }), React__default.createElement("div", {
4848
5300
  className: "get-tickets-page " + theme,
4849
5301
  style: contentStyle
4850
- }, isLoading ? React__default.createElement(Loader, null) : React__default.createElement("div", null, React__default.createElement(TicketsSection, {
5302
+ }, isLoading ? React__default.createElement(Loader, null) : React__default.createElement("div", {
5303
+ ref: ticketsContainerRef
5304
+ }, !isSalesClosed && React__default.createElement(TicketsSection, {
4851
5305
  ticketsList: tickets,
4852
5306
  selectedTickets: selectedTickets,
4853
5307
  handleTicketSelect: handleTicketSelect,
4854
- promoCodeIsApplied: promoCodeIsApplied
4855
- }), event != null && event.salesEnded ? React__default.createElement("p", {
4856
- className: 'event-closed-message'
4857
- }, "Sales for this event are closed.") : !(event != null && event.salesStarted) && event != null && event.salesStart ? React__default.createElement(Countdown, {
5308
+ sortBySoldOut: sortBySoldOut,
5309
+ ticketsHeaderComponent: ticketsHeaderComponent,
5310
+ hideTicketsHeader: hideTicketsHeader || _isEmpty(tickets)
5311
+ }), externalUrl ? null : isSalesClosed ? React__default.createElement("p", {
5312
+ className: "event-closed-message " + (!isLoggedIn ? 'event-closed-on-bottom' : '')
5313
+ }, "Sales for this event are closed.") : eventSaleIsNotStarted ? React__default.createElement(Countdown, {
4858
5314
  startDate: event.salesStart,
4859
5315
  timezone: event.timezone,
4860
5316
  title: "Sales start in:",
4861
5317
  message: "No tickets are currently available for this event.",
4862
- callback: updateTickets
5318
+ showMessage: !eventHasTickets,
5319
+ callback: updateTickets,
5320
+ disableLeadingZero: disableCountdownLeadingZero,
5321
+ isLoggedIn: isLoggedIn
4863
5322
  }) : null, showWaitingList && event.salesStarted && !hideWaitingList && React__default.createElement(WaitingList, {
4864
5323
  tickets: tickets,
4865
5324
  eventId: eventId
4866
- }), React__default.createElement(PromoCodeSection, {
4867
- promoCode: promoCode,
4868
- promoCodeIsApplied: promoCodeIsApplied,
5325
+ }), codeIsLoading ? React__default.createElement(Loader, null) : isSalesClosed ? null : showAccessCodeSection ? React__default.createElement(AccessCodeSection, {
5326
+ code: code,
5327
+ setCode: setCode,
5328
+ updateTickets: updateTickets
5329
+ }) : showPromoCodeSection ? React__default.createElement(PromoCodeSection, {
5330
+ code: code,
5331
+ codeIsApplied: codeIsApplied,
5332
+ setCodeIsApplied: setCodeIsApplied,
4869
5333
  showPromoInput: showPromoInput,
4870
- setPromoCode: setPromoCode,
4871
- setPromoCodeUpdated: setPromoCodeUpdated,
4872
5334
  setShowPromoInput: setShowPromoInput,
4873
- isPromotionsEnabled: isPromotionsEnabled,
4874
- isAccessCodeEnabled: isAccessCodeEnabled,
4875
- isAllTicketsSoldOut: isAllTicketsSoldOut,
4876
- isPromoLoading: isPromoLoading
4877
- }), (isTicketOnSale || !(event != null && event.salesEnded)) && React__default.createElement(Button$1, {
5335
+ setCode: setCode,
5336
+ updateTickets: updateTickets
5337
+ }) : null, wrappedActionsSectionComponent, !wrappedActionsSectionComponent && !eventSaleIsNotStarted && isTicketOnSale && !(event != null && event.salesEnded) && !externalUrl && React__default.createElement(Button$1, {
4878
5338
  "aria-hidden": true,
4879
- className: "book-button " + (handleBookIsLoading || _isEmpty(selectedTickets) || Object.values(selectedTickets)[0] === 0 ? 'disabled' : ''),
4880
- onClick: !handleBookIsLoading && !_isEmpty(selectedTickets) && Object.values(selectedTickets)[0] > 0 ? handleBook : function () {}
5339
+ className: "book-button \n " + (bookButtonIsDisabled ? 'disabled' : '') + " \n " + (isButtonScrollable ? 'is-scrollable' : '') + "\n " + (!isLoggedIn ? 'on-bottom' : '') + "\n ",
5340
+ onClick: handleGetTicketClick
4881
5341
  }, getTicketsLabel || 'GET TICKETS'), isLogged && !hideSessionButtons ? React__default.createElement("div", {
4882
5342
  className: "session-wrapper"
4883
5343
  }, React__default.createElement("span", {
@@ -4915,10 +5375,7 @@ var tableConfig = function tableConfig(key) {
4915
5375
  switch (key) {
4916
5376
  default:
4917
5377
  config = {
4918
- header: ['Order No.', 'Date', 'Event', 'Total'],
4919
5378
  body: [function (row) {
4920
- return row.id;
4921
- }, function (row) {
4922
5379
  return row.date;
4923
5380
  }, function (row) {
4924
5381
  return React__default.createElement(EventInfoItem, {
@@ -4987,16 +5444,30 @@ var MyTicketsContainer = function MyTicketsContainer(_ref) {
4987
5444
 
4988
5445
  var _useState4 = React.useState(''),
4989
5446
  filter = _useState4[0],
4990
- setFilter = _useState4[1]; //just once
5447
+ setFilter = _useState4[1];
5448
+
5449
+ var isWindowDefined = typeof window !== 'undefined';
5450
+
5451
+ var _useState5 = React.useState(isWindowDefined ? !!window.localStorage.getItem('access_token') : false),
5452
+ isLogged = _useState5[0],
5453
+ setIsLogged = _useState5[1];
5454
+
5455
+ var _useState6 = React.useState(false),
5456
+ showModalLogin = _useState6[0],
5457
+ setShowModalLogin = _useState6[1];
5458
+
5459
+ var _useState7 = React.useState(false),
5460
+ userExpired = _useState7[0],
5461
+ setUserExpired = _useState7[1]; //just once
4991
5462
 
4992
5463
 
4993
5464
  React.useEffect(function () {
4994
5465
  fetchData(1, limit, filter);
4995
- }, []);
5466
+ }, [isLogged]);
4996
5467
 
4997
5468
  var fetchData = /*#__PURE__*/function () {
4998
5469
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(page, limit, filter) {
4999
- var response, _data;
5470
+ var response, _data, _error$response;
5000
5471
 
5001
5472
  return runtime_1.wrap(function _callee$(_context) {
5002
5473
  while (1) {
@@ -5013,25 +5484,37 @@ var MyTicketsContainer = function MyTicketsContainer(_ref) {
5013
5484
  _data = _get(response, 'data.data.attributes');
5014
5485
  _data.page -= 1;
5015
5486
  setData(_data);
5016
- _context.next = 14;
5487
+ _context.next = 15;
5017
5488
  break;
5018
5489
 
5019
5490
  case 11:
5020
5491
  _context.prev = 11;
5021
5492
  _context.t0 = _context["catch"](0);
5493
+
5494
+ if (axios.isAxiosError(_context.t0)) {
5495
+ if (((_error$response = _context.t0.response) == null ? void 0 : _error$response.data.error) === 'invalid_token') {
5496
+ if (isWindowDefined) {
5497
+ window.localStorage.removeItem('user_data');
5498
+ window.localStorage.removeItem('access_token');
5499
+ setUserExpired(true);
5500
+ setShowModalLogin(true);
5501
+ }
5502
+ }
5503
+ }
5504
+
5022
5505
  onGetOrdersError(_context.t0);
5023
5506
 
5024
- case 14:
5025
- _context.prev = 14;
5507
+ case 15:
5508
+ _context.prev = 15;
5026
5509
  setLoading(false);
5027
- return _context.finish(14);
5510
+ return _context.finish(15);
5028
5511
 
5029
- case 17:
5512
+ case 18:
5030
5513
  case "end":
5031
5514
  return _context.stop();
5032
5515
  }
5033
5516
  }
5034
- }, _callee, null, [[0, 11, 14, 17]]);
5517
+ }, _callee, null, [[0, 11, 15, 18]]);
5035
5518
  }));
5036
5519
 
5037
5520
  return function fetchData(_x, _x2, _x3) {
@@ -5057,7 +5540,24 @@ var MyTicketsContainer = function MyTicketsContainer(_ref) {
5057
5540
  className: "my-ticket " + theme
5058
5541
  }, loading && React__default.createElement("div", {
5059
5542
  className: "loading"
5060
- }, React__default.createElement(CircularProgress, null)), data && React__default.createElement(React__default.Fragment, null, React__default.createElement(Autocomplete, {
5543
+ }, React__default.createElement(CircularProgress, null)), !isLogged ? React__default.createElement("div", {
5544
+ className: "account-actions-block"
5545
+ }, React__default.createElement("div", {
5546
+ className: "login-block"
5547
+ }, React__default.createElement("button", {
5548
+ className: "login-register-button",
5549
+ type: "button",
5550
+ onClick: function onClick() {
5551
+ setShowModalLogin(true);
5552
+ }
5553
+ }, "Login"), React__default.createElement("div", {
5554
+ className: "logo-image-container"
5555
+ }, React__default.createElement("img", {
5556
+ src: theme === 'dark' ? 'https://www.ticketfairy.com/resources/images/logo-ttf.svg' : 'https://www.ticketfairy.com/resources/images/logo-ttf-black.svg',
5557
+ alt: "nodata"
5558
+ })))) : null, data && React__default.createElement(React__default.Fragment, null, React__default.createElement("h2", null, "My Ticket Orders"), React__default.createElement("div", {
5559
+ className: "order_event"
5560
+ }, React__default.createElement(Autocomplete, {
5061
5561
  disablePortal: true,
5062
5562
  id: "combo-box-demo",
5063
5563
  getOptionLabel: function getOptionLabel(option) {
@@ -5073,16 +5573,14 @@ var MyTicketsContainer = function MyTicketsContainer(_ref) {
5073
5573
  label: "Events"
5074
5574
  }));
5075
5575
  }
5076
- }), React__default.createElement(TableContainer, {
5576
+ }), React__default.createElement("button", {
5577
+ className: "clear"
5578
+ }, "CLEAR")), React__default.createElement(TableContainer, {
5077
5579
  component: Paper,
5078
5580
  className: "my-ticket-table"
5079
5581
  }, React__default.createElement(Table, {
5080
5582
  "aria-label": "collapsible table"
5081
- }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, tableConfig().header.map(function (column, index) {
5082
- return React__default.createElement(TableCell, {
5083
- key: index
5084
- }, column);
5085
- }), React__default.createElement(TableCell, null))), React__default.createElement(TableBody, null, (_data$orders = data.orders) == null ? void 0 : _data$orders.map(function (row) {
5583
+ }, React__default.createElement(TableBody, null, (_data$orders = data.orders) == null ? void 0 : _data$orders.map(function (row) {
5086
5584
  return React__default.createElement(Row, {
5087
5585
  key: row.id,
5088
5586
  row: row,
@@ -5096,6 +5594,16 @@ var MyTicketsContainer = function MyTicketsContainer(_ref) {
5096
5594
  page: data.page,
5097
5595
  onPageChange: handleChangePage,
5098
5596
  onRowsPerPageChange: handleChangeRowsPerPage
5597
+ })), React__default.createElement(React__default.Fragment, null, showModalLogin && React__default.createElement(LoginModal, {
5598
+ onClose: function onClose() {
5599
+ setShowModalLogin(false);
5600
+ },
5601
+ onLogin: function onLogin() {
5602
+ setShowModalLogin(false);
5603
+ setUserExpired(false);
5604
+ setIsLogged(true);
5605
+ },
5606
+ userExpired: userExpired
5099
5607
  })));
5100
5608
  };
5101
5609
 
@@ -5105,27 +5613,94 @@ var TicketsTable = function TicketsTable(_ref) {
5105
5613
  _ref$handleSellTicket = _ref.handleSellTicket,
5106
5614
  handleSellTicket = _ref$handleSellTicket === void 0 ? function () {} : _ref$handleSellTicket,
5107
5615
  _ref$handleRemoveFrom = _ref.handleRemoveFromResale,
5108
- handleRemoveFromResale = _ref$handleRemoveFrom === void 0 ? function () {} : _ref$handleRemoveFrom;
5616
+ handleRemoveFromResale = _ref$handleRemoveFrom === void 0 ? function () {} : _ref$handleRemoveFrom,
5617
+ _ref$icon = _ref.icon,
5618
+ icon = _ref$icon === void 0 ? '' : _ref$icon;
5619
+
5620
+ var _useState = React.useState(null),
5621
+ pdfError = _useState[0],
5622
+ setPdfError = _useState[1];
5623
+
5109
5624
  return React__default.createElement("div", {
5110
5625
  className: "tickets-box"
5111
- }, React__default.createElement("h4", {
5626
+ }, React__default.createElement(SnackbarAlert, {
5627
+ type: "error",
5628
+ isOpen: !!pdfError,
5629
+ message: pdfError || '',
5630
+ onClose: function onClose() {
5631
+ return setPdfError(null);
5632
+ }
5633
+ }), React__default.createElement("h4", {
5112
5634
  className: "sub-title"
5113
5635
  }, "Your Tickets"), React__default.createElement(TableContainer, {
5114
5636
  component: Paper
5115
5637
  }, React__default.createElement(Table, {
5116
5638
  "aria-label": "collapsible table"
5117
- }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, "Ticket ID"), React__default.createElement(TableCell, null, "Ticket Type"), React__default.createElement(TableCell, null, "Ticket Holder Name"), React__default.createElement(TableCell, null, "Status"), React__default.createElement(TableCell, null, "Download"), React__default.createElement(TableCell, null))), React__default.createElement(TableBody, null, tickets.map(function (ticket, index) {
5639
+ }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null), React__default.createElement(TableCell, null), React__default.createElement(TableCell, null), React__default.createElement(TableCell, null), React__default.createElement(TableCell, null), React__default.createElement(TableCell, null))), React__default.createElement(TableBody, null, tickets.map(function (ticket, index) {
5118
5640
  var _ticket$add_ons;
5119
5641
 
5120
5642
  return React__default.createElement(React.Fragment, {
5121
5643
  key: index
5122
- }, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, ticket.hash), React__default.createElement(TableCell, null, ticket.ticket_type), React__default.createElement(TableCell, null, ticket.holder_name), React__default.createElement(TableCell, null, ticket.status), React__default.createElement(TableCell, null, React__default.createElement("span", {
5644
+ }, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, React__default.createElement("div", {
5645
+ className: "cell-block"
5646
+ }, React__default.createElement("span", null, "Ticket ID"), React__default.createElement("span", null, ticket.hash))), React__default.createElement(TableCell, null, React__default.createElement("div", {
5647
+ className: "cell-block"
5648
+ }, React__default.createElement("span", null, "Ticket Type"), React__default.createElement("span", null, ticket.ticket_type))), React__default.createElement(TableCell, null, React__default.createElement("div", {
5649
+ className: "cell-block"
5650
+ }, React__default.createElement("span", null, "Ticket Holder"), React__default.createElement("span", null, ticket.holder_name))), React__default.createElement(TableCell, null, React__default.createElement("div", {
5651
+ className: "cell-block"
5652
+ }, React__default.createElement("span", null, "Status"), React__default.createElement("span", null, ticket.status))), React__default.createElement(TableCell, null, ticket.status !== 'Sold' && React__default.createElement("div", {
5653
+ className: "tb-download"
5654
+ }, Boolean(icon) && React__default.createElement("img", {
5655
+ src: icon,
5656
+ alt: ""
5657
+ }), React__default.createElement("span", {
5123
5658
  "aria-hidden": true,
5124
5659
  className: "action-button",
5125
- onClick: function onClick() {
5126
- return downloadPDF(ticket.pdf_link);
5127
- }
5128
- }, "Download")), React__default.createElement(TableCell, null, ticket.is_sellable && React__default.createElement("span", {
5660
+ onClick: function () {
5661
+ var _onClick = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
5662
+ var pdfDownloadError;
5663
+ return runtime_1.wrap(function _callee$(_context) {
5664
+ while (1) {
5665
+ switch (_context.prev = _context.next) {
5666
+ case 0:
5667
+ _context.prev = 0;
5668
+ _context.next = 3;
5669
+ return downloadPDF(ticket.pdf_link);
5670
+
5671
+ case 3:
5672
+ pdfDownloadError = _context.sent;
5673
+
5674
+ if (pdfDownloadError) {
5675
+ setPdfError(pdfDownloadError == null ? void 0 : pdfDownloadError.message);
5676
+ }
5677
+
5678
+ _context.next = 10;
5679
+ break;
5680
+
5681
+ case 7:
5682
+ _context.prev = 7;
5683
+ _context.t0 = _context["catch"](0);
5684
+
5685
+ if (_context.t0 && typeof _context.t0 === 'string') {
5686
+ setPdfError(_context.t0);
5687
+ }
5688
+
5689
+ case 10:
5690
+ case "end":
5691
+ return _context.stop();
5692
+ }
5693
+ }
5694
+ }, _callee, null, [[0, 7]]);
5695
+ }));
5696
+
5697
+ function onClick() {
5698
+ return _onClick.apply(this, arguments);
5699
+ }
5700
+
5701
+ return onClick;
5702
+ }()
5703
+ }, "Download"))), React__default.createElement(TableCell, null, ticket.is_sellable && React__default.createElement("span", {
5129
5704
  "aria-hidden": true,
5130
5705
  className: "action-button",
5131
5706
  onClick: function onClick() {
@@ -5225,7 +5800,8 @@ var TicketResaleModal = function TicketResaleModal(_ref) {
5225
5800
  holder_name = ticket.holder_name,
5226
5801
  event_name = ticket.event_name,
5227
5802
  currency = ticket.currency,
5228
- resale_fee_amount = ticket.resale_fee_amount;
5803
+ resale_fee_amount = ticket.resale_fee_amount,
5804
+ ticket_type_is_active = ticket.ticket_type_is_active;
5229
5805
  return React__default.createElement(Modal, {
5230
5806
  open: true,
5231
5807
  onClose: onClose,
@@ -5298,13 +5874,13 @@ var TicketResaleModal = function TicketResaleModal(_ref) {
5298
5874
  label: 'Confirm Email address',
5299
5875
  type: 'text',
5300
5876
  component: CustomField
5301
- }))))), React__default.createElement("div", null, React__default.createElement(formik.Field, {
5302
- name: 'to',
5303
- label: 'I will sell my ticket to anyone who wants to buy it',
5304
- type: 'radio',
5305
- value: 'anyone',
5877
+ }))))), ticket_type_is_active && React__default.createElement("div", null, React__default.createElement(formik.Field, {
5878
+ name: "to",
5879
+ label: "I will sell my ticket to anyone who wants to buy it",
5880
+ type: "radio",
5881
+ value: "anyone",
5306
5882
  component: RadioField
5307
- })), React__default.createElement("div", null, React__default.createElement("h4", null, "Terms of Resale"), React__default.createElement("p", null, "I confirm that I want to sell this ticket and that, if someone chooses to buy it, I will no longer own it or have the right to ask for it back."), React__default.createElement("p", null, "I also understand that, if no one chooses to buy it, it remains my property, is valid for entry to ", React__default.createElement("strong", null, event_name), " and I will not receive any refund."), React__default.createElement("p", null, "If my ticket is sold, the original card I used to buy my ticket will be refunded with the original amount paid, minus a small handling fee of ", React__default.createElement("strong", null, currency + resale_fee_amount), ", and that any existing refunds due to me for referring sales for this event are no longer valid."), React__default.createElement(formik.Field, {
5883
+ })), React__default.createElement("div", null, React__default.createElement("h4", null, "Terms of Resale"), React__default.createElement("p", null, "I confirm that I want to sell this ticket and that, if someone chooses to buy it, I will no longer own it or have the right to ask for it back."), React__default.createElement("p", null, "I also understand that, if no one chooses to buy it, it remains my property, is valid for entry to ", React__default.createElement("strong", null, event_name), " and I will not receive any refund."), React__default.createElement("p", null, "If my ticket is sold, the original card I used to buy my ticket will be refunded with the original amount paid, minus a small handling fee of ", React__default.createElement("strong", null, (currency || '') + " " + (resale_fee_amount || '')), ", and that any existing refunds due to me for referring sales for this event are no longer valid."), React__default.createElement(formik.Field, {
5308
5884
  name: 'confirm',
5309
5885
  label: 'I agree',
5310
5886
  type: 'checkbox',
@@ -5364,10 +5940,14 @@ var getTotal = function getTotal(data) {
5364
5940
  var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
5365
5941
  var _data$items, _data$items$ticket_ty, _data$items2, _data$items2$add_ons;
5366
5942
 
5367
- var _ref$onGetOrdersSucce = _ref.onGetOrdersSuccess,
5943
+ var _ref$columns = _ref.columns,
5944
+ columns = _ref$columns === void 0 ? [] : _ref$columns,
5945
+ _ref$onGetOrdersSucce = _ref.onGetOrdersSuccess,
5368
5946
  onGetOrdersSuccess = _ref$onGetOrdersSucce === void 0 ? function () {} : _ref$onGetOrdersSucce,
5369
5947
  _ref$onGetOrdersError = _ref.onGetOrdersError,
5370
- onGetOrdersError = _ref$onGetOrdersError === void 0 ? function () {} : _ref$onGetOrdersError;
5948
+ onGetOrdersError = _ref$onGetOrdersError === void 0 ? function () {} : _ref$onGetOrdersError,
5949
+ _ref$personalLinkIcon = _ref.personalLinkIcon,
5950
+ personalLinkIcon = _ref$personalLinkIcon === void 0 ? '' : _ref$personalLinkIcon;
5371
5951
 
5372
5952
  var _useState = React.useState({}),
5373
5953
  data = _useState[0],
@@ -5437,7 +6017,15 @@ var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
5437
6017
  }, []);
5438
6018
 
5439
6019
  var handleSellTicket = function handleSellTicket(ticket) {
5440
- setActiveTicket(ticket);
6020
+ var ticketTypesArr = data.items.ticket_types;
6021
+
6022
+ var sellTicketType = _find(ticketTypesArr, function (ticketType) {
6023
+ return ticketType.hash === ticket.ticket_type_hash;
6024
+ });
6025
+
6026
+ setActiveTicket(_extends({}, ticket, {
6027
+ ticket_type_is_active: sellTicketType == null ? void 0 : sellTicketType.active
6028
+ }));
5441
6029
  setShowResaleModal(true);
5442
6030
  };
5443
6031
 
@@ -5560,6 +6148,12 @@ var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
5560
6148
  };
5561
6149
  }();
5562
6150
 
6151
+ var orderSummery = "ID " + data.id + ", placed";
6152
+
6153
+ if (data.date) {
6154
+ orderSummery += " " + data.date;
6155
+ }
6156
+
5563
6157
  return React__default.createElement("div", {
5564
6158
  className: "order-details"
5565
6159
  }, loading ? React__default.createElement("div", {
@@ -5568,19 +6162,45 @@ var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
5568
6162
  className: "layout-title"
5569
6163
  }, "Order Details"), React__default.createElement("div", {
5570
6164
  className: "order-summary-box"
5571
- }, React__default.createElement("h4", {
6165
+ }, React__default.createElement("div", {
6166
+ className: "summary-block"
6167
+ }, React__default.createElement("div", {
6168
+ className: "summary-item"
6169
+ }, React__default.createElement("h6", {
5572
6170
  className: "sub-title"
5573
- }, "Order Summary"), React__default.createElement("div", {
6171
+ }, "Order Summary"), React__default.createElement("p", null, orderSummery)), React__default.createElement("div", {
6172
+ className: "summary-item"
6173
+ }, React__default.createElement("div", {
6174
+ className: "return-button-container"
6175
+ }, React__default.createElement("button", {
6176
+ type: "button",
6177
+ className: "return-button",
6178
+ onClick: function onClick() {
6179
+ if (typeof window !== 'undefined') {
6180
+ window.location.assign('/orders');
6181
+ }
6182
+ }
6183
+ }, "Back to Orders")))), React__default.createElement("div", {
5574
6184
  className: "personal-link"
5575
- }, React__default.createElement("b", null, "Your personal share link for this event is: "), React__default.createElement("a", {
6185
+ }, React__default.createElement("div", {
6186
+ className: "link-item"
6187
+ }, React__default.createElement("span", null, "Personal Share Link: "), React__default.createElement("a", {
5576
6188
  href: data == null ? void 0 : data.personal_share_link,
5577
6189
  target: "_blank",
5578
6190
  rel: "noreferrer"
5579
- }, data == null ? void 0 : data.personal_share_link)), React__default.createElement(TableContainer, {
6191
+ }, Boolean(personalLinkIcon) && React__default.createElement("img", {
6192
+ src: personalLinkIcon,
6193
+ alt: "Icon"
6194
+ }), data == null ? void 0 : data.personal_share_link)), React__default.createElement("div", {
6195
+ className: "link-item"
6196
+ }, React__default.createElement("p", null, "So far, you\u2019ve referred " + data.sales_referred + " tickets"))), React__default.createElement(TableContainer, {
5580
6197
  component: Paper
5581
6198
  }, React__default.createElement(Table, {
6199
+ className: "tt-type",
5582
6200
  "aria-label": "collapsible table"
5583
- }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, React__default.createElement(TableCell, null, "Items"), React__default.createElement(TableCell, null, "Price"), React__default.createElement(TableCell, null, "Quantity"), React__default.createElement(TableCell, null, "Total"))), React__default.createElement(TableBody, null, data == null ? void 0 : (_data$items = data.items) == null ? void 0 : (_data$items$ticket_ty = _data$items.ticket_types) == null ? void 0 : _data$items$ticket_ty.map(function (ticket, index) {
6201
+ }, React__default.createElement(TableHead, null, React__default.createElement(TableRow, null, _map(columns, function (item) {
6202
+ return React__default.createElement(TableCell, null, item.label || '');
6203
+ }))), React__default.createElement(TableBody, null, data == null ? void 0 : (_data$items = data.items) == null ? void 0 : (_data$items$ticket_ty = _data$items.ticket_types) == null ? void 0 : _data$items$ticket_ty.map(function (ticket, index) {
5584
6204
  return React__default.createElement(TableRow, {
5585
6205
  key: index
5586
6206
  }, React__default.createElement(TableCell, null, React__default.createElement("b", null, "Ticket Type: "), ticket.name), React__default.createElement(TableCell, null, ticket.currency + ticket.price), React__default.createElement(TableCell, null, ticket.quantity), React__default.createElement(TableCell, null, ticket.currency + ticket.total));
@@ -5594,17 +6214,7 @@ var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
5594
6214
  tickets: data.tickets,
5595
6215
  handleSellTicket: handleSellTicket,
5596
6216
  handleRemoveFromResale: handleRemoveFromResale
5597
- }), React__default.createElement("div", {
5598
- className: "return-button-container"
5599
- }, React__default.createElement("button", {
5600
- type: "button",
5601
- className: "return-button",
5602
- onClick: function onClick() {
5603
- if (typeof window !== 'undefined') {
5604
- window.location.assign('/orders');
5605
- }
5606
- }
5607
- }, "Return to Order History"))), showResaleModal && React__default.createElement(TicketResaleModal, {
6217
+ })), showResaleModal && React__default.createElement(TicketResaleModal, {
5608
6218
  ticket: activeTicket,
5609
6219
  onClose: handleOnClose,
5610
6220
  onSubmit: handleOnSubmit
@@ -5616,80 +6226,293 @@ var OrderDetailsContainer = function OrderDetailsContainer(_ref) {
5616
6226
  };
5617
6227
 
5618
6228
  var TicketResaleContainer = function TicketResaleContainer(_ref) {
5619
- var _ref$onCheckTicketSta = _ref.onCheckTicketStatusSuccess,
5620
- onCheckTicketStatusSuccess = _ref$onCheckTicketSta === void 0 ? function () {} : _ref$onCheckTicketSta,
5621
- _ref$onCheckTicketSta2 = _ref.onCheckTicketStatusError,
5622
- onCheckTicketStatusError = _ref$onCheckTicketSta2 === void 0 ? function () {} : _ref$onCheckTicketSta2,
6229
+ var _ref$onProcessTicketS = _ref.onProcessTicketSuccess,
6230
+ onProcessTicketSuccess = _ref$onProcessTicketS === void 0 ? function () {} : _ref$onProcessTicketS,
6231
+ _ref$onProcessTicketE = _ref.onProcessTicketError,
6232
+ onProcessTicketError = _ref$onProcessTicketE === void 0 ? function () {} : _ref$onProcessTicketE,
6233
+ _ref$onDeclineTicketP = _ref.onDeclineTicketPurchaseSuccess,
6234
+ onDeclineTicketPurchaseSuccess = _ref$onDeclineTicketP === void 0 ? function () {} : _ref$onDeclineTicketP,
6235
+ _ref$onDeclineTicketP2 = _ref.onDeclineTicketPurchaseError,
6236
+ onDeclineTicketPurchaseError = _ref$onDeclineTicketP2 === void 0 ? function () {} : _ref$onDeclineTicketP2,
5623
6237
  orderHash = _ref.orderHash;
5624
6238
  var isWindowDefined = typeof window !== 'undefined';
5625
6239
 
5626
- var _useState = React.useState(null),
6240
+ var _useState = React.useState(''),
5627
6241
  error = _useState[0],
5628
6242
  setError = _useState[1];
5629
6243
 
6244
+ var _useState2 = React.useState(''),
6245
+ successMessage = _useState2[0],
6246
+ setSuccessMessage = _useState2[1];
6247
+
5630
6248
  React.useEffect(function () {
5631
6249
  _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
5632
- var params, hash, response, data, age_required, names_required, event_id, _error$response, _error$response$data;
6250
+ var params, hash, isDeclined, response, _error$response, _error$response$data, _response, data, age_required, names_required, event_id, _error$response2, _error$response2$data;
5633
6251
 
5634
6252
  return runtime_1.wrap(function _callee$(_context) {
5635
6253
  while (1) {
5636
6254
  switch (_context.prev = _context.next) {
5637
6255
  case 0:
5638
6256
  if (!isWindowDefined) {
5639
- _context.next = 24;
6257
+ _context.next = 38;
5640
6258
  break;
5641
6259
  }
5642
6260
 
5643
6261
  params = new URL("" + window.location).searchParams;
5644
- hash = params.get('o') || orderHash || null;
6262
+ hash = params.get('invitation_hash') || orderHash || null;
6263
+ isDeclined = params.get('decline') || false;
5645
6264
 
5646
6265
  if (!hash) {
5647
- _context.next = 23;
6266
+ _context.next = 37;
5648
6267
  break;
5649
6268
  }
5650
6269
 
5651
- _context.prev = 4;
5652
- _context.next = 7;
5653
- return checkTicketStatus(hash);
6270
+ if (!isDeclined) {
6271
+ _context.next = 19;
6272
+ break;
6273
+ }
5654
6274
 
5655
- case 7:
6275
+ _context.prev = 6;
6276
+ _context.next = 9;
6277
+ return declineInvitation(hash);
6278
+
6279
+ case 9:
5656
6280
  response = _context.sent;
5657
- data = _get(response, 'data.data.attributes');
6281
+ onDeclineTicketPurchaseSuccess(response);
6282
+ setSuccessMessage("Thanks for letting us know! We'll offer this ticket to someone else!");
6283
+ _context.next = 18;
6284
+ break;
6285
+
6286
+ case 14:
6287
+ _context.prev = 14;
6288
+ _context.t0 = _context["catch"](6);
6289
+ setError(_context.t0 == null ? void 0 : (_error$response = _context.t0.response) == null ? void 0 : (_error$response$data = _error$response.data) == null ? void 0 : _error$response$data.message);
6290
+ onDeclineTicketPurchaseError(_context.t0.response);
6291
+
6292
+ case 18:
6293
+ return _context.abrupt("return");
6294
+
6295
+ case 19:
6296
+ _context.prev = 19;
6297
+ _context.next = 22;
6298
+ return processTicket(hash);
6299
+
6300
+ case 22:
6301
+ _response = _context.sent;
6302
+ data = _get(_response, 'data.data.attributes');
5658
6303
  age_required = _get(data, 'age_required', false);
5659
6304
  names_required = _get(data, 'names_required', false);
5660
6305
  event_id = _get(data, 'event_id');
5661
- onCheckTicketStatusSuccess(response.data);
6306
+ onProcessTicketSuccess(_response.data);
5662
6307
  window.location.href = "/billing/billing-info/?age_required=" + age_required + "&names_required=" + names_required + "&event_id=" + event_id;
5663
- _context.next = 21;
6308
+ _context.next = 35;
5664
6309
  break;
5665
6310
 
5666
- case 16:
5667
- _context.prev = 16;
5668
- _context.t0 = _context["catch"](4);
5669
- console.log(_context.t0);
5670
- setError(_context.t0 == null ? void 0 : (_error$response = _context.t0.response) == null ? void 0 : (_error$response$data = _error$response.data) == null ? void 0 : _error$response$data.message);
5671
- onCheckTicketStatusError(_context.t0.response);
6311
+ case 31:
6312
+ _context.prev = 31;
6313
+ _context.t1 = _context["catch"](19);
6314
+ setError(_context.t1 == null ? void 0 : (_error$response2 = _context.t1.response) == null ? void 0 : (_error$response2$data = _error$response2.data) == null ? void 0 : _error$response2$data.message);
6315
+ onProcessTicketError(_context.t1.response);
5672
6316
 
5673
- case 21:
5674
- _context.next = 24;
6317
+ case 35:
6318
+ _context.next = 38;
5675
6319
  break;
5676
6320
 
5677
- case 23:
6321
+ case 37:
5678
6322
  window.location.href = '/';
5679
6323
 
5680
- case 24:
6324
+ case 38:
5681
6325
  case "end":
5682
6326
  return _context.stop();
5683
6327
  }
5684
6328
  }
5685
- }, _callee, null, [[4, 16]]);
6329
+ }, _callee, null, [[6, 14], [19, 31]]);
5686
6330
  }))();
5687
6331
  }, []);
5688
6332
  return React__default.createElement("div", {
5689
6333
  className: "ticket-resale-page"
5690
6334
  }, React__default.createElement("div", {
5691
- className: "error-block"
5692
- }, React__default.createElement("h3", null, error)));
6335
+ className: "" + (successMessage ? 'success-block' : 'error-block')
6336
+ }, React__default.createElement("h3", null, successMessage ? successMessage : error)));
6337
+ };
6338
+
6339
+ var style$3 = {
6340
+ position: 'absolute',
6341
+ top: '10%',
6342
+ left: '50%',
6343
+ transform: 'translate(-50%, -50%)',
6344
+ minWidth: 480,
6345
+ backgroundColor: '#e3e3e3',
6346
+ border: '1px solid white',
6347
+ outline: 'none',
6348
+ padding: '14px',
6349
+ maxHeight: '85vh',
6350
+ overflow: 'auto'
6351
+ };
6352
+ var RedirectModal = function RedirectModal(_ref) {
6353
+ var _ref$message = _ref.message,
6354
+ message = _ref$message === void 0 ? 'Your cart has expired. Please click on "OK" to return to the ticket selection page.' : _ref$message,
6355
+ _ref$onClickOk = _ref.onClickOk,
6356
+ onClickOk = _ref$onClickOk === void 0 ? function () {} : _ref$onClickOk;
6357
+ return React__default.createElement(Modal, {
6358
+ open: true,
6359
+ "aria-labelledby": "modal-modal-title",
6360
+ "aria-describedby": "modal-modal-description",
6361
+ className: "redirect-modal"
6362
+ }, React__default.createElement(Box, {
6363
+ style: style$3
6364
+ }, React__default.createElement("p", null, message), React__default.createElement("div", {
6365
+ className: "footer"
6366
+ }, React__default.createElement("button", {
6367
+ onClick: onClickOk
6368
+ }, "OK"))));
6369
+ };
6370
+
6371
+ var style$4 = {
6372
+ position: 'absolute',
6373
+ top: '50%',
6374
+ left: '50%',
6375
+ transform: 'translate(-50%, -50%)',
6376
+ minWidth: 480,
6377
+ backgroundColor: '#e3e3e3',
6378
+ border: '1px solid white',
6379
+ outline: 'none',
6380
+ padding: '14px',
6381
+ maxHeight: '85vh',
6382
+ overflow: 'auto'
6383
+ };
6384
+ var RsvpContainer = function RsvpContainer(_ref) {
6385
+ var _ref$showSection = _ref.showSection,
6386
+ showSection = _ref$showSection === void 0 ? false : _ref$showSection,
6387
+ eventId = _ref.eventId;
6388
+ var userDataEncoded = typeof window !== 'undefined' ? window.localStorage.getItem('user_data') : '';
6389
+ var parsedData = JSON.parse(userDataEncoded || '{}');
6390
+
6391
+ var _useState = React.useState(false),
6392
+ loading = _useState[0],
6393
+ setLoading = _useState[1];
6394
+
6395
+ var _useState2 = React.useState({
6396
+ isOpen: false,
6397
+ text: ''
6398
+ }),
6399
+ modal = _useState2[0],
6400
+ setModal = _useState2[1];
6401
+
6402
+ var handleModalClose = function handleModalClose() {
6403
+ setModal({
6404
+ isOpen: false,
6405
+ text: ''
6406
+ });
6407
+ };
6408
+
6409
+ var handleSubmit = /*#__PURE__*/function () {
6410
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(values) {
6411
+ var requestData, _yield$sendRSVPInfo, data, _error$response$data;
6412
+
6413
+ return runtime_1.wrap(function _callee$(_context) {
6414
+ while (1) {
6415
+ switch (_context.prev = _context.next) {
6416
+ case 0:
6417
+ _context.prev = 0;
6418
+ setLoading(true);
6419
+ requestData = {
6420
+ data: {
6421
+ email: values.email
6422
+ }
6423
+ };
6424
+ _context.next = 5;
6425
+ return sendRSVPInfo(eventId, requestData);
6426
+
6427
+ case 5:
6428
+ _yield$sendRSVPInfo = _context.sent;
6429
+ data = _yield$sendRSVPInfo.data;
6430
+ setModal({
6431
+ isOpen: true,
6432
+ text: data.message
6433
+ });
6434
+ _context.next = 13;
6435
+ break;
6436
+
6437
+ case 10:
6438
+ _context.prev = 10;
6439
+ _context.t0 = _context["catch"](0);
6440
+
6441
+ if (_context.t0.response.status === 403) {
6442
+ setModal({
6443
+ isOpen: true,
6444
+ text: (_error$response$data = _context.t0.response.data) == null ? void 0 : _error$response$data.message
6445
+ });
6446
+ }
6447
+
6448
+ case 13:
6449
+ _context.prev = 13;
6450
+ setLoading(false);
6451
+ return _context.finish(13);
6452
+
6453
+ case 16:
6454
+ case "end":
6455
+ return _context.stop();
6456
+ }
6457
+ }
6458
+ }, _callee, null, [[0, 10, 13, 16]]);
6459
+ }));
6460
+
6461
+ return function handleSubmit(_x) {
6462
+ return _ref2.apply(this, arguments);
6463
+ };
6464
+ }();
6465
+
6466
+ if (!showSection) {
6467
+ return null;
6468
+ }
6469
+
6470
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Modal, {
6471
+ open: modal.isOpen,
6472
+ onClose: handleModalClose,
6473
+ "aria-labelledby": "modal-modal-title",
6474
+ "aria-describedby": "modal-modal-description",
6475
+ className: "rsvp-modal"
6476
+ }, React__default.createElement(Box, {
6477
+ style: style$4,
6478
+ className: "rsvp-modal-box"
6479
+ }, React__default.createElement("div", {
6480
+ className: "rsvp-modal-container"
6481
+ }, React__default.createElement("div", {
6482
+ className: "rsvp-modal-header"
6483
+ }, modal.text), React__default.createElement("div", {
6484
+ className: "rsvp-modal-button"
6485
+ }, React__default.createElement("button", {
6486
+ onClick: handleModalClose
6487
+ }, "OK"))))), React__default.createElement("div", {
6488
+ className: "rsvp-container"
6489
+ }, loading ? React__default.createElement(Loader, null) : React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
6490
+ className: "rsvp-header"
6491
+ }, "RSVP"), React__default.createElement("div", {
6492
+ className: "rsvp-email-container"
6493
+ }, React__default.createElement(formik.Formik, {
6494
+ initialValues: {
6495
+ email: (parsedData == null ? void 0 : parsedData.email) || ''
6496
+ },
6497
+ onSubmit: handleSubmit,
6498
+ enableReinitialize: true
6499
+ }, React__default.createElement(formik.Form, null, React__default.createElement("div", {
6500
+ className: "rsvp-email-input-container"
6501
+ }, React__default.createElement(formik.Field, {
6502
+ name: "email",
6503
+ label: "EMAIL ADDRESS",
6504
+ type: "email",
6505
+ validate: combineValidators(function (value) {
6506
+ return requiredValidator(value, 'Please enter your Email');
6507
+ }, function (value) {
6508
+ return emailValidator(value);
6509
+ }),
6510
+ component: CustomField
6511
+ })), React__default.createElement("div", {
6512
+ className: "rsvp-button-container"
6513
+ }, React__default.createElement(Button, {
6514
+ type: "submit"
6515
+ }, "RSVP"))))))));
5693
6516
  };
5694
6517
 
5695
6518
  exports.BillingInfoContainer = BillingInfoContainer;
@@ -5698,6 +6521,8 @@ exports.LoginModal = LoginModal;
5698
6521
  exports.MyTicketsContainer = MyTicketsContainer;
5699
6522
  exports.OrderDetailsContainer = OrderDetailsContainer;
5700
6523
  exports.PaymentContainer = PaymentContainer;
6524
+ exports.RedirectModal = RedirectModal;
6525
+ exports.RsvpContainer = RsvpContainer;
5701
6526
  exports.TicketResaleContainer = TicketResaleContainer;
5702
6527
  exports.TicketsContainer = TicketsContainer;
5703
6528
  exports.createFixedFloatNormalizer = createFixedFloatNormalizer;