tf-checkout-react 1.0.99-beta.19 → 1.0.99-beta.21

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.
@@ -35,4 +35,6 @@ export declare const removeFromResale: (hash: string) => Promise<AxiosResponse<a
35
35
  export declare const postReferralVisits: (eventId: string, referralId: string) => Promise<AxiosResponse<any, any>>;
36
36
  export declare const logout: () => Promise<AxiosResponse<any, any>>;
37
37
  export declare const processTicket: (hash: string) => Promise<AxiosResponse<any, any>>;
38
+ export declare const declineInvitation: (hash: string) => Promise<AxiosResponse<any, any>>;
39
+ export declare const sendRSVPInfo: (eventId: number, data: any) => Promise<AxiosResponse<any, any>>;
38
40
  export {};
@@ -16,5 +16,5 @@ export interface ICustomField {
16
16
  interface IOtherProps {
17
17
  [key: string]: any;
18
18
  }
19
- export declare const CustomField: ({ label, type, field, selectOptions, form: { touched, errors, submitCount }, theme, }: ICustomField & IOtherProps) => JSX.Element;
19
+ export declare const CustomField: ({ label, type, field, selectOptions, form: { touched, errors, submitCount }, theme, inputProps: pInputProps, InputProps, inputRef, }: ICustomField & IOtherProps) => JSX.Element;
20
20
  export {};
@@ -0,0 +1,14 @@
1
+ /// <reference types="react" />
2
+ import { FieldInputProps, FormikProps } from 'formik';
3
+ export interface IDatePickerFieldProps {
4
+ label: string;
5
+ field: FieldInputProps<any>;
6
+ form: FormikProps<any>;
7
+ theme: 'dark' | 'light';
8
+ useCompact?: boolean;
9
+ }
10
+ interface IOtherProps {
11
+ [key: string]: any;
12
+ }
13
+ export declare const DatePickerField: ({ label, field, form, theme, useCompact, }: IDatePickerFieldProps & IOtherProps) => JSX.Element;
14
+ export {};
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ interface IRsvpContainerPage {
3
+ showSection?: boolean;
4
+ eventId: number;
5
+ }
6
+ export declare const RsvpContainer: ({ showSection, eventId }: IRsvpContainerPage) => JSX.Element | null;
7
+ export {};
@@ -3,6 +3,8 @@ import { AxiosError } from 'axios';
3
3
  export interface ITicketResaleContainer {
4
4
  onProcessTicketSuccess: (res: any) => void;
5
5
  onProcessTicketError: (e: AxiosError) => void;
6
+ onDeclineTicketPurchaseSuccess: (res: any) => void;
7
+ onDeclineTicketPurchaseError: (e: AxiosError) => void;
6
8
  orderHash?: string;
7
9
  }
8
- export declare const TicketResaleContainer: ({ onProcessTicketSuccess, onProcessTicketError, orderHash, }: ITicketResaleContainer) => JSX.Element;
10
+ export declare const TicketResaleContainer: ({ onProcessTicketSuccess, onProcessTicketError, onDeclineTicketPurchaseSuccess, onDeclineTicketPurchaseError, orderHash, }: ITicketResaleContainer) => JSX.Element;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import './style.css';
3
3
  export interface ITimerWidgetPage {
4
4
  expires_at: number;
@@ -11,5 +11,5 @@ export interface IRenderer {
11
11
  completed: number;
12
12
  handleCountdownFinish: () => void;
13
13
  }
14
- declare const TimerWidget: ({ expires_at, buyLoading, onCountdownFinish, }: ITimerWidgetPage) => JSX.Element | null;
15
- export default TimerWidget;
14
+ declare const _default: React.MemoExoticComponent<({ expires_at, buyLoading, onCountdownFinish, }: ITimerWidgetPage) => JSX.Element | null>;
15
+ export default _default;
package/dist/index.d.ts CHANGED
@@ -9,3 +9,4 @@ export { OrderDetailsContainer } from './components/orderDetailsContainer';
9
9
  export { setConfigs } from './utils/setConfigs';
10
10
  export { TicketResaleContainer } from './components';
11
11
  export { RedirectModal } from './components/common/RedirectModal';
12
+ export { RsvpContainer } from './components/rsvpContainer';
@@ -27,7 +27,6 @@ var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel')
27
27
  var Checkbox = _interopDefault(require('@mui/material/Checkbox'));
28
28
  var styles = require('@mui/styles');
29
29
  var TextField = _interopDefault(require('@mui/material/TextField'));
30
- var moment = _interopDefault(require('moment-timezone'));
31
30
  var MuiPhoneNumber = _interopDefault(require('material-ui-phone-number'));
32
31
  var CircularProgress = _interopDefault(require('@mui/material/CircularProgress'));
33
32
  var Select = _interopDefault(require('@mui/material/Select'));
@@ -36,6 +35,9 @@ var Backdrop = _interopDefault(require('@mui/material/Backdrop'));
36
35
  var Countdown$1 = _interopDefault(require('react-countdown'));
37
36
  var _isNumber = _interopDefault(require('lodash/isNumber'));
38
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'));
39
41
  var Container = _interopDefault(require('@mui/material/Container'));
40
42
  var Alert = _interopDefault(require('@mui/material/Alert'));
41
43
  var reactStripeJs = require('@stripe/react-stripe-js');
@@ -48,6 +50,7 @@ var jwt_decode = _interopDefault(require('jwt-decode'));
48
50
  var _sortBy = _interopDefault(require('lodash/sortBy'));
49
51
  var FormControl = _interopDefault(require('@mui/material/FormControl'));
50
52
  var MenuItem = _interopDefault(require('@mui/material/MenuItem'));
53
+ var moment = _interopDefault(require('moment-timezone'));
51
54
  var privateTheming = require('@mui/private-theming');
52
55
  var Table = _interopDefault(require('@mui/material/Table'));
53
56
  var TableBody = _interopDefault(require('@mui/material/TableBody'));
@@ -1436,6 +1439,12 @@ var logout = function logout() {
1436
1439
  var processTicket = function processTicket(hash) {
1437
1440
  return publicRequest.post("v1/ticket/" + hash + "/process/");
1438
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);
1447
+ };
1439
1448
 
1440
1449
  var style = {
1441
1450
  position: 'absolute',
@@ -1864,6 +1873,7 @@ var createRegisterFormData = function createRegisterFormData(values, checkoutBod
1864
1873
  bodyFormData.append('password_confirmation', values.confirmPassword);
1865
1874
  bodyFormData.append('client_id', CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf');
1866
1875
  bodyFormData.append('client_secret', CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9');
1876
+ bodyFormData.append('check_cart_expiration', 'true');
1867
1877
 
1868
1878
  _forEach(checkoutBody.attributes, function (item, key) {
1869
1879
  bodyFormData.append(key, item);
@@ -2038,7 +2048,12 @@ var CustomField = function CustomField(_ref) {
2038
2048
  touched = _ref$form.touched,
2039
2049
  errors = _ref$form.errors,
2040
2050
  submitCount = _ref$form.submitCount,
2041
- 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;
2042
2057
  var isSelectField = type === 'select';
2043
2058
 
2044
2059
  var error = _get(errors, field.name);
@@ -2048,11 +2063,6 @@ var CustomField = function CustomField(_ref) {
2048
2063
  var inputProps = {
2049
2064
  sx: customTheme == null ? void 0 : customTheme.input
2050
2065
  };
2051
-
2052
- if (type === 'date') {
2053
- inputProps.max = moment().format('YYYY-MM-DD');
2054
- }
2055
-
2056
2066
  return React__default.createElement(TextField, Object.assign({
2057
2067
  id: field.name,
2058
2068
  label: label,
@@ -2069,10 +2079,11 @@ var CustomField = function CustomField(_ref) {
2069
2079
  }
2070
2080
  },
2071
2081
  InputLabelProps: {
2072
- sx: customTheme == null ? void 0 : customTheme.input,
2073
- shrink: field.name === 'holderAge' ? true : undefined
2082
+ sx: customTheme == null ? void 0 : customTheme.input
2074
2083
  },
2075
- inputProps: inputProps
2084
+ InputProps: InputProps,
2085
+ inputProps: _extends({}, inputProps, pInputProps),
2086
+ inputRef: inputRef
2076
2087
  }, field), isSelectField ? _map(selectOptions, function (option) {
2077
2088
  return React__default.createElement("option", {
2078
2089
  key: option.value,
@@ -2337,6 +2348,8 @@ var TimerWidget = function TimerWidget(_ref) {
2337
2348
  })))) : null;
2338
2349
  };
2339
2350
 
2351
+ var TimerWidget$1 = /*#__PURE__*/React.memo(TimerWidget);
2352
+
2340
2353
  var SnackbarAlert = function SnackbarAlert(_ref) {
2341
2354
  var isOpen = _ref.isOpen,
2342
2355
  message = _ref.message,
@@ -2373,6 +2386,77 @@ var SnackbarAlert = function SnackbarAlert(_ref) {
2373
2386
  }, message)));
2374
2387
  };
2375
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
+ renderInput: function renderInput(params) {
2446
+ return React__default.createElement(CustomField, Object.assign({}, params, {
2447
+ inputProps: _extends({}, params.inputProps, {
2448
+ placeholder: 'dd/mm/yyyy'
2449
+ }),
2450
+ theme: theme,
2451
+ field: field,
2452
+ form: form,
2453
+ label: label,
2454
+ type: "tel"
2455
+ }));
2456
+ }
2457
+ })));
2458
+ };
2459
+
2376
2460
  var LogicRunner = function LogicRunner(_ref) {
2377
2461
  var values = _ref.values,
2378
2462
  setStates = _ref.setStates,
@@ -2915,7 +2999,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
2915
2999
  open: true
2916
3000
  }, React__default.createElement(material.CircularProgress, {
2917
3001
  color: "inherit"
2918
- })), !!expirationTime && enableTimer && React__default.createElement(TimerWidget, {
3002
+ })), !!expirationTime && enableTimer && React__default.createElement(TimerWidget$1, {
2919
3003
  expires_at: expirationTime,
2920
3004
  onCountdownFinish: onCountdownFinish
2921
3005
  }), React__default.createElement(formik.Formik, {
@@ -3176,7 +3260,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
3176
3260
  validate: getValidateFunctions(element, states, props.values),
3177
3261
  setFieldValue: props.setFieldValue,
3178
3262
  onBlur: props.handleBlur,
3179
- component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? FormikPhoneNumberField : CustomField,
3263
+ component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? FormikPhoneNumberField : element.type === 'date' ? DatePickerField : CustomField,
3180
3264
  selectOptions: element.name === 'country' ? countries : element.name === 'state' ? states : [],
3181
3265
  theme: theme
3182
3266
  })));
