'use client' import { type ForwardedRef, forwardRef, useImperativeHandle } from 'react' import { useCalendarState } from './useCalendarState' import { CalendarNav } from './CalendarNav' import { CalendarGrid } from './CalendarGrid' import type { IPktCalendar, PktCalendarHandle } from './types' export type { IPktCalendar, IPktCalendarStrings, PktCalendarHandle } from './types' export const PktCalendar = forwardRef(( props, ref: ForwardedRef, ) => { const state = useCalendarState(props) useImperativeHandle(ref, () => ({ handleDateSelect: state.handleDateSelect, addToSelected: state.addToSelected, removeFromSelected: state.removeFromSelected, toggleSelected: state.toggleSelectedDate, focusOnCurrentDate: state.focusOnCurrentDate, close: state.close, }), [state.handleDateSelect, state.addToSelected, state.removeFromSelected, state.toggleSelectedDate, state.focusOnCurrentDate, state.close]) return (
) }) PktCalendar.displayName = 'PktCalendar'