import { BoxProps, DataAttributes, ElementProps, Factory, MantineRadius, StylesApiProps } from '@mantine/core'; import { DateStringValue, ScheduleEventData, ScheduleMode, ScheduleViewLevel } from '../../types'; import { MonthYearSelectProps } from '../ScheduleHeader/MonthYearSelect/MonthYearSelect'; import { CombinedScheduleHeaderStylesNames } from '../ScheduleHeader/ScheduleHeader'; import { ViewSelectProps } from '../ScheduleHeader/ViewSelect/ViewSelect'; import { YearViewMonthSettings } from './YearViewMonth'; export type YearViewStylesNames = 'yearView' | 'yearViewMonths' | 'yearViewMonth' | 'yearViewWeekday' | 'yearViewDay' | 'yearViewWeek' | 'yearViewWeekNumber' | 'yearViewWeekdays' | 'yearViewWeekdaysCorner' | 'yearViewMonthCaption' | 'yearViewDayIndicators' | 'yearViewDayIndicator' | CombinedScheduleHeaderStylesNames; export type YearViewCssVariables = { yearView: '--year-view-radius'; }; export interface YearViewProps extends YearViewMonthSettings, BoxProps, StylesApiProps, ElementProps<'div'> { __staticSelector?: string; /** Date to display, Date object or date string in `YYYY-MM-DD 00:00:00` format */ date: Date | string; /** Called with the new date value when a date is selected */ onDateChange?: (value: DateStringValue) => void; /** Events to display, must be a stable reference */ events?: ScheduleEventData[]; /** Key of `theme.radius` or any valid CSS value to set `border-radius` @default theme.defaultRadius */ radius?: MantineRadius; /** If set, highlights the current day @default true */ highlightToday?: boolean; /** If set, the header is displayed @default true */ withHeader?: boolean; /** Props passed down to `MonthYearSelect` component in the header */ monthYearSelectProps?: Partial; /** Called when view level select button is clicked */ onViewChange?: (view: ScheduleViewLevel) => void; /** Props passed to previous month control */ previousControlProps?: React.ComponentProps<'button'> & DataAttributes; /** Props passed to next month control */ nextControlProps?: React.ComponentProps<'button'> & DataAttributes; /** Props passed to today control */ todayControlProps?: React.ComponentProps<'button'> & DataAttributes; /** Props passed to view level select */ viewSelectProps?: Partial & DataAttributes; /** Interaction mode: 'default' allows all interactions, 'static' disables event interactions @default default */ mode?: ScheduleMode; /** Max number of generated recurring instances per recurring series @default 2000 */ recurrenceExpansionLimit?: number; } export type YearViewFactory = Factory<{ props: YearViewProps; ref: HTMLDivElement; stylesNames: YearViewStylesNames; vars: YearViewCssVariables; }>; export declare const YearView: import("@mantine/core").MantineComponent<{ props: YearViewProps; ref: HTMLDivElement; stylesNames: YearViewStylesNames; vars: YearViewCssVariables; }>; export declare namespace YearView { type Props = YearViewProps; type Factory = YearViewFactory; type StylesNames = YearViewStylesNames; type CssVariables = YearViewCssVariables; }