tf-checkout-react 1.0.43 → 1.0.47

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 (43) hide show
  1. package/dist/api/index.d.ts +2 -0
  2. package/dist/components/billing-info-container/index.d.ts +22 -3
  3. package/dist/components/billing-info-container/utils.d.ts +2 -2
  4. package/dist/components/common/CheckboxField.d.ts +2 -2
  5. package/dist/components/confirmationContainer/index.d.ts +4 -1
  6. package/dist/components/loginModal/index.d.ts +8 -4
  7. package/dist/components/paymentContainer/index.d.ts +5 -1
  8. package/dist/components/registerModal/index.d.ts +3 -0
  9. package/dist/components/ticketsContainer/TicketRow.d.ts +10 -0
  10. package/dist/components/ticketsContainer/TicketsSection.d.ts +10 -0
  11. package/dist/components/ticketsContainer/index.d.ts +7 -1
  12. package/dist/components/ticketsContainer/utils.d.ts +4 -0
  13. package/dist/components/waitingList/index.d.ts +7 -0
  14. package/dist/index.d.ts +1 -0
  15. package/dist/tf-checkout-react.cjs.development.css +3 -2
  16. package/dist/tf-checkout-react.cjs.development.js +827 -269
  17. package/dist/tf-checkout-react.cjs.development.js.map +1 -1
  18. package/dist/tf-checkout-react.cjs.production.min.js +1 -1
  19. package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
  20. package/dist/tf-checkout-react.esm.js +832 -272
  21. package/dist/tf-checkout-react.esm.js.map +1 -1
  22. package/dist/types/billing-info-data.d.ts +2 -2
  23. package/dist/validators/index.d.ts +2 -1
  24. package/package.json +4 -1
  25. package/src/api/index.ts +7 -3
  26. package/src/components/billing-info-container/index.tsx +278 -70
  27. package/src/components/billing-info-container/style.css +15 -0
  28. package/src/components/billing-info-container/utils.ts +41 -13
  29. package/src/components/common/CheckboxField.tsx +3 -2
  30. package/src/components/common/CustomField.tsx +16 -1
  31. package/src/components/confirmationContainer/index.tsx +8 -3
  32. package/src/components/loginModal/index.tsx +46 -13
  33. package/src/components/paymentContainer/index.tsx +10 -0
  34. package/src/components/registerModal/index.tsx +20 -3
  35. package/src/components/ticketsContainer/TicketRow.tsx +86 -0
  36. package/src/components/ticketsContainer/TicketsSection.tsx +82 -0
  37. package/src/components/ticketsContainer/index.tsx +98 -210
  38. package/src/components/ticketsContainer/utils.ts +11 -0
  39. package/src/components/waitingList/index.tsx +162 -0
  40. package/src/components/waitingList/style.css +18 -0
  41. package/src/index.ts +2 -1
  42. package/src/types/billing-info-data.ts +2 -2
  43. package/src/validators/index.ts +9 -3
@@ -7,7 +7,7 @@ function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'defau
7
7
  var React = require('react');
8
8
  var React__default = _interopDefault(React);
9
9
  var formik = require('formik');
10
- var Button = _interopDefault(require('@mui/material/Button'));
10
+ var LoadingButton = _interopDefault(require('@mui/lab/LoadingButton'));
11
11
  var _identity = _interopDefault(require('lodash/identity'));
12
12
  var _map = _interopDefault(require('lodash/map'));
13
13
  var _get = _interopDefault(require('lodash/get'));
@@ -19,27 +19,28 @@ var Box = _interopDefault(require('@mui/material/Box'));
19
19
  var _forEach = _interopDefault(require('lodash/forEach'));
20
20
  var _flatMapDeep = _interopDefault(require('lodash/flatMapDeep'));
21
21
  var TextField = _interopDefault(require('@mui/material/TextField'));
22
+ var styles = require('@mui/styles');
22
23
  var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
23
24
  var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel'));
24
25
  var Checkbox = _interopDefault(require('@mui/material/Checkbox'));
26
+ var nanoid = require('nanoid');
25
27
  var Container = _interopDefault(require('@mui/material/Container'));
26
28
  var Alert = _interopDefault(require('@mui/material/Alert'));
27
29
  var reactStripeJs = require('@stripe/react-stripe-js');
28
30
  var stripeJs = require('@stripe/stripe-js');
29
31
  var CircularProgress = _interopDefault(require('@mui/material/CircularProgress'));
30
32
  var SVG = _interopDefault(require('react-inlinesvg'));
31
- var _sortBy = _interopDefault(require('lodash/sortBy'));
32
- var _has = _interopDefault(require('lodash/has'));
33
33
  var _some = _interopDefault(require('lodash/some'));
34
34
  var _find = _interopDefault(require('lodash/find'));
35
35
  var _isEmpty = _interopDefault(require('lodash/isEmpty'));
36
- var _filter = _interopDefault(require('lodash/filter'));
37
- var _isObject = _interopDefault(require('lodash/isObject'));
36
+ var Button = _interopDefault(require('react-bootstrap/Button'));
37
+ var jwt_decode = _interopDefault(require('jwt-decode'));
38
+ var _sortBy = _interopDefault(require('lodash/sortBy'));
39
+ var _has = _interopDefault(require('lodash/has'));
38
40
  var FormControl = _interopDefault(require('@mui/material/FormControl'));
39
41
  var MenuItem = _interopDefault(require('@mui/material/MenuItem'));
40
42
  var Select = _interopDefault(require('@mui/material/Select'));
41
- var Button$1 = _interopDefault(require('react-bootstrap/Button'));
42
- var jwt_decode = _interopDefault(require('jwt-decode'));
43
+ var Button$1 = _interopDefault(require('@mui/material/Button'));
43
44
 
44
45
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
45
46
  try {
@@ -870,6 +871,7 @@ try {
870
871
  }
871
872
  });
872
873
 
