/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { ShapeDefaultsBase, ShapeOptionsBase } from '@progress/kendo-diagram-common'; import { TooltipOptions } from './TooltipTypes'; /** * Defines the configuration options for diagram shapes. * Extends the base shape options and adds tooltip support. */ export interface ShapeOptions extends Omit { /** * Configures the tooltip that displays when you hover over the shape. */ tooltip?: TooltipOptions; /** * Sets the text content displayed in the tooltip. */ tooltipText?: string; } /** * Defines the default configuration options for all shapes in the `Diagram`. * These settings apply to shapes unless overridden by individual shape options. */ export interface ShapeDefaults extends Omit { /** * Configures the default tooltip settings for all shapes. */ tooltip?: TooltipOptions; } /** * Defines the field mapping configuration for shapes data binding. * Maps source object properties to `Diagram` shape properties. */ export interface ShapeModelFields { /** * The field that contains the unique identifier of the shape. */ id?: string; /** * The field that contains the connectors configuration. */ connectors?: string; /** * The field that contains the connector defaults configuration. */ connectorDefaults?: string; /** * The field that contains the content configuration. */ content?: string; /** * The field that contains the editable configuration. */ editable?: string; /** * The field that contains the fill configuration. */ fill?: string; /** * The field that contains the height value. */ height?: string; /** * The field that contains the hover configuration. */ hover?: string; /** * The field that contains the minimum height value. */ minHeight?: string; /** * The field that contains the minimum width value. */ minWidth?: string; /** * The field that contains the path configuration. */ path?: string; /** * The field that contains the rotation configuration. */ rotation?: string; /** * The field that contains the selectable configuration. */ selectable?: string; /** * The field that contains the source configuration. */ source?: string; /** * The field that contains the stroke configuration. */ stroke?: string; /** * The field that contains the type configuration. */ type?: string; /** * The field that contains the visual configuration. */ visual?: string; /** * The field that contains the width value. */ width?: string; /** * The field that contains the x coordinate. */ x?: string; /** * The field that contains the y coordinate. */ y?: string; /** * The field that contains the corner radius value. */ cornerRadius?: string; /** * The field that contains the center configuration. */ center?: string; /** * The field that contains the radius value. */ radius?: string; /** * The field that contains the data item reference. */ dataItem?: string; /** * The field that contains the tooltip text. */ tooltipText?: string; }