ph-material-pickers
Version:
React components, that implements material design pickers for material-ui v4
27 lines (26 loc) • 2.13 kB
TypeScript
import { DateInputProps } from '../_shared/PureDateInput';
import { StaticWrapper, StaticWrapperProps } from './StaticWrapper';
import { MobileWrapper, MobileWrapperProps } from './MobileWrapper';
import { DesktopWrapper, DesktopWrapperProps } from './DesktopWrapper';
import { ResponsiveWrapper, ResponsiveWrapperProps } from './ResponsiveWrapper';
import { DesktopTooltipWrapper, DesktopTooltipWrapperProps } from './DesktopTooltipWrapper';
export declare type DateInputPropsLike<TInputValue, TDateValue> = Omit<DateInputProps<TInputValue, TDateValue>, 'renderInput' | 'validationError'> & {
renderInput: (...args: any) => JSX.Element;
validationError?: any;
};
export interface WrapperProps<TInputProps = DateInputPropsLike<any, any>> {
open: boolean;
onAccept: () => void;
onDismiss: () => void;
onClear: () => void;
onSetToday: () => void;
DateInputProps: TInputProps;
KeyboardDateInputComponent?: React.ComponentType<TInputProps>;
PureDateInputComponent?: React.ComponentType<TInputProps>;
}
export declare type OmitInnerWrapperProps<T extends WrapperProps<any>> = Omit<T, keyof WrapperProps<any>>;
export declare type SomeWrapper = typeof ResponsiveWrapper | typeof StaticWrapper | typeof MobileWrapper | typeof DesktopWrapper | typeof DesktopTooltipWrapper;
export declare type ExtendWrapper<TWrapper extends SomeWrapper> = TWrapper extends typeof StaticWrapper ? StaticWrapperProps : TWrapper extends typeof ResponsiveWrapper ? OmitInnerWrapperProps<ResponsiveWrapperProps> : TWrapper extends typeof MobileWrapper ? OmitInnerWrapperProps<MobileWrapperProps> : TWrapper extends typeof DesktopWrapper ? OmitInnerWrapperProps<DesktopWrapperProps> : TWrapper extends typeof DesktopWrapper ? OmitInnerWrapperProps<DesktopWrapperProps> : TWrapper extends typeof DesktopTooltipWrapper ? OmitInnerWrapperProps<DesktopTooltipWrapperProps> : never;
export declare function getWrapperVariant(wrapper: SomeWrapper): "static" | "desktop" | "mobile" | null;
export declare type WrapperVariant = ReturnType<typeof getWrapperVariant>;
export { StaticWrapper, MobileWrapper, DesktopWrapper };