@blocklet/payment-react 1.18.55 → 1.19.0

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 (220) hide show
  1. package/es/checkout/donate.d.ts +1 -15
  2. package/es/checkout/donate.js +301 -189
  3. package/es/checkout/form.d.ts +1 -15
  4. package/es/checkout/form.js +5 -13
  5. package/es/checkout/table.js +3 -3
  6. package/es/components/blockchain/gas.d.ts +1 -5
  7. package/es/components/blockchain/gas.js +10 -2
  8. package/es/components/blockchain/tx.d.ts +1 -8
  9. package/es/components/blockchain/tx.js +28 -7
  10. package/es/components/confirm.d.ts +1 -10
  11. package/es/components/confirm.js +4 -10
  12. package/es/components/country-select.d.ts +3 -2
  13. package/es/components/country-select.js +375 -352
  14. package/es/components/input.d.ts +11 -20
  15. package/es/components/input.js +46 -43
  16. package/es/components/lazy-loader.js +1 -2
  17. package/es/components/link.d.ts +2 -9
  18. package/es/components/link.js +9 -6
  19. package/es/components/livemode.d.ts +2 -8
  20. package/es/components/livemode.js +1 -5
  21. package/es/components/loading-button.d.ts +6 -1
  22. package/es/components/loading-button.js +56 -66
  23. package/es/components/over-due-invoice-payment.d.ts +0 -18
  24. package/es/components/over-due-invoice-payment.js +138 -95
  25. package/es/components/payment-beneficiaries.d.ts +2 -7
  26. package/es/components/payment-beneficiaries.js +86 -40
  27. package/es/components/pricing-item.d.ts +0 -5
  28. package/es/components/pricing-item.js +1 -4
  29. package/es/components/pricing-table.d.ts +2 -10
  30. package/es/components/pricing-table.js +8 -7
  31. package/es/components/resume-subscription.d.ts +0 -10
  32. package/es/components/resume-subscription.js +42 -21
  33. package/es/components/truncated-text.d.ts +2 -9
  34. package/es/components/truncated-text.js +0 -5
  35. package/es/contexts/donate.d.ts +0 -7
  36. package/es/contexts/donate.js +10 -8
  37. package/es/contexts/payment.d.ts +1 -4
  38. package/es/contexts/payment.js +7 -2
  39. package/es/history/invoice/list.d.ts +2 -18
  40. package/es/history/invoice/list.js +151 -73
  41. package/es/history/payment/list.js +115 -38
  42. package/es/hooks/keyboard.d.ts +1 -1
  43. package/es/hooks/keyboard.js +2 -4
  44. package/es/libs/cached-request.js +2 -4
  45. package/es/libs/phone-validator.js +1 -2
  46. package/es/libs/util.js +2 -4
  47. package/es/libs/validator.js +2 -4
  48. package/es/payment/amount.d.ts +2 -7
  49. package/es/payment/amount.js +1 -5
  50. package/es/payment/donation-form.d.ts +2 -10
  51. package/es/payment/donation-form.js +196 -160
  52. package/es/payment/error.d.ts +2 -8
  53. package/es/payment/error.js +40 -20
  54. package/es/payment/footer.d.ts +2 -3
  55. package/es/payment/footer.js +19 -6
  56. package/es/payment/form/addon.js +14 -4
  57. package/es/payment/form/address.d.ts +2 -9
  58. package/es/payment/form/address.js +3 -6
  59. package/es/payment/form/currency.js +45 -25
  60. package/es/payment/form/index.d.ts +2 -8
  61. package/es/payment/form/index.js +107 -65
  62. package/es/payment/form/phone.js +2 -4
  63. package/es/payment/form/stripe/form.d.ts +2 -8
  64. package/es/payment/form/stripe/form.js +1 -3
  65. package/es/payment/header.js +38 -16
  66. package/es/payment/index.d.ts +2 -9
  67. package/es/payment/index.js +5 -14
  68. package/es/payment/product-card.d.ts +2 -11
  69. package/es/payment/product-card.js +84 -50
  70. package/es/payment/product-donation.js +175 -114
  71. package/es/payment/product-item.d.ts +2 -9
  72. package/es/payment/product-item.js +185 -142
  73. package/es/payment/product-skeleton.js +2 -2
  74. package/es/payment/skeleton/donation.js +27 -7
  75. package/es/payment/skeleton/overview.js +22 -2
  76. package/es/payment/skeleton/payment.js +33 -5
  77. package/es/payment/success.d.ts +2 -9
  78. package/es/payment/success.js +41 -14
  79. package/es/payment/summary.d.ts +2 -17
  80. package/es/payment/summary.js +184 -111
  81. package/es/theme/index.d.ts +0 -5
  82. package/es/theme/index.js +2 -5
  83. package/es/theme/typography.d.ts +2 -2
  84. package/lib/checkout/donate.d.ts +1 -15
  85. package/lib/checkout/donate.js +75 -54
  86. package/lib/checkout/form.d.ts +1 -15
  87. package/lib/checkout/form.js +7 -15
  88. package/lib/checkout/table.js +4 -4
  89. package/lib/components/blockchain/gas.d.ts +1 -5
  90. package/lib/components/blockchain/gas.js +3 -2
  91. package/lib/components/blockchain/tx.d.ts +1 -8
  92. package/lib/components/blockchain/tx.js +11 -7
  93. package/lib/components/confirm.d.ts +1 -10
  94. package/lib/components/confirm.js +5 -11
  95. package/lib/components/country-select.d.ts +3 -2
  96. package/lib/components/country-select.js +23 -22
  97. package/lib/components/input.d.ts +11 -20
  98. package/lib/components/input.js +20 -23
  99. package/lib/components/lazy-loader.js +1 -1
  100. package/lib/components/link.d.ts +2 -9
  101. package/lib/components/link.js +3 -8
  102. package/lib/components/livemode.d.ts +2 -8
  103. package/lib/components/livemode.js +3 -7
  104. package/lib/components/loading-button.d.ts +6 -1
  105. package/lib/components/loading-button.js +9 -17
  106. package/lib/components/over-due-invoice-payment.d.ts +0 -18
  107. package/lib/components/over-due-invoice-payment.js +31 -33
  108. package/lib/components/payment-beneficiaries.d.ts +2 -7
  109. package/lib/components/payment-beneficiaries.js +12 -11
  110. package/lib/components/pricing-item.d.ts +0 -5
  111. package/lib/components/pricing-item.js +2 -5
  112. package/lib/components/pricing-table.d.ts +2 -10
  113. package/lib/components/pricing-table.js +5 -11
  114. package/lib/components/resume-subscription.d.ts +0 -10
  115. package/lib/components/resume-subscription.js +16 -16
  116. package/lib/components/table.js +1 -1
  117. package/lib/components/truncated-text.d.ts +2 -9
  118. package/lib/components/truncated-text.js +1 -6
  119. package/lib/contexts/donate.d.ts +0 -7
  120. package/lib/contexts/donate.js +4 -7
  121. package/lib/contexts/payment.d.ts +1 -4
  122. package/lib/contexts/payment.js +4 -7
  123. package/lib/history/invoice/list.d.ts +2 -18
  124. package/lib/history/invoice/list.js +49 -37
  125. package/lib/history/payment/list.js +30 -16
  126. package/lib/hooks/keyboard.d.ts +1 -1
  127. package/lib/hooks/mobile.js +1 -1
  128. package/lib/hooks/subscription.js +1 -1
  129. package/lib/index.js +2 -2
  130. package/lib/libs/api.js +1 -1
  131. package/lib/libs/dayjs.js +1 -1
  132. package/lib/libs/phone-validator.js +0 -2
  133. package/lib/libs/theme.js +1 -1
  134. package/lib/libs/util.js +1 -1
  135. package/lib/libs/validator.js +1 -1
  136. package/lib/locales/en.js +1 -1
  137. package/lib/locales/index.js +1 -1
  138. package/lib/locales/zh.js +1 -1
  139. package/lib/payment/amount.d.ts +2 -7
  140. package/lib/payment/amount.js +2 -6
  141. package/lib/payment/donation-form.d.ts +2 -10
  142. package/lib/payment/donation-form.js +33 -38
  143. package/lib/payment/error.d.ts +2 -8
  144. package/lib/payment/error.js +11 -13
  145. package/lib/payment/footer.d.ts +2 -3
  146. package/lib/payment/footer.js +5 -5
  147. package/lib/payment/form/addon.js +5 -3
  148. package/lib/payment/form/address.d.ts +2 -9
  149. package/lib/payment/form/address.js +5 -8
  150. package/lib/payment/form/currency.js +3 -3
  151. package/lib/payment/form/index.d.ts +2 -8
  152. package/lib/payment/form/index.js +19 -15
  153. package/lib/payment/form/phone.js +1 -1
  154. package/lib/payment/form/stripe/form.d.ts +2 -8
  155. package/lib/payment/form/stripe/form.js +3 -6
  156. package/lib/payment/header.js +8 -4
  157. package/lib/payment/index.d.ts +2 -9
  158. package/lib/payment/index.js +7 -16
  159. package/lib/payment/product-card.d.ts +2 -11
  160. package/lib/payment/product-card.js +13 -20
  161. package/lib/payment/product-donation.js +71 -66
  162. package/lib/payment/product-item.d.ts +2 -9
  163. package/lib/payment/product-item.js +24 -25
  164. package/lib/payment/product-skeleton.js +2 -2
  165. package/lib/payment/skeleton/donation.js +8 -4
  166. package/lib/payment/skeleton/overview.js +6 -2
  167. package/lib/payment/skeleton/payment.js +9 -3
  168. package/lib/payment/success.d.ts +2 -9
  169. package/lib/payment/success.js +12 -15
  170. package/lib/payment/summary.d.ts +2 -17
  171. package/lib/payment/summary.js +44 -45
  172. package/lib/theme/index.d.ts +0 -5
  173. package/lib/theme/index.js +2 -5
  174. package/lib/theme/typography.d.ts +2 -2
  175. package/package.json +40 -40
  176. package/src/checkout/donate.tsx +103 -35
  177. package/src/checkout/form.tsx +5 -14
  178. package/src/checkout/table.tsx +3 -3
  179. package/src/components/blockchain/gas.tsx +5 -3
  180. package/src/components/blockchain/tx.tsx +22 -8
  181. package/src/components/confirm.tsx +4 -11
  182. package/src/components/country-select.tsx +391 -378
  183. package/src/components/input.tsx +49 -45
  184. package/src/components/link.tsx +9 -7
  185. package/src/components/livemode.tsx +2 -6
  186. package/src/components/loading-button.tsx +63 -76
  187. package/src/components/over-due-invoice-payment.tsx +43 -28
  188. package/src/components/payment-beneficiaries.tsx +33 -14
  189. package/src/components/pricing-item.tsx +1 -4
  190. package/src/components/pricing-table.tsx +8 -8
  191. package/src/components/resume-subscription.tsx +20 -14
  192. package/src/components/table.tsx +2 -2
  193. package/src/components/truncated-text.tsx +0 -6
  194. package/src/contexts/donate.tsx +6 -7
  195. package/src/contexts/payment.tsx +7 -3
  196. package/src/history/invoice/list.tsx +74 -35
  197. package/src/history/payment/list.tsx +53 -16
  198. package/src/hooks/keyboard.ts +1 -1
  199. package/src/payment/amount.tsx +1 -6
  200. package/src/payment/donation-form.tsx +47 -29
  201. package/src/payment/error.tsx +16 -8
  202. package/src/payment/footer.tsx +11 -3
  203. package/src/payment/form/addon.tsx +6 -1
  204. package/src/payment/form/address.tsx +3 -7
  205. package/src/payment/form/currency.tsx +12 -2
  206. package/src/payment/form/index.tsx +30 -12
  207. package/src/payment/form/stripe/form.tsx +1 -5
  208. package/src/payment/header.tsx +14 -2
  209. package/src/payment/index.tsx +10 -21
  210. package/src/payment/product-card.tsx +41 -18
  211. package/src/payment/product-donation.tsx +85 -47
  212. package/src/payment/product-item.tsx +46 -24
  213. package/src/payment/product-skeleton.tsx +3 -2
  214. package/src/payment/skeleton/donation.tsx +12 -2
  215. package/src/payment/skeleton/overview.tsx +12 -2
  216. package/src/payment/skeleton/payment.tsx +16 -3
  217. package/src/payment/success.tsx +26 -15
  218. package/src/payment/summary.tsx +74 -42
  219. package/src/theme/index.tsx +5 -8
  220. package/src/theme/typography.ts +2 -2
