/
_old_index.d.ts
108 lines (87 loc) · 3.21 KB
/
_old_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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
/*
* This file is part of the nivo project.
*
* Copyright 2016-present, Raphaël Benitte.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
import { Component } from 'react'
import { Box, MotionProps, Dimensions, Theme } from '@nivo/core'
import { OrdinalColorScaleConfig, InheritedColorConfig } from '@nivo/colors'
import { LegendProps } from '@nivo/legends'
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>
declare module '@nivo/chord' {
export interface ArcData {
id: string
index: number
label: string
value: number
formattedValue: number | string
startAngle: number
endAngle: number
color: string
}
export interface RibbonSubject extends ArcData {
subindex: number
}
export interface RibbonData {
id: string
source: RibbonSubject
target: RibbonSubject
}
export type ChordArcMouseHandler = (arc: ArcData, event: React.MouseEvent<any>) => void
export type ChordRibbonMouseHandler = (ribbon: RibbonData, event: React.MouseEvent<any>) => void
type LabelAccessor = (datum: Omit<ArcData, 'label'>) => string
type ValueFormatter = (datum: Omit<ArcData, 'formattedValue' | 'label'>) => string | number
interface CommonChordProps {
keys: string[]
matrix: number[][]
label?: string | LabelAccessor
valueFormat?: string | ValueFormatter
margin?: Box
padAngle?: number
innerRadiusRatio?: number
innerRadiusOffset?: number
layers: any[]
colors?: OrdinalColorScaleConfig
theme?: Theme
arcOpacity?: number
arcHoverOpacity?: number
arcHoverOthersOpacity?: number
arcBorderWidth?: number
arcBorderColor?: InheritedColorConfig<ArcData>
onArcMouseEnter?: ChordArcMouseHandler
onArcMouseMove?: ChordArcMouseHandler
onArcMouseLeave?: ChordArcMouseHandler
onArcClick?: ChordArcMouseHandler
arcTooltip?: any
ribbonOpacity?: number
ribbonHoverOpacity?: number
ribbonHoverOthersOpacity?: number
ribbonBorderWidth?: number
ribbonBorderColor?: InheritedColorConfig<RibbonData>
enableLabel?: boolean
labelOffset?: number
labelRotation?: number
labelTextColor?: InheritedColorConfig<ArcData>
isInteractive?: boolean
legends?: LegendProps[]
}
export type ChordProps = CommonChordProps &
MotionProps & {
onRibbonMouseEnter?: ChordRibbonMouseHandler
onRibbonMouseMove?: ChordRibbonMouseHandler
onRibbonMouseLeave?: ChordRibbonMouseHandler
onRibbonClick?: ChordRibbonMouseHandler
ribbonTooltip?: any
role?: string
}
export class Chord extends Component<ChordProps & Dimensions> {}
export class ResponsiveChord extends Component<ChordProps> {}
export type ChordCanvasProps = CommonChordProps & {
pixelRatio?: number
}
export class ChordCanvas extends Component<ChordCanvasProps & Dimensions> {}
export class ResponsiveChordCanvas extends Component<ChordCanvasProps> {}
}