import { FunctionComponent, MouseEventHandler, FocusEventHandler, KeyboardEventHandler, WheelEventHandler, AriaAttributes, Ref, RefObject } from 'react'; import { Interpolation, SpringValue } from '@react-spring/web'; import { EventMap, InteractionHandlers } from '@nivo/core'; import { BorderRadiusCorners } from '@nivo/theming'; export interface Rect { x: number; y: number; width: number; height: number; } export type RectNodeHandle = { focus: () => void; }; export type NodeRefMap = Record>; export interface NodeA11yProps { isFocusable?: boolean; role?: string; label?: AriaAttributes['aria-label']; labelledBy?: AriaAttributes['aria-labelledby']; describedBy?: AriaAttributes['aria-describedby']; level?: AriaAttributes['aria-level']; hidden?: AriaAttributes['aria-hidden']; } export interface NodeWithRect { id: string | number; rect: Rect; a11y?: NodeA11yProps; } export interface NodeWithRectAndColor extends NodeWithRect { color: string; /** When using patterns/gradients */ fill?: string; } export interface Anchor { x: number; y: number; } export interface AnchorWithRect extends Anchor { id: string; rect: Rect; } export type RectTransitionMode = 'reveal-up' | 'reveal-right' | 'reveal-down' | 'reveal-left' | 'center' | 'flow-up' | 'flow-right' | 'flow-down' | 'flow-left'; type NodeEventMap = Pick; export type NodeInteractionHandlers = InteractionHandlers; export interface RectNodeComponentProps { ref?: Ref; node: Node; style: { progress: SpringValue; x: SpringValue; y: SpringValue; transform: Interpolation; width: Interpolation; height: Interpolation; color: SpringValue; opacity: SpringValue; borderRadius: BorderRadiusCorners; borderWidth: number; borderColor: SpringValue; }; isInteractive: boolean; onMouseEnter?: MouseEventHandler; onMouseMove?: MouseEventHandler; onMouseLeave?: MouseEventHandler; onClick?: MouseEventHandler; onDoubleClick?: MouseEventHandler; onFocus?: FocusEventHandler; onBlur?: FocusEventHandler; onKeyDown?: KeyboardEventHandler; onContextMenu?: MouseEventHandler; onWheel?: WheelEventHandler; testId?: string; } export type RectNodeComponent = FunctionComponent>; export {}; //# sourceMappingURL=types.d.ts.map