@@ -3787,7 +3871,7 @@ var PaymentContainer = function PaymentContainer(_ref) {
3787
3871
  theme: themeMui
3788
3872
  }, React__default.createElement("div", {
3789
3873
  className: "payment_page"
3790
- }, enableTimer && React__default.createElement(TimerWidget, {
3874
+ }, enableTimer && React__default.createElement(TimerWidget$1, {
3791
3875
  expires_at: _get(reviewData, 'expires_at', 0),
3792
3876
  buyLoading: paymentIsLoading,
3793
3877
  onCountdownFinish: onCountdownFinish
@@ -5154,7 +5238,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
5154
5238
 
5155
5239
  var bookButtonIsDisabled = handleBookIsLoading || _isEmpty(selectedTickets) || Object.values(selectedTickets)[0] === 0;
5156
5240
  var wrappedActionsSectionComponent = React__default.isValidElement(ActionsSectionComponent) ? React__default.cloneElement(ActionsSectionComponent, {
5157
- handleGetTicketClick: handleGetTicketClick
5241
+ handleGetTicketClick: handleGetTicketClick,
5242
+ isTicketOnSale: isTicketOnSale
5158
5243
  }) : null;
5159
5244
  var externalUrl = event == null ? void 0 : event.redirectUrl;
5160
5245
  var eventSaleIsNotStarted = !(event != null && event.salesStarted) && (event == null ? void 0 : event.salesStart);
@@ -5198,7 +5283,7 @@ var TicketsContainer = function TicketsContainer(_ref) {
5198
5283
  setShowPromoInput: setShowPromoInput,
5199
5284
  setCode: setCode,
5200
5285
  updateTickets: updateTickets
5201
- }) : null, wrappedActionsSectionComponent, !wrappedActionsSectionComponent && !eventSaleIsNotStarted && (isTicketOnSale || !(event != null && event.salesEnded)) && !externalUrl && React__default.createElement(Button$1, {
5286
+ }) : null, wrappedActionsSectionComponent, !wrappedActionsSectionComponent && !eventSaleIsNotStarted && isTicketOnSale && !(event != null && event.salesEnded) && !externalUrl && React__default.createElement(Button$1, {
5202
5287
  "aria-hidden": true,
5203
5288
  className: "book-button \n " + (bookButtonIsDisabled ? 'disabled' : '') + " \n " + (isButtonScrollable ? 'is-scrollable' : '') + "\n " + (!isLoggedIn ? 'on-bottom' : '') + "\n ",
5204
5289
  onClick: handleGetTicketClick
@@ -6047,75 +6132,110 @@ var TicketResaleContainer = function TicketResaleContainer(_ref) {
6047
6132
  onProcessTicketSuccess = _ref$onProcessTicketS === void 0 ? function () {} : _ref$onProcessTicketS,
6048
6133
  _ref$onProcessTicketE = _ref.onProcessTicketError,
6049
6134
  onProcessTicketError = _ref$onProcessTicketE === void 0 ? function () {} : _ref$onProcessTicketE,
6135
+ _ref$onDeclineTicketP = _ref.onDeclineTicketPurchaseSuccess,
6136
+ onDeclineTicketPurchaseSuccess = _ref$onDeclineTicketP === void 0 ? function () {} : _ref$onDeclineTicketP,
6137
+ _ref$onDeclineTicketP2 = _ref.onDeclineTicketPurchaseError,
6138
+ onDeclineTicketPurchaseError = _ref$onDeclineTicketP2 === void 0 ? function () {} : _ref$onDeclineTicketP2,
6050
6139
  orderHash = _ref.orderHash;
6051
6140
  var isWindowDefined = typeof window !== 'undefined';
6052
6141
 
6053
- var _useState = React.useState(null),
6142
+ var _useState = React.useState(''),
6054
6143
  error = _useState[0],
6055
6144
  setError = _useState[1];
6056
6145
 
6146
+ var _useState2 = React.useState(''),
6147
+ successMessage = _useState2[0],
6148
+ setSuccessMessage = _useState2[1];
6149
+
6057
6150
  React.useEffect(function () {
6058
6151
  _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
6059
- var params, hash, response, data, age_required, names_required, event_id, _error$response, _error$response$data;
6152
+ var params, hash, isDeclined, response, _error$response, _error$response$data, _response, data, age_required, names_required, event_id, _error$response2, _error$response2$data;
6060
6153
 
6061
6154
  return runtime_1.wrap(function _callee$(_context) {
6062
6155
  while (1) {
6063
6156
  switch (_context.prev = _context.next) {
6064
6157
  case 0:
6065
6158
  if (!isWindowDefined) {
6066
- _context.next = 23;
6159
+ _context.next = 38;
6067
6160
  break;
6068
6161
  }
6069
6162
 
6070
6163
  params = new URL("" + window.location).searchParams;
6071
6164
  hash = params.get('invitation_hash') || orderHash || null;
6165
+ isDeclined = params.get('decline') || false;
6072
6166
 
6073
6167
  if (!hash) {
6074
- _context.next = 22;
6168
+ _context.next = 37;
6075
6169
  break;
6076
6170
  }
6077
6171
 
6078
- _context.prev = 4;
6079
- _context.next = 7;
6080
- return processTicket(hash);
6172
+ if (!isDeclined) {
6173
+ _context.next = 19;
6174
+ break;
6175
+ }
6081
6176
 
6082
- case 7:
6177
+ _context.prev = 6;
6178
+ _context.next = 9;
6179
+ return declineInvitation(hash);
6180
+
6181
+ case 9:
6083
6182
  response = _context.sent;
6084
- data = _get(response, 'data.data.attributes');
6183
+ onDeclineTicketPurchaseSuccess(response);
6184
+ setSuccessMessage("Thanks for letting us know! We'll offer this ticket to someone else!");
6185
+ _context.next = 18;
6186
+ break;
6187
+
6188
+ case 14:
6189
+ _context.prev = 14;
6190
+ _context.t0 = _context["catch"](6);
6191
+ 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);
6192
+ onDeclineTicketPurchaseError(_context.t0.response);
6193
+
6194
+ case 18:
6195
+ return _context.abrupt("return");
6196
+
6197
+ case 19:
6198
+ _context.prev = 19;
6199
+ _context.next = 22;
6200
+ return processTicket(hash);
6201
+
6202
+ case 22:
6203
+ _response = _context.sent;
6204
+ data = _get(_response, 'data.data.attributes');
6085
6205
  age_required = _get(data, 'age_required', false);
6086
6206
  names_required = _get(data, 'names_required', false);
6087
6207
  event_id = _get(data, 'event_id');
6088
- onProcessTicketSuccess(response.data);
6208
+ onProcessTicketSuccess(_response.data);
6089
6209
  window.location.href = "/billing/billing-info/?age_required=" + age_required + "&names_required=" + names_required + "&event_id=" + event_id;
6090
- _context.next = 20;
6210
+ _context.next = 35;
6091
6211
  break;
6092
6212
 
6093
- case 16:
6094
- _context.prev = 16;
6095
- _context.t0 = _context["catch"](4);
6096
- 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);
6097
- onProcessTicketError(_context.t0.response);
6213
+ case 31:
6214
+ _context.prev = 31;
6215
+ _context.t1 = _context["catch"](19);
6216
+ 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);
6217
+ onProcessTicketError(_context.t1.response);
6098
6218
 
6099
- case 20:
6100
- _context.next = 23;
6219
+ case 35:
6220
+ _context.next = 38;
6101
6221
  break;
6102
6222
 
6103
- case 22:
6223
+ case 37:
6104
6224
  window.location.href = '/';
6105
6225
 
6106
- case 23:
6226
+ case 38:
6107
6227
  case "end":
6108
6228
  return _context.stop();
6109
6229
  }
6110
6230
  }
6111
- }, _callee, null, [[4, 16]]);
6231
+ }, _callee, null, [[6, 14], [19, 31]]);
6112
6232
  }))();
