UNPKG

@r365/react-calendar-timeline

Version:
35 lines (34 loc) 1.7 kB
import { CSSProperties, ReactNode } from 'react'; import { SelectUnits } from '../utility/calendar'; import { defaultHeaderFormats } from '../default-config'; import { IntervalRenderer, SidebarHeaderChildrenFnProps, TimelineTimeSteps } from '../types/main'; import { Moment, unitOfTime } from 'moment'; type UnitType = unitOfTime.Base | unitOfTime._date; export interface DateHeaderProps<Data> { style?: CSSProperties | undefined; className?: string | undefined; unit?: keyof TimelineTimeSteps | 'primaryHeader' | undefined; timelineUnit: SelectUnits; labelFormat?: string | (([startTime, endTime]: [Moment, Moment], 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]: [Moment, Moment], unit: keyof typeof defaultHeaderFormats, labelWidth: number, formatOptions?: Record<string, { long: string; mediumLong: string; medium: string; short: string; }>): string; export default DateHeader;