tf-checkout-react 1.0.104 → 1.0.105

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 (78) hide show
  1. package/dist/components/ticketsContainer/TicketsSection.d.ts +2 -1
  2. package/dist/components/ticketsContainer/index.d.ts +2 -1
  3. package/dist/images/done.svg +3 -3
  4. package/dist/tf-checkout-react.cjs.development.js +8 -6
  5. package/dist/tf-checkout-react.cjs.development.js.map +1 -1
  6. package/dist/tf-checkout-react.cjs.production.min.js +1 -1
  7. package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
  8. package/dist/tf-checkout-react.esm.js +8 -6
  9. package/dist/tf-checkout-react.esm.js.map +1 -1
  10. package/package.json +89 -89
  11. package/src/.d.ts +2 -2
  12. package/src/api/index.ts +293 -293
  13. package/src/assets/images/done.svg +3 -3
  14. package/src/components/billing-info-container/index.tsx +796 -796
  15. package/src/components/billing-info-container/style.css +105 -105
  16. package/src/components/billing-info-container/utils.ts +224 -224
  17. package/src/components/common/CheckboxField.tsx +41 -41
  18. package/src/components/common/CustomField.tsx +84 -84
  19. package/src/components/common/FormikPhoneNumberField.tsx +51 -51
  20. package/src/components/common/Loader.tsx +9 -9
  21. package/src/components/common/RadioField.tsx +35 -35
  22. package/src/components/common/RedirectModal.tsx +43 -43
  23. package/src/components/common/SelectField.tsx +80 -80
  24. package/src/components/common/SnackbarAlert.tsx +53 -53
  25. package/src/components/common/index.tsx +4 -4
  26. package/src/components/confirmModal/index.tsx +51 -51
  27. package/src/components/confirmModal/style.css +21 -21
  28. package/src/components/confirmationContainer/config.ts +72 -72
  29. package/src/components/confirmationContainer/index.tsx +197 -197
  30. package/src/components/confirmationContainer/social-buttons.tsx +94 -94
  31. package/src/components/confirmationContainer/style.css +202 -202
  32. package/src/components/countdown/index.tsx +89 -89
  33. package/src/components/countdown/style.css +9 -9
  34. package/src/components/index.ts +7 -7
  35. package/src/components/loginModal/index.tsx +209 -209
  36. package/src/components/loginModal/style.css +71 -71
  37. package/src/components/myTicketsContainer/index.tsx +196 -196
  38. package/src/components/myTicketsContainer/row.tsx +41 -41
  39. package/src/components/myTicketsContainer/style.css +39 -39
  40. package/src/components/myTicketsContainer/tableConfig.tsx +34 -34
  41. package/src/components/orderDetailsContainer/index.tsx +249 -249
  42. package/src/components/orderDetailsContainer/style.css +72 -72
  43. package/src/components/orderDetailsContainer/ticketsTable.tsx +124 -124
  44. package/src/components/paymentContainer/index.tsx +284 -284
  45. package/src/components/registerModal/index.tsx +190 -190
  46. package/src/components/stripePayment/index.tsx +253 -253
  47. package/src/components/stripePayment/style.css +59 -59
  48. package/src/components/ticketResale/index.tsx +56 -56
  49. package/src/components/ticketResaleModal/index.tsx +210 -210
  50. package/src/components/ticketResaleModal/style.css +28 -28
  51. package/src/components/ticketsContainer/PromoCodeSection.tsx +99 -99
  52. package/src/components/ticketsContainer/ReferralLogic.tsx +33 -33
  53. package/src/components/ticketsContainer/TicketRow.tsx +83 -83
  54. package/src/components/ticketsContainer/TicketsSection.tsx +85 -81
  55. package/src/components/ticketsContainer/index.tsx +430 -427
  56. package/src/components/ticketsContainer/style.css +181 -181
  57. package/src/components/ticketsContainer/utils.ts +11 -11
  58. package/src/components/timerWidget/index.tsx +70 -70
  59. package/src/components/timerWidget/style.css +26 -26
  60. package/src/components/waitingList/index.tsx +178 -178
  61. package/src/components/waitingList/style.css +26 -26
  62. package/src/env.ts +20 -20
  63. package/src/index.ts +14 -14
  64. package/src/normalizers/index.ts +45 -45
  65. package/src/types/billing-info-data.ts +37 -37
  66. package/src/types/payment-field.ts +7 -7
  67. package/src/types/referral-promotion.ts +7 -7
  68. package/src/utils/createCheckoutDataBodyWithDefaultHolder.ts +59 -59
  69. package/src/utils/downloadPDF.tsx +30 -30
  70. package/src/utils/formikErrorFocus.ts +24 -24
  71. package/src/utils/getImage.ts +14 -14
  72. package/src/utils/getQueryVariable.ts +13 -13
  73. package/src/utils/index.ts +5 -5
  74. package/src/utils/setConfigs.ts +26 -26
  75. package/src/utils/showZero.tsx +10 -10
  76. package/src/validators/index.ts +20 -20
  77. package/src/.DS_Store +0 -0
  78. package/src/components/.DS_Store +0 -0
