@adyen/lume-vue3
Version:
Lume is a Vue data visualization component library, built with Typescript and D3.
80 lines • 3.07 kB
TypeScript
import type { SankeyNode } from 'd3-sankey';
import type { SankeyLink, SankeyLinkProps, SankeyNodeProps } from './alluvial';
import type { Data, DatasetValueObject, InternalDataset } from './dataset';
import type { ContainerSize } from './size';
export interface AlluvialNodeEventPayload {
node: SankeyNode<SankeyNodeProps, SankeyLinkProps>;
event: MouseEvent | PointerEvent;
}
export interface AlluvialLinkEventPayload {
link: SankeyLink<SankeyNodeProps, SankeyLinkProps>;
event: MouseEvent | PointerEvent;
}
export interface DataChangedEventPayload<T> {
newValue: T;
oldValue: T | null;
}
export interface HoverIndexChangedEventPayload {
oldIndex: number;
newIndex: number;
}
export interface InteractionEventPayload {
index: number | null;
value?: number | string;
datasetIndex?: number;
event?: MouseEvent | PointerEvent;
}
export interface LegendEventPayload {
index: number;
dataset: InternalDataset<DatasetValueObject>;
event: MouseEvent | PointerEvent;
}
export interface TooltipEventPayload {
index: number;
targetElement: Element | null;
}
export interface AxisEvents {
(e: 'axis-click', p: InteractionEventPayload): void;
(e: 'axis-mouseenter', p: InteractionEventPayload): void;
(e: 'axis-mouseleave'): void;
}
export interface AlluvialDiagramEvents {
(e: 'node-click', p: AlluvialNodeEventPayload): void;
(e: 'node-mouseenter', p: AlluvialNodeEventPayload): void;
(e: 'node-mouseleave', p: AlluvialNodeEventPayload): void;
(e: 'link-click', p: AlluvialLinkEventPayload): void;
(e: 'link-mouseenter', p: AlluvialLinkEventPayload): void;
(e: 'link-mouseleave', p: AlluvialLinkEventPayload): void;
}
export interface BarChartEvents {
(e: 'bar-click', p: InteractionEventPayload): void;
}
export interface ChartEvents {
(e: 'rendered'): void;
(e: 'resize', p: ContainerSize): void;
(e: 'hovered-index-changed', p: HoverIndexChangedEventPayload): void;
(e: 'update:hoveredIndex', p: number): void;
(e: 'data-changed', p: DataChangedEventPayload<Data>): void;
(e: 'labels-changed', p: DataChangedEventPayload<Array<string>>): void;
(e: 'chart-click', p: MouseEvent): void;
(e: 'chart-mouseenter', p: MouseEvent): void;
(e: 'chart-mouseleave'): void;
}
export interface LegendEvents {
(e: 'legend-click', p: LegendEventPayload): void;
(e: 'legend-mouseenter', p: LegendEventPayload): void;
(e: 'legend-mouseleave'): void;
}
export interface LineChartEvents {
(e: 'line-click', p: InteractionEventPayload): void;
(e: 'point-click', p: InteractionEventPayload): void;
}
export interface TooltipEvents {
(e: 'tooltip-opened', p: TooltipEventPayload): void;
(e: 'tooltip-moved', p: TooltipEventPayload): void;
(e: 'tooltip-closed'): void;
(e: 'tooltip-mouseenter'): void;
(e: 'tooltip-mouseleave'): void;
}
export type ChartEmits = AxisEvents & AlluvialDiagramEvents & BarChartEvents & ChartEvents & LegendEvents & LineChartEvents & TooltipEvents;
//# sourceMappingURL=events.d.ts.map