Team Members
Members page with a seat strip, an invite field that prices extra seats, roles with a what-changes preview, pending invites and requests to join.
The seat strip draws every seat on the plan with whoever holds it. Type addresses into the invite field and they take the free seats as drafts while you type; anything past the plan turns red with the monthly and prorated cost, before you send. Addresses on your domain join as members, others as free guests. Changing someone's role shows what they gain or lose, and removing a member, revoking an invite or declining a request waits five seconds for an undo.
Everything runs on demo data. Pass your own data, and wire onInvite, onRoleChange, onRemove, onResendInvite, onRevokeInvite, onApproveRequest, onDeclineRequest and onRemindTwoFactor to your API. It pairs with Billing & Usage: the seat count and price come from the same plan.