FormItemLayoutDemo() — supabase Function Reference
Architecture documentation for the FormItemLayoutDemo() function in form-item-layout-with-checkbox-list.tsx from the supabase codebase.
Entity Profile
Relationship Graph
Source Code
apps/design-system/registry/default/example/form-item-layout-with-checkbox-list.tsx lines 40–104
export default function FormItemLayoutDemo() {
// 1. Define your form.
const form = useForm<z.infer<typeof FormSchema>>({
resolver: zodResolver(FormSchema),
})
// 2. Define a submit handler.
function onSubmit(values: z.infer<typeof FormSchema>) {
// Do something with the form values.
// ✅ This will be type-safe and validated.
console.log(values)
// action('form form.handleSubmit(onSubmit)')(values)
}
return (
<Form_Shadcn_ {...form}>
<form className="w-96 flex flex-col gap-3" onSubmit={form.handleSubmit(onSubmit)}>
<FormField_Shadcn_
control={form.control}
name="items"
render={() => (
<FormItemLayout
label="Sidebar"
description="Select the items you want to display in the sidebar."
layout="horizontal"
>
{items.map((item) => (
<FormField_Shadcn_
key={item.id}
control={form.control}
name="items"
render={({ field }) => {
return (
<FormItemLayout
key={item.id}
className="flex flex-row items-start space-x-3 space-y-0"
label={item.label}
layout="flex"
hideMessage
>
<FormControl_Shadcn_>
<Checkbox_Shadcn_
checked={field.value?.includes(item.id)}
onCheckedChange={(checked) => {
return checked
? field.onChange([...field.value, item.id])
: field.onChange(field.value?.filter((value) => value !== item.id))
}}
/>
</FormControl_Shadcn_>
</FormItemLayout>
)
}}
/>
))}
{/* <FormMessage /> */}
</FormItemLayout>
)}
/>
<Button size="small" type="secondary" htmlType="submit">
Submit
</Button>
</form>
</Form_Shadcn_>
)
}
Domain
Subdomains
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free