import type { AgLink } from './shared/agLink'; import type { AgTextAlign } from './shared/agTitle'; import type { AgTypography } from './shared/agTypography'; import type { AgWidgetData, AgWidgetDataFormat } from './shared/agWidget'; /** * Style configuration for the text widget display. */ export interface AgTextWidgetStyle { /** * The text content to display. */ text?: string; /** * Link configuration for making the text clickable. */ link?: AgLink; /** * Typography settings for the text. */ typography?: AgTypography; /** * Horizontal text alignment. */ textAlign?: AgTextAlign; /** * Vertical alignment of the value within the widget. * Defaults to 'center' if not specified. */ verticalAlign?: 'top' | 'center' | 'bottom'; /** * Text color as a CSS color value. * @example '#333333', 'rgb(51, 51, 51)', 'black' */ color?: string; } /** * Format configuration for the text widget. * Controls the visual presentation of the text. */ export type AgTextWidgetFormat = AgWidgetDataFormat; export interface AgTextWidgetDataMapping { } /** * Complete configuration for a Text widget. * Displays static text with optional link and styling. * Useful for adding descriptions, labels, or navigation links to Studio components. * * @example * const textWidget: AgTextWidget = { * format: { * style: { * text: 'Welcome to AG Studio', * typography: { fontSize: 24, fontWeight: 'bold' }, * textAlign: 'center', * color: '#333333' * } * } * }; */ export interface AgTextWidget extends AgWidgetData { /** * Widget type identifier. */ type: 'text'; }