874
+ var emailRegex = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
873
875
  var combineValidators = function combineValidators() {
874
876
  for (var _len = arguments.length, validators = new Array(_len), _key = 0; _key < _len; _key++) {
875
877
  validators[_key] = arguments[_key];
@@ -878,19 +880,22 @@ var combineValidators = function combineValidators() {
878
880
  return function () {
879
881
  for (var i = 0; i < validators.length; ++i) {
880
882
  var error_message = validators[i].apply(validators, arguments);
881
- if (error_message !== undefined) return error_message;
883
+ if (error_message) return error_message;
882
884
  }
883
885
  };
884
886
  };
885
- var requiredValidator = function requiredValidator(value) {
887
+ var requiredValidator = function requiredValidator(value, message) {
886
888
  var errorMessage = '';
887
889
 
888
890
  if (!value) {
889
- errorMessage = 'Required';
891
+ errorMessage = message || 'Required';
890
892
  }
891
893
 
892
894
  return errorMessage;
893
895
  };
896
+ var emailValidator = function emailValidator(email) {
897
+ return !emailRegex.test(email) ? 'Please enter a valid email address' : '';
898
+ };
894
899
 
895
900
  // preview1
896
901
 
@@ -912,6 +917,10 @@ if (isWindowDefined && localStorage.getItem('auth_guest_token')) {
912
917
  ttfHeaders['Authorization-Guest'] = /*#__PURE__*/localStorage.getItem('auth_guest_token');
913
918
  }
914
919
 
920
+ if (isWindowDefined && window.location.origin !== 'https://www.houseofx.nyc' && window.location.origin !== 'https://tickets-staging.houseofx.nyc') {
921
+ ttfHeaders['X-Source-Origin'] = 'houseofx.nyc';
922
+ }
923
+
915
924
  var publicRequest = /*#__PURE__*/axios.create({
916
925
  baseURL: ENV.BASE_URL ,
917
926
  headers: ttfHeaders
@@ -955,7 +964,9 @@ publicRequest.interceptors.request.use(function (config) {
955
964
  }
956
965
 
957
966
  if (isWindowDefined && window.location.origin !== 'https://www.houseofx.nyc' && window.location.origin !== 'https://tickets-staging.houseofx.nyc') {
958
- var _updatedHeaders2 = _extends({}, config.headers);
967
+ var _updatedHeaders2 = _extends({}, config.headers, {
968
+ 'X-Source-Origin': 'houseofx.nyc'
969
+ });
959
970
 
960
971
  config.headers = _updatedHeaders2;
961
972
  }
@@ -1061,6 +1072,12 @@ var getConfirmationData = function getConfirmationData(orderHash) {
1061
1072
  var getStates = function getStates(countryId) {
1062
1073
  return publicRequest.get("/countries/" + countryId + "/states/");
1063
1074
  };
1075
+ var addToWaitingList = function addToWaitingList(id, data) {
1076
+ return publicRequest.post("/v1/event/" + id + "/add_to_waiting_list", data);
1077
+ };
1078
+ var getConditions = function getConditions(eventId) {
1079
+ return publicRequest.get("v1/event/" + eventId + "/conditions");
1080
+ };
1064
1081
 
1065
1082
  var style = {
1066
1083
  position: 'absolute',
@@ -1075,9 +1092,18 @@ var style = {
1075
1092
  var LoginModal = function LoginModal(_ref) {
1076
1093
  var onClose = _ref.onClose,
1077
1094
  onLogin = _ref.onLogin,
1078
- alreadyHasUser = _ref.alreadyHasUser,
1079
- userExpired = _ref.userExpired,
1080
- setUserExpired = _ref.setUserExpired;
1095
+ _ref$alreadyHasUser = _ref.alreadyHasUser,
1096
+ alreadyHasUser = _ref$alreadyHasUser === void 0 ? false : _ref$alreadyHasUser,
1097
+ _ref$userExpired = _ref.userExpired,
1098
+ userExpired = _ref$userExpired === void 0 ? false : _ref$userExpired,
1099
+ _ref$onAuthorizeSucce = _ref.onAuthorizeSuccess,
1100
+ onAuthorizeSuccess = _ref$onAuthorizeSucce === void 0 ? function () {} : _ref$onAuthorizeSucce,
1101
+ _ref$onAuthorizeError = _ref.onAuthorizeError,
1102
+ onAuthorizeError = _ref$onAuthorizeError === void 0 ? function () {} : _ref$onAuthorizeError,
1103
+ _ref$onGetProfileData = _ref.onGetProfileDataSuccess,
1104
+ onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ? function () {} : _ref$onGetProfileData,
1105
+ _ref$onGetProfileData2 = _ref.onGetProfileDataError,
1106
+ onGetProfileDataError = _ref$onGetProfileData2 === void 0 ? function () {} : _ref$onGetProfileData2;
1081
1107
 
1082
1108
  var _useState = React.useState(''),
1083
1109
  error = _useState[0],
@@ -1097,7 +1123,7 @@ var LoginModal = function LoginModal(_ref) {
1097
1123
  },
1098
1124
  onSubmit: function () {
1099
1125
  var _onSubmit = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref2) {
1100
- var email, password, bodyFormData, resAutorize, bodyFormDataToken, resAccessToken, accessToken, profileData, profileSpecifiedData, profileDataObj, _e$response, _e$response$data, _error;
1126
+ var email, password, bodyFormData, resAutorize, bodyFormDataToken, resAccessToken, accessToken, profileResponse, profileSpecifiedData, profileDataObj, _e$response, _e$response$data, _error;
1101
1127
 
1102
1128
  return runtime_1.wrap(function _callee$(_context) {
1103
1129
  while (1) {
@@ -1119,19 +1145,53 @@ var LoginModal = function LoginModal(_ref) {
1119
1145
  bodyFormDataToken.append('grant_type', 'authorization_code');
1120
1146
  bodyFormDataToken.append('client_id', ENV.CLIENT_ID );
1121
1147
  bodyFormDataToken.append('client_secret', ENV.CLIENT_SECRET );
1122
- _context.next = 16;
1148
+ resAccessToken = null;
1149
+ _context.prev = 15;
1150
+ _context.next = 18;
1123
1151
  return getAccessToken(bodyFormDataToken);
1124
1152
 
1125
- case 16:
1153
+ case 18:
1126
1154
  resAccessToken = _context.sent;
1155
+ onAuthorizeSuccess(resAccessToken.data);
1156
+ _context.next = 26;
1157
+ break;
1158
+
1159
+ case 22:
1160
+ _context.prev = 22;
1161
+ _context.t0 = _context["catch"](15);
1162
+
1163
+ if (axios.isAxiosError(_context.t0)) {
1164
+ onAuthorizeError(_context.t0);
1165
+ }
1166
+
1167
+ return _context.abrupt("return");
1168
+
1169
+ case 26:
1127
1170
  accessToken = _get(resAccessToken, 'data.access_token');
1128
1171
  handleSetAccessToken(accessToken);
1129
- _context.next = 21;
1172
+ profileResponse = null;
1173
+ _context.prev = 29;
1174
+ _context.next = 32;
1130
1175
  return getProfileData(accessToken);
1131
1176
 
1132
- case 21:
1133
- profileData = _context.sent;
1134
- profileSpecifiedData = _get(profileData, 'data.data');
1177
+ case 32:
1178
+ profileResponse = _context.sent;
1179
+ onGetProfileDataSuccess(profileResponse.data);
1180
+ _context.next = 40;
1181
+ break;
1182
+
1183
+ case 36:
1184
+ _context.prev = 36;
1185
+ _context.t1 = _context["catch"](29);
1186
+
1187
+ if (axios.isAxiosError(_context.t1)) {
1188
+ onGetProfileDataError(_context.t1);
1189
+ }
1190
+
1191
+ return _context.abrupt("return");
1192
+
1193
+ case 40:
1194
+ profileSpecifiedData = _get(profileResponse, 'data.data');
1135
1195
  profileDataObj = {
1136
1196
  id: profileSpecifiedData.id,
1137
1197
  first_name: profileSpecifiedData.firstName,
@@ -1144,28 +1204,27 @@ var LoginModal = function LoginModal(_ref) {
1144
1204
  window.localStorage.setItem('access_token', accessToken);
1145
1205
  }
1146
1206
 
1147
- setUserExpired(false);
1148
1207
  onLogin();
1149
- _context.next = 32;
1208
+ _context.next = 49;
1150
1209
  break;
1151
1210
 
1152
- case 29:
1153
- _context.prev = 29;
1154
- _context.t0 = _context["catch"](1);
1211
+ case 46:
1212
+ _context.prev = 46;
1213
+ _context.t2 = _context["catch"](1);
1155
1214
 
1156
- if (axios.isAxiosError(_context.t0)) {
1157
- _error = (_context.t0 == null ? void 0 : (_e$response = _context.t0.response) == null ? void 0 : (_e$response$data = _e$response.data) == null ? void 0 : _e$response$data.message) || 'Error';
1215
+ if (axios.isAxiosError(_context.t2)) {
1216
+ _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';
1158
1217
  setError(_error);
1159
- } else if (_context.t0 instanceof Error) {
1160
- setError((_context.t0 == null ? void 0 : _context.t0.message) || 'Error');
1218
+ } else if (_context.t2 instanceof Error) {
1219
+ setError((_context.t2 == null ? void 0 : _context.t2.message) || 'Error');
1161
1220
  }
1162
1221
 
1163
- case 32:
1222
+ case 49:
1164
1223
  case "end":
1165
1224
  return _context.stop();
1166
1225
  }
1167
1226
  }
1168
- }, _callee, null, [[1, 29]]);
1227
+ }, _callee, null, [[1, 46], [15, 22], [29, 36]]);
1169
1228
  }));
1170
1229
 
1171
1230
  function onSubmit(_x) {
@@ -1226,7 +1285,11 @@ var LoginModal = function LoginModal(_ref) {
1226
1285
  };
1227
1286
 
1228
1287
  var RegisterModal = function RegisterModal(_ref) {
1229
- var onClose = _ref.onClose;
1288
+ var onClose = _ref.onClose,
1289
+ _ref$onGetProfileData = _ref.onGetProfileDataSuccess,
1290
+ onGetProfileDataSuccess = _ref$onGetProfileData === void 0 ? function () {} : _ref$onGetProfileData,
1291
+ _ref$onGetProfileData2 = _ref.onGetProfileDataError,
1292
+ onGetProfileDataError = _ref$onGetProfileData2 === void 0 ? function () {} : _ref$onGetProfileData2;
1230
1293
  return React__default.createElement("div", {
1231
1294
  style: {
1232
1295
  display: 'flex',
@@ -1250,7 +1313,7 @@ var RegisterModal = function RegisterModal(_ref) {
1250
1313
  },
1251
1314
  onSubmit: function () {
1252
1315
  var _onSubmit = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(_ref2) {
1253
- var firstName, lastName, email, password, confirmPassword, bodyFormData, resRegister, access_token, profileData, profileSpecifiedData, profileDataObj;
1316
+ var firstName, lastName, email, password, confirmPassword, bodyFormData, resRegister, access_token, profileResponse, profileSpecifiedData, profileDataObj;
1254
1317
  return runtime_1.wrap(function _callee$(_context) {
1255
1318
  while (1) {
1256
1319
  switch (_context.prev = _context.next) {
@@ -1271,12 +1334,25 @@ var RegisterModal = function RegisterModal(_ref) {
1271
1334
  resRegister = _context.sent;
1272
1335
  access_token = _get(resRegister, 'data.data.attributes.access_token');
1273
1336
  handleSetAccessToken(access_token);
1274
- _context.next = 16;
1337
+ profileResponse = null;
1338
+ _context.prev = 15;
1339
+ _context.next = 18;
1275
1340
  return getProfileData(access_token);
1276
1341
 
1277
- case 16:
1278
- profileData = _context.sent;
1279
- profileSpecifiedData = _get(profileData, 'data.data');
1342
+ case 18:
1343
+ profileResponse = _context.sent;
1344
+ onGetProfileDataSuccess(profileResponse.data);
1345
+ _context.next = 26;
1346
+ break;
1347
+
1348
+ case 22:
1349
+ _context.prev = 22;
1350
+ _context.t0 = _context["catch"](15);
1351
+ onGetProfileDataError(_context.t0.response);
1352
+ return _context.abrupt("return");
1353
+
1354
+ case 26:
1355
+ profileSpecifiedData = _get(profileResponse, 'data.data');
1280
1356
  profileDataObj = {
1281
1357
  id: profileSpecifiedData.id,
1282
1358
  first_name: profileSpecifiedData.firstName,
@@ -1291,12 +1367,12 @@ var RegisterModal = function RegisterModal(_ref) {
1291
1367
 
1292
1368
  onClose();
1293
1369
 
1294
- case 21:
1370
+ case 30:
1295
1371
  case "end":
1296
1372
  return _context.stop();
1297
1373
  }
1298
1374
  }
1299
- }, _callee);
1375
+ }, _callee, null, [[15, 22]]);
1300
1376
  }));
1301
1377
 
1302
1378
  function onSubmit(_x) {
@@ -1400,8 +1476,8 @@ var RegisterModal = function RegisterModal(_ref) {
1400
1476
  }));
1401
1477
  };
1402
1478
 
1403
- var _excluded = ["holderAge", "firstName", "lastName", "confirmEmail", "confirmPassword", "holderFirstName", "holderLastName"];
1404
- var getInitialValues = function getInitialValues(data, propsInitialValues) {
1479
+ var _excluded = ["firstName", "lastName", "holderAge", "confirmEmail", "confirmPassword"];
1480
+ var getInitialValues = function getInitialValues(data, propsInitialValues, userValues) {
1405
1481
  if (data === void 0) {
1406
1482
  data = [];
1407
1483
  }
@@ -1410,6 +1486,10 @@ var getInitialValues = function getInitialValues(data, propsInitialValues) {
1410
1486
  propsInitialValues = {};
1411
1487
  }
1412
1488
 
1489
+ if (userValues === void 0) {
1490
+ userValues = {};
1491
+ }
1492
+
1413
1493
  var results = _flatMapDeep(data, function (_ref) {
1414
1494
  var fields = _ref.fields;
1415
1495
  return _map(fields, function (_ref2) {
@@ -1424,7 +1504,7 @@ var getInitialValues = function getInitialValues(data, propsInitialValues) {
1424
1504
  var initialValues = {};
1425
1505
 
1426
1506
  _forEach(results, function (item) {
1427
- initialValues[item] = propsInitialValues[item] || '';
1507
+ initialValues[item] = propsInitialValues[item] || userValues[item] || '';
1428
1508
  });
1429
1509
 
1430
1510
  return initialValues;
@@ -1458,7 +1538,7 @@ var setLoggedUserData = function setLoggedUserData(data) {
1458
1538
  zip: (data == null ? void 0 : data.zip) || (data == null ? void 0 : data.zipCode) || ''
1459
1539
  };
1460
1540
  };
1461
- var createCheckoutDataBody = function createCheckoutDataBody(values, logedInValues, includeDob) {
1541
+ var createCheckoutDataBody = function createCheckoutDataBody(ticketsQuantity, values, logedInValues, includeDob) {
1462
1542
  if (values === void 0) {
1463
1543
  values = {};
1464
1544
  }
@@ -1472,23 +1552,52 @@ var createCheckoutDataBody = function createCheckoutDataBody(values, logedInValu
1472
1552
  }
1473
1553
 
1474
1554
  var _values = values,
1475
- holderAge = _values.holderAge,
1476
1555
  firstName = _values.firstName,
1477
1556
  lastName = _values.lastName,
1478
- holderFirstName = _values.holderFirstName,
1479
- holderLastName = _values.holderLastName,
1557
+ holderAge = _values.holderAge,
1480
1558
  restValues = _objectWithoutPropertiesLoose(_values, _excluded);
1481
1559
 
1560
+ var holders = [];
1561
+ var ticket_holders = [];
1562
+
1563
+ var _loop = function _loop(i) {
1564
+ var individualHolder = Object.fromEntries(Object.entries(values).filter(function (_ref4) {
1565
+ var key = _ref4[0];
1566
+ return key.includes(String(i));
1567
+ }));
1568
+ holders.push(individualHolder);
1569
+ };
1570
+
1571
+ for (var i = 0; i <= ticketsQuantity; i++) {
1572
+ _loop(i);
1573
+ }
1574
+
1575
+ var filteredHolders = holders.filter(function (holder) {
1576
+ return Object.entries(holder).length > 0;
1577
+ });
1578
+ ticket_holders = filteredHolders.map(function (item, index) {
1579
+ return {
1580
+ first_name: item["holderFirstName-" + index] || '',
1581
+ last_name: item["holderLastName-" + index] || '',
1582
+ phone: item["holderPhone-" + index] || '',
1583
+ email: item["holderEmail-" + index] || ''
1584
+ };
1585
+ });
1586
+ var filteredRestValue = {};
1587
+
1588
+ _forEach(restValues, function (value, key) {
1589
+ if (!key.includes('holder')) {
1590
+ filteredRestValue[key] = value;
1591
+ }
1592
+ });
1593
+
1482
1594
  var body = {
1483
- attributes: _extends({}, restValues, {
1595
+ attributes: _extends({}, filteredRestValue, {
1484
1596
  email: restValues.email || logedInValues.emailLogged,
1485
1597
  confirm_email: restValues.email || logedInValues.emailLogged,
1486
1598
  first_name: firstName || logedInValues.firstNameLogged,
1487
1599
  last_name: lastName || logedInValues.lastNameLogged,
1488
- ticket_holders: [{
1489
- first_name: holderFirstName,
1490
- last_name: holderLastName
1491
- }]
1600
+ ticket_holders: ticket_holders
1492
1601
  })
1493
1602
  };
1494
1603
 
@@ -1502,6 +1611,13 @@ var createCheckoutDataBody = function createCheckoutDataBody(values, logedInValu
1502
1611
  return body;
1503
1612
  };
1504
1613
 
1614
+ var useStyles = /*#__PURE__*/styles.makeStyles({
1615
+ input: {
1616
+ "&::placeholder": {
1617
+ color: "gray"
1618
+ }
1619
+ }
1620
+ });
1505
1621
  var CustomField = function CustomField(_ref) {
1506
1622
  var label = _ref.label,
1507
1623
  _ref$type = _ref.type,
@@ -1518,6 +1634,7 @@ var CustomField = function CustomField(_ref) {
1518
1634
 
1519
1635
  var error = _get(errors, field.name);
1520
1636
 
1637
+ var classes = useStyles();
1521
1638
  return React__default.createElement(TextField, Object.assign({
1522
1639
  id: field.name,
1523
1640
  label: label,
@@ -1529,22 +1646,31 @@ var CustomField = function CustomField(_ref) {
1529
1646
  InputLabelProps: {
1530
1647
  shrink: isShrink
1531
1648
  },
1649
+ InputProps: {
1650
+ classes: {
1651
+ input: classes.input
1652
+ }
1653
+ },
1532
1654
  SelectProps: {
1533
1655
  "native": true
1534
1656
  }
1535
1657
  }, field), isSelectField ? _map(selectOptions, function (option) {
1536
1658
  return React__default.createElement("option", {
1537
1659
  key: option.value,
1538
- value: option.value
1660
+ value: option.value,
1661
+ disabled: option.disabled
1539
1662
  }, option.label);
1540
1663
  }) : null);
1541
1664
  };
1542
1665
 
1666
+ var _excluded$1 = ["label", "field"];
1543
1667
  var CheckboxField = function CheckboxField(_ref) {
1544
1668
  var label = _ref.label,
1545
- field = _ref.field;
1669
+ field = _ref.field,
1670
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded$1);
1671
+
1546
1672
  return React__default.createElement(FormGroup, null, React__default.createElement(FormControlLabel, {
1547
- control: React__default.createElement(Checkbox, Object.assign({}, field)),
1673
+ control: React__default.createElement(Checkbox, Object.assign({}, field, rest)),
1548
1674
  label: label
1549
1675
  }));
1550
1676
  };
@@ -1571,7 +1697,9 @@ var LogicRunner = function LogicRunner(_ref) {
1571
1697
  setStates = _ref.setStates,
1572
1698
  setFieldValue = _ref.setFieldValue,
1573
1699
  setValues = _ref.setValues,
1574
- setUserValues = _ref.setUserValues;
1700
+ setUserValues = _ref.setUserValues,
1701
+ onGetStatesSuccess = _ref.onGetStatesSuccess,
1702
+ onGetStatesError = _ref.onGetStatesError;
1575
1703
  React.useEffect(function () {
1576
1704
  var fetchStates = /*#__PURE__*/function () {
1577
1705
  var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
@@ -1595,19 +1723,24 @@ var LogicRunner = function LogicRunner(_ref) {
1595
1723
  });
1596
1724
  setStates(mappedStates);
1597
1725
  setFieldValue('state', (_mappedStates$0$label = (_mappedStates$ = mappedStates[0]) == null ? void 0 : _mappedStates$.label) != null ? _mappedStates$0$label : '');
1598
- _context.next = 11;
1726
+ onGetStatesSuccess(res.data);
1727
+ _context.next = 13;
1599
1728
  break;
1600
1729
 
1601
- case 9:
1602
- _context.prev = 9;
1730
+ case 10:
1731
+ _context.prev = 10;
1603
1732
  _context.t0 = _context["catch"](0);
1604
1733
 
1605
- case 11:
1734
+ if (axios.isAxiosError(_context.t0)) {
1735
+ onGetStatesError(_context.t0);
1736
+ }
1737
+
1738
+ case 13:
1606
1739
  case "end":
1607
1740
  return _context.stop();
1608
1741
  }
1609
1742
  }
1610
- }, _callee, null, [[0, 9]]);
1743
+ }, _callee, null, [[0, 10]]);
1611
1744
  }));
1612
1745
 
1613
1746
  return function fetchStates() {
@@ -1631,9 +1764,6 @@ var LogicRunner = function LogicRunner(_ref) {
1631
1764
  email: (parsedData == null ? void 0 : parsedData.email) || '',
1632
1765
  phone: (parsedData == null ? void 0 : parsedData.phone) || '',
1633
1766
  confirmEmail: '',
1634
- holderFirstName: '',
1635
- holderLastName: '',
1636
- holderAge: '',
1637
1767
  state: (parsedData == null ? void 0 : parsedData.state) || '',
1638
1768
  street_address: (parsedData == null ? void 0 : parsedData.street_address) || '',
1639
1769
  country: (parsedData == null ? void 0 : parsedData.country) || 1,
@@ -1645,9 +1775,7 @@ var LogicRunner = function LogicRunner(_ref) {
1645
1775
  };
1646
1776
  setValues(mappedValues);
1647
1777
  setUserValues(mappedValues);
1648
- } catch (e) {
1649
- console.log(e);
1650
- }
1778
+ } catch (e) {}
1651
1779
  }
1652
1780
  }
1653
1781
  };
@@ -1665,6 +1793,11 @@ var SectionContainer = function SectionContainer(_ref3) {
1665
1793
  var BillingInfoContainer = function BillingInfoContainer(_ref4) {
1666
1794
  var _ref4$data = _ref4.data,
1667
1795
  data = _ref4$data === void 0 ? [] : _ref4$data,
1796
+ _ref4$ticketHoldersFi = _ref4.ticketHoldersFields,
1797
+ ticketHoldersFields = _ref4$ticketHoldersFi === void 0 ? {
1798
+ id: 1,
1799
+ fields: []
1800
+ } : _ref4$ticketHoldersFi,
1668
1801
  _ref4$initialValues = _ref4.initialValues,
1669
1802
  initialValues = _ref4$initialValues === void 0 ? {} : _ref4$initialValues,
1670
1803
  _ref4$buttonName = _ref4.buttonName,
@@ -1672,7 +1805,35 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
1672
1805
  _ref4$handleSubmit = _ref4.handleSubmit,
1673
1806
  handleSubmit = _ref4$handleSubmit === void 0 ? _identity : _ref4$handleSubmit,
1674
1807
  _ref4$theme = _ref4.theme,
1675
- theme = _ref4$theme === void 0 ? 'light' : _ref4$theme;
1808
+ theme = _ref4$theme === void 0 ? 'light' : _ref4$theme,
1809
+ _ref4$onRegisterSucce = _ref4.onRegisterSuccess,
1810
+ onRegisterSuccess = _ref4$onRegisterSucce === void 0 ? function () {} : _ref4$onRegisterSucce,
1811
+ _ref4$onRegisterError = _ref4.onRegisterError,
1812
+ onRegisterError = _ref4$onRegisterError === void 0 ? function () {} : _ref4$onRegisterError,
1813
+ _ref4$onSubmitError = _ref4.onSubmitError,
1814
+ onSubmitError = _ref4$onSubmitError === void 0 ? function () {} : _ref4$onSubmitError,
1815
+ _ref4$onGetCartSucces = _ref4.onGetCartSuccess,
1816
+ onGetCartSuccess = _ref4$onGetCartSucces === void 0 ? function () {} : _ref4$onGetCartSucces,
1817
+ _ref4$onGetCartError = _ref4.onGetCartError,
1818
+ onGetCartError = _ref4$onGetCartError === void 0 ? function () {} : _ref4$onGetCartError,
1819
+ _ref4$onGetCountriesS = _ref4.onGetCountriesSuccess,
1820
+ onGetCountriesSuccess = _ref4$onGetCountriesS === void 0 ? function () {} : _ref4$onGetCountriesS,
1821
+ _ref4$onGetCountriesE = _ref4.onGetCountriesError,
1822
+ onGetCountriesError = _ref4$onGetCountriesE === void 0 ? function () {} : _ref4$onGetCountriesE,
1823
+ _ref4$onGetStatesSucc = _ref4.onGetStatesSuccess,
1824
+ onGetStatesSuccess = _ref4$onGetStatesSucc === void 0 ? function () {} : _ref4$onGetStatesSucc,
1825
+ _ref4$onGetStatesErro = _ref4.onGetStatesError,
1826
+ onGetStatesError = _ref4$onGetStatesErro === void 0 ? function () {} : _ref4$onGetStatesErro,
1827
+ _ref4$onGetProfileDat = _ref4.onGetProfileDataSuccess,
1828
+ onGetProfileDataSuccess = _ref4$onGetProfileDat === void 0 ? function () {} : _ref4$onGetProfileDat,
1829
+ _ref4$onGetProfileDat2 = _ref4.onGetProfileDataError,
1830
+ onGetProfileDataError = _ref4$onGetProfileDat2 === void 0 ? function () {} : _ref4$onGetProfileDat2,
1831
+ _ref4$onAuthorizeSucc = _ref4.onAuthorizeSuccess,
1832
+ onAuthorizeSuccess = _ref4$onAuthorizeSucc === void 0 ? function () {} : _ref4$onAuthorizeSucc,
1833
+ _ref4$onAuthorizeErro = _ref4.onAuthorizeError,
1834
+ onAuthorizeError = _ref4$onAuthorizeErro === void 0 ? function () {} : _ref4$onAuthorizeErro,
1835
+ _ref4$onLogin = _ref4.onLogin,
1836
+ onLogin = _ref4$onLogin === void 0 ? function () {} : _ref4$onLogin;
1676
1837
  var userData = typeof window !== 'undefined' && window.localStorage.getItem('user_data') ? JSON.parse(window.localStorage.getItem('user_data') || '') : {};
1677
1838
  var access_token = typeof window !== 'undefined' && window.localStorage.getItem('access_token') ? window.localStorage.getItem('access_token') || '' : '';
1678
1839
 
@@ -1704,7 +1865,15 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
1704
1865
  showModalRegister = _useState7[0],
1705
1866
  setShowModalRegister = _useState7[1];
1706
1867
 
1707
- var _useState8 = React.useState({
1868
+ var _useState8 = React.useState([]),
1869
+ ticketsQuantity = _useState8[0],
1870
+ setTicketsQuantity = _useState8[1];
1871
+
1872
+ var _useState9 = React.useState([]),
1873
+ conditions = _useState9[0],
1874
+ setConditions = _useState9[1];
1875
+
1876
+ var _useState10 = React.useState({
1708
1877
  firstName: '',
1709
1878
  lastName: '',
1710
1879
  email: '',
@@ -1719,8 +1888,8 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
1719
1888
  state: '',
1720
1889
  zip: ''
1721
1890
  }),
1722
- userValues = _useState8[0],
1723
- setUserValues = _useState8[1];
1891
+ userValues = _useState10[0],
1892
+ setUserValues = _useState10[1];
1724
1893
 
1725
1894
  var isLoggedIn = !!access_token;
1726
1895
 
@@ -1732,132 +1901,216 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
1732
1901
 
1733
1902
  var showDOB = getQueryVariable('age_required') === 'true';
1734
1903
  var showTicketHolderName = getQueryVariable('names_required') === 'true';
1904
+ var eventId = getQueryVariable('event_id');
1905
+
1906
+ var optedInFieldValue = _get(cartInfoData, 'optedIn', false);
1907
+
1908
+ var hideOptIn = _get(cartInfoData, 'hide_ttf_opt_in', false);
1909
+
1910
+ var getQuantity = function getQuantity(cart) {
1911
+ if (cart === void 0) {
1912
+ cart = [];
1913
+ }
1914
+
1915
+ var qty = 0;
1916
+ cart.forEach(function (item) {
1917
+ qty += +item.quantity;
1918
+ });
1919
+ return qty;
1920
+ }; //just once
1921
+
1922
+
1923
+ React.useEffect(function () {
1924
+ // fetch conditions data
1925
+ var fetchConditions = /*#__PURE__*/function () {
1926
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
1927
+ var res, conditionsInfo;
1928
+ return runtime_1.wrap(function _callee2$(_context2) {
1929
+ while (1) {
1930
+ switch (_context2.prev = _context2.next) {
1931
+ case 0:
1932
+ if (!eventId) {
1933
+ _context2.next = 6;
1934
+ break;
1935
+ }
1936
+
1937
+ _context2.next = 3;
1938
+ return getConditions(eventId);
1939
+
1940
+ case 3:
1941
+ res = _context2.sent;
1942
+ conditionsInfo = _get(res, 'data.data.attributes');
1943
+ setConditions(conditionsInfo ? conditionsInfo.map(function (item) {
1944
+ return {
1945
+ id: nanoid.nanoid(),
1946
+ text: item
1947
+ };
1948
+ }) : []);
1949
+
1950
+ case 6:
1951
+ case "end":
1952
+ return _context2.stop();
1953
+ }
1954
+ }
1955
+ }, _callee2);
1956
+ }));
1957
+
1958
+ return function fetchConditions() {
1959
+ return _ref5.apply(this, arguments);
1960
+ };
1961
+ }();
1962
+
1963
+ fetchConditions(); // fetch countries data
1964
+
1965
+ var fetchCountries = /*#__PURE__*/function () {
1966
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3() {
1967
+ var res;
1968
+ return runtime_1.wrap(function _callee3$(_context3) {
1969
+ while (1) {
1970
+ switch (_context3.prev = _context3.next) {
1971
+ case 0:
1972
+ _context3.prev = 0;
1973
+ _context3.next = 3;
1974
+ return getCountries();
1975
+
1976
+ case 3:
1977
+ res = _context3.sent;
1978
+ setCustomHeader(res);
1979
+ setCountries(_map(_get(res, 'data.data'), function (item, key) {
1980
+ return {
1981
+ label: item,
1982
+ value: Number(key)
1983
+ };
1984
+ }));
1985
+ onGetCountriesSuccess(res.data);
1986
+ _context3.next = 12;
1987
+ break;
1988
+
1989
+ case 9:
1990
+ _context3.prev = 9;
1991
+ _context3.t0 = _context3["catch"](0);
1992
+
1993
+ if (axios.isAxiosError(_context3.t0)) {
1994
+ onGetCountriesError(_context3.t0);
1995
+ }
1735
1996
 
1736
- var optedInFieldValue = _get(cartInfoData, 'optedIn', false); // fetch cart data
1997
+ case 12:
1998
+ case "end":
1999
+ return _context3.stop();
2000
+ }
2001
+ }
2002
+ }, _callee3, null, [[0, 9]]);
2003
+ }));
1737
2004
 
2005
+ return function fetchCountries() {
2006
+ return _ref6.apply(this, arguments);
2007
+ };
2008
+ }();
2009
+
2010
+ fetchCountries();
2011
+ fetchCart();
2012
+ }, []); // fetch cart data
1738
2013
 
1739
2014
  var fetchCart = /*#__PURE__*/function () {
1740
- var _ref5 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee2() {
1741
- var res;
1742
- return runtime_1.wrap(function _callee2$(_context2) {
2015
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee4() {
2016
+ var res, cartInfo, _cartInfo$cart, cart;
2017
+
2018
+ return runtime_1.wrap(function _callee4$(_context4) {
1743
2019
  while (1) {
1744
- switch (_context2.prev = _context2.next) {
2020
+ switch (_context4.prev = _context4.next) {
1745
2021
  case 0:
1746
- _context2.prev = 0;
1747
- _context2.next = 3;
2022
+ _context4.prev = 0;
2023
+ _context4.next = 3;
1748
2024
  return getCart();
1749
2025
 
1750
2026
  case 3:
1751
- res = _context2.sent;
2027
+ res = _context4.sent;
1752
2028
  setCustomHeader(res);
1753
- setCartInfo(_get(res, 'data.data.attributes'));
1754
- _context2.next = 10;
2029
+ cartInfo = _get(res, 'data.data.attributes');
2030
+ setCartInfo(cartInfo);
2031
+ _cartInfo$cart = cartInfo.cart, cart = _cartInfo$cart === void 0 ? [] : _cartInfo$cart;
2032
+ setTicketsQuantity(new Array(getQuantity(cart)).fill(null).map(function () {
2033
+ return nanoid.nanoid();
2034
+ }));
2035
+ onGetCartSuccess(res.data);
2036
+ _context4.next = 15;
1755
2037
  break;
1756
2038
 
1757
- case 8:
1758
- _context2.prev = 8;
1759
- _context2.t0 = _context2["catch"](0);
2039
+ case 12:
2040
+ _context4.prev = 12;
2041
+ _context4.t0 = _context4["catch"](0);
1760
2042
 
1761
- case 10:
2043
+ if (axios.isAxiosError(_context4.t0)) {
2044
+ onGetCartError(_context4.t0);
2045
+ }
2046
+
2047
+ case 15:
1762
2048
  case "end":
1763
- return _context2.stop();
2049
+ return _context4.stop();
1764
2050
  }
1765
2051
  }
1766
- }, _callee2, null, [[0, 8]]);
2052
+ }, _callee4, null, [[0, 12]]);
1767
2053
  }));
1768
2054
 
1769
2055
  return function fetchCart() {
1770
- return _ref5.apply(this, arguments);
2056
+ return _ref7.apply(this, arguments);
1771
2057
  };
1772
2058
  }(); // fetch user data
1773
2059
 
1774
2060
 
1775
2061
  var fetchUserData = /*#__PURE__*/function () {
1776
- var _ref6 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee3(token) {
2062
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee5(token) {
1777
2063
  var userDataResponse, profileSpecifiedData, profileDataObj;
1778
- return runtime_1.wrap(function _callee3$(_context3) {
2064
+ return runtime_1.wrap(function _callee5$(_context5) {
1779
2065
  while (1) {
1780
- switch (_context3.prev = _context3.next) {
2066
+ switch (_context5.prev = _context5.next) {
1781
2067
  case 0:
1782
- _context3.prev = 0;
2068
+ _context5.prev = 0;
1783
2069
 
1784
2070
  if (!(typeof window !== 'undefined' && token)) {
1785
- _context3.next = 9;
2071
+ _context5.next = 10;
1786
2072
  break;
1787
2073
  }
1788
2074
 
1789
- _context3.next = 4;
2075
+ _context5.next = 4;
1790
2076
  return getProfileData(token);
1791
2077
 
1792
2078
  case 4:
1793
- userDataResponse = _context3.sent;
2079
+ userDataResponse = _context5.sent;
1794
2080
  profileSpecifiedData = _get(userDataResponse, 'data.data');
1795
2081
  profileDataObj = setLoggedUserData(profileSpecifiedData);
1796
2082
  setUserValues(profileDataObj);
1797
2083
  window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
2084
+ onGetProfileDataSuccess(userDataResponse.data);
1798
2085
 
1799
- case 9:
1800
- _context3.next = 13;
2086
+ case 10:
2087
+ _context5.next = 15;
1801
2088
  break;
1802
2089
 
1803
- case 11:
1804
- _context3.prev = 11;
1805
- _context3.t0 = _context3["catch"](0);
2090
+ case 12:
2091
+ _context5.prev = 12;
2092
+ _context5.t0 = _context5["catch"](0);
1806
2093
 
1807
- case 13:
2094
+ if (axios.isAxiosError(_context5.t0)) {
2095
+ onGetProfileDataError(_context5.t0);
2096
+ }
2097
+
2098
+ case 15:
1808
2099
  case "end":
1809
- return _context3.stop();
2100
+ return _context5.stop();
1810
2101
  }
1811
2102
  }
1812
- }, _callee3, null, [[0, 11]]);
2103
+ }, _callee5, null, [[0, 12]]);
1813
2104
  }));
1814
2105
 
1815
2106
  return function fetchUserData(_x) {
1816
- return _ref6.apply(this, arguments);
2107
+ return _ref8.apply(this, arguments);
1817
2108
  };
1818
2109
  }();
1819
2110
 
1820
2111
  React.useEffect(function () {
1821
- fetchCart();
1822
- fetchUserData(access_token); // fetch countries data
1823
-
1824
- var fetchCountries = /*#__PURE__*/function () {
1825
- var _ref7 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee4() {
1826
- var res;
1827
- return runtime_1.wrap(function _callee4$(_context4) {
1828
- while (1) {
1829
- switch (_context4.prev = _context4.next) {
1830
- case 0:
1831
- _context4.next = 2;
1832
- return getCountries();
1833
-
1834
- case 2:
1835
- res = _context4.sent;
1836
- setCustomHeader(res);
1837
- setCountries(_map(_get(res, 'data.data'), function (item, key) {
1838
- return {
1839
- label: item,
1840
- value: Number(key)
1841
- };
1842
- }));
1843
-
1844
- case 5:
1845
- case "end":
1846
- return _context4.stop();
1847
- }
1848
- }
1849
- }, _callee4);
1850
- }));
1851
-
1852
- return function fetchCountries() {
1853
- return _ref7.apply(this, arguments);
1854
- };
1855
- }();
1856
-
1857
- if (!(countries && countries.length)) {
1858
- fetchCountries();
1859
- }
1860
- }, [access_token, countries]);
2112
+ fetchUserData(access_token);
2113
+ }, [access_token]);
1861
2114
  return React__default.createElement(React__default.Fragment, null, React__default.createElement(formik.Formik, {
1862
2115
  initialValues: getInitialValues(data, _extends({}, initialValues, {
1863
2116
  email: emailLogged,
@@ -1865,33 +2118,33 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
1865
2118
  lastName: lastNameLogged,
1866
2119
  country: 1,
1867
2120
  brand_opt_in: optedInFieldValue
1868
- })),
2121
+ }), userValues),
1869
2122
  enableReinitialize: true,
1870
2123
  onSubmit: function () {
1871
- var _onSubmit = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee5(values, formikHelpers) {
1872
- var updatedUserData, _profileSpecifiedData, _profileDataObj, _checkoutBody, _res, bodyFormData, resRegister, access_token_register, profileData, profileSpecifiedData, profileDataObj, checkoutBody, res, _e$response, _e$response$data, _e$response2, error;
2124
+ var _onSubmit = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee6(values, formikHelpers) {
2125
+ var updatedUserData, _profileSpecifiedData, _profileDataObj, _checkoutBody, _res, bodyFormData, access_token_register, resRegister, refreshToken, tokens, _e$response, _e$response$data, error, profileData, profileSpecifiedData, profileDataObj, checkoutBody, res, _e$response2;
1873
2126
 
1874
- return runtime_1.wrap(function _callee5$(_context5) {
2127
+ return runtime_1.wrap(function _callee6$(_context6) {
1875
2128
  while (1) {
1876
- switch (_context5.prev = _context5.next) {
2129
+ switch (_context6.prev = _context6.next) {
1877
2130
  case 0:
1878
- _context5.prev = 0;
2131
+ _context6.prev = 0;
1879
2132
 
1880
2133
  if (!isLoggedIn) {
1881
- _context5.next = 15;
2134
+ _context6.next = 15;
1882
2135
  break;
1883
2136
  }
1884
2137
 
1885
2138
  if (!access_token) {
1886
- _context5.next = 9;
2139
+ _context6.next = 9;
1887
2140
  break;
1888
2141
  }
1889
2142
 
1890
- _context5.next = 5;
2143
+ _context6.next = 5;
1891
2144
  return getProfileData(access_token);
1892
2145
 
1893
2146
  case 5:
1894
- updatedUserData = _context5.sent;
2147
+ updatedUserData = _context6.sent;
1895
2148
  _profileSpecifiedData = _get(updatedUserData, 'data.data');
1896
2149
  _profileDataObj = setLoggedUserData(_profileSpecifiedData);
1897
2150
 
@@ -1900,33 +2153,71 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
1900
2153
  }
1901
2154
 
1902
2155
  case 9:
1903
- _checkoutBody = createCheckoutDataBody(values, {
2156
+ _checkoutBody = createCheckoutDataBody(ticketsQuantity.length, values, {
1904
2157
  emailLogged: emailLogged,
1905
2158
  firstNameLogged: firstNameLogged,
1906
2159
  lastNameLogged: lastNameLogged
1907
2160
  }, showDOB);
1908
- _context5.next = 12;
2161
+ _context6.next = 12;
1909
2162
  return postOnCheckout(_checkoutBody, access_token);
1910
2163
 
1911
2164
  case 12:
1912
- _res = _context5.sent;
2165
+ _res = _context6.sent;
1913
2166
  handleSubmit(values, formikHelpers, _res);
1914
- return _context5.abrupt("return");
2167
+ return _context6.abrupt("return");
1915
2168
 
1916
2169
  case 15:
1917
2170
  bodyFormData = createRegisterFormData(values);
1918
- _context5.next = 18;
2171
+ access_token_register = null;
2172
+ _context6.prev = 17;
2173
+ _context6.next = 20;
1919
2174
  return register(bodyFormData);
1920
2175
 
1921
- case 18:
1922
- resRegister = _context5.sent;
2176
+ case 20:
2177
+ resRegister = _context6.sent;
1923
2178
  access_token_register = _get(resRegister, 'data.data.attributes.access_token');
2179
+ refreshToken = _get(resRegister, 'data.data.attributes.refresh_token');
1924
2180
  handleSetAccessToken(access_token_register);
1925
- _context5.next = 23;
2181
+ tokens = {
2182
+ accessToken: access_token_register,
2183
+ refreshToken: refreshToken
2184
+ };
2185
+ onRegisterSuccess(tokens);
2186
+ _context6.next = 32;
2187
+ break;
2188
+
2189
+ case 28:
2190
+ _context6.prev = 28;
2191
+ _context6.t0 = _context6["catch"](17);
2192
+
2193
+ if (axios.isAxiosError(_context6.t0)) {
2194
+ 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;
2195
+
2196
+ if (_includes(error, 'You must be aged')) {
2197
+ formikHelpers.setFieldError('holderAge', error);
2198
+ }
2199
+
2200
+ if (error != null && error.password) {
2201
+ formikHelpers.setFieldError('password', error.password);
2202
+ formikHelpers.setFieldError('confirmPassword', error.password);
2203
+ }
2204
+
2205
+ if (error != null && error.email) {
2206
+ setAlreadyHasUser(true);
2207
+ setShowModalLogin(true);
2208
+ }
2209
+
2210
+ onRegisterError(_context6.t0);
2211
+ }
2212
+
2213
+ return _context6.abrupt("return");
2214
+
2215
+ case 32:
2216
+ _context6.next = 34;
1926
2217
  return getProfileData(access_token_register);
1927
2218
 
1928
- case 23:
1929
- profileData = _context5.sent;
2219
+ case 34:
2220
+ profileData = _context6.sent;
1930
2221
  profileSpecifiedData = _get(profileData, 'data.data');
1931
2222
  profileDataObj = setLoggedUserData(profileSpecifiedData);
1932
2223
 
@@ -1934,42 +2225,26 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
1934
2225
  window.localStorage.setItem('user_data', JSON.stringify(profileDataObj));
1935
2226
  }
1936
2227
 
1937
- checkoutBody = createCheckoutDataBody(values, {
2228
+ checkoutBody = createCheckoutDataBody(ticketsQuantity.length, values, {
1938
2229
  emailLogged: emailLogged,
1939
2230
  firstNameLogged: firstNameLogged,
1940
2231
  lastNameLogged: lastNameLogged
1941
2232
  }, showDOB);
1942
- _context5.next = 30;
2233
+ _context6.next = 41;
1943
2234
  return postOnCheckout(checkoutBody, access_token_register);
1944
2235
 
1945
- case 30:
1946
- res = _context5.sent;
2236
+ case 41:
2237
+ res = _context6.sent;
1947
2238
  handleSubmit(values, formikHelpers, res);
1948
- _context5.next = 37;
2239
+ _context6.next = 48;
1949
2240
  break;
1950
2241
 
1951
- case 34:
1952
- _context5.prev = 34;
1953
- _context5.t0 = _context5["catch"](0);
1954
-
1955
- if (axios.isAxiosError(_context5.t0)) {
1956
- error = _context5.t0 == null ? void 0 : (_e$response = _context5.t0.response) == null ? void 0 : (_e$response$data = _e$response.data) == null ? void 0 : _e$response$data.message;
1957
-
1958
- if (_includes(error, 'You must be aged')) {
1959
- formikHelpers.setFieldError('holderAge', error);
1960
- }
2242
+ case 45:
2243
+ _context6.prev = 45;
2244
+ _context6.t1 = _context6["catch"](0);
1961
2245
 
1962
- if (error != null && error.password) {
1963
- formikHelpers.setFieldError('password', error.password);
1964
- formikHelpers.setFieldError('confirmPassword', error.password);
1965
- }
1966
-
1967
- if (error != null && error.email) {
1968
- setAlreadyHasUser(true);
1969
- setShowModalLogin(true);
1970
- }
1971
-
1972
- if (((_e$response2 = _context5.t0.response) == null ? void 0 : _e$response2.data.error) === 'invalid_token') {
2246
+ if (axios.isAxiosError(_context6.t1)) {
2247
+ if (((_e$response2 = _context6.t1.response) == null ? void 0 : _e$response2.data.error) === 'invalid_token') {
1973
2248
  if (typeof window !== 'undefined') {
1974
2249
  window.localStorage.removeItem('user_data');
1975
2250
  window.localStorage.removeItem('access_token');
@@ -1977,14 +2252,16 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
1977
2252
  setShowModalLogin(true);
1978
2253
  }
1979
2254
  }
2255
+
2256
+ onSubmitError(_context6.t1);
1980
2257
  }
1981
2258
 
1982
- case 37:
2259
+ case 48:
1983
2260
  case "end":
1984
- return _context5.stop();
2261
+ return _context6.stop();
1985
2262
  }
1986
2263
  }
1987
- }, _callee5, null, [[0, 34]]);
2264
+ }, _callee6, null, [[0, 45], [17, 28]]);
1988
2265
  }));
1989
2266
 
1990
2267
  function onSubmit(_x2, _x3) {
@@ -2001,7 +2278,9 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
2001
2278
  setStates: setStates,
2002
2279
  setFieldValue: props.setFieldValue,
2003
2280
  setValues: props.setValues,
2004
- setUserValues: setUserValues
2281
+ setUserValues: setUserValues,
2282
+ onGetStatesSuccess: onGetStatesSuccess,
2283
+ onGetStatesError: onGetStatesError
2005
2284
  }), React__default.createElement("div", {
2006
2285
  className: "billing-info-container " + theme
2007
2286
  }, !isLoggedIn && React__default.createElement("div", {
@@ -2012,6 +2291,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
2012
2291
  className: "login-register-button",
2013
2292
  type: "button",
2014
2293
  onClick: function onClick() {
2294
+ onLogin();
2015
2295
  setShowModalLogin(true);
2016
2296
  }
2017
2297
  }, "Login"))), _map(data, function (item) {
@@ -2052,6 +2332,10 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
2052
2332
  return false;
2053
2333
  }
2054
2334
 
2335
+ if (el.name === 'brand_opt_in' && hideOptIn) {
2336
+ return false;
2337
+ }
2338
+
2055
2339
  return true;
2056
2340
  }), function (element) {
2057
2341
  return ['password', 'confirmPassword'].includes(element.name) && isLoggedIn ? null : React__default.createElement("div", {
@@ -2067,16 +2351,57 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
2067
2351
  }));
2068
2352
  })));
2069
2353
  }));
2354
+ }), showTicketHolderName && React__default.createElement(React__default.Fragment, null, React__default.createElement("p", null, ticketHoldersFields.label), _map(ticketsQuantity, function (_item, index) {
2355
+ return React__default.createElement("div", {
2356
+ key: _item
2357
+ }, React__default.createElement("h5", null, "Ticket ", index + 1), _map(ticketHoldersFields.fields, function (group) {
2358
+ var groupClassname = group.groupClassname,
2359
+ groupItems = group.groupItems;
2360
+ return React__default.createElement("div", {
2361
+ key: group.id
2362
+ }, React__default.createElement("div", {
2363
+ className: groupClassname
2364
+ }, _map(groupItems, function (element) {
2365
+ return React__default.createElement("div", {
2366
+ className: element.className,
2367
+ key: element.name + "-" + index
2368
+ }, React__default.createElement(formik.Field, {
2369
+ name: element.name + "-" + index,
2370
+ key: element.name + "-" + index,
2371
+ label: element.label,
2372
+ type: element.type,
2373
+ required: true,
2374
+ component: element.type === 'checkbox' ? CheckboxField : CustomField,
2375
+ validate: combineValidators(element.required ? requiredValidator : function () {}, element.onValidate ? element.onValidate : function () {})
2376
+ }));
2377
+ })));
2378
+ }));
2379
+ })), conditions == null ? void 0 : conditions.map(function (checkbox) {
2380
+ return React__default.createElement("div", {
2381
+ className: 'billing-info-container__singleField',
2382
+ key: checkbox.id
2383
+ }, React__default.createElement("div", {
2384
+ className: "width-fc"
2385
+ }, React__default.createElement(formik.Field, {
2386
+ name: checkbox.id,
2387
+ label: checkbox.text,
2388
+ type: 'checkbox',
2389
+ required: true,
2390
+ component: CheckboxField,
2391
+ validate: combineValidators(requiredValidator)
2392
+ })));
2070
2393
  }), React__default.createElement("div", {
2071
- style: {
2072
- display: 'flex',
2073
- padding: 20,
2074
- justifyContent: 'center'
2075
- }
2076
- }, React__default.createElement(Button, {
2394
+ className: "button-container"
2395
+ }, React__default.createElement(LoadingButton, {
2077
2396
  type: "submit",
2078
2397
  variant: "contained",
2079
- className: "login-register-button"
2398
+ className: "login-register-button",
2399
+ loadingIndicator: React__default.createElement(material.CircularProgress, {
2400
+ color: "inherit",
2401
+ size: 26
2402
+ }),
2403
+ loading: props.isSubmitting,
2404
+ disabled: props.isSubmitting
2080
2405
  }, buttonName))));
