@mui/x-date-pickers
Version:
The community edition of the MUI X Date and Time Picker components.
32 lines • 1.27 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import * as React from 'react';
import { usePickerPrivateContext } from "../internals/hooks/usePickerPrivateContext.js";
import { useUtils } from "../internals/hooks/useUtils.js";
export function usePickerDayOwnerState(parameters) {
const {
disabled,
selected,
today,
outsideCurrentMonth,
day,
disableMargin,
disableHighlightToday,
showDaysOutsideCurrentMonth
} = parameters;
const utils = useUtils();
const {
ownerState: pickerOwnerState
} = usePickerPrivateContext();
return React.useMemo(() => _extends({}, pickerOwnerState, {
day,
isDaySelected: selected ?? false,
isDayDisabled: disabled ?? false,
isDayCurrent: today ?? false,
isDayOutsideMonth: outsideCurrentMonth ?? false,
isDayStartOfWeek: utils.isSameDay(day, utils.startOfWeek(day)),
isDayEndOfWeek: utils.isSameDay(day, utils.endOfWeek(day)),
disableMargin: disableMargin ?? false,
disableHighlightToday: disableHighlightToday ?? false,
showDaysOutsideCurrentMonth: showDaysOutsideCurrentMonth ?? false
}), [utils, pickerOwnerState, day, selected, disabled, today, outsideCurrentMonth, disableMargin, disableHighlightToday, showDaysOutsideCurrentMonth]);
}