diff --git a/packages/core/index.d.ts b/packages/core/index.d.ts index 908bbe30b5..b777b7f6b1 100644 --- a/packages/core/index.d.ts +++ b/packages/core/index.d.ts @@ -194,5 +194,9 @@ declare module '@nivo/core' { defs: Def[] } + export function PatternLines(props: Omit): JSX.Element + export function PatternSquares(props: Omit): JSX.Element + export function PatternDots(props: Omit): JSX.Element + export function Defs(props: DefsProps): JSX.Element } diff --git a/packages/swarmplot/index.d.ts b/packages/swarmplot/index.d.ts index 192596250c..c5eae65a8d 100644 --- a/packages/swarmplot/index.d.ts +++ b/packages/swarmplot/index.d.ts @@ -26,6 +26,30 @@ declare module '@nivo/swarmplot' { data: Datum } + export interface LayerProps { + nodes: ComputedNode[] + xScale: (input: number) => number + yScale: (input: number) => number + innerWidth: number + innerHeight: number + outerWidth: number + outerHeight: number + margin: number + getBorderColor: () => string + getBorderWidth: () => number + animate: boolean + motionStiffness: number + motionDamping: number + } + + export enum SwarmPlotLayerType { + Grid = 'grid', + Axes = 'axes', + Nodes = 'nodes', + Mesh = 'mesh', + Annotations = 'annotations' + } + type DatumAccessor = (datum: Datum) => T type ComputedNodeAccessor = (node: ComputedNode) => T @@ -40,6 +64,9 @@ declare module '@nivo/swarmplot' { event: React.MouseEvent ) => void + export type SwarmPlotCustomLayer = (props: LayerProps) => JSX.Element + export type Layers = SwarmPlotCustomLayer | SwarmPlotLayerType + type ValueFormatter = (datum: Datum) => string | number interface CommonSwarmPlotProps { @@ -48,7 +75,7 @@ declare module '@nivo/swarmplot' { margin?: Box groups: string[] - groupBy?: string + groupBy?: string | DatumAccessor identity?: string | DatumAccessor label?: string | DatumAccessor value?: string | DatumAccessor @@ -62,7 +89,7 @@ declare module '@nivo/swarmplot' { forceStrength?: number simulationIterations?: number - layers: any[] + layers?: Layers[] colors?: OrdinalColorsInstruction colorBy?: string | ComputedNodeAccessor