/** * @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 { /** * 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; /** * 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; }