'use client'; import { useId } from 'react'; const inputClass = 'rounded-lg border bg-fd-background px-3 py-2 text-sm outline-none transition-colors focus-visible:border-fd-primary focus-visible:ring-2 focus-visible:ring-fd-ring/30'; export function TextField({ label, value, onChange, placeholder, hint, inputMode, }: { label: string; value: string; onChange: (value: string) => void; placeholder?: string; hint?: string; inputMode?: 'numeric' | 'text'; }) { const id = useId(); return (
{/* Values are technical (hosts, links) and stay LTR even on RTL pages. */} onChange(e.target.value)} className={inputClass} /> {hint ? {hint} : null}
); } export function CheckboxField({ label, checked, onChange, }: { label: string; checked: boolean; onChange: (checked: boolean) => void; }) { const id = useId(); return ( ); } export function SelectField({ label, value, onChange, options, }: { label: string; value: string; onChange: (value: string) => void; options: readonly string[]; }) { const id = useId(); return (
); }