6113
6233
  }, []);
6114
6234
  return React__default.createElement("div", {
6115
6235
  className: "ticket-resale-page"
6116
6236
  }, React__default.createElement("div", {
6117
- className: "error-block"
6118
- }, React__default.createElement("h3", null, error)));
6237
+ className: "" + (successMessage ? 'success-block' : 'error-block')
6238
+ }, React__default.createElement("h3", null, successMessage ? successMessage : error)));
6119
6239
  };
6120
6240
 
6121
6241
  var style$3 = {
@@ -6150,6 +6270,153 @@ var RedirectModal = function RedirectModal(_ref) {
6150
6270
  }, "OK"))));
6151
6271
  };
6152
6272
 
6273
+ var style$4 = {
6274
+ position: 'absolute',
6275
+ top: '50%',
6276
+ left: '50%',
6277
+ transform: 'translate(-50%, -50%)',
6278
+ minWidth: 480,
6279
+ backgroundColor: '#e3e3e3',
6280
+ border: '1px solid white',
6281
+ outline: 'none',
6282
+ padding: '14px',
6283
+ maxHeight: '85vh',
6284
+ overflow: 'auto'
6285
+ };
6286
+ var RsvpContainer = function RsvpContainer(_ref) {
6287
+ var _ref$showSection = _ref.showSection,
6288
+ showSection = _ref$showSection === void 0 ? false : _ref$showSection,
6289
+ eventId = _ref.eventId;
6290
+ var userDataEncoded = typeof window !== 'undefined' ? window.localStorage.getItem('user_data') : '';
6291
+ var parsedData = JSON.parse(userDataEncoded || '{}');
6292
+
6293
+ var _useState = React.useState(false),
6294
+ loading = _useState[0],
6295
+ setLoading = _useState[1];
6296
+
6297
+ var _useState2 = React.useState({
6298
+ isOpen: false,
6299
+ text: ''
6300
+ }),
6301
+ modal = _useState2[0],
6302
+ setModal = _useState2[1];
6303
+
6304
+ var handleModalClose = function handleModalClose() {
6305
+ setModal({
6306
+ isOpen: false,
6307
+ text: ''
6308
+ });
6309
+ };
6310
+
6311
+ var handleSubmit = /*#__PURE__*/function () {
6312
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee(values) {
6313
+ var requestData, _yield$sendRSVPInfo, data, _error$response$data;
6314
+
6315
+ return runtime_1.wrap(function _callee$(_context) {
6316
+ while (1) {
6317
+ switch (_context.prev = _context.next) {
6318
+ case 0:
6319
+ _context.prev = 0;
6320
+ setLoading(true);
6321
+ requestData = {
6322
+ data: {
6323
+ email: values.email
6324
+ }
6325
+ };
6326
+ _context.next = 5;
6327
+ return sendRSVPInfo(eventId, requestData);
6328
+
6329
+ case 5:
6330
+ _yield$sendRSVPInfo = _context.sent;
6331
+ data = _yield$sendRSVPInfo.data;
6332
+ setModal({
6333
+ isOpen: true,
6334
+ text: data.message
6335
+ });
6336
+ _context.next = 13;
6337
+ break;
6338
+
6339
+ case 10:
6340
+ _context.prev = 10;
6341
+ _context.t0 = _context["catch"](0);
6342
+
6343
+ if (_context.t0.response.status === 403) {
6344
+ setModal({
6345
+ isOpen: true,
6346
+ text: (_error$response$data = _context.t0.response.data) == null ? void 0 : _error$response$data.message
6347
+ });
6348
+ }
6349
+
6350
+ case 13:
6351
+ _context.prev = 13;
6352
+ setLoading(false);
6353
+ return _context.finish(13);
6354
+
6355
+ case 16:
6356
+ case "end":
6357
+ return _context.stop();
6358
+ }
6359
+ }
6360
+ }, _callee, null, [[0, 10, 13, 16]]);
6361
+ }));
6362
+
6363
+ return function handleSubmit(_x) {
6364
+ return _ref2.apply(this, arguments);
6365
+ };
6366
+ }();
6367
+
6368
+ if (!showSection) {
6369
+ return null;
6370
+ }
6371
+
6372
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(Modal, {
6373
+ open: modal.isOpen,
6374
+ onClose: handleModalClose,
6375
+ "aria-labelledby": "modal-modal-title",
6376
+ "aria-describedby": "modal-modal-description",
6377
+ className: "rsvp-modal"
6378
+ }, React__default.createElement(Box, {
6379
+ style: style$4,
6380
+ className: "rsvp-modal-box"
6381
+ }, React__default.createElement("div", {
6382
+ className: "rsvp-modal-container"
6383
+ }, React__default.createElement("div", {
6384
+ className: "rsvp-modal-header"
6385
+ }, modal.text), React__default.createElement("div", {
6386
+ className: "rsvp-modal-button"
6387
+ }, React__default.createElement("button", {
6388
+ onClick: handleModalClose
6389
+ }, "OK"))))), React__default.createElement("div", {
6390
+ className: "rsvp-container"
6391
+ }, loading ? React__default.createElement(Loader, null) : React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
6392
+ className: "rsvp-header"
6393
+ }, "RSVP"), React__default.createElement("div", {
6394
+ className: "rsvp-email-container"
6395
+ }, React__default.createElement(formik.Formik, {
6396
+ initialValues: {
6397
+ email: (parsedData == null ? void 0 : parsedData.email) || ''
6398
+ },
6399
+ onSubmit: handleSubmit,
6400
+ enableReinitialize: true
6401
+ }, React__default.createElement(formik.Form, null, React__default.createElement("div", {
6402
+ className: "rsvp-email-input-container"
6403
+ }, React__default.createElement(formik.Field, {
6404
+ name: "email",
6405
+ label: "EMAIL ADDRESS",
6406
+ type: "email",
6407
+ validate: combineValidators(function (value) {
6408
+ return requiredValidator(value, 'Please enter your Email');
6409
+ }, function (value) {
6410
+ return emailValidator(value);
6411
+ }),
6412
+ component: CustomField
6413
+ })), React__default.createElement("div", {
6414
+ className: "rsvp-button-container"
6415
+ }, React__default.createElement(Button, {
6416
+ type: "submit"
6417
+ }, "RSVP"))))))));
6418
+ };
6419
+
6153
6420
  exports.BillingInfoContainer = BillingInfoContainer;
6154
6421
  exports.ConfirmationContainer = ConfirmationContainer;
6155
6422
  exports.LoginModal = LoginModal;
@@ -6157,6 +6424,7 @@ exports.MyTicketsContainer = MyTicketsContainer;
6157
6424
  exports.OrderDetailsContainer = OrderDetailsContainer;
6158
6425
  exports.PaymentContainer = PaymentContainer;
6159
6426
  exports.RedirectModal = RedirectModal;
6427
+ exports.RsvpContainer = RsvpContainer;
6160
6428
  exports.TicketResaleContainer = TicketResaleContainer;
6161
6429
  exports.TicketsContainer = TicketsContainer;
6162
6430
  exports.createFixedFloatNormalizer = createFixedFloatNormalizer;