/** * Base data structure for chart visualizations. * * @see q2-tecton-elements chart components */ export interface ChartData { id: string; value: number; name: string; color?: string; } /** * Extended data structure for donut chart visualizations. * * @see tct-donut-chart component in q2-tecton-elements */ export interface DonutChartData extends ChartData { icon?: string; itemStyle?: any; } /** * Horizontal alignment options for data table cells. * * @see q2-data-table component in q2-tecton-elements */ export type Q2DataTableCellAlignOptions = 'start' | 'center' | 'end'; /** * Discriminated union describing the visual type of a data table cell. * The `badge` variant exposes additional styling props. * * @see q2-data-table component in q2-tecton-elements */ export type Q2DataTableCellType = { type?: 'text' | 'number' | 'icon' | 'boolean' | 'code'; } | { type?: 'badge'; /** Matches q2-badge `status` prop values. */ badgeStatus?: 'info' | 'alert' | 'warning' | 'success'; /** Matches q2-badge `theme` prop values. */ badgeTheme?: 'primary' | 'secondary' | 'tertiary'; }; /** * Column header configuration for a data table. * * @see q2-data-table component in q2-tecton-elements */ export type Q2DataTableHeader = { title: string; align?: Q2DataTableCellAlignOptions; /** Auto-generated from title if not provided. Used to match data keys in rows. */ key?: string; sortable?: boolean | 'auto' | 'manual'; width?: string; backgroundColor?: string; sorted?: 'ASC' | 'DESC'; ariaLabel?: string; lineClamp?: number; verticalAlign?: 'top' | 'bottom'; } & Partial; /** * Individual cell data within a data table row. * * @see q2-data-table component in q2-tecton-elements */ export type Q2DataTableCell = { value: string | number | boolean; align?: Q2DataTableCellAlignOptions; ariaLabel?: string; lineClamp?: number; verticalAlign?: 'top' | 'bottom'; } & Q2DataTableCellType; /** * Base properties shared by all data table row types. * * @see q2-data-table component in q2-tecton-elements */ export type Q2DataTableBaseRow = { id: string | number; selected?: boolean; expanded?: boolean; disabled?: boolean; selectAriaLabel?: string | string[]; status?: 'info' | 'alert' | 'error' | 'warning' | 'success'; }; /** * Map of column keys to cell values or full cell configurations within a row. * * @see q2-data-table component in q2-tecton-elements */ export type Q2DataTableCells = Record; /** * Map of column keys to fully-serialized cell configurations within a row. * * @see q2-data-table component in q2-tecton-elements */ export type Q2DataTableSerializedCells = Record; /** * Complete data table row combining base row properties and cell data. * * @see q2-data-table component in q2-tecton-elements */ export type Q2DataTableRow = Q2DataTableBaseRow & { cells: Q2DataTableCells; }; /** * Data table row with cells normalized to fully-serialized form. * * @see q2-data-table component in q2-tecton-elements */ export type Q2DataTableSerializedRow = Q2DataTableBaseRow & { cells: Q2DataTableSerializedCells; }; /** * Status descriptor for a file that has passed validation in the file picker. * * @see q2-file-picker component in q2-tecton-elements */ export type ValidFileStatus = { name: string; status: 'in-progress' | 'failed' | 'uploaded'; message?: string; }; /** * Status descriptor for a file that failed validation in the file picker. * * @see q2-file-picker component in q2-tecton-elements */ export type InvalidFileStatus = { file: File; status: 'invalid-type' | 'over-size-limit' | 'over-max-files-limit'; }; /** * Container holding both valid and invalid files from a file picker selection event. * * @see q2-file-picker component in q2-tecton-elements */ export type FilesObject = { invalidFiles: InvalidFileStatus[]; validFiles: File[]; }; /** * Base value container pairing a raw string value with its formatted counterpart. * * @see q2-input component in q2-tecton-elements */ export interface ValueObject { value: string; formattedValue: string; } /** * Event payload emitted by input components on change and input events. * * @see q2-input component in q2-tecton-elements */ export interface EventDetail extends ValueObject { minFormattedLength?: number; /** Credit card type */ type?: string; } /** * Extended value object carrying full formatter metadata for input components. * * @see q2-input component in q2-tecton-elements */ export interface FormatterValueObject extends ValueObject { fullyFormattedValue: string; prefix?: string; suffix?: string; formattingCharacterCount?: number; maxlength?: number; minFormattedLength?: number; unformattedValue?: string; type?: string; leftIcon?: string; leftIconMuted?: boolean; } /** * Payload emitted by the q2-stepper-pane tctActiveChange and tctStatusChange events. * * @see q2-stepper-pane component in q2-tecton-elements */ export interface StepperPaneEvent { status: string; isActive: boolean; id: string; host: HTMLElement; } //# sourceMappingURL=elements.d.ts.map