@@ -1,4 +1,4 @@
1
- import React, { forwardRef, type ReactNode, useImperativeHandle, useRef } from 'react';
1
+ import React, { type ReactNode, useImperativeHandle, useRef } from 'react';
2
2
  import { Box, FormLabel, InputAdornment, TextField, Typography } from '@mui/material';
3
3
  import get from 'lodash/get';
4
4
  import { Controller, useFormContext } from 'react-hook-form';
@@ -24,50 +24,54 @@ function FormInputError({ error }: { error: string }) {
24
24
  );
25
25
  }
26
26
 
27
- const FormInput = forwardRef<HTMLInputElement, InputProps>(
28
- ({ name, label, placeholder, rules, errorPosition, wrapperStyle, ...rest }, ref) => {
29
- const { control, formState } = useFormContext();
30
- const inputRef = useRef<HTMLInputElement | null>(null);
31
- useImperativeHandle(ref, () => {
32
- return inputRef.current as HTMLInputElement;
33
- });
34
- const error = get(formState.errors, name)?.message as string;
27
+ export default function FormInput({
28
+ ref = undefined,
29
+ name,
30
+ label = '',
31
+ placeholder = '',
32
+ rules = {},
33
+ errorPosition = 'bottom',
34
+ wrapperStyle = {},
35
+ inputProps = {},
36
+ ...rest
37
+ }: InputProps & {
38
+ ref?: React.RefObject<HTMLInputElement>;
39
+ inputProps?: TextFieldProps['inputProps'];
40
+ }) {
41
+ const { control, formState } = useFormContext();
42
+ const inputRef = useRef<HTMLInputElement | null>(null);
43
+ useImperativeHandle(ref, () => {
44
+ return inputRef.current as HTMLInputElement;
45
+ });
46
+ const error = get(formState.errors, name)?.message as string;
35
47
 
36
- return (
37
- <Controller
38
- name={name}
39
- control={control}
40
- rules={rules}
41
- render={({ field }) => (
42
- <Box sx={{ width: '100%', ...wrapperStyle }}>
43
- {!!label && <FormLabel sx={{ color: 'text.primary' }}>{label}</FormLabel>}
44
- <TextField
45
- fullWidth
46
- error={!!get(formState.errors, name)}
47
- helperText={errorPosition === 'bottom' && error ? error : ''}
48
- placeholder={placeholder}
49
- size="small"
50
- {...field}
51
- {...rest}
52
- inputRef={inputRef}
53
- InputProps={Object.assign(
48
+ return (
49
+ <Controller
50
+ name={name}
51
+ control={control}
52
+ rules={rules}
53
+ render={({ field }) => (
54
+ <Box sx={{ width: '100%', ...wrapperStyle }}>
55
+ {!!label && <FormLabel sx={{ color: 'text.primary' }}>{label}</FormLabel>}
56
+ <TextField
57
+ fullWidth
58
+ error={!!get(formState.errors, name)}
59
+ helperText={errorPosition === 'bottom' && error ? error : ''}
60
+ placeholder={placeholder}
61
+ size="small"
62
+ {...field}
63
+ {...rest}
64
+ inputRef={inputRef}
65
+ slotProps={{
66
+ htmlInput: inputProps,
67
+ input: Object.assign(
54
68
  rest.InputProps || {},
55
69
  errorPosition === 'right' && error ? { endAdornment: <FormInputError error={error} /> } : {}
56
- )}
57
- />
58
- </Box>
59
- )}
60
- />
61
- );
62
- }
63
- );
64
-
65
- FormInput.defaultProps = {
66
- label: '',
67
- placeholder: '',
68
- errorPosition: 'bottom',
69
- rules: {},
70
- wrapperStyle: {},
71
- };
72
-
73
- export default FormInput;
70
+ ),
71
+ }}
72
+ />
73
+ </Box>
74
+ )}
75
+ />
76
+ );
77
+ }
@@ -10,7 +10,15 @@ interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
10
10
  outLink?: boolean;
