import type { DynamicContext, TranslatableGroup } from 'ag-charts-core'; import { BBox, BaseManager, ChartUpdateType } from 'ag-charts-core'; import type { ChartRegistry } from '../../module/moduleContext'; import type { ChartOverlays } from '../overlay/chartOverlays'; import { Tooltip, type TooltipContent } from '../tooltip/tooltip'; import { type PickedNode } from './pickManager'; import type { UnknownSeries } from './series'; import type { DatumIndex, SeriesNodeDatum } from './seriesTypes'; export interface SeriesAreaChartDependencies { hasViewportSupport(): boolean; hasPgUpPgDownSupport(): boolean; getUpdateType(): ChartUpdateType; getTooltipContent: (series: PickedNode['series'], datumIndex: DatumIndex, removeThisDatum: SeriesNodeDatum, purpose: 'aria-label' | 'tooltip') => TooltipContent[]; seriesRoot: TranslatableGroup; ctx: DynamicContext; tooltip: Tooltip; overlays: ChartOverlays; } export declare class SeriesAreaManager extends BaseManager { private readonly chart; static readonly className = "SeriesAreaManager"; readonly id: string; private series; private seriesRect?; private hoverRect?; private announceMode; get bbox(): BBox; private readonly highlight; private readonly tooltip; private readonly activeState; /** * A11y Requirements for Tooltip/Highlight (see AG-13051 for details): * * - When the series-area is blurred, allow the mouse to update the tooltip/highlight. * * - When the series-area receives a `focus` event, use `:focus-visible` to guess the input device. * (this is decided by the browser). * * - For keyboard users, `focus` and `keydown` events always updates & shows the tooltip/highlight on * the currently (or newly) focused datum. * * - For keyboard users, `mousemove` events update the tooltip/highlight iff `pickNode` finds a match * for the mouse event offsets. */ private _device; private setHoverDevice; private getHoverDevice; private getFocusIndicator; private getFocusedNodeDatum; private getSwapChain; private readonly pickManager; private readonly focus; private cachedTooltipContent; constructor(chart: SeriesAreaChartDependencies); private initFocus; private isState; private isIgnoredTouch; dataChanged(): void; private preSceneRender; private updateComplete; private update; seriesChanged(series: UnknownSeries[]): void; private layoutComplete; private onAnimationStart; private onResize; private onZoomChangeComplete; private onContextMenu; private onContainerContextMenu; /** Lets the modules owning other regions annotate those overlapping `point`; they never dispatch themselves. */ private collectContextMenuRegions; private onLeave; private onWheel; private onDragMove; private onHover; private onHoverLikeEvent; private onClick; private emitSeriesAreaHoverEvent; private emitSeriesAreaCanvasClickEvent; private emitSeriesAreaClickEvent; private toCanvasCoordinates; private onFocus; private onBlur; private onKeyDown; private onDismiss; private isFocusedTooltipDismissed; private onPage; private onNav; private onArrow; private onHome; private onEnd; private onSubmit; private onExpandCollapse; /** Whether the picked node reacts to a click or double-click, which is when it shows the pointer cursor. */ private isClickable; /** Selection, built-in controls and tooltip pagination act on single clicks only. */ private handlesNodeEvent; /** Whether a node directly under the pointer handles the event, so it beats an overlapping cross line. */ private isHandledNodeHit; private pickSeriesNodeHitParams; private checkSeriesNodeClick; private handleFocusFromUserInput; private refreshFocus; private handleFocus; private handleSeriesFocus; private makeUpdateFocusParamsFromDeltas; private handleSeriesFocusDeltas; private handleSeriesFocusIndices; private pickFocus; private pickViewportFocus; private updatePickedFocus; private maybeAnnouncePickedFocus; private announceDataSelectionChange; private getDatumAriaText; private getSelectedStateAriaText; private clearHighlight; private clearTooltip; private clearAll; private clearStaleHighlightTooltip; private clearUnpreventable; private clearCachedEvents; private createHoverScheduler; private resetHoverScheduler; private hoverScheduler; private handleHoverFromState; private handleHoverHighlight; private handleHoverTooltip; private showTooltip; private maybeEnterInteractiveTooltip; private changeHighlightDatum; private onHighlightSelectionUpdate; private pickNodes; private isTooltipEnabled; private getTooltipContent; private onLegendHover; private onActiveLoadMemento; onActiveClear(): void; private refreshSetState; private onActiveDatum; private findPickedNodes; }