Permission matrix
A roles × permissions grid of checkboxes with mixed group rows, per-role select all, highlighted differences from the saved state and a save bar.
Preview
| Permission | OwnerAlways full access | Admin | Member | Guest |
|---|---|---|---|---|
| Projects | ||||
| View projects | ||||
| Edit projects | ||||
| Delete projectsRemoves issues and files | ||||
| Billing | ||||
| View invoices | ||||
| Change plan and payment | ||||
| Workspace | ||||
| Invite members | ||||
| View audit log |
3 changes+ Admin, + Member…
Install
Pro source requires Pebble Pro. Try the full preview above.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| roles | { id, name, description?, locked? }[] | — | Columns; locked roles are shown but can't change. |
| groups | { id, label, permissions: { id, label, description? }[] }[] | — | Permission rows, grouped under group rows with per-role checkboxes. |
| defaults | Record<roleId, permissionId[]> | — | The saved state; differing cells are highlighted and counted. |
| defaultValue | Record<roleId, permissionId[]> | defaults | Start from a draft that differs from defaults. |
| onSave | (grants) => void | Promise<void> | — | Save bar action; on success the grants become the new baseline. |
| label | string | "Permissions" | Accessible name of the table. |
Pro component
Try the full preview above. Editable source and build guides require Pebble Pro.
