@quasar/quasar-ui-qcalendar
Version:
QCalendar - Day/Month/Week Calendars, Popups, Date Pickers, Schedules, Agendas, Planners and Tasks for your Vue Apps
34 lines (33 loc) • 1.14 kB
TypeScript
import { Ref } from 'vue';
import type { Timestamp } from '../utils/Timestamp';
import { type IntervalProps } from './useInterval';
export declare const useNavigationProps: {
useNavigation: BooleanConstructor;
};
export interface NavigationProps {
useNavigation: boolean;
}
interface NavigationContext {
rootRef: Ref<HTMLElement | null>;
focusRef: Ref<string>;
focusValue: Ref<Timestamp>;
datesRef: Ref<Record<string, HTMLElement>>;
parsedView: Ref<string>;
emittedValue: Ref<string>;
direction: Ref<'next' | 'prev'>;
times: {
today: Timestamp;
};
}
interface UseNavigationReturn {
startNavigation: () => void;
endNavigation: () => void;
tryFocus: () => void;
}
/**
* Hook for handling keyboard navigation in calendar components.
* @param props The props related to navigation.
* @param context Various reactive references used for navigation.
*/
export default function useNavigation(props: NavigationProps & IntervalProps, { rootRef, focusRef, focusValue, datesRef, parsedView, emittedValue, direction, times, }: NavigationContext): UseNavigationReturn;
export {};