Skip to content

TimeClock API

API reference docs for the React TimeClock component. Learn about the props, CSS, and other APIs of this exported module.

Demos

Import

import { TimeClock } from '@mui/x-date-pickers/TimeClock';
// or
import { TimeClock } from '@mui/x-date-pickers';
// or
import { TimeClock } from '@mui/x-date-pickers-pro';

Learn about the difference by reading this guide on minimizing bundle size.

Props

Props of the native component are also available.

NameTypeDefaultDescription
ampmboolutils.is12HourCycleInCurrentLocale()

12h/24h view for hour selection clock.

ampmInClockboolfalse

Display ampm controls under the clock (instead of in the toolbar).

autoFocusbool-

If true, the main element is focused during the first mount. This main element is: - the element chosen by the visible view if any (i.e: the selected day on the day view). - the input element if there is a field rendered.

classesobject-

Override or extend the styles applied to the component.

See CSS classes API below for more details.

defaultValueobject-

The default selected value. Used when the component is not controlled.

disabledboolfalse

If true, the picker views and text field are disabled.

disableFutureboolfalse

If true, disable values after the current date for date components, time for time components and both for date time components.

disableIgnoringDatePartForTimeValidationboolfalse

Do not ignore date part when validating min/max time.

disablePastboolfalse

If true, disable values before the current date for date components, time for time components and both for date time components.

focusedView'hours'
| 'minutes'
| 'seconds'
-

Controlled focused view.

maxTimeobject-

Maximal selectable time. The date part of the object will be ignored unless props.disableIgnoringDatePartForTimeValidation === true.

minTimeobject-

Minimal selectable time. The date part of the object will be ignored unless props.disableIgnoringDatePartForTimeValidation === true.

minutesStepnumber1

Step over minutes.

onChangefunc-

Callback fired when the value changes.

Signature:function(value: TValue, selectionState: PickerSelectionState | undefined, selectedView: TView | undefined) => void
  • value The new value.
  • selectionState Indicates if the date selection is complete.
  • selectedView Indicates the view in which the selection has been made.
onFocusedViewChangefunc-

Callback fired on focused view change.

Signature:function(view: TView, hasFocus: boolean) => void
  • view The new view to focus or not.
  • hasFocus true if the view should be focused.
onViewChangefunc-

Callback fired on view change.

Signature:function(view: TView) => void
  • view The new view.
openTo'hours'
| 'minutes'
| 'seconds'
-

The default visible view. Used when the component view is not controlled. Must be a valid option from views list.

readOnlyboolfalse

If true, the picker views and text field are read-only.

referenceDateobjectThe closest valid time using the validation props, except callbacks such as `shouldDisableTime`.

The date used to generate the new value when both value and defaultValue are empty.

shouldDisableTimefunc-

Disable specific time.

Signature:function(value: TDate, view: TimeView) => boolean
  • value The value to check.
  • view The clock type of the timeValue.

Returns: If true the time will be disabled.

slotPropsobject{}

The props used for each component slot.

slotsobject{}

Overridable component slots.

See Slots API below for more details.

sxArray<func
| object
| bool>
| func
| object
-

The system prop that allows defining system overrides as well as additional CSS styles.

See the `sx` page for more details.

timezonestringThe timezone of the `value` or `defaultValue` prop is defined, 'default' otherwise.

Choose which timezone to use for the value. Example: "default", "system", "UTC", "America/New_York". If you pass values from other timezones to some props, they will be converted to this timezone before being used.

See the timezones documentation for more details.

valueobject-

The selected value. Used when the component is controlled.

view'hours'
| 'minutes'
| 'seconds'
-

The visible view. Used when the component view is controlled. Must be a valid option from views list.

viewsArray<'hours'
| 'minutes'
| 'seconds'>
['hours', 'minutes']

Available views.

The ref is forwarded to the root element.

Theme default props

You can use MuiTimeClock to change the default props of this component with the theme.

Slots

Slot nameClass nameDefault componentDescription
leftArrowIconArrowLeftIcon displayed in the left view switch button.
nextIconButtonIconButtonButton allowing to switch to the right view.
previousIconButtonIconButtonButton allowing to switch to the left view.
rightArrowIconArrowRightIcon displayed in the right view switch button.

CSS classes

These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.

Class nameRule nameDescription
.MuiTimeClock-arrowSwitcherarrowSwitcherStyles applied to the arrowSwitcher element.
.MuiTimeClock-rootrootStyles applied to the root element.

You can override the style of the component using one of these customization options: