Files
Trilium/apps/client/src/widgets/react/FormCheckbox.tsx

29 lines
1014 B
TypeScript
Raw Normal View History

2025-08-03 21:18:18 +03:00
interface FormCheckboxProps {
name: string;
label: string;
/**
* If set, the checkbox label will be underlined and dotted, indicating a hint. When hovered, it will show the hint text.
*/
hint?: string;
currentValue: boolean;
2025-08-03 21:18:18 +03:00
onChange(newValue: boolean): void;
}
export default function FormCheckbox({ name, label, currentValue, onChange, hint }: FormCheckboxProps) {
2025-08-03 21:18:18 +03:00
return (
<div className="form-check">
<label
className="form-check-label tn-checkbox"
style={hint && { textDecoration: "underline dotted var(--main-text-color)" }} title={hint}>
2025-08-03 21:18:18 +03:00
<input
className="form-check-input"
type="checkbox"
name={name}
checked={currentValue || false}
value="1"
onChange={e => onChange((e.target as HTMLInputElement).checked)} />
{label}
</label>
</div>
);
}