tf-checkout-react 1.0.102 → 1.0.103

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 (75) hide show
  1. package/dist/images/done.svg +3 -3
  2. package/dist/tf-checkout-react.cjs.development.js +4 -0
  3. package/dist/tf-checkout-react.cjs.development.js.map +1 -1
  4. package/dist/tf-checkout-react.cjs.production.min.js +1 -1
  5. package/dist/tf-checkout-react.cjs.production.min.js.map +1 -1
  6. package/dist/tf-checkout-react.esm.js +4 -0
  7. package/dist/tf-checkout-react.esm.js.map +1 -1
  8. package/package.json +89 -89
  9. package/src/.d.ts +2 -2
  10. package/src/api/index.ts +278 -278
  11. package/src/assets/images/done.svg +3 -3
  12. package/src/components/billing-info-container/index.tsx +799 -796
  13. package/src/components/billing-info-container/style.css +105 -105
  14. package/src/components/billing-info-container/utils.ts +224 -224
  15. package/src/components/common/CheckboxField.tsx +41 -41
  16. package/src/components/common/CustomField.tsx +84 -84
  17. package/src/components/common/FormikPhoneNumberField.tsx +51 -51
  18. package/src/components/common/Loader.tsx +9 -9
  19. package/src/components/common/RadioField.tsx +35 -35
  20. package/src/components/common/SelectField.tsx +80 -80
  21. package/src/components/common/SnackbarAlert.tsx +53 -53
  22. package/src/components/common/index.tsx +4 -4
  23. package/src/components/confirmModal/index.tsx +51 -51
  24. package/src/components/confirmModal/style.css +21 -21
  25. package/src/components/confirmationContainer/config.ts +72 -72
  26. package/src/components/confirmationContainer/index.tsx +197 -197
  27. package/src/components/confirmationContainer/social-buttons.tsx +94 -94
  28. package/src/components/confirmationContainer/style.css +202 -202
  29. package/src/components/countdown/index.tsx +89 -89
  30. package/src/components/countdown/style.css +9 -9
  31. package/src/components/index.ts +7 -7
  32. package/src/components/loginModal/index.tsx +209 -209
  33. package/src/components/loginModal/style.css +71 -71
  34. package/src/components/myTicketsContainer/index.tsx +196 -196
  35. package/src/components/myTicketsContainer/row.tsx +41 -41
  36. package/src/components/myTicketsContainer/style.css +39 -39
  37. package/src/components/myTicketsContainer/tableConfig.tsx +34 -34
  38. package/src/components/orderDetailsContainer/index.tsx +249 -249
  39. package/src/components/orderDetailsContainer/style.css +72 -72
  40. package/src/components/orderDetailsContainer/ticketsTable.tsx +124 -124
  41. package/src/components/paymentContainer/index.tsx +284 -284
  42. package/src/components/registerModal/index.tsx +190 -190
  43. package/src/components/stripePayment/index.tsx +253 -253
  44. package/src/components/stripePayment/style.css +59 -59
  45. package/src/components/ticketResale/index.tsx +56 -56
  46. package/src/components/ticketResaleModal/index.tsx +210 -210
  47. package/src/components/ticketResaleModal/style.css +28 -28
  48. package/src/components/ticketsContainer/PromoCodeSection.tsx +99 -99
  49. package/src/components/ticketsContainer/ReferralLogic.tsx +33 -33
  50. package/src/components/ticketsContainer/TicketRow.tsx +83 -83
  51. package/src/components/ticketsContainer/TicketsSection.tsx +81 -81
  52. package/src/components/ticketsContainer/index.tsx +430 -430
  53. package/src/components/ticketsContainer/style.css +181 -181
  54. package/src/components/ticketsContainer/utils.ts +11 -11
  55. package/src/components/timerWidget/index.tsx +70 -70
  56. package/src/components/timerWidget/style.css +26 -26
  57. package/src/components/waitingList/index.tsx +178 -178
  58. package/src/components/waitingList/style.css +26 -26
  59. package/src/env.ts +20 -20
  60. package/src/index.ts +13 -13
  61. package/src/normalizers/index.ts +45 -45
  62. package/src/types/billing-info-data.ts +37 -37
  63. package/src/types/payment-field.ts +7 -7
  64. package/src/types/referral-promotion.ts +7 -7
  65. package/src/utils/createCheckoutDataBodyWithDefaultHolder.ts +59 -59
  66. package/src/utils/downloadPDF.tsx +30 -30
  67. package/src/utils/formikErrorFocus.ts +24 -24
  68. package/src/utils/getImage.ts +14 -14
  69. package/src/utils/getQueryVariable.ts +13 -13
  70. package/src/utils/index.ts +5 -5
  71. package/src/utils/setConfigs.ts +26 -26
  72. package/src/utils/showZero.tsx +10 -10
  73. package/src/validators/index.ts +20 -20
  74. package/src/.DS_Store +0 -0
  75. 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,80 +1,80 @@
