@progress/kendo-vue-charts
Version:
189 lines (188 loc) • 6.65 kB
TypeScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2026 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
import { SankeyData, SankeyExportVisualOptions, SankeyHorizontalMargin, SankeyLabel, SankeyLabelDefaults, SankeyLabelStroke, SankeyLegendItem, SankeyLink, SankeyLinkDataItem, SankeyLinkDefaults, SankeyLinkHighlight, SankeyNode, SankeyNodeDataItem, SankeyNodeDefaults, SankeyFocusHighlight, SankeyNodeLabel, SankeyLinkLabel, SankeyOptions, SankeyTooltipEvent, SankeyTooltip as SankeyTooltipInterface, SankeyEvent as SankeyWidgetEvent } from '@progress/kendo-charts';
import { Legend, Title } from '../common/property-types';
import { Sankey } from './Sankey';
export type { SankeyData, SankeyExportVisualOptions, SankeyHorizontalMargin, SankeyLabel, SankeyLabelDefaults, SankeyLabelStroke, SankeyLegendItem, SankeyLink, SankeyLinkDataItem, SankeyLinkDefaults, SankeyLinkHighlight, SankeyNode, SankeyNodeDataItem, SankeyNodeDefaults, SankeyFocusHighlight, SankeyNodeLabel, SankeyLinkLabel, SankeyOptions };
/**
* The Kendo UI for Vue Sankey event object.
*/
export interface SankeyEvent extends SankeyWidgetEvent {
/**
* The `Sankey` component that triggered the event.
*/
target: typeof Sankey;
}
/**
* Represents the Sankey title options.
*/
export interface SankeyTitle extends Title {
}
/**
* Represents the Sankey legend options.
*/
export interface SankeyLegend extends Omit<Legend, 'inactiveItems' | 'item' | 'focusHighlight'> {
/**
* The configuration of the legend items.
*/
item?: SankeyLegendItem;
}
/**
* Represents the props of the Sankey tooltip content component.
*/
export interface TooltipContentProps {
/**
* Represents the dataItem object of the hovered node or link element.
*/
dataItem: SankeyNodeDataItem | SankeyLinkDataItem;
/**
* The value of the hovered node element.
* The value is available only when the hovered element is a node.
*/
nodeValue?: number;
/**
* The `dir` attribute of the Sankey tooltip content component.
*/
dir?: string;
}
interface TooltipAppendTo {
/**
* Defines the container to which the Tooltip will be appended. Defaults to [`body`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/body).
*/
appendTo?: HTMLElement | null;
}
/**
* Represents the props of the Sankey tooltip component.
*
* @hidden
*/
export interface SankeyTooltipProps extends TooltipAppendTo {
/**
* The event object of the Sankey tooltip.
*/
eventData: Pick<SankeyTooltipEvent, 'dataItem' | 'nodeValue' | 'targetType'>;
/**
* The distance between the tooltip and the mouse pointer in pixels.
*/
offset: number;
/**
* The `dir` attribute of the Sankey tooltip.
*/
dir?: string;
/**
* The tooltip data of the Sankey component.
*/
tooltipData: SankeyTooltipEvent['tooltipData'];
/**
* The content component of the Sankey node tooltip. Can be string that is pointing to a namedSlot or a render function;
*/
nodeContent?: any;
/**
* The content component of the Sankey link tooltip. Can be string that is pointing to a namedSlot or a render function;
*/
linkContent?: any;
}
/**
* Represents the Sankey tooltip configuration.
*/
export interface SankeyTooltip extends SankeyTooltipInterface, TooltipAppendTo {
/**
* Indicates whether the Sankey tooltips will be rendered.
*/
visible?: boolean;
/**
* The distance between the tooltip and the mouse pointer in pixels.
*
* @default 12
*/
offset?: number;
/**
* The content component of the Sankey node tooltip. Can be string that is pointing to a namedSlot or a render function;
*/
nodeContent?: any;
/**
* The content component of the Sankey link tooltip. Can be string that is pointing to a namedSlot or a render function;
*/
linkContent?: any;
}
/**
* Represents the props of the Kendo UI for Vue [Sankey]({% slug overview_sankey %}) component.
*/
export interface SankeyProps {
/**
* The data of the Sankey component containing the `nodes` props.
*/
dataNodes?: SankeyNode[];
/**
* The data of the Sankey component containing the `links` props.
*/
dataLinks?: SankeyLink[];
/**
* The `links` default props of the Sankey component.
* The value will be applied to all links unless overridden by the `links` prop of the `data` prop.
*/
links?: SankeyLinkDefaults;
/**
* The `nodes` default props of the Sankey component.
* The value will be applied to all nodes unless overridden by the `nodes` prop of the `data` prop.
*/
nodes?: SankeyNodeDefaults;
/**
* The `labels` default props of the Sankey component.
* The value will be applied to all labels unless overridden by the `nodes` label prop of the `data` prop.
*/
labels?: SankeyLabelDefaults;
/**
* The title configuration of the Sankey component.
*/
title?: SankeyTitle;
/**
* The legend configuration of the Sankey component.
*/
legend?: SankeyLegend;
/**
* The configuration of the Sankey tooltips.
*/
tooltip?: SankeyTooltip;
/**
* If set to `true`, the Sankey component will not perform automatic layout.
*/
disableAutoLayout?: boolean;
/**
* If set to `true`, the Sankey keyboard navigation will be disabled.
*/
disableKeyboardNavigation?: boolean;
/**
* Represents the `dir` HTML attribute.
*/
dir?: string;
/**
* Fires when the mouse pointer enters a node. Similar to the `mouseenter` event.
*/
onNodeenter?: (event: SankeyEvent) => void;
/**
* Fires when the mouse pointer leaves a node. Similar to the `mouseleave` event.
*/
onNodeleave?: (event: SankeyEvent) => void;
/**
* Fires when the mouse pointer enters a link. Similar to the `mouseenter` event,
*/
onLinkenter?: (event: SankeyEvent) => void;
/**
* Fires when the mouse pointer leaves a link. Similar to the `mouseleave` event.
*/
onLinkleave?: (event: SankeyEvent) => void;
/**
* Fires when a node is clicked.
*/
onNodeclick?: (event: SankeyEvent) => void;
/**
* Fires when a link is clicked.
*/
onLinkclick?: (event: SankeyEvent) => void;
}