2081
2406
  }), showModalLogin && React__default.createElement(LoginModal, {
2082
2407
  onClose: function onClose() {
@@ -2084,17 +2409,23 @@ var BillingInfoContainer = function BillingInfoContainer(_ref4) {
2084
2409
  },
2085
2410
  onLogin: function onLogin() {
2086
2411
  setShowModalLogin(false);
2412
+ setUserExpired(false);
2087
2413
  },
2088
2414
  alreadyHasUser: alreadyHasUser,
2089
2415
  userExpired: userExpired,
2090
- setUserExpired: setUserExpired
2416
+ onAuthorizeSuccess: onAuthorizeSuccess,
2417
+ onAuthorizeError: onAuthorizeError,
2418
+ onGetProfileDataSuccess: onGetProfileDataSuccess,
2419
+ onGetProfileDataError: onGetProfileDataError
2091
2420
  }), showModalRegister && React__default.createElement(RegisterModal, {
2092
2421
  onClose: function onClose() {
2093
2422
  setShowModalRegister(false);
2094
2423
  },
2095
2424
  onRegister: function onRegister() {
2096
2425
  setShowModalRegister(false);
2097
- }
2426
+ },
2427
+ onGetProfileDataSuccess: onGetProfileDataSuccess,
2428
+ onGetProfileDataError: onGetProfileDataError
2098
2429
  }));
