import React from "react"; import { Search, AlertCircle, CheckCircle2 } from "lucide-react"; /* Standard Text Input Component */ export function Input({ label, error, success, icon: IconComponent, disabled = false, className = "", containerStyle = {}, style = {}, ...props }) { return (
{label && ( )}
{IconComponent && (
)} { e.target.style.borderColor = error ? "var(--danger)" : "var(--color-teal)"; e.target.style.boxShadow = error ? "0 0 0 3px rgba(239,68,68,0.12)" : "0 0 0 3px rgba(0,201,167,0.12)"; }} onBlur={e => { e.target.style.borderColor = error ? "var(--danger)" : success ? "var(--success)" : "var(--border)"; e.target.style.boxShadow = "none"; }} className={`ui-input ${className}`.trim()} {...props} /> {error ? (
) : success ? (
) : null}
{error && (
{error}
)}
); } /* SearchBar Component */ export function SearchBar({ placeholder = "Search stocks, signals, indicators...", ...props }) { return ; } /* Textarea Component */ export function Textarea({ label, error, rows = 4, disabled = false, style = {}, ...props }) { return (
{label && ( )}