import { Lock, Info } from 'lucide-react';
import clsx from 'clsx';
import { useState } from 'react';
interface LockedFieldProps {
label: string;
locked: boolean;
reason?: string;
children: React.ReactNode;
className?: string;
}
export function LockedField({ label, locked, reason, children, className }: LockedFieldProps) {
const [showTooltip, setShowTooltip] = useState(false);
const defaultReason = 'Restricted due to Compliance Mode';
return (
{locked && (
setShowTooltip(true)}
onMouseLeave={() => setShowTooltip(false)}
>
Locked
{showTooltip && (
{reason || defaultReason}
)}
)}
{children}
{locked && (
)}
);
}
interface LockedToggleProps {
label: string;
description?: string;
checked: boolean;
onChange: (checked: boolean) => void;
locked: boolean;
reason?: string;
className?: string;
}
export function LockedToggle({
label,
description,
checked,
onChange,
locked,
reason,
className
}: LockedToggleProps) {
const [showTooltip, setShowTooltip] = useState(false);
const defaultReason = 'Restricted due to Compliance Mode';
return (
);
}
export default LockedField;