All files / src/components/Calendar Calendar.tsx

100% Statements 5/5
100% Branches 0/0
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31    13x                                       13x       37x   37x    
'use client';
 
import React from 'react';
 
import type {DateTime} from '@gravity-ui/date-utils';
 
import {CalendarView} from '../CalendarView/CalendarView';
import type {CalendarInstance, CalendarSize} from '../CalendarView/CalendarView';
import {useCalendarState} from '../CalendarView/hooks/useCalendarState';
import type {CalendarStateOptions} from '../CalendarView/hooks/useCalendarState';
import type {AccessibilityProps, DomProps, FocusEvents, StyleProps} from '../types';
 
import '../CalendarView/Calendar.scss';
 
export interface CalendarProps<T = DateTime>
    extends CalendarStateOptions<T>, DomProps, StyleProps, FocusEvents, AccessibilityProps {
    /**
     * The size of the element.
     * @default m
     */
    size?: CalendarSize;
}
export const Calendar = React.forwardRef<CalendarInstance, CalendarProps>(function Calendar(
    props: CalendarProps,
    ref,
) {
    const state = useCalendarState(props);
 
    return <CalendarView ref={ref} {...props} state={state} />;
});