tf-checkout-react 1.3.25 → 1.3.27

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.
@@ -48,5 +48,6 @@ export interface IBillingInfoPage {
48
48
  showForgotPasswordButton?: boolean;
49
49
  showSignUpButton?: boolean;
50
50
  brandOptIn?: boolean;
51
+ showPoweredByImage?: boolean;
51
52
  }
52
- export declare const BillingInfoContainer: React.MemoExoticComponent<({ data, ticketHoldersFields, initialValues, buttonName, handleSubmit, theme, onRegisterSuccess, onRegisterError, onSubmitError, onGetCartSuccess, onGetCartError, onGetCountriesSuccess, onGetCountriesError, onGetStatesSuccess, onGetStatesError, onGetProfileDataSuccess, onGetProfileDataError, onAuthorizeSuccess, onAuthorizeError, onLogin, onLoginSuccess, isLoggedIn: pIsLoggedIn, accountInfoTitle, hideLogo, themeOptions, onErrorClose, hideErrorsAlertSection, onSkipBillingPage, skipPage, canSkipHolderNames, onForgotPasswordSuccess, onForgotPasswordError, shouldFetchCountries, onCountdownFinish, enableTimer, logo, showForgotPasswordButton, showSignUpButton, brandOptIn, }: IBillingInfoPage) => JSX.Element>;
53
+ export declare const BillingInfoContainer: React.MemoExoticComponent<({ data, ticketHoldersFields, initialValues, buttonName, handleSubmit, theme, onRegisterSuccess, onRegisterError, onSubmitError, onGetCartSuccess, onGetCartError, onGetCountriesSuccess, onGetCountriesError, onGetStatesSuccess, onGetStatesError, onGetProfileDataSuccess, onGetProfileDataError, onAuthorizeSuccess, onAuthorizeError, onLogin, onLoginSuccess, isLoggedIn: pIsLoggedIn, accountInfoTitle, hideLogo, themeOptions, onErrorClose, hideErrorsAlertSection, onSkipBillingPage, skipPage, canSkipHolderNames, onForgotPasswordSuccess, onForgotPasswordError, shouldFetchCountries, onCountdownFinish, enableTimer, logo, showForgotPasswordButton, showSignUpButton, brandOptIn, showPoweredByImage, }: IBillingInfoPage) => JSX.Element>;
@@ -12,6 +12,9 @@ export interface ICustomField {
12
12
  theme: 'dark' | 'light';
13
13
  type?: string;
14
14
  selectOptions?: ISelectOption[];
15
+ inputRef?: {
16
+ current: HTMLInputElement | null;
17
+ } | ((node: HTMLInputElement | null) => void);
15
18
  }
