UNPKG

ph-material-pickers

Version:

React components, that implements material design pickers for material-ui v4

32 lines (31 loc) 1.38 kB
import { WrapperVariant } from '../../wrappers/Wrapper'; import { BasePickerProps } from '../../typings/BasePicker'; import { MuiPickersAdapter } from './useUtils'; export interface PickerStateValueManager<TInput, TDateValue> { parseInput: (utils: MuiPickersAdapter, props: BasePickerProps<TInput, TDateValue>) => TDateValue; emptyValue: TDateValue; areValuesEqual: (utils: MuiPickersAdapter, valueLeft: TDateValue, valueRight: TDateValue) => boolean; } export declare type PickerSelectionState = 'partial' | 'shallow' | 'finish'; export declare function usePickerState<TInput, TDateValue>(props: BasePickerProps<TInput, TDateValue>, valueManager: PickerStateValueManager<TInput, TDateValue>): { pickerProps: { date: TDateValue; isMobileKeyboardViewOpen: boolean; toggleMobileKeyboardView: () => void; onDateChange: (newDate: TDateValue, wrapperVariant: WrapperVariant, selectionState?: PickerSelectionState) => void; }; inputProps: { onChange: (date: TDateValue, keyboardInputValue?: string | undefined) => void; inputFormat: string; open: boolean; rawValue: TInput; openPicker: () => false | void; }; wrapperProps: { open: boolean; onClear: () => void; onAccept: () => void; onDismiss: () => void; onSetToday: () => void; }; };