Components
Team list and access editor
Separate work classification from the hierarchy of companies, products and inboxes a teammate can access.
On this page
Purpose and composition
Separate work classification from the hierarchy of companies, products and inboxes a teammate can access.
Use the hierarchy to explain intended access, while keeping enforcement a server responsibility.
Anatomy
| Part | Responsibility |
|---|---|
| Member row | Identity, owner/status, work classification and access summary |
| Editor fields | Name, email and classification |
| Access tree | Company > product > inbox checkboxes |
| Footer | Save access or Send invitation |
Configuration and variants
| Input / variant | Contract |
|---|---|
| source data | Static teamMembers, companies, products and inboxes |
| owner | Everything in workspace; edit disabled |
| inherited | Parent selection checks and disables descendants |
| onToast | Local feedback only |
States and feedback
| State | Visible / behavioral result |
|---|---|
| Active/invited | Distinct text badges |
| Owner | Noneditable access |
| Explicit access | Native checkbox selectable |
| Inherited | Disabled + Included/Inherited labels |
| Phone | Rows stack; dialog body scrolls |
Interaction and responsive behavior
- Classification does not automatically grant access.
- Company access includes products/inboxes; product includes inboxes.
- Local selected arrays are draft state only.
- Save/invite closes with toast; no mutation or email delivery.
Accessibility contract
- Native labeled checkboxes expose inherited checked/disabled state.
- Owner edit disabled is explicit.
Known implementation limits
Editor Name/Email use uncontrolled values and submit only a toast; no validated member DTO or actual invitation is created.
Composition example
<TeamView onToast={notifyLocal} />Source references
| File | Responsibility |
|---|---|
| components/views/team-view.tsx | TeamView, list and internal editor |
Examples from the app
Actual Sonarist components with fictional conversations, people, example.com addresses and simulated operational states. Captured at 2× resolution or higher. Select an image to inspect it full size.
Related topics
Source audit: 2026-10-08 · Revision 10f45d1377b5 · Documentation v1.0.0