16
19
  interface IOtherProps {
17
20
  [key: string]: any;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const PoweredBy: () => JSX.Element;
@@ -1,11 +1,12 @@
1
- import { FC } from 'react';
2
- import { AxiosError } from 'axios';
3
1
  import './style.css';
2
+ import { AxiosError } from 'axios';
3
+ import { FC } from 'react';
4
4
  interface IForgotPasswordProps {
5
5
  onClose: () => void;
6
6
  onLogin: () => void;
7
7
  onForgotPasswordSuccess: (res: any) => void;
8
8
  onForgotPasswordError: (e: AxiosError) => void;
9
+ showPoweredByImage?: boolean;
9
10
  }
10
11
  export declare const ForgotPasswordModal: FC<IForgotPasswordProps>;
11
12
  export {};
@@ -16,6 +16,7 @@ interface Props {
16
16
  logo?: string;
17
17
  showForgotPasswordButton?: boolean;
18
18
  showSignUpButton?: boolean;
19
+ showPoweredByImage?: boolean;
19
20
  }
20
21
  interface IUserData {
21
22
  id: string;
@@ -1,11 +1,12 @@
1
- import { FC } from 'react';
2
- import { AxiosError } from 'axios';
3
1
  import './style.css';
2
+ import { AxiosError } from 'axios';
3
+ import { FC } from 'react';
4
4
  interface Props {
5
5
  onClose: () => void;
6
6
  onRegister: () => void;
7
7
  onGetProfileDataSuccess: (res: any) => void;
8
8
  onGetProfileDataError: (e: AxiosError) => void;
9
+ showPoweredByImage?: boolean;
9
10
  }
10
11
  export declare const RegisterModal: FC<Props>;
11
12
  export {};
@@ -1,6 +1,6 @@
1
- import { FC } from 'react';
2
- import { AxiosError } from 'axios';
3
1
  import './style.css';
2
+ import { AxiosError } from 'axios';
3
+ import { FC } from 'react';
4
4
  interface ISignupProps {
5
5
  onClose: () => void;
6
6
  onLogin: () => void;
@@ -9,6 +9,7 @@ interface ISignupProps {
9
9
  refreshToken: string;
10
10
  }) => void;
11
11
  onRegisterError: (e: AxiosError, email: string) => void;
12
+ showPoweredByImage?: boolean;
12
13
  }
13
14
  export declare const SignupModal: FC<ISignupProps>;
14
15
  export {};
package/dist/index.d.ts CHANGED
@@ -13,3 +13,4 @@ export { RsvpContainer } from './components/rsvpContainer';
13
13
  export { ResetPasswordContainer } from './components/resetPasswordContainer';
14
14
  export { ForgotPasswordModal } from './components/forgotPasswordModal';
15
15
  export { AddonsContainter } from './components/addonsContainer';
16
+ export { PoweredBy } from './components/common/PoweredBy';
@@ -25,6 +25,8 @@ var AdapterMoment = require('@mui/x-date-pickers/AdapterMoment');
25
25
  var LocalizationProvider = require('@mui/x-date-pickers/LocalizationProvider');
26
26
  var TextField = _interopDefault(require('@mui/material/TextField'));
27
27
  var styles$1 = require('@mui/styles');
28
+ var _isFunction = _interopDefault(require('lodash/isFunction'));
29
+ var _isObject = _interopDefault(require('lodash/isObject'));
28
30
  var FormGroup = _interopDefault(require('@mui/material/FormGroup'));
29
31
  var FormControlLabel = _interopDefault(require('@mui/material/FormControlLabel'));
30
32
  var Checkbox = _interopDefault(require('@mui/material/Checkbox'));
@@ -1613,28 +1615,33 @@ var emailValidator = function emailValidator(email) {
1613
1615
  return !emailRegex.test(email) ? 'Please enter a valid email address' : '';
1614
1616
  };
1615
1617
 
1616
- var CustomField = function CustomField(_ref) {
1617
- var label = _ref.label,
1618
- _ref$type = _ref.type,
1619
- type = _ref$type === void 0 ? 'text' : _ref$type,
1620
- field = _ref.field,
1621
- _ref$selectOptions = _ref.selectOptions,
1622
- selectOptions = _ref$selectOptions === void 0 ? [] : _ref$selectOptions,
1623
- _ref$form = _ref.form,
1624
- touched = _ref$form.touched,
1625
- errors = _ref$form.errors,
1626
- submitCount = _ref$form.submitCount,
1627
- theme = _ref.theme,
1628
- _ref$inputProps = _ref.inputProps,
1629
- pInputProps = _ref$inputProps === void 0 ? {} : _ref$inputProps,
1630
- _ref$InputProps = _ref.InputProps,
1631
- InputProps = _ref$InputProps === void 0 ? {} : _ref$InputProps,
1632
- inputRef = _ref.inputRef;
1618
+ var CustomField = function CustomField(_ref2) {
1619
+ var _ref$current;
1620
+
1621
+ var label = _ref2.label,
1622
+ _ref2$type = _ref2.type,
1623
+ type = _ref2$type === void 0 ? 'text' : _ref2$type,
1624
+ field = _ref2.field,
1625
+ _ref2$selectOptions = _ref2.selectOptions,
1626
+ selectOptions = _ref2$selectOptions === void 0 ? [] : _ref2$selectOptions,
1627
+ _ref2$form = _ref2.form,
1628
+ touched = _ref2$form.touched,
1629
+ errors = _ref2$form.errors,
1630
+ submitCount = _ref2$form.submitCount,
1631
+ theme = _ref2.theme,
1632
+ _ref2$inputProps = _ref2.inputProps,
1633
+ pInputProps = _ref2$inputProps === void 0 ? {} : _ref2$inputProps,
1634
+ _ref2$InputProps = _ref2.InputProps,
1635
+ InputProps = _ref2$InputProps === void 0 ? {} : _ref2$InputProps,
1636
+ inputRef = _ref2.inputRef;
1633
1637
 
1634
1638
  var _useState = React.useState(Boolean(field.value)),
1635
1639
  isShrinked = _useState[0],
1636
1640
  setIsShrinked = _useState[1];
1637
1641
 
1642
+ var _ref = React.useRef(null);
1643
+
1644
+ var isAutoFilled = (_ref$current = _ref.current) == null ? void 0 : _ref$current.matches(':-webkit-autofill');
1638
1645
  var isSelectField = type === 'select';
1639
1646
 
1640
1647
  var error = _get(errors, field.name);
@@ -1644,6 +1651,13 @@ var CustomField = function CustomField(_ref) {
1644
1651
  var inputProps = {
1645
1652
  sx: customTheme == null ? void 0 : customTheme.input
1646
1653
  };
1654
+ React.useEffect(function () {
1655
+ if (_isFunction(inputRef)) {
1656
+ inputRef(_ref.current);
1657
+ } else if (_isObject(inputRef)) {
1658
+ inputRef.current = _ref.current;
1659
+ }
1660
+ });
1647
1661
  return React__default.createElement(TextField, Object.assign({
1648
1662
  placeholder: "",
1649
1663
  id: field.name,
@@ -1665,11 +1679,11 @@ var CustomField = function CustomField(_ref) {
1665
1679
  },
1666
1680
  InputLabelProps: {
1667
1681
  sx: customTheme == null ? void 0 : customTheme.input,
1668
- shrink: isShrinked || Boolean(field.value)
1682
+ shrink: isShrinked || Boolean(field.value) || isAutoFilled
1669
1683
  },
1670
1684
  InputProps: InputProps,
1671
1685
  inputProps: _extends({}, inputProps, pInputProps),
1672
- inputRef: inputRef
1686
+ inputRef: _ref
1673
1687
  }, field, {
1674
1688
  onBlur: function onBlur(e) {
1675
1689
  setIsShrinked(Boolean(field.value));
@@ -2008,6 +2022,20 @@ var SnackbarAlert = function SnackbarAlert(_ref) {
2008
2022
  }, message)));
2009
2023
  };
2010
2024
 
2025
+ var PoweredBy = function PoweredBy() {
2026
+ return React__default.createElement("div", {
2027
+ className: "powered-container"
2028
+ }, React__default.createElement("div", {
2029
+ className: 'powered-text'
2030
+ }, "Powered By"), React__default.createElement("img", {
2031
+ className: 'powered-img',
2032
+ alt: "The Ticket Fairy",
2033
+ src: "https://cdn-checkout.s3.us-east-2.amazonaws.com/IconTicketFairy.svg"
2034
+ }), React__default.createElement("div", {
2035
+ className: 'powered-ttf'
2036
+ }, "The", React__default.createElement("strong", null, "Ticket"), "Fairy"));
2037
+ };
2038
+
2011
2039
  var style = {
2012
2040
  position: 'absolute',
2013
2041
  top: '50%',
@@ -2030,7 +2058,9 @@ var ForgotPasswordModal = function ForgotPasswordModal(_ref) {
2030
2058
  _ref$onForgotPassword = _ref.onForgotPasswordSuccess,
2031
2059
  onForgotPasswordSuccess = _ref$onForgotPassword === void 0 ? function () {} : _ref$onForgotPassword,
2032
2060
  _ref$onForgotPassword2 = _ref.onForgotPasswordError,
2033
- onForgotPasswordError = _ref$onForgotPassword2 === void 0 ? function () {} : _ref$onForgotPassword2;
2061
+ onForgotPasswordError = _ref$onForgotPassword2 === void 0 ? function () {} : _ref$onForgotPassword2,
2062
+ _ref$showPoweredByIma = _ref.showPoweredByImage,
2063
+ showPoweredByImage = _ref$showPoweredByIma === void 0 ? false : _ref$showPoweredByIma;
2034
2064
 
2035
2065
  var _useState = React.useState(false),
2036
2066
  loading = _useState[0],
@@ -2127,7 +2157,7 @@ var ForgotPasswordModal = function ForgotPasswordModal(_ref) {
2127
2157
  className: "login"
2128
2158
  }, React__default.createElement("span", {
2129
2159
  onClick: onLogin
2130
- }, "Back to Log In")));
2160
+ }, "Back to Log In")), showPoweredByImage ? React__default.createElement(PoweredBy, null) : null);
2131
2161
  }))));
