import type {
ButtonHTMLAttributes,
InputHTMLAttributes,
ReactNode,
SelectHTMLAttributes,
TextareaHTMLAttributes,
} from 'react';
import { cn } from '@/lib/utils/cn';
interface ResourceFieldProps {
label: string;
hint?: string;
error?: string;
className?: string;
children: ReactNode;
}
export function ResourceField({
label,
hint,
error,
className,
children,
}: ResourceFieldProps) {
return (
);
}
export function ResourceInput(props: InputHTMLAttributes) {
return (
);
}
export function ResourceTextarea(props: TextareaHTMLAttributes) {
return (
);
}
export function ResourceSelect(props: SelectHTMLAttributes) {
return (
);
}
function baseButtonClassName(className?: string) {
return cn(
'inline-flex items-center justify-center rounded-2xl px-4 py-3 text-sm font-medium transition disabled:cursor-not-allowed disabled:opacity-60',
className,
);
}
export function PrimaryButton({
className,
...props
}: ButtonHTMLAttributes) {
return (
);
}
export function SecondaryButton({
className,
...props
}: ButtonHTMLAttributes) {
return (
);
}
export function DangerButton({
className,
...props
}: ButtonHTMLAttributes) {
return (
);
}
interface ToggleFieldProps {
label: string;
description: string;
checked: boolean;
disabled?: boolean;
onChange: (checked: boolean) => void;
}
export function ToggleField({
label,
description,
checked,
disabled,
onChange,
}: ToggleFieldProps) {
return (
);
}
export function CodeBlock({
children,
className,
}: {
children: ReactNode;
className?: string;
}) {
return (
{children}
);
}