UNPKG

@r365/react-calendar-timeline

Version:
34 lines (33 loc) 1.77 kB
import { CSSProperties, ReactNode } from 'react'; import { SelectUnits } from '../utility/calendar'; import { defaultHeaderFormats } from '../default-config'; import { IntervalRenderer, SidebarHeaderChildrenFnProps, TimelineDate, TimelineTimeSteps } from '../types/main'; type UnitType = keyof typeof defaultHeaderFormats; export interface DateHeaderProps<Data> { style?: CSSProperties | undefined; className?: string | undefined; unit?: keyof TimelineTimeSteps | 'primaryHeader' | undefined; timelineUnit: SelectUnits; labelFormat?: (([startTime, endTime]: [TimelineDate, TimelineDate], unit: UnitType | 'primaryHeader', labelWidth: number) => string) | undefined; intervalRenderer?: (props: IntervalRenderer<Data>) => ReactNode; headerData?: Data | undefined; children?: ((props: SidebarHeaderChildrenFnProps<Data>) => ReactNode) | undefined; height?: number | undefined; } export type DateHeaderWrapper<Data> = { unit?: keyof TimelineTimeSteps | 'primaryHeader'; labelFormat?: typeof formatLabel; style?: CSSProperties; className?: string; intervalRenderer?: (props: IntervalRenderer<Data>) => ReactNode; headerData?: Data; height?: number; }; export declare function DateHeader<Data>({ labelFormat, unit, style, className, intervalRenderer, headerData, height, }: DateHeaderWrapper<Data>): import("react/jsx-runtime").JSX.Element; declare function formatLabel([timeStart]: [TimelineDate, TimelineDate], unit: keyof typeof defaultHeaderFormats, labelWidth: number, formatOptions?: Record<string, { long: Intl.DateTimeFormatOptions; mediumLong: Intl.DateTimeFormatOptions; medium: Intl.DateTimeFormatOptions; short: Intl.DateTimeFormatOptions; }>): string; export default DateHeader;