Skip to content

Commit

Permalink
Use dedicated interface for *Picker components
Browse files Browse the repository at this point in the history
  • Loading branch information
eps1lon committed Mar 11, 2021
1 parent 9843b4b commit dd958dd
Show file tree
Hide file tree
Showing 12 changed files with 72 additions and 60 deletions.
11 changes: 6 additions & 5 deletions packages/material-ui-lab/src/DatePicker/DatePicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,11 @@ function DatePickerWrapper(props: DatePickerWrapperProps) {
);
}

export interface DatePickerProps<TDate = unknown>
extends BaseDatePickerProps<unknown>,
PublicWrapperProps<typeof ResponsiveWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* Demos:
Expand All @@ -158,9 +163,7 @@ function DatePickerWrapper(props: DatePickerWrapperProps) {
* - [DatePicker API](https://material-ui.com/api/date-picker/)
*/
const DatePicker = React.forwardRef(function DatePicker<TDate>(
__props: BaseDatePickerProps<unknown> &
PublicWrapperProps<typeof ResponsiveWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: DatePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -542,6 +545,4 @@ DatePicker.propTypes /* remove-proptypes */ = {
views: PropTypes.arrayOf(PropTypes.oneOf(['date', 'month', 'year']).isRequired),
} as any;

export type DatePickerProps = React.ComponentProps<typeof DatePicker>;

export default DatePicker;
11 changes: 6 additions & 5 deletions packages/material-ui-lab/src/DateTimePicker/DateTimePicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,11 @@ function DateTimePickerWrapper(props: DateTimePickerWrapperProps) {
);
}

export interface DateTimePickerProps<TDate = unknown>
extends BaseDateTimePickerProps<unknown>,
PublicWrapperProps<typeof ResponsiveWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* Demos:
Expand All @@ -220,9 +225,7 @@ function DateTimePickerWrapper(props: DateTimePickerWrapperProps) {
* - [DateTimePicker API](https://material-ui.com/api/date-time-picker/)
*/
const DateTimePicker = React.forwardRef(function DateTimePicker<TDate>(
__props: BaseDateTimePickerProps<unknown> &
PublicWrapperProps<typeof ResponsiveWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: DateTimePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -692,6 +695,4 @@ DateTimePicker.propTypes /* remove-proptypes */ = {
),
} as any;

export type DateTimePickerProps = React.ComponentProps<typeof DateTimePicker>;

export default DateTimePicker;
Original file line number Diff line number Diff line change
Expand Up @@ -91,16 +91,20 @@ function DesktopDatePickerWrapper(props: DesktopDatePickerWrapperProps) {
/>
);
}

export interface DesktopDatePickerProps<TDate = unknown>
extends BaseDatePickerProps<unknown>,
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
PublicWrapperProps<typeof DesktopWrapper> {}

/**
*
* API:
*
* - [DesktopDatePicker API](https://material-ui.com/api/desktop-date-picker/)
*/
const DesktopDatePicker = React.forwardRef(function DesktopDatePicker<TDate>(
__props: BaseDatePickerProps<unknown> &
AllSharedPickerProps<ParsableDate<TDate>, TDate> &
PublicWrapperProps<typeof DesktopWrapper>,
__props: DesktopDatePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -443,6 +447,4 @@ DesktopDatePicker.propTypes /* remove-proptypes */ = {
views: PropTypes.arrayOf(PropTypes.oneOf(['date', 'month', 'year']).isRequired),
} as any;

export type DesktopDatePickerProps = React.ComponentProps<typeof DesktopDatePicker>;

export default DesktopDatePicker;
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,10 @@ function DesktopDateTimePickerWrapper(props: DesktopDateTimePickerWrapperProps)
/>
);
}
export interface DesktopDateTimePickerProps<TDate = unknown>
extends BaseDateTimePickerProps<unknown>,
PublicWrapperProps<typeof DesktopWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
Expand All @@ -104,9 +108,7 @@ function DesktopDateTimePickerWrapper(props: DesktopDateTimePickerWrapperProps)
* - [DesktopDateTimePicker API](https://material-ui.com/api/desktop-date-time-picker/)
*/
const DesktopDateTimePicker = React.forwardRef(function DesktopDateTimePicker<TDate>(
__props: BaseDateTimePickerProps<unknown> &
PublicWrapperProps<typeof DesktopWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: DesktopDateTimePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -536,6 +538,4 @@ DesktopDateTimePicker.propTypes /* remove-proptypes */ = {
),
} as any;

export type DesktopDateTimePickerProps = React.ComponentProps<typeof DesktopDateTimePicker>;

export default DesktopDateTimePicker;
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,19 @@ function DesktopTimePickerWrapper(props: DesktopTimePickerWrapperProps) {
);
}

export interface DesktopTimePickerProps<TDate = unknown>
extends BaseTimePickerProps,
PublicWrapperProps<typeof DesktopWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* API:
*
* - [DesktopTimePicker API](https://material-ui.com/api/desktop-time-picker/)
*/
const DesktopTimePicker = React.forwardRef(function DesktopTimePicker<TDate>(
__props: BaseTimePickerProps &
PublicWrapperProps<typeof DesktopWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: DesktopTimePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -380,6 +383,4 @@ DesktopTimePicker.propTypes /* remove-proptypes */ = {
views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired),
} as any;

export type DesktopTimePickerProps = React.ComponentProps<typeof DesktopTimePicker>;

export default DesktopTimePicker;
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,19 @@ function MobileDatePickerWrapper(props: MobileDatePickerWrapperProps) {
);
}

export interface MobileDatePickerProps<TDate = unknown>
extends BaseDatePickerProps<unknown>,
PublicWrapperProps<typeof MobileWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* API:
*
* - [MobileDatePicker API](https://material-ui.com/api/mobile-date-picker/)
*/
const MobileDatePicker = React.forwardRef(function MobileDatePicker<TDate>(
__props: BaseDatePickerProps<unknown> &
PublicWrapperProps<typeof MobileWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: MobileDatePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -470,6 +473,4 @@ MobileDatePicker.propTypes /* remove-proptypes */ = {
views: PropTypes.arrayOf(PropTypes.oneOf(['date', 'month', 'year']).isRequired),
} as any;

export type MobileDatePickerProps = React.ComponentProps<typeof MobileDatePicker>;

export default MobileDatePicker;
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ function MobileDateTimePickerWrapper(props: MobileDateTimeWrapperProps) {
);
}

export interface MobileDateTimePickerProps<TDate = unknown>
extends BaseDateTimePickerProps<unknown>,
PublicWrapperProps<typeof MobileWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* Demos:
Expand All @@ -103,9 +108,7 @@ function MobileDateTimePickerWrapper(props: MobileDateTimeWrapperProps) {
* - [MobileDateTimePicker API](https://material-ui.com/api/mobile-date-time-picker/)
*/
const MobileDateTimePicker = React.forwardRef(function MobileDateTimePicker<TDate>(
__props: BaseDateTimePickerProps<unknown> &
PublicWrapperProps<typeof MobileWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: MobileDateTimePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -561,6 +564,4 @@ MobileDateTimePicker.propTypes /* remove-proptypes */ = {
),
} as any;

export type MobileDateTimePickerProps = React.ComponentProps<typeof MobileDateTimePicker>;

export default MobileDateTimePicker;
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,19 @@ function MobileTimePickerWrapper(props: MobileTimePickerWrapperProps) {
);
}

export interface MobileTimePickerProps<TDate = unknown>
extends BaseTimePickerProps,
PublicWrapperProps<typeof MobileWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* API:
*
* - [MobileTimePicker API](https://material-ui.com/api/mobile-time-picker/)
*/
const MobileTimePicker = React.forwardRef(function MobileTimePicker<TDate>(
__props: BaseTimePickerProps &
PublicWrapperProps<typeof MobileWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: MobileTimePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -406,6 +409,4 @@ MobileTimePicker.propTypes /* remove-proptypes */ = {
views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired),
} as any;

export type MobileTimePickerProps = React.ComponentProps<typeof MobileTimePicker>;

export default MobileTimePicker;
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,19 @@ function StaticDatePickerWrapper(props: StaticDatePickerWrapperProps) {
);
}

export interface StaticDatePickerProps<TDate = unknown>
extends BaseDatePickerProps<unknown>,
PublicWrapperProps<typeof StaticWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* API:
*
* - [StaticDatePicker API](https://material-ui.com/api/static-date-picker/)
*/
const StaticDatePicker = React.forwardRef(function PickerWithState<TDate>(
__props: BaseDatePickerProps<unknown> &
PublicWrapperProps<typeof StaticWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: StaticDatePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -441,6 +444,4 @@ StaticDatePicker.propTypes /* remove-proptypes */ = {
views: PropTypes.arrayOf(PropTypes.oneOf(['date', 'month', 'year']).isRequired),
} as any;

export type StaticDatePickerProps = React.ComponentProps<typeof StaticDatePicker>;

export default StaticDatePicker;
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ function StaticDateTimePickerWrapper(props: StaticDateTimePickerWrapperProps) {
);
}

export interface StaticDateTimePickerProps<TDate = unknown>
extends BaseDateTimePickerProps<unknown>,
PublicWrapperProps<typeof StaticWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* Demos:
Expand All @@ -103,9 +108,7 @@ function StaticDateTimePickerWrapper(props: StaticDateTimePickerWrapperProps) {
* - [StaticDateTimePicker API](https://material-ui.com/api/static-date-time-picker/)
*/
const StaticDateTimePicker = React.forwardRef(function StaticDateTimePicker<TDate>(
__props: BaseDateTimePickerProps<unknown> &
PublicWrapperProps<typeof StaticWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: StaticDateTimePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -532,6 +535,4 @@ StaticDateTimePicker.propTypes /* remove-proptypes */ = {
),
} as any;

export type StaticDateTimePickerProps = React.ComponentProps<typeof StaticDateTimePicker>;

export default StaticDateTimePicker;
Original file line number Diff line number Diff line change
Expand Up @@ -92,16 +92,19 @@ function StaticTimePickerWrapper(props: StaticTimePickerWrapperProps) {
);
}

export interface StaticTimePickerProps<TDate = unknown>
extends BaseTimePickerProps,
PublicWrapperProps<typeof StaticWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* API:
*
* - [StaticTimePicker API](https://material-ui.com/api/static-time-picker/)
*/
const StaticTimePicker = React.forwardRef(function StaticTimePicker<TDate>(
__props: BaseTimePickerProps &
PublicWrapperProps<typeof StaticWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: StaticTimePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -377,6 +380,4 @@ StaticTimePicker.propTypes /* remove-proptypes */ = {
views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired),
} as any;

export type StaticTimePickerProps = React.ComponentProps<typeof StaticTimePicker>;

export default StaticTimePicker;
11 changes: 6 additions & 5 deletions packages/material-ui-lab/src/TimePicker/TimePicker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,11 @@ function TimePickerWrapper(props: TimePickerWrapperProps) {
);
}

export interface TimePickerProps<TDate = unknown>
extends BaseTimePickerProps,
PublicWrapperProps<typeof ResponsiveWrapper>,
AllSharedPickerProps<ParsableDate<TDate>, TDate> {}

/**
*
* Demos:
Expand All @@ -169,9 +174,7 @@ function TimePickerWrapper(props: TimePickerWrapperProps) {
* - [TimePicker API](https://material-ui.com/api/time-picker/)
*/
const TimePicker = React.forwardRef(function TimePicker<TDate>(
__props: BaseTimePickerProps &
PublicWrapperProps<typeof ResponsiveWrapper> &
AllSharedPickerProps<ParsableDate<TDate>, TDate>,
__props: TimePickerProps<TDate>,
ref: React.Ref<HTMLInputElement>,
) {
const allProps = useInterceptProps(__props) as AllPickerProps<
Expand Down Expand Up @@ -486,6 +489,4 @@ TimePicker.propTypes /* remove-proptypes */ = {
views: PropTypes.arrayOf(PropTypes.oneOf(['hours', 'minutes', 'seconds']).isRequired),
} as any;

export type TimePickerProps = React.ComponentProps<typeof TimePicker>;

export default TimePicker;

0 comments on commit dd958dd

Please sign in to comment.