1
0
Fork 0
react-playground/node_modules/@mui/x-date-pickers/internals/hooks/useControlledValue.d.ts
Techognito fc0f69dacb Added Statistics calculation
Statistics now show calculated values
2025-09-04 17:30:00 +02:00

38 lines
No EOL
1.7 KiB
TypeScript

import type { PickerRangeValue, PickerValueManager } from "../models/index.js";
import { PickersTimezone, PickerValidDate } from "../../models/index.js";
import { PickerValidValue } from "../models/index.js";
/**
* Hooks controlling the value while making sure that:
* - The value returned by `onChange` always have the timezone of `props.value` or `props.defaultValue` if defined
* - The value rendered is always the one from `props.timezone` if defined
*/
export declare const useControlledValue: <TValue extends PickerValidValue, TChange extends (...params: any[]) => void>({
name,
timezone: timezoneProp,
value: valueProp,
defaultValue,
referenceDate,
onChange: onChangeProp,
valueManager
}: UseControlledValueWithTimezoneParameters<TValue, TChange>) => {
value: TValue;
handleValueChange: TChange;
timezone: string;
};
interface UseValueWithTimezoneParameters<TValue extends PickerValidValue, TChange extends (...params: any[]) => void> {
timezone: PickersTimezone | undefined;
value: TValue | undefined;
defaultValue: TValue | undefined;
/**
* The reference date as passed to `props.referenceDate`.
* It does not need to have its default value.
* This is only used to determine the timezone to use when `props.value` and `props.defaultValue` are not defined.
*/
referenceDate?: TValue extends PickerRangeValue ? TValue | PickerValidDate : PickerValidDate;
onChange: TChange | undefined;
valueManager: PickerValueManager<TValue, any>;
}
interface UseControlledValueWithTimezoneParameters<TValue extends PickerValidValue, TChange extends (...params: any[]) => void> extends UseValueWithTimezoneParameters<TValue, TChange> {
name: string;
}
export {};