@kitn.ai/ui
Version:
Framework-agnostic, Shadow-DOM web components for building AI chat interfaces — works in React, Vue, Angular, Svelte, or plain HTML. Authored in SolidJS.
32 lines (31 loc) • 1.48 kB
TypeScript
import { JSX } from 'solid-js';
import { FormField } from './form';
/** The shared prop shape every leaf widget receives from FieldRow. */
export interface WidgetProps {
id: string;
value: unknown;
field: FormField;
disabled: boolean;
placeholder?: string;
required: boolean;
invalid: boolean;
describedBy?: string;
label: string;
onInput: (value: unknown) => void;
onBlur: () => void;
}
/** text / email / url / date / datetime / time / password — all <input> variants. */
export declare function TextWidget(props: WidgetProps & {
variant: 'text' | 'email' | 'url' | 'date' | 'datetime' | 'time' | 'password';
}): JSX.Element;
export declare function TextareaWidget(props: WidgetProps): JSX.Element;
export declare function NumberWidget(props: WidgetProps): JSX.Element;
export declare function SliderWidget(props: WidgetProps): JSX.Element;
export declare function RatingWidget(props: WidgetProps): JSX.Element;
export declare function SwitchWidget(props: WidgetProps): JSX.Element;
export declare function CheckboxWidget(props: WidgetProps): JSX.Element;
export declare function RadioGroupWidget(props: WidgetProps): JSX.Element;
export declare function SelectWidget(props: WidgetProps): JSX.Element;
export declare function CheckboxGroupWidget(props: WidgetProps): JSX.Element;
export declare function MultiSelectWidget(props: WidgetProps): JSX.Element;
export declare function TagListWidget(props: WidgetProps): JSX.Element;