/** Default Tailwind classes for {@link MembersTable}. startsim-o7s. * Semantic tokens only (startsim-1f3n) — theme-driven, dark-mode safe. */ export interface MembersTableClassNames { root?: string table?: string thead?: string headerRow?: string th?: string tbody?: string row?: string cell?: string avatar?: string name?: string email?: string roleBadge?: string actions?: string removeButton?: string emptyRow?: string /** Applied to the Role + actions header/body cells so they hug their content. */ tightColumn?: string /** "You" pill next to the signed-in user's own row. */ selfBadge?: string } export const MEMBERS_TABLE_DEFAULTS: Required = { root: 'w-full overflow-x-auto rounded-lg border border-border bg-card', table: 'w-full text-left text-sm', thead: 'bg-muted/50 text-xs uppercase tracking-wide text-muted-foreground', headerRow: '', th: 'px-4 py-2.5 font-medium', tbody: 'divide-y divide-border', row: 'transition-colors hover:bg-muted/40', cell: 'px-4 py-3 align-middle', avatar: 'flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-primary/10 text-xs font-semibold text-primary', name: 'font-medium text-foreground', email: 'text-muted-foreground', roleBadge: 'inline-flex items-center rounded-full border border-border bg-muted px-2 py-0.5 text-xs font-medium text-muted-foreground', actions: 'flex items-center justify-end gap-2', removeButton: 'rounded-md border border-border px-2 py-1 text-xs text-muted-foreground transition-colors hover:border-destructive/40 hover:bg-destructive/10 hover:text-destructive disabled:opacity-50', emptyRow: 'px-4 py-6 text-center text-sm text-muted-foreground', tightColumn: 'w-px whitespace-nowrap', selfBadge: 'rounded-full border border-border bg-muted px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide text-muted-foreground', }