/
index.d.ts
80 lines (63 loc) · 2.19 KB
/
index.d.ts
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
import * as React from 'react'
import { Dimensions, Theme, Box, BoxAlign } from '@nivo/core'
import { LegendProps } from '@nivo/legends'
declare module '@nivo/calendar' {
export type DateOrString = string | Date
export interface CalendarDatum {
day: string
value: number
}
export interface CalendarData {
from: DateOrString
to: DateOrString
data: CalendarDatum[]
}
export type CalendarDirection = 'horizontal' | 'vertical'
export type CalendarLegend = LegendProps & {
itemCount: number
}
export interface CalendarDayData {
date: Date
day: string
value?: number
color: string
size: number
x: number
y: number
}
export type CalendarCommonProps = Partial<{
minValue: 'auto' | number
maxValue: 'auto' | number
direction: CalendarDirection
colors: string[]
margin: Box
align: BoxAlign
yearLegend: (year: number) => string | number
yearSpacing: number
yearLegendOffset: number
monthLegend: (year: number, month: number, date: Date) => string | number
monthSpacing: number
monthBorderWidth: number
monthBorderColor: string
monthLegendOffset: number
monthLegendPosition: 'before' | 'after'
daySpacing: number
dayBorderWidth: number
dayBorderColor: string
emptyColor: string
isInteractive: boolean
tooltipFormat: (value: number) => string | number
tooltip: React.StatelessComponent<CalendarDayData>
legends: CalendarLegend[]
theme: Theme
}>
export type CalendarSvgProps = CalendarData &
CalendarCommonProps &
Partial<{
onClick: (datum: CalendarDayData, event: React.MouseEvent<SVGRectElement>) => void
}>
export class Calendar extends React.Component<CalendarSvgProps & Dimensions> {}
export class ResponsiveCalendar extends React.Component<CalendarSvgProps> {}
export class CalendarCanvas extends React.Component<CalendarSvgProps & Dimensions> {}
export class ResponsiveCalendarCanvas extends React.Component<CalendarSvgProps> {}
}