# Form Component API A form container with built-in validation and state management. --- ## Installation ```toml # Cargo.toml [dependencies] shadcn-ui-leptos-form = "0.7" ``` ```rust use shadcn_ui_leptos_form::Form; ``` --- ## Component API ### Form | Prop | Type | Default | Description | |------|------|---------|-------------| | `on_submit` | `Option>` | `None` | Submit handler | | `class` | `MaybeProp` | `None` | Additional CSS classes | --- ## Usage Examples ### Basic Form ```rust use leptos::prelude::*; use shadcn_ui_leptos_form::Form; use shadcn_ui_leptos_input::Input; use shadcn_ui_leptos_button::Button; #[component] pub fn MyForm() -> impl IntoView { let handle_submit = move |e: FormEvent| { e.prevent_default(); // Handle form submission }; view! {
} } ``` --- ## CSS Classes ```css .form { space-y-6 } ``` --- ## Accessibility - Native HTML form validation - Proper label association - Error announcements --- ## TypeScript API ```typescript interface FormProps { onSubmit?: (event: FormEvent) => void; className?: string; children?: React.ReactNode; } export const Form: React.FC; ``` --- *Source: [packages/leptos/form/src/default.rs](https://github.com/yourusername/leptos-shadcn-ui/blob/main/packages/leptos/form/src/default.rs)*