2099
2430
  };
2100
2431
 
@@ -2401,7 +2732,13 @@ var PaymentContainer = function PaymentContainer(_ref) {
2401
2732
  errorText = _ref.errorText,
2402
2733
  checkoutData = _ref.checkoutData,
2403
2734
  _ref$onErrorClose = _ref.onErrorClose,
2404
- onErrorClose = _ref$onErrorClose === void 0 ? _identity : _ref$onErrorClose;
2735
+ onErrorClose = _ref$onErrorClose === void 0 ? _identity : _ref$onErrorClose,
2736
+ _ref$onGetPaymentData = _ref.onGetPaymentDataSuccess,
2737
+ onGetPaymentDataSuccess = _ref$onGetPaymentData === void 0 ? function () {} : _ref$onGetPaymentData,
2738
+ _ref$onGetPaymentData2 = _ref.onGetPaymentDataError,
2739
+ onGetPaymentDataError = _ref$onGetPaymentData2 === void 0 ? function () {} : _ref$onGetPaymentData2,
2740
+ _ref$onPaymentError = _ref.onPaymentError,
2741
+ onPaymentError = _ref$onPaymentError === void 0 ? function () {} : _ref$onPaymentError;
2405
2742
 
2406
2743
  var _useState = React.useState(initialReviewValues),
2407
2744
  reviewData = _useState[0],
@@ -2452,17 +2789,19 @@ var PaymentContainer = function PaymentContainer(_ref) {
2452
2789
  currency: order_details == null ? void 0 : order_details.currency
2453
2790
  };
2454
2791
  setOrderData(_orderData);
2792
+ onGetPaymentDataSuccess(response.data);
2455
2793
  }