2132
2162
  };
2133
2163
 
@@ -2177,7 +2207,9 @@ var LoginModal = function LoginModal(_ref) {
2177
2207
  _ref$showForgotPasswo = _ref.showForgotPasswordButton,
2178
2208
  showForgotPasswordButton = _ref$showForgotPasswo === void 0 ? false : _ref$showForgotPasswo,
2179
2209
  _ref$showSignUpButton = _ref.showSignUpButton,
2180
- showSignUpButton = _ref$showSignUpButton === void 0 ? false : _ref$showSignUpButton;
2210
+ showSignUpButton = _ref$showSignUpButton === void 0 ? false : _ref$showSignUpButton,
2211
+ _ref$showPoweredByIma = _ref.showPoweredByImage,
2212
+ showPoweredByImage = _ref$showPoweredByIma === void 0 ? false : _ref$showPoweredByIma;
2181
2213
 
2182
2214
  var _useState = React.useState(''),
2183
2215
  error = _useState[0],
@@ -2337,7 +2369,7 @@ var LoginModal = function LoginModal(_ref) {
2337
2369
  }, React__default.createElement("span", {
2338
2370
  "aria-hidden": "true",
2339
2371
  onClick: onSignup
2340
- }, "Sign up"))));
2372
+ }, "Sign up")), showPoweredByImage ? React__default.createElement(PoweredBy, null) : null));
2341
2373
  }))));
