Team Members
A contained members page with a seat meter, tag-style email invites with role and seat checks, a members table with role selects and an alert-dialog remove, and pending invites with resend and revoke.
Preview
Pebble
Members
Seats8 of 10
Install
Pro source requires Pebble Pro. Try the full preview above.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| members | { id, name, email, role, lastActive, you? }[] | — | Members table; your own row can't be removed or have its role changed. |
| invites | { id, email, role, sent }[] | [] | Pending invites with Resend and Revoke. |
| roles | { value, label }[] | — | Role options for members and new invites. |
| seats | number | — | Seats on the plan; members plus pending invites count against it. |
| defaultInviteRole | string | last role | Role preselected for new invites. |
| workspace | string | — | Name in the header and the remove dialog. |
| maxInvites | number | 10 | Most email chips at once. |
| onInvite | (emails, role) => Promise<void> | void | — | Send invites; resolve to list them as pending. |
| onRoleChange | (memberId, role) => void | — | Called when a member's role changes. |
| onRemove | (memberId) => Promise<void> | void | — | Called after the alert dialog is confirmed; the dialog stays open while it runs. |
| onResend | (inviteId) => Promise<void> | void | — | Resend a pending invite. |
| onRevoke | (inviteId) => void | — | Revoke a pending invite. |
| onAddSeats | () => void | — | Shows Add seats beside the seat meter. |
Pro component
Try the full preview above. Editable source and build guides require Pebble Pro.
