"use client"; import { ReactNode, CSSProperties } from "react"; export interface SetupProps { workspace: string; onClose: () => void; onBack: () => void; } // Shared modal header export function SetupHeader({ icon, label, tagline, accent, onBack, onClose, }: { icon: string; label: string; tagline: string; accent: string; onBack: () => void; onClose: () => void; }) { return (

{label}

{tagline}

); } export function FieldLabel({ children }: { children: ReactNode }) { return ( ); } export function TextInput({ value, onChange, placeholder, onKeyDown, autoFocus, inputRef, }: { value: string; onChange: (v: string) => void; placeholder?: string; onKeyDown?: (e: React.KeyboardEvent) => void; autoFocus?: boolean; inputRef?: React.RefObject; }) { const base: CSSProperties = { width: "100%", padding: "11px 14px", marginBottom: 16, borderRadius: 8, border: "1px solid #e0dcd4", background: "#faf8f5", fontSize: "0.9rem", fontFamily: "Outfit, sans-serif", color: "#1a1a1a", outline: "none", boxSizing: "border-box", }; return ( onChange(e.target.value)} onKeyDown={onKeyDown} placeholder={placeholder} autoFocus={autoFocus} style={base} onFocus={e => (e.currentTarget.style.borderColor = "#1a1a1a")} onBlur={e => (e.currentTarget.style.borderColor = "#e0dcd4")} /> ); } export function PrimaryButton({ onClick, disabled, loading, children, }: { onClick: () => void; disabled?: boolean; loading?: boolean; children: ReactNode; }) { const active = !disabled && !loading; return ( ); }