"use client"; import { ChangeEvent, ReactNode, SelectHTMLAttributes, TextareaHTMLAttributes, InputHTMLAttributes, } from "react"; import { Button } from "@/components/ui"; export const inputClass = "mt-1 w-full rounded-xl border border-gray-200 px-4 py-2.5 text-sm focus:border-primary focus:outline-none focus:ring-1 focus:ring-primary disabled:bg-gray-50"; export const labelClass = "block text-sm font-medium text-secondary"; export const cardClass = "rounded-2xl border border-gray-100 bg-white p-6 shadow-sm"; export function Field({ label, hint, children, required, }: { label: string; hint?: string; required?: boolean; children: ReactNode; }) { return ( ); } interface TextFieldProps extends InputHTMLAttributes { label: string; hint?: string; onValue?: (v: string) => void; } export function TextField({ label, hint, required, onValue, onChange, className, ...props }: TextFieldProps) { return ( ) => { onValue?.(e.target.value); onChange?.(e); }} {...props} /> ); } interface TextareaFieldProps extends TextareaHTMLAttributes { label: string; hint?: string; onValue?: (v: string) => void; } export function TextareaField({ label, hint, required, onValue, onChange, ...props }: TextareaFieldProps) { return (