Skip to content

Commit 2c9d6d2

Browse files
type error is removed
1 parent 2456fe0 commit 2c9d6d2

File tree

1 file changed

+28
-22
lines changed

1 file changed

+28
-22
lines changed

packages/mui-material/src/TablePagination/TablePagination.d.ts

+28-22
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
import * as React from 'react';
22
import { SxProps } from '@mui/system';
3+
import { FilledInputProps } from '@mui/material/FilledInput';
4+
import { OutlinedInputProps } from '@mui/material/OutlinedInput';
5+
import { InputProps as StandardInputProps } from '../Input';
36
import { Theme } from '../styles';
47
import { OverridableComponent, OverrideProps } from '../OverridableComponent';
58
import { TablePaginationActionsProps } from './TablePaginationActions';
@@ -18,7 +21,10 @@ export interface LabelDisplayedRowsArgs {
1821
/**
1922
* This type is kept for compatibility. Use `TablePaginationOwnProps` instead.
2023
*/
21-
export type TablePaginationBaseProps = Omit<TableCellProps, 'classes' | 'component' | 'children'>;
24+
export type TablePaginationBaseProps = Omit<
25+
TableCellProps,
26+
'classes' | 'component' | 'children' | 'variant'
27+
>;
2228

2329
export interface TablePaginationOwnProps extends TablePaginationBaseProps {
2430
/**
@@ -108,7 +114,7 @@ export interface TablePaginationOwnProps extends TablePaginationBaseProps {
108114
* Props applied to the rows per page [`Select`](/material-ui/api/select/) element.
109115
* @default {}
110116
*/
111-
SelectProps?: Partial<SelectProps>;
117+
SelectProps?: SelectPropsVariant;
112118
/**
113119
* If `true`, show the first-page button.
114120
* @default false
@@ -124,19 +130,25 @@ export interface TablePaginationOwnProps extends TablePaginationBaseProps {
124130
*/
125131
sx?: SxProps<Theme>;
126132
}
127-
type SelectVariant = 'filled' | 'standard' | 'outlined';
128133

129-
/**
130-
export type SelectPropsByVariant<Variant extends SelectVariant = SelectVariant> =
131-
Variant extends 'filled'
132-
? TablePaginationOwnProps
133-
: Variant extends 'standard'
134-
? TablePaginationOwnProps
135-
: TablePaginationOwnProps;
136-
**/
134+
type TablePaginationVariants = 'filled' | 'standard' | 'outlined';
135+
136+
type SelectInputProps<Variant extends TablePaginationVariants> = Variant extends 'filled'
137+
? Partial<FilledInputProps>
138+
: Variant extends 'standard'
139+
? Partial<StandardInputProps>
140+
: Partial<OutlinedInputProps>;
141+
142+
export interface SelectPropsVariant<
143+
Variant extends TablePaginationVariants = TablePaginationVariants,
144+
> extends Partial<SelectProps> {
145+
variant?: Variant;
146+
InputProps?: SelectInputProps<Variant>;
147+
// ... (other variant-specific props)
148+
}
137149

138150
export interface TablePaginationTypeMap<AdditionalProps, RootComponent extends React.ElementType> {
139-
props: AdditionalProps & { SelectProps: { variant: SelectVariant } };
151+
props: AdditionalProps & TablePaginationOwnProps;
140152
defaultComponent: RootComponent;
141153
}
142154

@@ -153,21 +165,15 @@ export interface TablePaginationTypeMap<AdditionalProps, RootComponent extends R
153165
* - inherits [TableCell API](https://mui.com/material-ui/api/table-cell/)
154166
*/
155167

156-
declare const TablePagination: <
157-
AdditionalProps = {},
158-
RootComponent extends React.ElementType = React.JSXElementConstructor<TablePaginationBaseProps>,
159-
Variant extends SelectVariant = SelectVariant
160-
>(
161-
props: TablePaginationProps<AdditionalProps, RootComponent, Variant> & { variant?: Variant }
162-
) => JSX.Element;
168+
declare const TablePagination: OverridableComponent<
169+
TablePaginationTypeMap<{}, React.JSXElementConstructor<TablePaginationBaseProps>>
170+
>;
163171

164172
export type TablePaginationProps<
165-
AdditionalProps = {},
166173
RootComponent extends React.ElementType = React.JSXElementConstructor<TablePaginationBaseProps>,
167-
Variant extends SelectVariant = SelectVariant
174+
AdditionalProps = {},
168175
> = OverrideProps<TablePaginationTypeMap<AdditionalProps, RootComponent>, RootComponent> & {
169176
component?: React.ElementType;
170-
variant?: Variant;
171177
};
172178

173179
export default TablePagination;

0 commit comments

Comments
 (0)