Files
ETB/ETB-FrontEnd/node_modules/@mui/x-date-pickers/ClockPicker/ClockPicker.d.ts
Iliyan Angelov 306b20e24a Frontend start
2025-09-14 00:54:48 +03:00

149 lines
5.4 KiB
TypeScript

import * as React from 'react';
import { PickersArrowSwitcherSlotsComponent, PickersArrowSwitcherSlotsComponentsProps } from '../internals/components/PickersArrowSwitcher';
import { PickerOnChangeFn } from '../internals/hooks/useViews';
import { ExportedTimeValidationProps } from '../internals/hooks/validation/useTimeValidation';
import { ClockPickerView, MuiPickersAdapter } from '../internals/models';
import { ClockPickerClasses } from './clockPickerClasses';
export interface ExportedClockPickerProps<TDate> extends ExportedTimeValidationProps<TDate> {
/**
* 12h/24h view for hour selection clock.
* @default false
*/
ampm?: boolean;
/**
* Display ampm controls under the clock (instead of in the toolbar).
* @default false
*/
ampmInClock?: boolean;
/**
* Accessible text that helps user to understand which time and view is selected.
* @template TDate
* @param {ClockPickerView} view The current view rendered.
* @param {TDate | null} time The current time.
* @param {MuiPickersAdapter<TDate>} adapter The current date adapter.
* @returns {string} The clock label.
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
* @default <TDate extends any>(
* view: ClockView,
* time: TDate | null,
* adapter: MuiPickersAdapter<TDate>,
* ) =>
* `Select ${view}. ${
* time === null ? 'No time selected' : `Selected time is ${adapter.format(time, 'fullTime')}`
* }`
*/
getClockLabelText?: (view: ClockPickerView, time: TDate | null, adapter: MuiPickersAdapter<TDate>) => string;
}
export interface ClockPickerSlotsComponent extends PickersArrowSwitcherSlotsComponent {
}
export interface ClockPickerComponentsPropsOverrides {
}
export interface ClockPickerSlotsComponentsProps extends PickersArrowSwitcherSlotsComponentsProps {
}
export interface ClockPickerProps<TDate> extends ExportedClockPickerProps<TDate> {
className?: string;
/**
* Set to `true` if focus should be moved to clock picker.
*/
autoFocus?: boolean;
/**
* Override or extend the styles applied to the component.
*/
classes?: Partial<ClockPickerClasses>;
/**
* Overrideable components.
* @default {}
*/
components?: Partial<ClockPickerSlotsComponent>;
/**
* The props used for each component slot.
* @default {}
*/
componentsProps?: Partial<ClockPickerSlotsComponentsProps>;
/**
* Selected date @DateIOType.
*/
date: TDate | null;
/**
* Get clock number aria-text for hours.
* @param {string} hours The hours to format.
* @returns {string} the formatted hours text.
* @default (hours: string) => `${hours} hours`
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
*/
getHoursClockNumberText?: (hours: string) => string;
/**
* Get clock number aria-text for minutes.
* @param {string} minutes The minutes to format.
* @returns {string} the formatted minutes text.
* @default (minutes: string) => `${minutes} minutes`
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
*/
getMinutesClockNumberText?: (minutes: string) => string;
/**
* Get clock number aria-text for seconds.
* @param {string} seconds The seconds to format.
* @returns {string} the formatted seconds text.
* @default (seconds: string) => `${seconds} seconds`
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
*/
getSecondsClockNumberText?: (seconds: string) => string;
/**
* Left arrow icon aria-label text.
* @default 'open previous view'
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
*/
leftArrowButtonText?: string;
/**
* On change callback @DateIOType.
*/
onChange: PickerOnChangeFn<TDate>;
/**
* Right arrow icon aria-label text.
* @default 'open next view'
* @deprecated Use the `localeText` prop of `LocalizationProvider` instead, see https://mui.com/x/react-date-pickers/localization/.
*/
rightArrowButtonText?: string;
showViewSwitcher?: boolean;
/**
* Controlled open view.
*/
view?: ClockPickerView;
/**
* Views for calendar picker.
* @default ['hours', 'minutes']
*/
views?: readonly ClockPickerView[];
/**
* Callback fired on view change.
* @param {ClockPickerView} view The new view.
*/
onViewChange?: (view: ClockPickerView) => void;
/**
* Initially open view.
* @default 'hours'
*/
openTo?: ClockPickerView;
/**
* If `true`, the picker and text field are disabled.
* @default false
*/
disabled?: boolean;
/**
* Make picker read only.
* @default false
*/
readOnly?: boolean;
}
declare type ClockPickerComponent = (<TDate>(props: ClockPickerProps<TDate> & React.RefAttributes<HTMLDivElement>) => JSX.Element) & {
propTypes?: any;
};
/**
*
* API:
*
* - [ClockPicker API](https://mui.com/x/api/date-pickers/clock-picker/)
*/
export declare const ClockPicker: ClockPickerComponent;
export {};