UNPKG

@nivo/axes

Version:
61 lines 2.01 kB
import * as React from 'react'; import { ScaleValue, TicksSpec } from '@nivo/scales'; import { SpringValues } from '@react-spring/web'; import { PartialTheme, Theme } from '@nivo/theming'; export type GridValuesBuilder<T> = T extends number ? number[] : T extends string ? string[] : T extends Date ? Date[] : never; export type GridValues<T extends ScaleValue> = number | GridValuesBuilder<T>; export type Point = { x: number; y: number; }; export type AxisLegendPosition = 'start' | 'middle' | 'end'; export type ValueFormatter<Value extends ScaleValue> = (value: Value) => Value | string; export interface AxisProps<Value extends ScaleValue = any> { ticksPosition?: 'before' | 'after'; tickValues?: TicksSpec<Value>; tickSize?: number; tickPadding?: number; tickRotation?: number; format?: string | ValueFormatter<Value>; truncateTickAt?: number; renderTick?: (props: AxisTickProps<Value>) => JSX.Element; legend?: React.ReactNode; legendPosition?: AxisLegendPosition; legendOffset?: number; style?: PartialTheme['axis']; ariaHidden?: boolean; } export interface CanvasAxisProps<Value extends ScaleValue = any> extends Omit<AxisProps<Value>, 'legend'> { legend?: string; } export interface AxisTickProps<Value extends ScaleValue> { tickIndex: number; value: Value; format?: ValueFormatter<Value>; x: number; y: number; lineX: number; lineY: number; textX: number; textY: number; textBaseline: string; textAnchor: string; opacity?: number; rotate?: number; theme: Theme['axis']['ticks']; animatedProps: SpringValues<{ opacity: number; textTransform: string; transform: string; }>; truncateTickAt: number | undefined; onClick?: (event: React.MouseEvent<SVGGElement, MouseEvent>, value: Value | string) => void; } export type Line = { key: string; x1: number; x2: number; y1: number; y2: number; }; //# sourceMappingURL=types.d.ts.map