tf-checkout-react 1.0.99-beta.20 → 1.0.99-beta.23

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,5 +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>>;
38
39
  export declare const sendRSVPInfo: (eventId: number, data: any) => Promise<AxiosResponse<any, any>>;
39
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 {};
@@ -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,10 +1,11 @@
1
- /// <reference types="react" />
1
+ import { ReactNode } from 'react';
2
2
  import './style.css';
3
3
  interface ITicketsSectionProps {
4
4
  ticketsList: any;
5
5
  selectedTickets: any;
6
6
  handleTicketSelect: any;
7
7
  sortBySoldOut: boolean;
8
+ ticketsHeaderComponent?: ReactNode;
8
9
  }
9
- export declare const TicketsSection: ({ ticketsList, selectedTickets, handleTicketSelect, sortBySoldOut, }: ITicketsSectionProps) => JSX.Element;
10
+ export declare const TicketsSection: ({ ticketsList, selectedTickets, handleTicketSelect, sortBySoldOut, ticketsHeaderComponent }: ITicketsSectionProps) => JSX.Element;
10
11
  export {};
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import React, { ReactNode } from 'react';
2
2
  import { AxiosError } from 'axios';
3
3
  import './style.css';
4
4
  import { ThemeOptions } from '@mui/material';
@@ -39,6 +39,7 @@ export interface IGetTickets {
39
39
  disableCountdownLeadingZero?: boolean;
40
40
  isLoggedIn?: boolean;
41
41
  actionsSectionComponent?: any;
42
+ ticketsHeaderComponent?: ReactNode;
42
43
  }
