import { ReactElement } from "react"; import { imgFitEnum } from "../constants/enums"; export interface KaElementProps { children?: any; code: string; options?: any; xs?: any; sm?: any; data?: any; selected?: any; hover?: any; } export interface KaContainerProps extends KaElementProps { simple?: any; } export interface InputProps extends ElementProps { modelValue?: any; } export interface ElementProps { className: string; children: string | ReactElement; options?: Options; templateClass?: string; value?: any; lazyValue?: any; deactivated?: boolean; disabled?: boolean; } export interface Options { animation?: string; animationIn?: string; animationOut?: string; keepAlive?: boolean; lazyOptions?: LazyOptions; visibilityDelay?: number; hidden?: any; style?: ElementStyle; $state?: { selected?: boolean; }; $inheritState?: ElementCssState; $containerParent?: { [key: string]: boolean; }; labelPosition?: string; click?: (e?: React.MouseEvent) => void; href?: string; hasTransform?: boolean; alt?: string; defaultImage?: string; imgFit?: imgFitEnum; flexDirection?: string; overflow?: string; bgType?: number; videoOptions?: { src: string; }; lottieOptions?: { src: string; }; buttonIcon?: any; debounce?: number; placeholder?: string; tooltip?: { title?: string; content?: string; }; } export interface LazyOptions { [key: string]: any; } export interface ElementStyle { padding?: Array; innerImg?: string; innerImgFit?: imgFitEnum; innerBackgroundColor?: string; innerOpacity?: number; color?: string; border?: Array; borderColor?: Array; borderRadius?: any; borderStyle?: any; canOverflow?: any; zoom?: number; boxShadow?: Array; } export interface ElementCssState { hover?: boolean; } export interface FullComponentProps { code: string; children: string; options?: Options; }