/** * Default Tailwind classes for {@link InviteMemberDialog}. startsim-o7s. * * Semantic tokens only (startsim-1f3n) — see packages/ui/theme/contract.css. * A numeric ramp like `bg-primary-600` is NOT part of the contract: apps that * define `--color-primary` alone (foundry, gen-ai-consulting, workflow-studio) * generate no rule for it, which is how this trigger became an invisible * white-on-white button in the Foundry control plane. */ export interface InviteMemberDialogClassNames { trigger?: string overlay?: string panel?: string header?: string title?: string body?: string fieldRow?: string label?: string input?: string errorText?: string successText?: string footer?: string cancelButton?: string submitButton?: string } export const INVITE_DIALOG_DEFAULTS: Required = { trigger: 'inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-2 text-sm font-semibold text-primary-foreground shadow-sm transition-colors hover:bg-primary/90 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2', overlay: 'fixed inset-0 z-50 flex items-center justify-center bg-black/50 p-4', panel: 'w-full max-w-md rounded-xl border border-border bg-card text-card-foreground shadow-xl', header: 'border-b border-border px-6 py-4', title: 'text-base font-semibold text-foreground', body: 'space-y-4 px-6 py-4', fieldRow: '', label: 'mb-1 block text-sm font-medium text-foreground', input: 'w-full rounded-lg border border-input bg-background px-3 py-2 text-sm text-foreground placeholder:text-muted-foreground outline-none focus:border-ring focus:ring-1 focus:ring-ring', errorText: 'text-sm text-destructive', successText: 'text-sm text-emerald-600 dark:text-emerald-400', footer: 'flex items-center justify-end gap-2 border-t border-border px-6 py-3', cancelButton: 'rounded-md border border-border px-3 py-1.5 text-sm font-medium text-foreground transition-colors hover:bg-muted', submitButton: 'rounded-md bg-primary px-3 py-1.5 text-sm font-semibold text-primary-foreground shadow-sm transition-colors hover:bg-primary/90 disabled:opacity-50', }