import React from "react"; import { HelpText } from "@/components/HelpText"; import { Label } from "@/components/Label"; import { ToggleSwitch } from "@/components/ToggleSwitch"; import { cn } from "@/lib/cn"; interface Props { value: boolean; onChange: (value: boolean) => void; helpText?: React.ReactNode; label?: React.ReactNode; children?: React.ReactNode; disabled?: boolean; dataCy?: string; className?: string; labelClassName?: string; textWrapperClassName?: string; } export default function FancyToggleSwitch({ value, onChange, helpText, label, children, disabled = false, dataCy, className, labelClassName, textWrapperClassName = "max-w-md", }: Readonly) { const handleToggle = () => { if (disabled) return; onChange(!value); }; const handleKeyDown = (event: React.KeyboardEvent) => { if (disabled) return; if (event.key === "Enter" || event.key === " ") { event.preventDefault(); handleToggle(); } }; return (
{helpText}
{children && value ? (
e.stopPropagation()}> {children}
) : null}
); }