2342
2374
  };
2343
2375
 
@@ -2367,7 +2399,9 @@ var SignupModal = function SignupModal(_ref) {
2367
2399
  _ref$onRegisterSucces = _ref.onRegisterSuccess,
2368
2400
  onRegisterSuccess = _ref$onRegisterSucces === void 0 ? function () {} : _ref$onRegisterSucces,
2369
2401
  _ref$onRegisterError = _ref.onRegisterError,
2370
- onRegisterError = _ref$onRegisterError === void 0 ? function () {} : _ref$onRegisterError;
2402
+ onRegisterError = _ref$onRegisterError === void 0 ? function () {} : _ref$onRegisterError,
2403
+ _ref$showPoweredByIma = _ref.showPoweredByImage,
2404
+ showPoweredByImage = _ref$showPoweredByIma === void 0 ? false : _ref$showPoweredByIma;
2371
2405
 
2372
2406
  var _useState = React.useState(false),
2373
2407
  loading = _useState[0],
@@ -2512,7 +2546,7 @@ var SignupModal = function SignupModal(_ref) {
2512
2546
  className: "login"
2513
2547
  }, React__default.createElement("span", {
2514
2548
  onClick: onLogin
2515
- }, "Login")));
2549
+ }, "Login")), showPoweredByImage ? React__default.createElement(PoweredBy, null) : null);
2516
2550
  }))));
2517
2551
  };
2518
2552
 
@@ -2997,7 +3031,9 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
2997
3031
  _ref4$showSignUpButto = _ref4.showSignUpButton,
2998
3032
  showSignUpButton = _ref4$showSignUpButto === void 0 ? false : _ref4$showSignUpButto,
2999
3033
  _ref4$brandOptIn = _ref4.brandOptIn,
3000
- brandOptIn = _ref4$brandOptIn === void 0 ? false : _ref4$brandOptIn;
3034
+ brandOptIn = _ref4$brandOptIn === void 0 ? false : _ref4$brandOptIn,
3035
+ _ref4$showPoweredByIm = _ref4.showPoweredByImage,
3036
+ showPoweredByImage = _ref4$showPoweredByIm === void 0 ? false : _ref4$showPoweredByIm;
3001
3037
 
3002
3038
  var _useState = React.useState(false),
3003
3039
  isNewUser = _useState[0],
