import React, { ReactElement } from 'react'; import type { DebouncedFunc } from 'lodash'; import { AxisStackGroups } from '../util/ChartUtils'; import { AxisType, CategoricalChartOptions, ChartCoordinate, DataKey, LayoutType, Margin, StackOffsetType, TooltipEventType } from '../util/types'; import { AccessibilityManager } from './AccessibilityManager'; import { AxisMap, CategoricalChartState } from './types'; export interface MousePointer { pageX: number; pageY: number; } export type GraphicalItem> = ReactElement> & { item: ReactElement>; }; /** * This function exists as a temporary workaround. * * Why? generateCategoricalChart does not render `{children}` directly; * instead it passes them through `renderByOrder` function which reads their handlers. * * So, this is a handler that does nothing. * Once we get rid of `renderByOrder` and switch to JSX only, we can get rid of this handler too. * * @param {JSX} element as is in JSX * @returns {JSX} the same element */ declare function renderAsIs(element: React.ReactElement): React.ReactElement; /** * Get the configuration of axis by the options of axis instance * @param {Object} props Latest props * @param {Array} axes The instance of axes * @param {Array} graphicalItems The instances of item * @param {String} axisType The type of axis, xAxis - x-axis, yAxis - y-axis * @param {String} axisIdKey The unique id of an axis * @param {Object} stackGroups The items grouped by axisId and stackId * @param {Number} dataStartIndex The start index of the data series when a brush is applied * @param {Number} dataEndIndex The end index of the data series when a brush is applied * @return {Object} Configuration */ export declare const getAxisMapByAxes: (props: CategoricalChartProps, { axes, graphicalItems, axisType, axisIdKey, stackGroups, dataStartIndex, dataEndIndex, }: { axes: ReadonlyArray; graphicalItems: ReadonlyArray; axisType: AxisType; axisIdKey: string; stackGroups: AxisStackGroups; dataStartIndex: number; dataEndIndex: number; }) => AxisMap; /** * Returns default, reset state for the categorical chart. * @param {Object} props Props object to use when creating the default state * @return {Object} Whole new state */ export declare const createDefaultState: (props: CategoricalChartProps) => CategoricalChartState; export type CategoricalChartFunc = (nextState: CategoricalChartState, event: any) => void; export interface CategoricalChartProps { syncId?: number | string; syncMethod?: 'index' | 'value' | Function; compact?: boolean; width?: number; height?: number; dataKey?: DataKey; data?: any[]; layout?: LayoutType; stackOffset?: StackOffsetType; throttleDelay?: number; margin?: Margin; barCategoryGap?: number | string; barGap?: number | string; barSize?: number | string; maxBarSize?: number; style?: any; className?: string; children?: any; defaultShowTooltip?: boolean; onClick?: CategoricalChartFunc; onMouseLeave?: CategoricalChartFunc; onMouseEnter?: CategoricalChartFunc; onMouseMove?: CategoricalChartFunc; onMouseDown?: CategoricalChartFunc; onMouseUp?: CategoricalChartFunc; onContextMenu?: CategoricalChartFunc; onDoubleClick?: CategoricalChartFunc; reverseStackOrder?: boolean; id?: string; startAngle?: number; endAngle?: number; cx?: number | string; cy?: number | string; innerRadius?: number | string; outerRadius?: number | string; title?: string; desc?: string; accessibilityLayer?: boolean; role?: string; tabIndex?: number; } export declare const generateCategoricalChart: ({ chartName, GraphicalChild, defaultTooltipEventType, validateTooltipEventTypes, axisComponents, legendContent, formatAxisMap, defaultProps, }: CategoricalChartOptions) => React.ForwardRefExoticComponent any>; container?: HTMLElement; componentDidMount(): void; displayDefaultTooltip(): void; getSnapshotBeforeUpdate(prevProps: Readonly, prevState: Readonly): null; componentDidUpdate(prevProps: CategoricalChartProps): void; componentWillUnmount(): void; getTooltipEventType(): TooltipEventType; /** * Get the information of mouse in chart, return null when the mouse is not in the chart * @param {MousePointer} event The event object * @return {Object} Mouse data */ getMouseInfo(event: MousePointer): { activeTooltipIndex: number; activeLabel: any; activePayload: any[]; activeCoordinate: ChartCoordinate; xValue: any; yValue: any; chartX: number; chartY: number; } | { activeTooltipIndex: number; activeLabel: any; activePayload: any[]; activeCoordinate: ChartCoordinate; chartX: number; chartY: number; }; inRange(x: number, y: number, scale?: number): any; parseEventsOfWrapper(): any; addListener(): void; removeListener(): void; handleLegendBBoxUpdate: (box: DOMRect | null) => void; handleReceiveSyncEvent: (cId: number | string, data: CategoricalChartState, emitter: Symbol) => void; handleBrushChange: ({ startIndex, endIndex }: { startIndex: number; endIndex: number; }) => void; /** * The handler of mouse entering chart * @param {Object} e Event object * @return {Null} null */ handleMouseEnter: (e: React.MouseEvent) => void; triggeredAfterMouseMove: (e: MousePointer) => any; /** * The handler of mouse entering a scatter * @param {Object} el The active scatter * @return {Object} no return */ handleItemMouseEnter: (el: any) => void; /** * The handler of mouse leaving a scatter * @return {Object} no return */ handleItemMouseLeave: () => void; /** * The handler of mouse moving in chart * @param {React.MouseEvent} e Event object * @return {void} no return */ handleMouseMove: (e: MousePointer & Partial>) => void; /** * The handler if mouse leaving chart * @param {Object} e Event object * @return {Null} no return */ handleMouseLeave: (e: any) => void; handleOuterEvent: (e: React.MouseEvent | React.TouchEvent) => void; handleClick: (e: React.MouseEvent) => void; handleMouseDown: (e: React.MouseEvent | React.Touch) => void; handleMouseUp: (e: React.MouseEvent | React.Touch) => void; handleTouchMove: (e: React.TouchEvent) => void; handleTouchStart: (e: React.TouchEvent) => void; handleTouchEnd: (e: React.TouchEvent) => void; handleDoubleClick: (e: React.MouseEvent) => void; handleContextMenu: (e: React.MouseEvent) => void; triggerSyncEvent: (data: CategoricalChartState) => void; applySyncEvent: (data: CategoricalChartState) => void; filterFormatItem(item: any, displayName: any, childIndex: any): any; renderCursor: (element: ReactElement) => React.JSX.Element; renderPolarAxis: (element: React.ReactElement, displayName: string, index: number) => React.ReactElement>; renderPolarGrid: (element: React.ReactElement) => React.ReactElement; /** * Draw legend * @return {ReactElement} The instance of Legend */ renderLegend: () => React.ReactElement; /** * Draw Tooltip * @return {ReactElement} The instance of Tooltip */ renderTooltip: () => React.ReactElement; renderBrush: (element: React.ReactElement) => React.ReactElement>; renderReferenceElement: (element: React.ReactElement, displayName: string, index: number) => React.ReactElement; renderActivePoints: ({ item, activePoint, basePoint, childIndex, isRange }: any) => React.ReactElement>[]; renderGraphicChild: (element: React.ReactElement, displayName: string, index: number) => any[]; renderCustomized: (element: React.ReactElement, displayName: string, index: number) => React.ReactElement; renderClipPath(): React.JSX.Element; getXScales(): { [x: string]: Function | import("../util/types").ScaleType; }; getYScales(): { [x: string]: Function | import("../util/types").ScaleType; }; getXScaleByAxisId(axisId: string): Function | import("../util/types").ScaleType; getYScaleByAxisId(axisId: string): Function | import("../util/types").ScaleType; getItemByXY(chartXY: { x: number; y: number; }): { graphicalItem: any; payload: any; }; renderMap: { CartesianGrid: { handler: typeof renderAsIs; once: boolean; }; ReferenceArea: { handler: (element: React.ReactElement, displayName: string, index: number) => React.ReactElement; }; ReferenceLine: { handler: typeof renderAsIs; }; ReferenceDot: { handler: (element: React.ReactElement, displayName: string, index: number) => React.ReactElement; }; XAxis: { handler: typeof renderAsIs; }; YAxis: { handler: typeof renderAsIs; }; Brush: { handler: (element: React.ReactElement) => React.ReactElement>; once: boolean; }; Bar: { handler: (element: React.ReactElement, displayName: string, index: number) => any[]; }; Line: { handler: (element: React.ReactElement, displayName: string, index: number) => any[]; }; Area: { handler: (element: React.ReactElement, displayName: string, index: number) => any[]; }; Radar: { handler: (element: React.ReactElement, displayName: string, index: number) => any[]; }; RadialBar: { handler: (element: React.ReactElement, displayName: string, index: number) => any[]; }; Scatter: { handler: (element: React.ReactElement, displayName: string, index: number) => any[]; }; Pie: { handler: (element: React.ReactElement, displayName: string, index: number) => any[]; }; Funnel: { handler: (element: React.ReactElement, displayName: string, index: number) => any[]; }; Tooltip: { handler: (element: ReactElement) => React.JSX.Element; once: boolean; }; PolarGrid: { handler: (element: React.ReactElement) => React.ReactElement; once: boolean; }; PolarAngleAxis: { handler: (element: React.ReactElement, displayName: string, index: number) => React.ReactElement>; }; PolarRadiusAxis: { handler: (element: React.ReactElement, displayName: string, index: number) => React.ReactElement>; }; Customized: { handler: (element: React.ReactElement, displayName: string, index: number) => React.ReactElement; }; }; render(): React.JSX.Element; context: unknown; setState(state: CategoricalChartState | ((prevState: Readonly, props: Readonly) => CategoricalChartState | Pick) | Pick, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly; state: Readonly; refs: { [key: string]: React.ReactInstance; }; shouldComponentUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): boolean; componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void; componentWillMount?(): void; UNSAFE_componentWillMount?(): void; componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; UNSAFE_componentWillReceiveProps?(nextProps: Readonly, nextContext: any): void; componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; UNSAFE_componentWillUpdate?(nextProps: Readonly, nextState: Readonly, nextContext: any): void; }>>; export {};