1
- import React from 'react'
2
- import Select from '@mui/material/Select'
3
- import _map from 'lodash/map'
4
- import _get from 'lodash/get'
5
-
6
- import { FieldInputProps, FormikProps } from 'formik'
7
- import { FormControl, InputLabel, FormHelperText } from '@mui/material'
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 ISelectField {
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 SelectField = ({
33
- label,
34
- type = 'text',
35
- field,
36
- selectOptions = [] as ISelectOption[],
37
- form: { touched, errors },
38
- theme,
39
- }: ISelectField & IOtherProps) => {
40
- const isTouched = Boolean(_get(touched, field.name))
41
- const error = _get(errors, field.name)
42
-
43
- const customTheme: any = useTheme()
44
-
45
- return (
46
- <FormControl fullWidth={true}>
47
- <InputLabel style={customTheme?.input} htmlFor={field.name} error={!!error && isTouched} shrink={true}>
48
- {label}
49
- </InputLabel>
50
- <Select
51
- id={field.name}
52
- label={label}
53
- type={type}
54
- fullWidth={true}
55
- error={!!error && isTouched}
56
- inputProps={{
57
- id: field.name,
58
- }}
59
- native={true}
60
- className={theme}
61
- MenuProps={{ className: theme }}
62
- {...field}
63
- style={customTheme?.input}
64
- >
65
- {_map(selectOptions, option => (
66
- <option
67
- key={option.value}
68
- value={option.value}
69
- disabled={option.disabled}
70
- >
71
- {option.label}
72
- </option>
73
- ))}
74
- </Select>
75
- {isTouched && error ? (
76
- <FormHelperText error={!!error && isTouched}>{error}</FormHelperText>
77
- ) : null}
78
- </FormControl>
79
- )
80
- }
1
+ import React from 'react'
2
+ import Select from '@mui/material/Select'
3
+ import _map from 'lodash/map'
4
+ import _get from 'lodash/get'
5
+
6
+ import { FieldInputProps, FormikProps } from 'formik'
7
+ import { FormControl, InputLabel, FormHelperText } from '@mui/material'
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 ISelectField {
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 SelectField = ({
33
+ label,
34
+ type = 'text',
35
+ field,
36
+ selectOptions = [] as ISelectOption[],
37
+ form: { touched, errors },
38
+ theme,
39
+ }: ISelectField & IOtherProps) => {
40
+ const isTouched = Boolean(_get(touched, field.name))
41
+ const error = _get(errors, field.name)
42
+
43
+ const customTheme: any = useTheme()
44
+
45
+ return (
46
+ <FormControl fullWidth={true}>
47
+ <InputLabel style={customTheme?.input} htmlFor={field.name} error={!!error && isTouched} shrink={true}>
48
+ {label}
49
+ </InputLabel>
50
+ <Select
51
+ id={field.name}
52
+ label={label}
53
+ type={type}
54
+ fullWidth={true}
55
+ error={!!error && isTouched}
56
+ inputProps={{
57
+ id: field.name,
58
+ }}
59
+ native={true}
60
+ className={theme}
61
+ MenuProps={{ className: theme }}
62
+ {...field}
63
+ style={customTheme?.input}
64
+ >
65
+ {_map(selectOptions, option => (
66
+ <option
67
+ key={option.value}
68
+ value={option.value}
69
+ disabled={option.disabled}
70
+ >
71
+ {option.label}
72
+ </option>
73
+ ))}
74
+ </Select>
75
+ {isTouched && error ? (
76
+ <FormHelperText error={!!error && isTouched}>{error}</FormHelperText>
77
+ ) : null}
78
+ </FormControl>
79
+ )
80
+ }