UNPKG

@mui/x-date-pickers

Version:

The community edition of the Date and Time Picker components (MUI X).

55 lines 1.85 kB
import { usePickerValue } from './usePickerValue'; import { usePickerViews } from './usePickerViews'; import { usePickerLayoutProps } from './usePickerLayoutProps'; import { buildWarning } from '../../utils/warning'; const warnRenderInputIsDefined = buildWarning(['The `renderInput` prop has been removed in version 6.0 of the Date and Time Pickers.', 'You can replace it with the `textField` component slot in most cases.', 'For more information, please have a look at the migration guide (https://mui.com/x/migration/migration-pickers-v5/#input-renderer-required-in-v5).']); export const usePicker = ({ props, valueManager, valueType, wrapperVariant, additionalViewProps, validator, autoFocusView, rendererInterceptor, fieldRef }) => { if (process.env.NODE_ENV !== 'production') { if (props.renderInput != null) { warnRenderInputIsDefined(); } } const pickerValueResponse = usePickerValue({ props, valueManager, valueType, wrapperVariant, validator }); const pickerViewsResponse = usePickerViews({ props, additionalViewProps, autoFocusView, fieldRef, propsFromPickerValue: pickerValueResponse.viewProps, rendererInterceptor }); const pickerLayoutResponse = usePickerLayoutProps({ props, wrapperVariant, propsFromPickerValue: pickerValueResponse.layoutProps, propsFromPickerViews: pickerViewsResponse.layoutProps }); return { // Picker value open: pickerValueResponse.open, actions: pickerValueResponse.actions, fieldProps: pickerValueResponse.fieldProps, // Picker views renderCurrentView: pickerViewsResponse.renderCurrentView, hasUIView: pickerViewsResponse.hasUIView, shouldRestoreFocus: pickerViewsResponse.shouldRestoreFocus, // Picker layout layoutProps: pickerLayoutResponse.layoutProps }; };