km-web-plugin
Version:
ICE Web Plugin Initializer
56 lines (50 loc) • 1.14 kB
text/typescript
// Main application types
// This file will be renamed based on your app name during scaffolding
export interface AppConfig {
name: string;
version: string;
apiUrl: string;
}
export interface UserContext {
id: string;
name: string;
email: string;
roles: string[];
}
export interface AppState {
isLoading: boolean;
error: string | null;
user: UserContext | null;
}
// Form component prop types
export interface FormInputProps {
id: string;
label: string;
error?: string;
touched?: boolean;
disabled?: boolean;
required?: boolean;
placeholder?: string;
customClass?: string;
}
export interface FormTextareaProps {
id: string;
label: string;
error?: string;
touched?: boolean;
disabled?: boolean;
required?: boolean;
rows?: number;
autoResize?: boolean;
customClass?: string;
}
export interface FormDropdownProps {
id: string;
label: string;
options: string[] | { label: string; value: any }[];
error?: string;
touched?: boolean;
disabled?: boolean;
required?: boolean;
customClass?: string;
}