--- import type { HTMLAttributes } from "astro/types"; import { cn } from "../utils/cn"; import Button from "./Button.astro"; interface Props extends HTMLAttributes<"form"> { title?: string; description?: string; columns?: 1 | 2; schemaName?: string; onSubmit?: string; submitLabel?: string; submitIcon?: string; actionsAlign?: "start" | "center" | "end"; resetOnSubmit?: boolean; validateOn?: string; showSuccesInput?: boolean; } const { title, description, columns = 1, class: className, schemaName, onSubmit, submitLabel = "Submit", submitIcon = "", actionsAlign = "end", resetOnSubmit = false, validateOn = "input,blur,change", showSuccesInput = false, ...rest }: Props = Astro.props; const gridCls = columns === 2 ? "grid grid-cols-1 sm:grid-cols-2 gap-4" : "space-y-4"; const actionsJustify = actionsAlign === "start" ? "justify-start" : actionsAlign === "center" ? "justify-center" : "justify-end"; const formId = `f-${Math.random().toString(36).slice(2)}`; ---
{ title && (

{title}

) } { description && (

{description}

) }