11
11
  }
12
12
 
13
- export default function Link({ to, children, onClick, replace, target, outLink = false, ...props }: LinkProps) {
13
+ export default function Link({
14
+ to,
15
+ children,
16
+ onClick,
17
+ replace = false,
18
+ target = undefined,
19
+ outLink = false,
20
+ ...props
21
+ }: LinkProps) {
14
22
  const navigate = useNavigate();
15
23
 
16
24
  const handleClick = (e: React.MouseEvent<HTMLAnchorElement>) => {
@@ -32,9 +40,3 @@ export default function Link({ to, children, onClick, replace, target, outLink =
32
40
  </a>
33
41
  );
34
42
  }
35
-
36
- Link.defaultProps = {
37
- replace: false,
38
- target: undefined,
39
- outLink: false,
40
- };
@@ -7,7 +7,8 @@ type Props = {
7
7
  backgroundColor?: string;
8
8
  } & ChipOwnProps;
9
9
 
10
- export default function Livemode({ color, backgroundColor, sx }: Props) {
10
+ // @ts-ignore
11
+ export default function Livemode({ color = '#bb5504', backgroundColor = '#ffde92', sx }: Props) {
11
12
  const { t } = useLocaleContext();
12
13
  return (
13
14
  <Chip
@@ -29,8 +30,3 @@ export default function Livemode({ color, backgroundColor, sx }: Props) {
29
30
  />
30
31
  );
31
32
  }
32
-
33
- Livemode.defaultProps = {
34
- color: '#bb5504',
35
- backgroundColor: '#ffde92',
36
- };
@@ -7,7 +7,6 @@ import {
7
7
  Theme,
8
8
  Typography,
9
9
  } from '@mui/material';
10
- import { forwardRef } from 'react';
11
10
 
12
11
  export interface LoadingButtonProps extends ButtonProps {
13
12
  loading?: boolean;
@@ -17,84 +16,72 @@ export interface LoadingButtonProps extends ButtonProps {
17
16
  loadingOnly?: boolean;
18
17
  }
19
18
 
20
- const LoadingButton = forwardRef<HTMLButtonElement, LoadingButtonProps>(
21
- (
22
- {
23
- children,
24
- loading,
25
- loadingPosition = 'start',
26
- loadingIndicator,
27
- loadingProps = {},
28
- onClick,
29
- sx,
30
- loadingOnly = false,
31
- ...props
32
- },
33
- ref
34
- ) => {
35
- const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {
36
- if (loading) {
37
- return;
38
- }
39
- onClick?.(e);
40
- };
19
+ export default function LoadingButton({
20
+ ref = undefined,
21
+ children,
22
+ loading = false,
23
+ loadingPosition = 'start',
24
+ loadingIndicator = undefined,
25
+ loadingProps = {},
26
+ loadingOnly = false,
27
+ onClick,
28
+ sx,
29
+ ...props
30
+ }: LoadingButtonProps & {
31
+ ref?: React.RefObject<HTMLButtonElement>;
32
+ }) {
33
+ const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {
34
+ if (loading) {
35
+ return;
36
+ }
37
+ onClick?.(e);
38
+ };
41
39
 
42
- const getPositionStyles = (position: string) => {
43
- return {
44
- color: 'inherit',
45
- ...(position === 'start' && { mr: 1 }),
46
- ...(position === 'end' && { ml: 1 }),
47
- ...(position === 'center' && {
48
- position: 'absolute',
49
- left: '50%',
50
- transform: 'translateY(-50%) translateX(-50%)',
51
- top: '50%',
52
- }),
53
- display: 'inline-flex',
54
- alignItems: 'center',
55
- } as const;
56
- };
40
+ const getPositionStyles = (position: string) => {
41
+ return {
42
+ color: 'inherit',
43
+ ...(position === 'start' && { mr: 1 }),
44
+ ...(position === 'end' && { ml: 1 }),
45
+ ...(position === 'center' && {
46
+ position: 'absolute',
47
+ left: '50%',
48
+ transform: 'translateY(-50%) translateX(-50%)',
49
+ top: '50%',
50
+ }),
51
+ display: 'inline-flex',
52
+ alignItems: 'center',
53
+ } as const;
54
+ };
57
55
 
58
- const defaultIndicator = (
59
- <CircularProgress size={16} {...loadingProps} sx={{ color: 'inherit', ...(loadingProps?.sx || {}) }} />
60
- );
56
+ const defaultIndicator = (
57
+ <CircularProgress size={16} {...loadingProps} sx={{ color: 'inherit', ...(loadingProps?.sx || {}) }} />
58
+ );
61
59
 
62
- const indicator = (
63
- <Typography sx={getPositionStyles(loadingPosition) as SxProps<Theme>}>
64
- {loadingIndicator || defaultIndicator}
65
- </Typography>
66
- );
60
+ const indicator = (
61
+ <Typography sx={getPositionStyles(loadingPosition) as SxProps<Theme>}>
62
+ {loadingIndicator || defaultIndicator}
63
+ </Typography>
64
+ );
67
65
 
68
- return (
69
- <Button
70
- ref={ref}
71
- disabled={props.disabled || loading}
72
- onClick={handleClick}
73
- sx={{
74
- position: 'relative',
75
- display: 'inline-flex',
76
- alignItems: 'center',
77
- justifyContent: 'center',
78
- ...sx,
79
- }}
80
- {...props}>
81
- {loading && loadingPosition === 'start' && indicator}
82
- <Typography sx={{ visibility: loading && loadingOnly ? 'hidden' : 'visible' }}>{children}</Typography>
83
- {loading && loadingPosition === 'center' && indicator}
84
- {loading && loadingPosition === 'end' && indicator}
85
- </Button>
86
- );
87
- }
88
- );
66
+ return (
67
+ <Button
68
+ ref={ref}
69
+ disabled={props.disabled || loading}
70
+ onClick={handleClick}
71
+ sx={{
72
+ position: 'relative',
73
+ display: 'inline-flex',
74
+ alignItems: 'center',
75
+ justifyContent: 'center',
76
+ ...sx,
77
+ }}
78
+ {...props}>
79
+ {loading && loadingPosition === 'start' && indicator}
80
+ <Typography sx={{ visibility: loading && loadingOnly ? 'hidden' : 'visible' }}>{children}</Typography>
81
+ {loading && loadingPosition === 'center' && indicator}
82
+ {loading && loadingPosition === 'end' && indicator}
83
+ </Button>
84
+ );
85
+ }
89
86
 
90
87
  LoadingButton.displayName = 'LoadingButton';
91
-
92
- LoadingButton.defaultProps = {
93
- loading: false,
94
- loadingIndicator: undefined,
95
- loadingPosition: 'start',
96
- loadingProps: {},
97
- loadingOnly: false,
98
- };
99
-
100
- export default LoadingButton;
@@ -92,16 +92,18 @@ const fetchOverdueInvoices = async (params: {
92
92
  };
93
93
 
94
94
  function OverdueInvoicePayment({
95
- subscriptionId,
96
- customerId,
95
+ subscriptionId = undefined,
96
+ customerId = undefined,
97
97
  mode = 'default',
98
- dialogProps = {},
99
- children,
98
+ dialogProps = {
99
+ open: true,
100
+ },
101
+ children = undefined,
100
102
  onPaid = () => {},
101
103
  detailLinkOptions = { enabled: true },
102
104
  successToast = true,
103
105
  alertMessage = '',
104
- authToken,
106
+ authToken = undefined,
105
107
  }: Props) {
106
108
  const { t, locale } = useLocaleContext();
107
109
  const theme = useTheme();
@@ -463,11 +465,19 @@ function OverdueInvoicePayment({
463
465
  {error ? (
464
466
  <Alert severity="error">{error.message}</Alert>
465
467
  ) : (
466
- <Stack gap={1}>
468
+ <Stack
469
+ sx={{
470
+ gap: 1,
471
+ }}>
467
472
  {summaryList.length === 0 && (
468
473
  <>
469
474
  <Alert severity="success">{getEmptyStateMessage()}</Alert>
470
- <Stack direction="row" justifyContent="flex-end" mt={2}>
475
+ <Stack
476
+ direction="row"
477
+ sx={{
478
+ justifyContent: 'flex-end',
479
+ mt: 2,
480
+ }}>
471
481
  <Button variant="outlined" color="primary" onClick={handleClose} sx={{ width: 'fit-content' }}>
472
482
  {/* @ts-ignore */}
473
483
  {t('common.know')}
@@ -477,7 +487,11 @@ function OverdueInvoicePayment({
477
487
  )}
478
488
  {summaryList.length === 1 && (
479
489
  <>
480
- <Typography color="text.secondary" variant="body1">
490
+ <Typography
491
+ variant="body1"
492
+ sx={{
493
+ color: 'text.secondary',
494
+ }}>
481
495
  {getOverdueTitle()}
482
496
  {detailLinkOptions.enabled && (
483
497
  <>
@@ -494,7 +508,13 @@ function OverdueInvoicePayment({
494
508
  </>
495
509
  )}
496
510
  </Typography>
497
- <Stack direction="row" justifyContent="flex-end" gap={2} mt={2}>
511
+ <Stack
512
+ direction="row"
513
+ sx={{
514
+ justifyContent: 'flex-end',
515
+ gap: 2,
516
+ mt: 2,
517
+ }}>
498
518
  <Button variant="outlined" color="primary" onClick={handleClose}>
499
519
  {/* @ts-ignore */}
500
520
  {t('common.cancel')}
@@ -506,7 +526,11 @@ function OverdueInvoicePayment({
506
526
  )}
507
527
  {summaryList.length > 1 && (
508
528
  <>
509
- <Typography color="text.secondary" variant="body1">
529
+ <Typography
530
+ variant="body1"
531
+ sx={{
532
+ color: 'text.secondary',
533
+ }}>
510
534
  {getOverdueTitle()}
511
535
  {detailLinkOptions.enabled && (
512
536
  <>
@@ -523,7 +547,11 @@ function OverdueInvoicePayment({
523
547
  </>
524
548
  )}
525
549
  </Typography>
526
- <Typography color="text.secondary" variant="body1">
550
+ <Typography
551
+ variant="body1"
552
+ sx={{
553
+ color: 'text.secondary',
554
+ }}>
527
555
  {t('payment.subscription.overdue.list')}
528
556
  </Typography>
529
557
  <Stack>
@@ -531,16 +559,18 @@ function OverdueInvoicePayment({
531
559
  <Stack
532
560
  key={item?.currency?.id}
533
561
  direction="row"
534
- justifyContent="space-between"
535
- alignItems="center"
536
562
  sx={{
563
+ justifyContent: 'space-between',
564
+ alignItems: 'center',
537
565
  py: 1,
538
566
  px: 0.5,
539
567
  borderBottom: '1px solid',
540
568
  borderColor: 'grey.200',
569
+
541
570
  '&:hover': {
542
571
  backgroundColor: () => theme.palette.grey[100],
543
572
  },
573
+
544
574
  mt: 0,
545
575
  }}>
546
576
  <Typography>
@@ -567,19 +597,4 @@ function OverdueInvoicePayment({
567
597
  );
568
598
  }
569
599
 
570
- OverdueInvoicePayment.defaultProps = {
571
- mode: 'default',
572
- onPaid: () => {},
573
- dialogProps: {
574
- open: true,
575
- },
576
- children: null,
577
- detailLinkOptions: { enabled: true },
578
- subscriptionId: undefined,
579
- customerId: undefined,
580
- successToast: true,
581
- alertMessage: '',
582
- authToken: undefined,
583
- };
584
-
585
600
  export default OverdueInvoicePayment;
@@ -22,18 +22,17 @@ interface BenefitsProps {
22
22
  totalAmount?: string;
23
23
  }
24
24
 
25
- PaymentBeneficiaries.defaultProps = {
26
- totalAmount: '0',
27
- };
28
-
29
- export default function PaymentBeneficiaries({ data, currency, totalAmount }: BenefitsProps) {
25
+ export default function PaymentBeneficiaries({ data, currency, totalAmount = '0' }: BenefitsProps) {
30
26
  const { t } = useLocaleContext();
31
27
  return (
32
28
  <Stack spacing={2}>
33
- <Typography variant="subtitle2" color="text.secondary">
29
+ <Typography
30
+ variant="subtitle2"
31
+ sx={{
32
+ color: 'text.secondary',
33
+ }}>
34
34
  {t('benefits.title', { count: data.length })}
35
35
  </Typography>
36
-
37
36
  {data.map((item) => {
38
37
  const amount =
39
38
  item.amount ||
@@ -47,17 +46,24 @@ export default function PaymentBeneficiaries({ data, currency, totalAmount }: Be
47
46
  <Stack
48
47
  key={item.address}
49
48
  direction={{ xs: 'column', sm: 'row' }}
50
- alignItems="center"
51
- justifyContent="space-between"
52
49
  sx={{
50
+ alignItems: 'center',
51
+ justifyContent: 'space-between',
53
52
  px: 0.5,
54
53
  borderRadius: 1,
55
54
  bgcolor: 'background.paper',
55
+
56
56
  '&:hover': {
57
57
  bgcolor: 'action.hover',
58
58
  },
59
59
  }}>
60
- <Stack direction="row" spacing={1.5} alignItems="center" sx={{ width: { xs: '100%', sm: 'auto' } }}>
60
+ <Stack
61
+ direction="row"
62
+ spacing={1.5}
63
+ sx={{
64
+ alignItems: 'center',
65
+ width: { xs: '100%', sm: 'auto' },
66
+ }}>
61
67
  <Avatar src={item.avatar} alt={item.name} sx={{ width: 32, height: 32 }} variant="square" />
62
68
  <Box>
63
69
  <Typography
@@ -75,17 +81,30 @@ export default function PaymentBeneficiaries({ data, currency, totalAmount }: Be
75
81
  }}>
76
82
  {item.name}
77
83
  </Typography>
78
- <Typography variant="caption" color="text.secondary" sx={{ cursor: 'pointer' }}>
84
+ <Typography
85
+ variant="caption"
86
+ sx={{
87
+ color: 'text.secondary',
88
+ cursor: 'pointer',
89
+ }}>
79
90
  {item.address}
80
91
  </Typography>
81
92
  </Box>
82
93
  </Stack>
83
-
84
- <Stack alignItems="flex-end" sx={{ width: { xs: '100%', sm: 'auto' }, mt: { xs: 1, sm: 0 } }}>
94
+ <Stack
95
+ sx={{
96
+ alignItems: 'flex-end',
97
+ width: { xs: '100%', sm: 'auto' },
98
+ mt: { xs: 1, sm: 0 },
99
+ }}>
85
100
  <Typography variant="subtitle2">
86
101
  {fromUnitToToken(amount, currency.decimal)} {currency.symbol}
87
102
  </Typography>
88
- <Typography variant="caption" color="text.secondary">
103
+ <Typography
104
+ variant="caption"
105
+ sx={{
106
+ color: 'text.secondary',
107
+ }}>
89
108
  {Number(item.percent)}%
90
109
  </Typography>
91
110
  </Stack>
@@ -20,7 +20,7 @@ export type PricingItemProps = {
20
20
  children?: (pricing: PricingRenderProps, product?: TProductExpanded | undefined) => React.ReactNode;
21
21
  };
22
22
 
23
- function PricingItem({ productId, quantity, children, priceId }: PricingItemProps) {
23
+ function PricingItem({ productId, quantity, children = undefined, priceId }: PricingItemProps) {
24
24
  const { locale } = useLocaleContext();
25
25
 
26
26
  const { data: productInfo, loading = false } = useRequest(() => fetchProduct(productId), {
@@ -51,7 +51,4 @@ function PricingItem({ productId, quantity, children, priceId }: PricingItemProp
51
51
  return <Box>{children ? children(pricing, productInfo) : <Typography>{pricing?.totalPrice}</Typography>}</Box>;
52
52
  }
53
53
 
54
- PricingItem.defaultProps = {
55
- children: null,
56
- };
57
54
  export default PricingItem;
@@ -75,14 +75,14 @@ type Props = {
75
75
  hideCurrency?: boolean;
76
76
  };
77
77
 
78
- PricingTable.defaultProps = {
79
- alignItems: 'center',
80
- mode: 'checkout',
81
- interval: '',
82
- hideCurrency: false,
83
- };
84
-
85
- export default function PricingTable({ table, alignItems, interval, mode, onSelect, hideCurrency }: Props) {
78
+ export default function PricingTable({
79
+ table,
80
+ alignItems = 'center',
81
+ interval = '',
82
+ mode = 'checkout',
83
+ onSelect,
84
+ hideCurrency = false,
85
+ }: Props) {
86
86
  const { t, locale } = useLocaleContext();
87
87
  const { isMobile } = useMobile();
88
88
  const {
@@ -59,10 +59,12 @@ const recoverSubscription = async (params: {
59
59
 
60
60
  function RecoverSubscription({
61
61
  subscriptionId,
62
- dialogProps = {},
62
+ dialogProps = {
63
+ open: true,
64
+ },
63
65
  onResumed = () => {},
64
66
  successToast = true,
65
- authToken,
67
+ authToken = undefined,
66
68
  }: Props) {
67
69
  const { t, locale } = useLocaleContext();
68
70
  const { connect } = usePaymentContext();
@@ -182,8 +184,15 @@ function RecoverSubscription({
182
184
  {error ? (
183
185
  <Alert severity="error">{error.message}</Alert>
184
186
  ) : (
185
- <Stack gap={2}>
186
- <Typography color="text.secondary" variant="body2">
187
+ <Stack
188
+ sx={{
189
+ gap: 2,
190
+ }}>
191
+ <Typography
192
+ variant="body2"
193
+ sx={{
194
+ color: 'text.secondary',
195
+ }}>
187
196
  {t('payment.customer.recover.description', {
188
197
  date: formatToDate(Number(data?.subscription?.current_period_end || '0') * 1000),
189
198
  })}
@@ -191,7 +200,13 @@ function RecoverSubscription({
191
200
 
192
201
  {needStake && <Alert severity="warning">{t('payment.customer.recover.stakeRequiredDescription')}</Alert>}
193
202
 
194
- <Stack direction="row" justifyContent="flex-end" gap={2} mt={2}>
203
+ <Stack
204
+ direction="row"
205
+ sx={{
206
+ justifyContent: 'flex-end',
207
+ gap: 2,
208
+ mt: 2,
209
+ }}>
195
210
  <Button variant="outlined" color="primary" onClick={handleClose}>
196
211
  {t('common.cancel')}
197
212
  </Button>
@@ -205,13 +220,4 @@ function RecoverSubscription({
205
220
  );
206
221
  }
207
222
 
208
- RecoverSubscription.defaultProps = {
209
- onResumed: () => {},
210
- dialogProps: {
211
- open: true,
212
- },
213
- successToast: true,
214
- authToken: undefined,
215
- };
216
-
217
223
  export default RecoverSubscription;
@@ -81,13 +81,13 @@ const Wrapped = styled(Datatable)`
81
81
  table.MuiTable-root {
82
82
  outline: 1px solid;
83
83
  outline-color: ${({ theme }) => theme.palette.grey[100]};
84
- border-radius: ${({ theme }) => `${2 * theme.shape.borderRadius}px`};
84
+ border-radius: ${({ theme }) => `${2 * (theme.shape.borderRadius as number)}px`};
85
85
  overflow: hidden;
86
86
  }
87
87
  [class*='MUIDataTable-responsiveBase'] {
88
88
  outline: 1px solid;
89
89
  outline-color: ${({ theme }) => theme.palette.grey[100]};
90
- border-radius: ${({ theme }) => `${2 * theme.shape.borderRadius}px`};
90
+ border-radius: ${({ theme }) => `${2 * (theme.shape.borderRadius as number)}px`};
91
91
  }
92
92
 
93
93
  th.MuiTableCell-head {
@@ -35,9 +35,3 @@ export default function TruncatedText({ text = '', maxLength = 100, useWidth = f
35
35
  </CustomTooltip>
36
36
  );
37
37
  }
38
-
39
- TruncatedText.defaultProps = {
40
- useWidth: false,
41
- text: '',
42
- maxLength: 100,
43
- };