@@ -1,41 +1,41 @@
1
- import React from 'react'
2
- import FormGroup from '@mui/material/FormGroup'
3
- import FormControlLabel from '@mui/material/FormControlLabel'
4
- import Checkbox from '@mui/material/Checkbox'
5
- import { FieldInputProps } from 'formik'
6
- import { useTheme } from '@mui/styles'
7
- import { FormControl, FormHelperText } from '@mui/material'
8
-
9
- export interface ICheckboxField {
10
- label: string | number | JSX.Element;
11
- field?: FieldInputProps<any>;
12
- }
13
-
14
- interface IOtherProps {
15
- [key: string]: any;
16
- }
17
-
18
- export const CheckboxField = ({
19
- label,
20
- field,
21
- selectOptions,
22
- theme,
23
- setFieldValue,
24
- ...rest
25
- }: ICheckboxField & IOtherProps) => {
26
- const customTheme: any = useTheme()
27
- return (
28
- <FormControl error={!!(rest?.form?.errors && rest.form.errors[field?.name ?? ""])}>
29
- <FormGroup>
30
- <FormControlLabel
31
- control={<Checkbox {...field} {...rest} />}
32
- label={label}
33
- componentsProps={{
34
- typography: customTheme?.checkbox
35
- }}
36
- />
37
- </FormGroup>
38
- {!!(rest?.form?.errors && rest.form.errors[field?.name ?? ""]) ? <FormHelperText>Required</FormHelperText> : null}
39
- </FormControl>
40
- )
41
- }
1
+ import React from 'react'
2
+ import FormGroup from '@mui/material/FormGroup'
3
+ import FormControlLabel from '@mui/material/FormControlLabel'
4
+ import Checkbox from '@mui/material/Checkbox'
5
+ import { FieldInputProps } from 'formik'
6
+ import { useTheme } from '@mui/styles'
7
+ import { FormControl, FormHelperText } from '@mui/material'
8
+
9
+ export interface ICheckboxField {
10
+ label: string | number | JSX.Element;
11
+ field?: FieldInputProps<any>;
12
+ }
13
+
14
+ interface IOtherProps {
15
+ [key: string]: any;
16
+ }
17
+
18
+ export const CheckboxField = ({
19
+ label,
20
+ field,
21
+ selectOptions,
22
+ theme,
23
+ setFieldValue,
24
+ ...rest
25
+ }: ICheckboxField & IOtherProps) => {
26
+ const customTheme: any = useTheme()
27
+ return (
28
+ <FormControl error={!!(rest?.form?.errors && rest.form.errors[field?.name ?? ""])}>
29
+ <FormGroup>
30
+ <FormControlLabel
31
+ control={<Checkbox {...field} {...rest} />}
32
+ label={label}
33
+ componentsProps={{
34
+ typography: customTheme?.checkbox
35
+ }}
36
+ />
37
+ </FormGroup>
38
+ {!!(rest?.form?.errors && rest.form.errors[field?.name ?? ""]) ? <FormHelperText>Required</FormHelperText> : null}
39
+ </FormControl>
40
+ )
41
+ }
@@ -1,84 +1,84 @@
1
- import React from 'react'
2
- import TextField from '@mui/material/TextField'
3
- import _map from 'lodash/map'
4
- import _get from 'lodash/get'
5
- import _includes from 'lodash/includes'
6
-
7
- import { FieldInputProps, FormikProps } from 'formik'
8
- import { useTheme } from '@mui/styles'
9
-
10
- export interface ISelectOption {
11
- label: string | number;
12
- value?: string | number;
13
- [key: string]: any;
14
- }
15
-
16
- export interface ICustomField {
17
- label: string;
18
-
19
- field: FieldInputProps<any>;
20
- form: FormikProps<any>;
21
- theme: 'dark' | 'light';
22
-
23
- // optional
24
- type?: string;
25
- selectOptions?: ISelectOption[];
26
- }
27
-
28
- interface IOtherProps {
29
- [key: string]: any;
30
- }
31
-
32
- export const CustomField = ({
33
- label,
34
- type = 'text',
35
- field,
36
- selectOptions = [] as ISelectOption[],
37
- form: { touched, errors, submitCount },
38
- theme,
39
- }: ICustomField & IOtherProps) => {
40
- const isSelectField = type === 'select'
41
- const error = _get(errors, field.name)
42
- const isTouched =
43
- Boolean(_get(touched, field.name)) ||
44
- (_includes(field.name, 'holder') && !!error && !!submitCount)
45
-
46
- const customTheme: any = useTheme()
47
-
48
- return (
49
- <TextField
50
- id={field.name}
51
- label={label}
52
- type={type}
53
- select={isSelectField}
54
- fullWidth={true}
55
- error={!!error && isTouched}
56
- helperText={isTouched && error}
57
- SelectProps={{
58
- native: true,
59
- className: theme,
60
- MenuProps: { className: theme },
61
- }}
62
- InputLabelProps={{
63
- sx: customTheme?.input,
64
- shrink: field.name === 'holderAge' ? true : undefined,
65
- }}
66
- inputProps={{
67
- sx: customTheme?.input,
68
- }}
69
- {...field}
70
- >
71
- {isSelectField
72
- ? _map(selectOptions, option => (
73
- <option
74
- key={option.value}
75
- value={option.value}
76
- disabled={option.disabled}
77
- >
78
- {option.label}
79
- </option>
80
- ))
81
- : null}
82
- </TextField>
83
- )
84
- }
1
+ import React from 'react'
2
+ import TextField from '@mui/material/TextField'
3
+ import _map from 'lodash/map'
4
+ import _get from 'lodash/get'
5
+ import _includes from 'lodash/includes'
6
+
7
+ import { FieldInputProps, FormikProps } from 'formik'
8
+ import { useTheme } from '@mui/styles'
9
+
10
+ export interface ISelectOption {
11
+ label: string | number;
12
+ value?: string | number;
13
+ [key: string]: any;
14
+ }
15
+
16
+ export interface ICustomField {
17
+ label: string;
18
+
19
+ field: FieldInputProps<any>;
20
+ form: FormikProps<any>;
21
+ theme: 'dark' | 'light';
22
+
23
+ // optional
24
+ type?: string;
25
+ selectOptions?: ISelectOption[];
26
+ }
27
+
28
+ interface IOtherProps {
29
+ [key: string]: any;
30
+ }
31
+
32
+ export const CustomField = ({
33
+ label,
34
+ type = 'text',
35
+ field,
36
+ selectOptions = [] as ISelectOption[],
37
+ form: { touched, errors, submitCount },
38
+ theme,
39
+ }: ICustomField & IOtherProps) => {
40
+ const isSelectField = type === 'select'
41
+ const error = _get(errors, field.name)
42
+ const isTouched =
43
+ Boolean(_get(touched, field.name)) ||
44
+ (_includes(field.name, 'holder') && !!error && !!submitCount)
45
+
46
+ const customTheme: any = useTheme()
47
+
48
+ return (
49
+ <TextField
50
+ id={field.name}
51
+ label={label}
52
+ type={type}
53
+ select={isSelectField}
54
+ fullWidth={true}
55
+ error={!!error && isTouched}
56
+ helperText={isTouched && error}
57
+ SelectProps={{
58
+ native: true,
59
+ className: theme,
60
+ MenuProps: { className: theme },
61
+ }}
62
+ InputLabelProps={{
63
+ sx: customTheme?.input,
64
+ shrink: field.name === 'holderAge' ? true : undefined,
65
+ }}
66
+ inputProps={{
67
+ sx: customTheme?.input,
68
+ }}
69
+ {...field}
70
+ >
71
+ {isSelectField
72
+ ? _map(selectOptions, option => (
73
+ <option
74
+ key={option.value}
75
+ value={option.value}
76
+ disabled={option.disabled}
77
+ >
78
+ {option.label}
79
+ </option>
80
+ ))
81
+ : null}
82
+ </TextField>
83
+ )
84
+ }
@@ -1,52 +1,52 @@
1
- import React from 'react'
2
- import { FieldInputProps } from 'formik'
3
- import MuiPhoneNumber from 'material-ui-phone-number'
4
- import _get from 'lodash/get'
5
- import { removePlusSign } from '../../normalizers'
6
- import { useTheme } from '@mui/styles'
7
-
8
- export interface INumberInField {
9
- label: string | number | JSX.Element;
10
- field: FieldInputProps<any>;
11
- }
12
-
13
- interface IOtherProps {
14
- [key: string]: any;
15
- }
16
-
17
- export const FormikPhoneNumberField = ({
18
- label,
19
- field,
20
- form: { touched, errors, initialValues },
21
- setFieldValue,
22
- selectOptions,
23
- ...rest
24
- }: INumberInField & IOtherProps) => {
25
- const error = _get(errors, field.name)
26
- const isTouched = Boolean(_get(touched, field.name))
27
-
28
- const customTheme: any = useTheme()
29
-
30
- return (
31
- <MuiPhoneNumber
32
- name='phone'
33
- value={initialValues.phone}
34
- onChange={(e: any) => setFieldValue("phone", removePlusSign(e))}
35
- variant="outlined"
36
- defaultCountry='us'
37
- disableDropdown={true}
38
- label={label}
39
- error={!!error && isTouched}
40
- helperText={isTouched && error}
41
- fullWidth
42
- InputLabelProps={{
43
- sx: customTheme?.input
44
- }}
45
- InputProps={{
46
- sx: customTheme?.input
47
- }}
48
- autoFormat={false}
49
- {...rest}
50
- />
51
- )
1
+ import React from 'react'
2
+ import { FieldInputProps } from 'formik'
3
+ import MuiPhoneNumber from 'material-ui-phone-number'
4
+ import _get from 'lodash/get'
5
+ import { removePlusSign } from '../../normalizers'
6
+ import { useTheme } from '@mui/styles'
7
+
8
+ export interface INumberInField {
9
+ label: string | number | JSX.Element;
10
+ field: FieldInputProps<any>;
11
+ }
12
+
13
+ interface IOtherProps {
14
+ [key: string]: any;
15
+ }
16
+
17
+ export const FormikPhoneNumberField = ({
18
+ label,
19
+ field,
20
+ form: { touched, errors, initialValues },
21
+ setFieldValue,
22
+ selectOptions,
23
+ ...rest
24
+ }: INumberInField & IOtherProps) => {
25
+ const error = _get(errors, field.name)
26
+ const isTouched = Boolean(_get(touched, field.name))
27
+
28
+ const customTheme: any = useTheme()
29
+
30
+ return (
31
+ <MuiPhoneNumber
32
+ name='phone'
33
+ value={initialValues.phone}
34
+ onChange={(e: any) => setFieldValue("phone", removePlusSign(e))}
35
+ variant="outlined"
36
+ defaultCountry='us'
37
+ disableDropdown={true}
38
+ label={label}
39
+ error={!!error && isTouched}
40
+ helperText={isTouched && error}
41
+ fullWidth
42
+ InputLabelProps={{
43
+ sx: customTheme?.input
44
+ }}
45
+ InputProps={{
46
+ sx: customTheme?.input
47
+ }}
48
+ autoFormat={false}
49
+ {...rest}
50
+ />
51
+ )
52
52
  }
@@ -1,10 +1,10 @@
1
- import React from 'react'
2
- import CircularProgress from '@mui/material/CircularProgress'
3
-
4
- export function Loader() {
5
- return (
6
- <div className="loader-container">
7
- <CircularProgress />
8
- </div>
9
- )
1
+ import React from 'react'
2
+ import CircularProgress from '@mui/material/CircularProgress'
3
+
4
+ export function Loader() {
5
+ return (
6
+ <div className="loader-container">
7
+ <CircularProgress />
8
+ </div>
9
+ )
10
10
  }
@@ -1,35 +1,35 @@
1
- import React from 'react'
2
- import FormGroup from '@mui/material/FormGroup'
3
- import FormControlLabel from '@mui/material/FormControlLabel'
4
- import Radio from '@mui/material/Radio';
5
- import { FieldInputProps } from 'formik'
6
- import { useTheme } from '@mui/styles'
7
-
8
- export interface IRadioField {
9
- label: string | number | JSX.Element;
10
- field?: FieldInputProps<any>;
11
- }
12
-
13
- interface IOtherProps {
14
- [key: string]: any;
15
- }
16
-
17
- export const RadioField = ({
18
- label,
19
- field,
20
- theme,
21
- ...rest
22
- }: IRadioField & IOtherProps) => {
23
- const customTheme: any = useTheme()
24
- return (
25
- <FormGroup>
26
- <FormControlLabel
27
- control={<Radio {...field} {...rest} />}
28
- label={label}
29
- componentsProps={{
30
- typography: customTheme?.checkbox
31
- }}
32
- />
33
- </FormGroup>
34
- )
35
- }
1
+ import React from 'react'
2
+ import FormGroup from '@mui/material/FormGroup'
3
+ import FormControlLabel from '@mui/material/FormControlLabel'
4
+ import Radio from '@mui/material/Radio';
5
+ import { FieldInputProps } from 'formik'
6
+ import { useTheme } from '@mui/styles'
7
+
8
+ export interface IRadioField {
9
+ label: string | number | JSX.Element;
10
+ field?: FieldInputProps<any>;
11
+ }
12
+
13
+ interface IOtherProps {
14
+ [key: string]: any;
15
+ }
16
+
17
+ export const RadioField = ({
18
+ label,
19
+ field,
20
+ theme,
21
+ ...rest
22
+ }: IRadioField & IOtherProps) => {
23
+ const customTheme: any = useTheme()
24
+ return (
25
+ <FormGroup>
26
+ <FormControlLabel
27
+ control={<Radio {...field} {...rest} />}
28
+ label={label}
29
+ componentsProps={{
30
+ typography: customTheme?.checkbox
31
+ }}
32
+ />
33
+ </FormGroup>
34
+ )
35
+ }
@@ -1,43 +1,43 @@
1
- import React from 'react'
2
- import Modal from '@mui/material/Modal'
3
- import Box from '@mui/material/Box'
4
-
5
- interface IRedirectModal {
6
- message: string
7
- onClickOk: () => void
8
- }
9
-
10
- const style: React.CSSProperties = {
11
- position: 'absolute',
12
- top: '10%',
13
- left: '50%',
14
- transform: 'translate(-50%, -50%)',
15
- minWidth: 480,
16
- backgroundColor: '#e3e3e3',
17
- border: '1px solid white',
18
- outline: 'none',
19
- padding: '14px',
20
- maxHeight: '85vh',
21
- overflow: 'auto',
22
- }
23
-
24
- export const RedirectModal = ({
25
- message = 'Your cart has expired. Please click on "OK" to return to the ticket selection page.',
26
- onClickOk = () => {},
27
- }: IRedirectModal) => {
28
- return (
29
- <Modal
30
- open={true}
31
- aria-labelledby="modal-modal-title"
32
- aria-describedby="modal-modal-description"
33
- className="redirect-modal"
34
- >
35
- <Box style={style}>
36
- <p>{message}</p>
37
- <div className="footer">
38
- <button onClick={onClickOk}>OK</button>
39
- </div>
40
- </Box>
41
- </Modal>
42
- )
43
- }
1
+ import React from 'react'
2
+ import Modal from '@mui/material/Modal'
3
+ import Box from '@mui/material/Box'
4
+
5
+ interface IRedirectModal {
6
+ message: string
7
+ onClickOk: () => void
8
+ }
9
+
10
+ const style: React.CSSProperties = {
11
+ position: 'absolute',
12
+ top: '10%',
13
+ left: '50%',
14
+ transform: 'translate(-50%, -50%)',
15
+ minWidth: 480,
16
+ backgroundColor: '#e3e3e3',
17
+ border: '1px solid white',
18
+ outline: 'none',
19
+ padding: '14px',
20
+ maxHeight: '85vh',
21
+ overflow: 'auto',
22
+ }
23
+
24
+ export const RedirectModal = ({
25
+ message = 'Your cart has expired. Please click on "OK" to return to the ticket selection page.',
26
+ onClickOk = () => {},
27
+ }: IRedirectModal) => {
28
+ return (
29
+ <Modal
30
+ open={true}
31
+ aria-labelledby="modal-modal-title"
32
+ aria-describedby="modal-modal-description"
33
+ className="redirect-modal"
34
+ >
35
+ <Box style={style}>
36
+ <p>{message}</p>
37
+ <div className="footer">
38
+ <button onClick={onClickOk}>OK</button>
39
+ </div>
40
+ </Box>
41
+ </Modal>
42
+ )
43
+ }