@astro-utils/forms
Version:
Server component for Astro (call server functions from client side with validation and state management)
30 lines (29 loc) • 927 B
TypeScript
import { IHTMLFormPlugin } from './bind-form-plugins/iform-plugin.js';
type PluginsNames = 'HTMLInputRadioPlugin' | 'HTMLSelectPlugin';
export declare class BindForm<BindValues> {
private _defaults?;
errors: {
name: string;
value: string;
issues: {
code: string;
message: string;
}[];
message: string;
}[];
on: {
newState?: () => void | Promise<void>;
stateLoaded?: () => void | Promise<void>;
pagePostBack?: () => void | Promise<void>;
};
private _plugins;
constructor(_defaults?: BindValues);
private initializePlugins;
getPlugin(name: PluginsNames): IHTMLFormPlugin;
defaults(): Promise<void>;
}
export type BindTypes<BindValues> = BindForm<BindValues> & BindValues & {
[key: string]: any;
};
export default function Bind<BindValues>(defaults?: BindValues): BindTypes<BindValues>;
export {};