2456
2794
 
2457
- _context.next = 10;
2795
+ _context.next = 11;
2458
2796
  break;
2459
2797
 
2460
2798
  case 7:
2461
2799
  _context.prev = 7;
2462
2800
  _context.t0 = _context["catch"](0);
2463
2801
  setError(_get(_context.t0, 'response.data.message'));
2802
+ onGetPaymentDataError(_context.t0.response);
2464
2803
 
2465
- case 10:
2804
+ case 11:
2466
2805
  case "end":
2467
2806
  return _context.stop();
2468
2807
  }
@@ -2503,15 +2842,16 @@ var PaymentContainer = function PaymentContainer(_ref) {
2503
2842
  setPaymentIsLoading(false);
2504
2843
  }
2505
2844
 
2506
- _context2.next = 14;
2845
+ _context2.next = 15;
2507
2846
  break;
2508
2847
 
2509
2848
  case 11:
2510
2849
  _context2.prev = 11;
2511
2850
  _context2.t0 = _context2["catch"](0);
2512
2851
  setError(_get(_context2.t0, 'response.data.message'));
2852
+ onPaymentError(_context2.t0.response);
2513
2853
 
2514
- case 14:
2854
+ case 15:
2515
2855
  case "end":
2516
2856
  return _context2.stop();