@@ -3787,7 +3823,8 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3787
3823
  onSignup: function onSignup() {
3788
3824
  setShowModalLogin(false);
3789
3825
  setShowModalSignup(true);
3790
- }
3826
+ },
3827
+ showPoweredByImage: showPoweredByImage
3791
3828
  }), showModalSignup && React__default.createElement(SignupModal, {
3792
3829
  onClose: function onClose() {
3793
3830
  setShowModalSignup(false);
@@ -3797,7 +3834,8 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3797
3834
  setShowModalLogin(true);
3798
3835
  },
3799
3836
  onRegisterSuccess: onRegisterSuccess,
3800
- onRegisterError: onRegisterError
3837
+ onRegisterError: onRegisterError,
3838
+ showPoweredByImage: showPoweredByImage
3801
3839
  }), showModalForgotPassword && React__default.createElement(ForgotPasswordModal, {
3802
3840
  onClose: function onClose() {
3803
3841
  setShowModalForgotPassword(false);
@@ -3807,7 +3845,8 @@ var BillingInfoContainer = /*#__PURE__*/React__default.memo(function (_ref4) {
3807
3845
  setShowModalLogin(true);
3808
3846
  },
3809
3847
  onForgotPasswordSuccess: onForgotPasswordSuccess,
3810
- onForgotPasswordError: onForgotPasswordError
3848
+ onForgotPasswordError: onForgotPasswordError,
3849
+ showPoweredByImage: showPoweredByImage
3811
3850
  }));
3812
3851
  });
3813
3852
 
@@ -5429,7 +5468,12 @@ var TicketsSection = function TicketsSection(_ref) {
5429
5468
  ticketsHeaderComponent = _ref.ticketsHeaderComponent,
5430
5469
  hideTicketsHeader = _ref.hideTicketsHeader;
5431
5470
  var sortedTicketsList = sortBySoldOut ? _sortBy(_sortBy(ticketsList, 'sortOrder'), 'soldOut') : _sortBy(ticketsList, 'sortOrder');
5471
+ var showGroup = !!sortedTicketsList.find(function (ticket) {
5472
+ return ticket.groupName;
5473
+ });
5432
5474
  return React__default.createElement(React__default.Fragment, null, !hideTicketsHeader && ticketsHeaderComponent, sortedTicketsList.map(function (ticket, i, arr) {
5475
+ var _arr;
5476
+
5433
5477
  var isSoldOut = ticket.sold_out || !ticket.displayTicket || ticket.soldOut;
5434
5478
 
5435
5479
  var ticketSelect = function ticketSelect(event) {
@@ -5445,8 +5489,12 @@ var TicketsSection = function TicketsSection(_ref) {
5445
5489
 
5446
5490
  var ticketIsFree = +ticket.price === 0;
5447
5491
  var ticketPrice = isSoldOut ? 'SOLD OUT' : ticketIsFree ? 'FREE' : "\xA3 " + (+ticket.price).toFixed(2);
5448
- return React__default.createElement("div", {
5449
- key: ticket.id || ticket.name,
5492
+ var isNewGroupTicket = (ticket == null ? void 0 : ticket.groupName) !== ((_arr = arr[i - 1]) == null ? void 0 : _arr.groupName);
5493
+ return React__default.createElement(React__default.Fragment, {
5494
+ key: ticket.id || ticket.name
5495
+ }, showGroup && isNewGroupTicket ? React__default.createElement("div", {
5496
+ className: 'event-detail__tier group-title'
5497
+ }, ticket.groupName || '') : null, React__default.createElement("div", {
5450
5498
  className: "event-detail__tier " + (isSoldOut ? 'disabled' : '')
5451
5499
  }, React__default.createElement("div", {
5452
5500
  className: "event-detail__tier-name"
@@ -5470,7 +5518,7 @@ var TicketsSection = function TicketsSection(_ref) {
5470
5518
  prevTicketTier: arr[i - 1],
5471
5519
  selectedTickets: selectedTickets,
5472
5520
  handleTicketSelect: ticketSelect
5473
- }))));
5521
+ })))));
5474
5522
  }));
5475
5523
  };
5476
5524
 
@@ -8218,6 +8266,7 @@ exports.LoginModal = LoginModal;
8218
8266
  exports.MyTicketsContainer = MyTicketsContainer;
8219
8267
  exports.OrderDetailsContainer = OrderDetailsContainer;
8220
8268
  exports.PaymentContainer = PaymentContainer;
8269
+ exports.PoweredBy = PoweredBy;
8221
8270
  exports.RedirectModal = RedirectModal;
8222
8271
  exports.ResetPasswordContainer = ResetPasswordContainer;
8223
8272
  exports.RsvpContainer = RsvpContainer;