"use client"; import { useFormContext } from "react-hook-form"; import { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; import { Checkbox } from "@/components/ui/checkbox"; import { Switch } from "@/components/ui/switch"; import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Slider } from "@/components/ui/slider"; import { Label } from "@/components/ui/label"; import { MultiSelect } from "./controls/multi-select"; import { Combobox } from "./controls/combobox"; import type { ClientVariable } from "@/lib/config/serialize"; export function FieldRenderer({ variable }: { variable: ClientVariable }) { const { control } = useFormContext(); const label = variable.label ?? variable.name; return ( { switch (variable.control) { case "textarea": return ( {label} {variable.required && ( * )}