import { FormControl } from '@angular/forms'; import { Color } from '@ionic/core'; import { ComponentState } from '../../types'; /** * Number range value with from and to. */ export interface NumberFromToValue { /** Starting value */ from: number | null; /** Ending value */ to: number | null; } /** * Metadata for the number from-to input component. */ export interface NumberFromToMetadata { /** Main form control (optional, stores combined value) */ control?: FormControl; /** Form control for "from" value (required for standalone use) */ fromControl?: FormControl; /** Form control for "to" value (required for standalone use) */ toControl?: FormControl; /** Unique token for the input */ token?: string; /** Display label */ label?: string; /** Field name */ name?: string; /** Help text */ hint?: string; /** Field state */ state?: ComponentState; /** Label for "from" field */ fromLabel?: string; /** Label for "to" field */ toLabel?: string; /** Placeholder for main input */ placeholder?: string; /** Placeholder for "from" field */ fromPlaceholder?: string; /** Placeholder for "to" field */ toPlaceholder?: string; /** Minimum value */ min?: number; /** Maximum value */ max?: number; /** Step increment */ step?: number; /** Component color */ color?: Color; /** Custom CSS class */ cssClass?: string; /** Initial value for the field */ value?: string; /** Default value configuration - string for custom defaults, true for auto defaults */ withDefault?: string | boolean; /** Content key for reactive label */ contentKey?: string; /** Component class name for content lookup */ contentClass?: string; /** Fallback text if content key is not found */ contentFallback?: string; /** Custom error messages */ errors?: Record; /** Show validation errors */ showErrors?: boolean; } /** * Event emitted when number range changes. */ export interface NumberFromToChangeEvent { /** Number range value */ value: NumberFromToValue; /** Whether the range is valid (from <= to) */ isValid: boolean; }