'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 (
);
}