"use client"; /** * Team Invite Field * * COPIED VERBATIM FROM: components/onboarding/steps/team-invite-step.tsx:199-261 * Renders a team member invite row with email and role */ import { Mail, Plus, X } from "lucide-react"; import { ANIMATION_CLASSES, getStaggerStyle, STAGGER_PRESETS, } from "../animations"; import { cx } from "../lib/utils"; import { OnboardingInput } from "../primitives/onboarding-input"; import { OnboardingLabel } from "../primitives/onboarding-label"; import { OnboardingSelect, OnboardingSelectContent, OnboardingSelectItem, OnboardingSelectTrigger, OnboardingSelectValue, } from "../primitives/onboarding-select"; import type { TeamInviteFieldProps, TeamMember, TeamRole, } from "../types/fields"; interface MemberRowProps { member: TeamMember; index: number; roles: TeamRole[]; error?: string; canRemove: boolean; onEmailChange: (index: number, email: string) => void; onRoleChange: (index: number, role: string) => void; onRemove: (index: number) => void; disabled?: boolean; } /** * Single member row * COPIED VERBATIM FROM: components/onboarding/steps/team-invite-step.tsx:210-260 */ function MemberRow({ member, index, roles, error, canRemove, onEmailChange, onRoleChange, onRemove, disabled, }: MemberRowProps) { return (
{error}
}