2517
2857
  }
@@ -2580,7 +2920,11 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
2580
2920
  _ref$shareButtons = _ref.shareButtons,
2581
2921
  shareButtons = _ref$shareButtons === void 0 ? [] : _ref$shareButtons,
2582
2922
  _ref$shareLink = _ref.shareLink,
2583
- shareLink = _ref$shareLink === void 0 ? '' : _ref$shareLink;
2923
+ shareLink = _ref$shareLink === void 0 ? '' : _ref$shareLink,
2924
+ _ref$onGetConfirmatio = _ref.onGetConfirmationDataSuccess,
2925
+ onGetConfirmationDataSuccess = _ref$onGetConfirmatio === void 0 ? function () {} : _ref$onGetConfirmatio,
2926
+ _ref$onGetConfirmatio2 = _ref.onGetConfirmationDataError,
2927
+ onGetConfirmationDataError = _ref$onGetConfirmatio2 === void 0 ? function () {} : _ref$onGetConfirmatio2;
2584
2928
  var inputRef = React.useRef(null);
2585
2929
 
2586
2930
  var _useState = React.useState({}),
@@ -2601,7 +2945,7 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
2601
2945
  dataEncoded = typeof window !== 'undefined' && window.localStorage.getItem('checkoutData');
2602
2946
 
2603
2947
  if (!dataEncoded) {
2604
- _context.next = 14;
2948
+ _context.next = 16;
2605
2949
  break;
2606
2950
  }
2607
2951
 
@@ -2615,21 +2959,23 @@ var ConfirmationContainer = function ConfirmationContainer(_ref) {
2615
2959
  response = _context.sent;
2616
2960
  _data = _get(response, 'data.data.attributes');
2617
2961
  setData(_data);
2618
- _context.next = 14;
2962
+ onGetConfirmationDataSuccess(response.data);
2963
+ _context.next = 16;
2619
2964
  break;
2620
2965
 
2621
- case 12:
2622
- _context.prev = 12;
2966
+ case 13:
2967
+ _context.prev = 13;
2623
2968
  _context.t0 = _context["catch"](4);
2969
+ onGetConfirmationDataError(_context.t0.response);
2624
2970
 
2625
- case 14:
2971
+ case 16:
2626
2972
  case "end":
2627
2973
  return _context.stop();
2628
2974
  }
2629
2975
  }
2630
- }, _callee, null, [[4, 12]]);
2976
+ }, _callee, null, [[4, 13]]);
2631
2977
  }))();