43
44
  export interface ITicket {
44
45
  id: string | number;
@@ -47,5 +48,5 @@ export interface ITicket {
47
48
  export interface ISelectedTickets {
48
49
  [key: string]: string | number;
49
50
  }
50
- export declare const TicketsContainer: ({ onLoginSuccess, getTicketsLabel, eventId, onAddToCartSuccess, contentStyle, onAddToCartError, onGetTicketsSuccess, onGetTicketsError, onLogoutSuccess, onLogoutError, theme, queryPromoCode, isPromotionsEnabled, themeOptions, isAccessCodeEnabled, hideSessionButtons, hideWaitingList, enableBillingInfoAutoCreate, isButtonScrollable, sortBySoldOut, disableCountdownLeadingZero, isLoggedIn, actionsSectionComponent: ActionsSectionComponent }: IGetTickets) => JSX.Element;
51
+ export declare const TicketsContainer: ({ onLoginSuccess, getTicketsLabel, eventId, onAddToCartSuccess, contentStyle, onAddToCartError, onGetTicketsSuccess, onGetTicketsError, onLogoutSuccess, onLogoutError, theme, queryPromoCode, isPromotionsEnabled, themeOptions, isAccessCodeEnabled, hideSessionButtons, hideWaitingList, enableBillingInfoAutoCreate, isButtonScrollable, sortBySoldOut, disableCountdownLeadingZero, isLoggedIn, actionsSectionComponent: ActionsSectionComponent, ticketsHeaderComponent }: IGetTickets) => JSX.Element;
51
52
  export {};
@@ -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,9 @@ 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
+ };
1439
1445
  var sendRSVPInfo = function sendRSVPInfo(eventId, data) {
1440
1446
  return publicRequest.post("v1/event/" + eventId + "/send-rsvp-info", data);
1441
1447
  };
@@ -1867,6 +1873,7 @@ var createRegisterFormData = function createRegisterFormData(values, checkoutBod
1867
1873
  bodyFormData.append('password_confirmation', values.confirmPassword);
1868
1874
  bodyFormData.append('client_id', CONFIGS.CLIENT_ID || 'e9d8f8922797b4621e562255afe90dbf');
1869
1875
  bodyFormData.append('client_secret', CONFIGS.CLIENT_SECRET || 'b89c191eff22fdcf84ac9bfd88d005355a151ec2c83b26b9');
1876
+ bodyFormData.append('check_cart_expiration', 'true');
1870
1877
 
1871
1878
  _forEach(checkoutBody.attributes, function (item, key) {
1872
1879
  bodyFormData.append(key, item);
@@ -2041,7 +2048,12 @@ var CustomField = function CustomField(_ref) {
2041
2048
  touched = _ref$form.touched,
2042
2049
  errors = _ref$form.errors,
2043
2050
  submitCount = _ref$form.submitCount,
2044
- 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;
2045
2057
  var isSelectField = type === 'select';
2046
2058
 
2047
2059
  var error = _get(errors, field.name);
@@ -2051,11 +2063,6 @@ var CustomField = function CustomField(_ref) {
2051
2063
  var inputProps = {
2052
2064
  sx: customTheme == null ? void 0 : customTheme.input
2053
2065
  };
2054
-
2055
- if (type === 'date') {
2056
- inputProps.max = moment().format('YYYY-MM-DD');
2057
- }
2058
-
2059
2066
  return React__default.createElement(TextField, Object.assign({
2060
2067
  id: field.name,
2061
2068
  label: label,
@@ -2072,10 +2079,11 @@ var CustomField = function CustomField(_ref) {
2072
2079
  }
2073
2080
  },
2074
2081
  InputLabelProps: {
2075
- sx: customTheme == null ? void 0 : customTheme.input,
2076
- shrink: field.name === 'holderAge' ? true : undefined
2082
+ sx: customTheme == null ? void 0 : customTheme.input
2077
2083
  },
2078
- inputProps: inputProps
2084
+ InputProps: InputProps,
2085
+ inputProps: _extends({}, inputProps, pInputProps),
2086
+ inputRef: inputRef
2079
2087
  }, field), isSelectField ? _map(selectOptions, function (option) {
2080
2088
  return React__default.createElement("option", {
2081
2089
  key: option.value,
@@ -2378,6 +2386,79 @@ var SnackbarAlert = function SnackbarAlert(_ref) {
2378
2386
  }, message)));
2379
2387
  };
2380
2388
 
2389
+ var DATE_SIZE = 32;
2390
+ var compactStyles = {
2391
+ '& > div': {
2392
+ minWidth: 256
2393
+ },
2394
+ '& > div > div, & > div > div > div, & .MuiCalendarPicker-root': {
2395
+ width: 256
2396
+ },
2397
+ '& .MuiTypography-caption': {
2398
+ width: DATE_SIZE,
2399
+ margin: 0
2400
+ },
2401
+ '& .PrivatePickersSlideTransition-root': {
2402
+ minHeight: DATE_SIZE * 6
2403
+ },
2404
+ '& .PrivatePickersSlideTransition-root [role="row"]': {
2405
+ margin: 0
2406
+ },
2407
+ '& .MuiPickersDay-dayWithMargin': {
2408
+ margin: 0
2409
+ },
2410
+ '& .MuiPickersDay-root': {
2411
+ width: DATE_SIZE,
2412
+ height: DATE_SIZE
2413
+ }
2414
+ };
2415
+ var compactStyleTheme = /*#__PURE__*/styles$1.createTheme({
2416
+ components: {
2417
+ MuiPaper: {
2418
+ defaultProps: {
2419
+ sx: compactStyles
2420
+ }
2421
+ }
2422
+ }
2423
+ });
2424
+ var DatePickerField = function DatePickerField(_ref) {
2425
+ var label = _ref.label,
2426
+ field = _ref.field,
2427
+ form = _ref.form,
2428
+ theme = _ref.theme,
2429
+ _ref$useCompact = _ref.useCompact,
2430
+ useCompact = _ref$useCompact === void 0 ? true : _ref$useCompact;
2431
+ return React__default.createElement(styles$1.ThemeProvider, {
2432
+ theme: useCompact ? compactStyleTheme : {}
2433
+ }, React__default.createElement(LocalizationProvider, {
2434
+ dateAdapter: AdapterMoment
2435
+ }, React__default.createElement(DatePicker, {
2436
+ value: field.value || '',
2437
+ onChange: function onChange(value) {
2438
+ return form.setFieldValue(field.name, value);
2439
+ },
2440
+ PopperProps: {
2441
+ placement: 'bottom-start'
2442
+ },
2443
+ showDaysOutsideCurrentMonth: true,
2444
+ disableFuture: true,
2445
+ inputFormat: "DD/MM/YYYY",
2446
+ mask: "__/__/____",
2447
+ renderInput: function renderInput(params) {
2448
+ return React__default.createElement(CustomField, Object.assign({}, params, {
2449
+ inputProps: _extends({}, params.inputProps, {
2450
+ placeholder: 'dd/mm/yyyy'
2451
+ }),
2452
+ theme: theme,
2453
+ field: field,
2454
+ form: form,
2455
+ label: label,
2456
+ type: "tel"
2457
+ }));
2458
+ }
2459
+ })));
2460
+ };
2461
+
2381
2462
  var LogicRunner = function LogicRunner(_ref) {
2382
2463
  var values = _ref.values,
2383
2464
  setStates = _ref.setStates,
@@ -3181,7 +3262,7 @@ var BillingInfoContainer = function BillingInfoContainer(_ref3) {
3181
3262
  validate: getValidateFunctions(element, states, props.values),
3182
3263
  setFieldValue: props.setFieldValue,
3183
3264
  onBlur: props.handleBlur,
3184
- component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? FormikPhoneNumberField : CustomField,
3265
+ component: element.type === 'checkbox' ? CheckboxField : element.type === 'select' ? SelectField : element.type === 'phone' ? FormikPhoneNumberField : element.type === 'date' ? DatePickerField : CustomField,
3185
3266
  selectOptions: element.name === 'country' ? countries : element.name === 'state' ? states : [],
3186
3267
  theme: theme
3187
3268
  })));
@@ -4287,9 +4368,10 @@ var TicketsSection = function TicketsSection(_ref) {
4287
4368
  var ticketsList = _ref.ticketsList,
4288
4369
  selectedTickets = _ref.selectedTickets,
4289
4370
  handleTicketSelect = _ref.handleTicketSelect,
4290
- sortBySoldOut = _ref.sortBySoldOut;
4371
+ sortBySoldOut = _ref.sortBySoldOut,
4372
+ ticketsHeaderComponent = _ref.ticketsHeaderComponent;
4291
4373
  var sortedTicketsList = sortBySoldOut ? _sortBy(_sortBy(ticketsList, 'sortOrder'), 'soldOut') : _sortBy(ticketsList, 'sortOrder');
4292
- return React__default.createElement(React__default.Fragment, null, sortedTicketsList.map(function (ticket, i, arr) {
4374
+ return React__default.createElement(React__default.Fragment, null, ticketsHeaderComponent, sortedTicketsList.map(function (ticket, i, arr) {
4293
4375
  var isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut;
4294
4376
 
4295
4377
  var ticketSelect = function ticketSelect(event) {
@@ -4757,7 +4839,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
4757
4839
  disableCountdownLeadingZero = _ref$disableCountdown === void 0 ? false : _ref$disableCountdown,
4758
4840
  _ref$isLoggedIn = _ref.isLoggedIn,
4759
4841
  isLoggedIn = _ref$isLoggedIn === void 0 ? false : _ref$isLoggedIn,
4760
- ActionsSectionComponent = _ref.actionsSectionComponent;
4842
+ ActionsSectionComponent = _ref.actionsSectionComponent,
4843
+ ticketsHeaderComponent = _ref.ticketsHeaderComponent;
4761
4844
 
4762
4845
  var _useState = React.useState({}),
4763
4846
  selectedTickets = _useState[0],
@@ -5159,7 +5242,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
5159
5242
 
5160
5243
  var bookButtonIsDisabled = handleBookIsLoading || _isEmpty(selectedTickets) || Object.values(selectedTickets)[0] === 0;
5161
5244
  var wrappedActionsSectionComponent = React__default.isValidElement(ActionsSectionComponent) ? React__default.cloneElement(ActionsSectionComponent, {
5162
- handleGetTicketClick: handleGetTicketClick
5245
+ handleGetTicketClick: handleGetTicketClick,
5246
+ isTicketOnSale: isTicketOnSale
5163
5247
  }) : null;
5164
5248
  var externalUrl = event == null ? void 0 : event.redirectUrl;
5165
5249
  var eventSaleIsNotStarted = !(event != null && event.salesStarted) && (event == null ? void 0 : event.salesStart);
@@ -5176,7 +5260,8 @@ var TicketsContainer = function TicketsContainer(_ref) {
5176
5260
  ticketsList: tickets,
5177
5261
  selectedTickets: selectedTickets,
5178
5262
  handleTicketSelect: handleTicketSelect,
5179
- sortBySoldOut: sortBySoldOut
5263
+ sortBySoldOut: sortBySoldOut,
5264
+ ticketsHeaderComponent: ticketsHeaderComponent
5180
5265
  }), externalUrl ? null : isSalesClosed ? React__default.createElement("p", {
5181
5266
  className: "event-closed-message " + (!isLoggedIn ? 'event-closed-on-bottom' : '')
5182
5267
  }, "Sales for this event are closed.") : eventSaleIsNotStarted ? React__default.createElement(Countdown, {
@@ -6052,75 +6137,110 @@ var TicketResaleContainer = function TicketResaleContainer(_ref) {
6052
6137
  onProcessTicketSuccess = _ref$onProcessTicketS === void 0 ? function () {} : _ref$onProcessTicketS,
6053
6138
  _ref$onProcessTicketE = _ref.onProcessTicketError,
6054
6139
  onProcessTicketError = _ref$onProcessTicketE === void 0 ? function () {} : _ref$onProcessTicketE,
6140
+ _ref$onDeclineTicketP = _ref.onDeclineTicketPurchaseSuccess,
6141
+ onDeclineTicketPurchaseSuccess = _ref$onDeclineTicketP === void 0 ? function () {} : _ref$onDeclineTicketP,
6142
+ _ref$onDeclineTicketP2 = _ref.onDeclineTicketPurchaseError,
6143
+ onDeclineTicketPurchaseError = _ref$onDeclineTicketP2 === void 0 ? function () {} : _ref$onDeclineTicketP2,
6055
6144
  orderHash = _ref.orderHash;
6056
6145
  var isWindowDefined = typeof window !== 'undefined';
6057
6146
 
6058
- var _useState = React.useState(null),
6147
+ var _useState = React.useState(''),
6059
6148
  error = _useState[0],
6060
6149
  setError = _useState[1];
6061
6150
 
6151
+ var _useState2 = React.useState(''),
6152
+ successMessage = _useState2[0],
6153
+ setSuccessMessage = _useState2[1];
6154
+
6062
6155
  React.useEffect(function () {
6063
6156
  _asyncToGenerator( /*#__PURE__*/runtime_1.mark(function _callee() {
6064
- var params, hash, response, data, age_required, names_required, event_id, _error$response, _error$response$data;
6157
+ var params, hash, isDeclined, response, _error$response, _error$response$data, _response, data, age_required, names_required, event_id, _error$response2, _error$response2$data;
6065
6158
 
6066
6159
  return runtime_1.wrap(function _callee$(_context) {
6067
6160
  while (1) {
6068
6161
  switch (_context.prev = _context.next) {
6069
6162
  case 0:
6070
6163
  if (!isWindowDefined) {
6071
- _context.next = 23;
6164
+ _context.next = 38;
6072
6165
  break;
6073
6166
  }
6074
6167
 
6075
6168
  params = new URL("" + window.location).searchParams;
6076
6169
  hash = params.get('invitation_hash') || orderHash || null;
6170
+ isDeclined = params.get('decline') || false;
6077
6171
 
6078
6172
  if (!hash) {
6079
- _context.next = 22;
6173
+ _context.next = 37;
6080
6174
  break;
6081
6175
  }
6082
6176
 
6083
- _context.prev = 4;
6084
- _context.next = 7;
6085
- return processTicket(hash);
6177
+ if (!isDeclined) {
6178
+ _context.next = 19;
6179
+ break;
6180
+ }
6086
6181
 
6087
- case 7:
6182
+ _context.prev = 6;
6183
+ _context.next = 9;
6184
+ return declineInvitation(hash);
6185
+
6186
+ case 9:
6088
6187
  response = _context.sent;
6089
- data = _get(response, 'data.data.attributes');
6188
+ onDeclineTicketPurchaseSuccess(response);
6189
+ setSuccessMessage("Thanks for letting us know! We'll offer this ticket to someone else!");
6190
+ _context.next = 18;
6191
+ break;
6192
+
6193
+ case 14:
6194
+ _context.prev = 14;
6195
+ _context.t0 = _context["catch"](6);
6196
+ 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);
6197
+ onDeclineTicketPurchaseError(_context.t0.response);
6198
+
6199
+ case 18:
6200
+ return _context.abrupt("return");
6201
+
6202
+ case 19:
6203
+ _context.prev = 19;
6204
+ _context.next = 22;
6205
+ return processTicket(hash);
6206
+
6207
+ case 22:
6208
+ _response = _context.sent;
6209
+ data = _get(_response, 'data.data.attributes');
6090
6210
  age_required = _get(data, 'age_required', false);
6091
6211
  names_required = _get(data, 'names_required', false);
6092
6212
  event_id = _get(data, 'event_id');
6093
- onProcessTicketSuccess(response.data);
6213
+ onProcessTicketSuccess(_response.data);
6094
6214
  window.location.href = "/billing/billing-info/?age_required=" + age_required + "&names_required=" + names_required + "&event_id=" + event_id;
6095
- _context.next = 20;
6215
+ _context.next = 35;
6096
6216
  break;
6097
6217
 
6098
- case 16:
6099
- _context.prev = 16;
6100
- _context.t0 = _context["catch"](4);
6101
- 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);
6102
- onProcessTicketError(_context.t0.response);
6218
+ case 31:
6219
+ _context.prev = 31;
6220
+ _context.t1 = _context["catch"](19);
6221
+ 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);
6222
+ onProcessTicketError(_context.t1.response);
6103
6223
 
6104
- case 20:
6105
- _context.next = 23;
6224
+ case 35:
6225
+ _context.next = 38;
6106
6226
  break;
6107
6227
 
6108
- case 22:
6228
+ case 37:
6109
6229
  window.location.href = '/';
6110
6230
 
6111
- case 23:
6231
+ case 38:
6112
6232
  case "end":
6113
6233
  return _context.stop();
6114
6234
  }
6115
6235
  }
6116
- }, _callee, null, [[4, 16]]);
6236
+ }, _callee, null, [[6, 14], [19, 31]]);
6117
6237
  }))();
6118
6238
  }, []);
6119
6239
  return React__default.createElement("div", {
6120
6240
  className: "ticket-resale-page"
6121
6241
  }, React__default.createElement("div", {
6122
- className: "error-block"
6123
- }, React__default.createElement("h3", null, error)));
6242
+ className: "" + (successMessage ? 'success-block' : 'error-block')
6243
+ }, React__default.createElement("h3", null, successMessage ? successMessage : error)));
6124
6244
  };
6125
6245
 
6126
6246
  var style$3 = {