2632
- }, []);
2978
+ }, [onGetConfirmationDataSuccess, onGetConfirmationDataError]);
2633
2979
  return React__default.createElement("div", {
2634
2980
  className: "confirmation-page"
2635
2981
  }, React__default.createElement("p", {
@@ -2759,10 +3105,14 @@ var getTicketSelectOptions = function getTicketSelectOptions(maxCount, minCount,
2759
3105
  return options;
2760
3106
  };
2761
3107
 
2762
- var computeTierStateLabel = function computeTierStateLabel(tier, prevTier, selectedTickets, handleTicketSelect) {
2763
- var soldOutMessage = tier.soldOutMessage ? ("" + tier.soldOutMessage).toUpperCase() : 'SOLD OUT';
2764
- var isSalesClosed = !tier.salesStarted || tier.salesEnded || !_has(tier, 'maxQuantity') || tier.maxQuantity === 0;
2765
- var options = getTicketSelectOptions(tier.maxQuantity, tier.minQuantity, tier.multiplier);
3108
+ var TicketRow = function TicketRow(_ref) {
3109
+ var ticketTier = _ref.ticketTier,
3110
+ prevTicketTier = _ref.prevTicketTier,
3111
+ selectedTickets = _ref.selectedTickets,
3112
+ handleTicketSelect = _ref.handleTicketSelect;
3113
+ var soldOutMessage = ticketTier.soldOutMessage ? ("" + ticketTier.soldOutMessage).toUpperCase() : 'SOLD OUT';
3114
+ var isSalesClosed = !ticketTier.salesStarted || ticketTier.salesEnded || !_has(ticketTier, 'maxQuantity') || ticketTier.maxQuantity === 0;
3115
+ var options = getTicketSelectOptions(ticketTier.maxQuantity, ticketTier.minQuantity, ticketTier.multiplier);
2766
3116
  var onSaleContent = isSalesClosed ? null : React__default.createElement("div", {
2767
3117
  className: "get-tickets"
2768
3118
  }, React__default.createElement(Box, {
@@ -2770,7 +3120,7 @@ var computeTierStateLabel = function computeTierStateLabel(tier, prevTier, selec
2770
3120
  }, React__default.createElement(FormControl, {
2771
3121
  fullWidth: true
2772
3122
  }, React__default.createElement(Select, {
2773
- value: selectedTickets[tier.id] ? selectedTickets[tier.id] : 0,
3123
+ value: selectedTickets[ticketTier.id] ? selectedTickets[ticketTier.id] : 0,
2774
3124
  onChange: handleTicketSelect,
2775
3125
  displayEmpty: true,
2776
3126
  inputProps: {
@@ -2790,51 +3140,234 @@ var computeTierStateLabel = function computeTierStateLabel(tier, prevTier, selec
2790
3140
  value: option.value
2791
3141
  }, option.value);
2792
3142
  })))));
2793
- if (tier.sold_out || !tier.displayTicket || tier.soldOut) return soldOutMessage;
2794
- if (!+tier.cost && !+tier.price) return 'FREE';
2795
- if (tier.displayTicket) return onSaleContent;
2796
- if (prevTier.in_stock) return 'SOON';
2797
- return '';
3143
+ var returnValue = '';
3144
+
3145
+ if (ticketTier.sold_out || !ticketTier.displayTicket || ticketTier.soldOut) {
3146
+ returnValue = soldOutMessage;
3147
+ }
3148
+
3149
+ if (!+ticketTier.cost && !+ticketTier.price) {
3150
+ returnValue = 'FREE';
3151
+ }
3152
+
3153
+ if (ticketTier.displayTicket) {
3154
+ returnValue = onSaleContent;
3155
+ }
3156
+
3157
+ if (_get(prevTicketTier, 'in_stock')) {
3158
+ returnValue = 'SOON';
3159
+ }
3160
+
3161
+ return React__default.createElement(React__default.Fragment, null, returnValue, " ");
2798
3162
  };
2799
3163
 
2800
- var renderTiers = function renderTiers(boxOffice, selectedTickets, handleTicketSelect, promoCodeIsApplied) {
2801
- var sortedBoxOfiice = _sortBy(boxOffice, 'sortOrder');
3164
+ var TicketsSection = function TicketsSection(_ref) {
3165
+ var ticketsList = _ref.ticketsList,
3166
+ selectedTickets = _ref.selectedTickets,
3167
+ handleTicketSelect = _ref.handleTicketSelect,
3168
+ promoCodeIsApplied = _ref.promoCodeIsApplied;
3169
+
3170
+ var sortedTicketsList = _sortBy(ticketsList, 'sortOrder');
2802
3171
 
2803
- var primaryTiers = sortedBoxOfiice.map(function (tier, i, arr) {
2804
- var isSoldOut = tier.sold_out || !tier.displayTicket || tier.soldOut;
3172
+ return React__default.createElement(React__default.Fragment, null, sortedTicketsList.map(function (ticket, i, arr) {
3173
+ var isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut;
2805
3174
 
2806
3175
  var ticketSelect = function ticketSelect(event) {
2807
3176
  var value = event.target.value;
2808
- handleTicketSelect(tier.id, value);
3177
+ handleTicketSelect(ticket.id, value);
2809
3178
  };
2810
3179
 
2811
3180
  var ticketIsDiscounted = false;
2812
3181
 
2813
- if (tier.oldPrice && promoCodeIsApplied && !isSoldOut && tier.oldPrice !== tier.price) {
3182
+ if (ticket.oldPrice && promoCodeIsApplied && !isSoldOut && ticket.oldPrice !== ticket.price) {
2814
3183
  ticketIsDiscounted = true;
2815
3184
  }
2816
3185
 
2817
3186
  return React__default.createElement("div", {
2818
- key: tier.id || tier.name,
3187
+ key: ticket.id || ticket.name,
2819
3188
  className: "event-detail__tier " + (isSoldOut ? 'disabled' : '')
2820
3189
  }, React__default.createElement("div", {
2821
3190
  className: "event-detail__tier-name"
2822
- }, tier.displayName || tier.name), React__default.createElement("div", {
3191
+ }, ticket.displayName || ticket.name), React__default.createElement("div", {
2823
3192
  className: "event-tickets-container"
2824
3193
  }, React__default.createElement("div", {
2825
3194
  className: "event-detail__tier-price"
2826
3195
  }, ticketIsDiscounted && React__default.createElement("p", {
2827
3196
  className: "old-price"
2828
- }, "$ ", (+tier.oldPrice).toFixed(2)), React__default.createElement("p", null, isSoldOut ? 'SOLD OUT' : "$ " + (+tier.cost || +tier.price).toFixed(2)), !isSoldOut && React__default.createElement("p", {
2829
- className: 'fees'
2830
- }, tier.taxesIncluded ? '(incl. Fees)' : '(excl. Fees)')), React__default.createElement("div", {
3197
+ }, "$ ", (+ticket.oldPrice).toFixed(2)), React__default.createElement("p", null, isSoldOut ? 'SOLD OUT' : "$ " + (+ticket.cost || +ticket.price).toFixed(2)), !isSoldOut && React__default.createElement("p", {
3198
+ className: "fees"
3199
+ }, ticket.taxesIncluded ? '(incl. Fees)' : '(excl. Fees)')), React__default.createElement("div", {
2831
3200
  className: "event-detail__tier-state",
2832
3201
  style: {
2833
3202
  minWidth: 55
2834
3203
  }
2835
- }, computeTierStateLabel(tier, arr[i - 1], selectedTickets, ticketSelect))));
3204
+ }, React__default.createElement(TicketRow, {
3205
+ ticketTier: ticket,
3206
+ prevTicketTier: arr[i - 1],
3207
+ selectedTickets: selectedTickets,
3208
+ handleTicketSelect: ticketSelect
3209
+ }))));
3210
+ }));
3211
+ };
3212
+
3213
+ var generateQuantity = function generateQuantity(n) {
3214
+ var quantityList = [];
3215
+
3216
+ for (var i = 1; i <= n; i++) {
3217
+ quantityList.push({
3218
+ label: i,
3219
+ value: i
3220
+ });
3221
+ }
3222
+
3223
+ return quantityList;
3224
+ };
3225
+
3226
+ var WaitingList = function WaitingList(_ref) {
3227
+ var _ref$tickets = _ref.tickets,
3228
+ tickets = _ref$tickets === void 0 ? {} : _ref$tickets;
3229
+
3230
+ var _useState = React.useState(false),
3231
+ showSuccessMessage = _useState[0],
3232
+ setShowSuccessMessage = _useState[1];
3233
+
3234
+ var _useState2 = React.useState(false),
3235
+ loading = _useState2[0],
3236
+ setLoading = _useState2[1];
3237
+
3238
+ var ticketTypesList = Object.values(tickets).map(function (d) {
3239
+ return {
3240
+ label: d.displayName,
3241
+ value: d.id
3242
+ };
2836
3243
  });
2837
- return primaryTiers;
3244
+
3245
+ var handleSubmit = /*#__PURE__*/function () {
3246
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(values) {
3247
+ var id, requestData, _yield$addToWaitingLi, data;
3248
+
3249
+ return runtime_1.wrap(function _callee$(_context) {
3250
+ while (1) {
3251
+ switch (_context.prev = _context.next) {
3252
+ case 0:
3253
+ _context.prev = 0;
3254
+ setLoading(true);
3255
+ id = ENV.EVENT_ID;
3256
+ requestData = {
3257
+ data: {
3258
+ attributes: values
3259
+ }
3260
+ };
3261
+ _context.next = 6;
3262
+ return addToWaitingList(id, requestData);
3263
+
3264
+ case 6:
3265
+ _yield$addToWaitingLi = _context.sent;
3266
+ data = _yield$addToWaitingLi.data;
3267
+
3268
+ if (data.success) {
3269
+ setShowSuccessMessage(true);
3270
+ }
3271
+
3272
+ _context.next = 14;
3273
+ break;
3274
+
3275
+ case 11:
3276
+ _context.prev = 11;
3277
+ _context.t0 = _context["catch"](0);
3278
+ console.log(_context.t0);
3279
+
3280
+ case 14:
3281
+ _context.prev = 14;
3282
+ setLoading(false);
3283
+ return _context.finish(14);
3284
+
3285
+ case 17:
3286
+ case "end":
3287
+ return _context.stop();
3288
+ }
3289
+ }
3290
+ }, _callee, null, [[0, 11, 14, 17]]);
3291
+ }));
3292
+
3293
+ return function handleSubmit(_x) {
3294
+ return _ref2.apply(this, arguments);
3295
+ };
3296
+ }();
3297
+
3298
+ return React__default.createElement("div", {
3299
+ className: "waiting-list"
3300
+ }, showSuccessMessage ? React__default.createElement("div", {
3301
+ className: "success-message"
3302
+ }, React__default.createElement("h3", null, "You've been added to the waiting list!"), React__default.createElement("p", null, "You'll be notified if tickets become available.")) : React__default.createElement(React__default.Fragment, null, React__default.createElement("h2", null, "WAITING LIST"), React__default.createElement(formik.Formik, {
3303
+ initialValues: {
3304
+ ticketTypeId: '',
3305
+ quantity: '',
3306
+ firstName: '',
3307
+ lastName: '',
3308
+ email: ''
3309
+ },
3310
+ onSubmit: handleSubmit
3311
+ }, React__default.createElement(formik.Form, null, React__default.createElement("div", {
3312
+ className: "field-item"
3313
+ }, React__default.createElement(formik.Field, {
3314
+ name: "ticketTypeId",
3315
+ label: "Ticket types",
3316
+ type: "select",
3317
+ component: CustomField,
3318
+ selectOptions: [{
3319
+ label: 'Type of Ticket',
3320
+ value: '',
3321
+ disabled: true
3322
+ }].concat(ticketTypesList)
3323
+ })), React__default.createElement("div", {
3324
+ className: "field-item"
3325
+ }, React__default.createElement(formik.Field, {
3326
+ name: "quantity",
3327
+ label: "Quantity",
3328
+ type: "select",
3329
+ component: CustomField,
3330
+ selectOptions: [{
3331
+ label: 'Quantity Requested',
3332
+ value: '',
3333
+ disabled: true
3334
+ }].concat(generateQuantity(10))
3335
+ })), React__default.createElement("div", {
3336
+ className: "field-item"
3337
+ }, React__default.createElement(formik.Field, {
3338
+ name: "firstName",
3339
+ label: "First name",
3340
+ validate: function validate(value) {
3341
+ return requiredValidator(value, 'Please enter your First name');
3342
+ },
3343
+ component: CustomField
3344
+ })), React__default.createElement("div", {
3345
+ className: "field-item"
3346
+ }, React__default.createElement(formik.Field, {
3347
+ name: "lastName",
3348
+ label: "Last name",
3349
+ validate: function validate(value) {
3350
+ return requiredValidator(value, 'Please enter your Last name');
3351
+ },
3352
+ component: CustomField
3353
+ })), React__default.createElement("div", {
3354
+ className: "field-item"
3355
+ }, React__default.createElement(formik.Field, {
3356
+ name: "email",
3357
+ label: "Email",
3358
+ validate: combineValidators(function (value) {
3359
+ return requiredValidator(value, 'Please enter your Email');
3360
+ }, function (value) {
3361
+ return emailValidator(value);
3362
+ }),
3363
+ component: CustomField
3364
+ })), React__default.createElement(Button$1, {
3365
+ type: "submit",
3366
+ variant: "contained",
3367
+ className: "waiting-list-button"
3368
+ }, loading ? React__default.createElement(CircularProgress, {
3369
+ size: "22px"
3370
+ }) : 'ADD TO WAITING LIST')))));
2838
3371
  };
2839
3372
 
2840
3373
  function Loader() {
@@ -2848,7 +3381,15 @@ var TicketsContainer = function TicketsContainer(_ref) {
2848
3381
  eventId = _ref.eventId,
2849
3382
  onAddToCartSuccess = _ref.onAddToCartSuccess,
2850
3383
  _ref$contentStyle = _ref.contentStyle,
2851
- contentStyle = _ref$contentStyle === void 0 ? {} : _ref$contentStyle;
3384
+ contentStyle = _ref$contentStyle === void 0 ? {} : _ref$contentStyle,
3385
+ _ref$onAddToCartError = _ref.onAddToCartError,
3386
+ onAddToCartError = _ref$onAddToCartError === void 0 ? function () {} : _ref$onAddToCartError,
3387
+ _ref$onGetTicketsSucc = _ref.onGetTicketsSuccess,
3388
+ onGetTicketsSuccess = _ref$onGetTicketsSucc === void 0 ? function () {} : _ref$onGetTicketsSucc,
3389
+ _ref$onGetTicketsErro = _ref.onGetTicketsError,
3390
+ onGetTicketsError = _ref$onGetTicketsErro === void 0 ? function () {} : _ref$onGetTicketsErro,
3391
+ _ref$theme = _ref.theme,
3392
+ theme = _ref$theme === void 0 ? 'light' : _ref$theme;
2852
3393
 
2853
3394
  var _useState = React.useState({}),
2854
3395
  selectedTickets = _useState[0],
@@ -2859,28 +3400,32 @@ var TicketsContainer = function TicketsContainer(_ref) {
2859
3400
  setTickets = _useState2[1];
2860
3401
 
2861
3402
  var _useState3 = React.useState(false),
2862
- isLoading = _useState3[0],
2863
- setIsLoading = _useState3[1];
3403
+ showWaitingList = _useState3[0],
3404
+ setShowWaitingList = _useState3[1];
2864
3405
 
2865
3406
  var _useState4 = React.useState(false),
2866
- handleBookIsLoading = _useState4[0],
2867
- setHandleBookIsLoading = _useState4[1];
3407
+ isLoading = _useState4[0],
3408
+ setIsLoading = _useState4[1];
2868
3409
 
2869
- var _useState5 = React.useState(''),
2870
- promoCode = _useState5[0],
2871
- setPromoCode = _useState5[1];
3410
+ var _useState5 = React.useState(false),
3411
+ handleBookIsLoading = _useState5[0],
3412
+ setHandleBookIsLoading = _useState5[1];
2872
3413
 
2873
3414
  var _useState6 = React.useState(''),
2874
- promoCodeUpdated = _useState6[0],
2875
- setPromoCodeUpdated = _useState6[1];
3415
+ promoCode = _useState6[0],
3416
+ setPromoCode = _useState6[1];
2876
3417
 
2877
- var _useState7 = React.useState(false),
2878
- showPromoInput = _useState7[0],
2879
- setShowPromoInput = _useState7[1];
3418
+ var _useState7 = React.useState(''),
3419
+ promoCodeUpdated = _useState7[0],
3420
+ setPromoCodeUpdated = _useState7[1];
2880
3421
 
2881
3422
  var _useState8 = React.useState(false),
2882
- promoCodeIsApplied = _useState8[0],
2883
- setPromoCodeIsApplied = _useState8[1];
3423
+ showPromoInput = _useState8[0],
3424
+ setShowPromoInput = _useState8[1];
3425
+
3426
+ var _useState9 = React.useState(false),
3427
+ promoCodeIsApplied = _useState9[0],
3428
+ setPromoCodeIsApplied = _useState9[1];
2884
3429
 
2885
3430
  React.useEffect(function () {
2886
3431
  if (typeof window !== 'undefined') {
@@ -2903,8 +3448,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
2903
3448
 
2904
3449
  function _getTicketsApi() {
2905
3450
  _getTicketsApi = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
2906
- var response, attributes, _tickets;
2907
-
3451
+ var response, attributes;
2908
3452
  return runtime_1.wrap(function _callee$(_context) {
2909
3453
  while (1) {
2910
3454
  switch (_context.prev = _context.next) {
@@ -2921,10 +3465,9 @@ var TicketsContainer = function TicketsContainer(_ref) {
2921
3465
  setCustomHeader(response);
2922
3466
  attributes = _get(response, 'data.data.attributes');
2923
3467
  setPromoCodeIsApplied(attributes.ValidPromoCode);
2924
- _tickets = _filter(Object.values(attributes) || [], function (item) {
2925
- return _isObject(item);
2926
- });
2927
- setTickets(_tickets);
3468
+ setTickets(_get(attributes, 'tickets'));
3469
+ setShowWaitingList(attributes.showWaitingList);
3470
+ onGetTicketsSuccess(response.data);
2928
3471
  }
2929
3472
 
2930
3473
  _context.next = 11;
@@ -2933,7 +3476,10 @@ var TicketsContainer = function TicketsContainer(_ref) {
2933
3476
  case 8:
2934
3477
  _context.prev = 8;
2935
3478
  _context.t0 = _context["catch"](0);
2936
- console.log('e', _context.t0);
3479
+
3480
+ if (axios.isAxiosError(_context.t0)) {
3481
+ onGetTicketsError(_context.t0);
3482
+ }
2937
3483
 
2938
3484
  case 11:
2939
3485
  _context.prev = 11;
@@ -3006,7 +3552,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
3006
3552
  onAddToCartSuccess({
3007
3553
  skip_billing_page: (_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,
3008
3554
  names_required: (_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,
3009
- age_required: (_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
3555
+ age_required: (_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,
3556
+ event_id: String(eventId)
3010
3557
  });
3011
3558
  }
3012
3559
 
@@ -3016,7 +3563,10 @@ var TicketsContainer = function TicketsContainer(_ref) {
3016
3563
  case 13:
3017
3564
  _context2.prev = 13;
3018
3565
  _context2.t0 = _context2["catch"](6);
3019
- console.log('e', _context2.t0);
3566
+
3567
+ if (axios.isAxiosError(_context2.t0)) {
3568
+ onAddToCartError(_context2.t0);
3569
+ }
3020
3570
 
3021
3571
  case 16:
3022
3572
  _context2.prev = 16;
@@ -3040,9 +3590,16 @@ var TicketsContainer = function TicketsContainer(_ref) {
3040
3590
  return !(item.sold_out || item.soldOut);
3041
3591
  });
3042
3592
  return React__default.createElement("div", {
3043
- className: "get-tickets-page",
3593
+ className: "get-tickets-page " + theme,
3044
3594
  style: contentStyle
3045
- }, isLoading ? React__default.createElement(Loader, null) : React__default.createElement("div", null, renderTiers(tickets, selectedTickets, handleTicketSelect, promoCodeIsApplied), promoCodeIsApplied ? React__default.createElement("div", {
3595
+ }, isLoading ? React__default.createElement(Loader, null) : React__default.createElement(React__default.Fragment, null, showWaitingList ? React__default.createElement(WaitingList, {
3596
+ tickets: tickets
3597
+ }) : React__default.createElement("div", null, React__default.createElement(TicketsSection, {
3598
+ ticketsList: tickets,
3599
+ selectedTickets: selectedTickets,
3600
+ handleTicketSelect: handleTicketSelect,
3601
+ promoCodeIsApplied: promoCodeIsApplied
3602
+ }), promoCodeIsApplied ? React__default.createElement("div", {
3046
3603
  className: "alert-info"
3047
3604
  }, "Your promo code was applied successfully.") : null, showPromoInput && React__default.createElement("div", {
3048
3605
  className: "promo-code-block"
@@ -3056,13 +3613,13 @@ var TicketsContainer = function TicketsContainer(_ref) {
3056
3613
  setPromoCodeUpdated(promoCode);
3057
3614
  }
3058
3615
  }
3059
- }), React__default.createElement(Button$1, {
3616
+ }), React__default.createElement(Button, {
3060
3617
  className: "promo-apply-button",
3061
3618
  placeholder: "Promo Code",
3062
3619
  onClick: function onClick() {
3063
3620
  setPromoCodeUpdated(promoCode);
3064
3621
  }
3065
- }, "Apply")), !showPromoInput && !isAllTicketsSoldOut ? React__default.createElement(Button$1, {
3622
+ }, "Apply")), !showPromoInput && !isAllTicketsSoldOut ? React__default.createElement(Button, {
3066
3623
  className: "promo-code-button",
3067
3624
  placeholder: "Promo Codes",
3068
3625
  onClick: function onClick() {
@@ -3073,15 +3630,16 @@ var TicketsContainer = function TicketsContainer(_ref) {
3073
3630
  style: {
3074
3631
  display: 'none'
3075
3632
  }
3076
- }), !isAllTicketsSoldOut && React__default.createElement(Button$1, {
3633
+ }), !isAllTicketsSoldOut && React__default.createElement(Button, {
3077
3634
  "aria-hidden": true,
3078
3635
  className: "book-button " + (handleBookIsLoading || _isEmpty(selectedTickets) || Object.values(selectedTickets)[0] === 0 ? 'disabled' : ''),
3079
3636
  onClick: !handleBookIsLoading && !_isEmpty(selectedTickets) && Object.values(selectedTickets)[0] > 0 ? handleBook : function () {}
3080
- }, getTicketsLabel || 'GET TICKETS')));
3637
+ }, getTicketsLabel || 'GET TICKETS'))));
3081
3638
  };
3082
3639
 
3083
3640
  exports.BillingInfoContainer = BillingInfoContainer;
3084
3641
  exports.ConfirmationContainer = ConfirmationContainer;
3642
+ exports.LoginModal = LoginModal;
3085
3643
  exports.PaymentContainer = PaymentContainer;
3086
3644
  exports.TicketsContainer = TicketsContainer;
3087
3645
  exports.createFixedFloatNormalizer = createFixedFloatNormalizer;