# Member Directory block

> Workspace Members Directory Grid with Roles, SSO/2FA Status, and Bulk Role Actions

Full-page admin console for workspace members: sort/filter rows, multi-select bulk role changes, SSO/2FA columns, member detail sheet. ReUI DataGrid, Frame, Filters, Badge; shadcn Button, Sheet. For user management, access control, team admin.

- Type: Pro block
- Category: [Users](https://web.dev.reui.io/blocks/solutions/users.md)
- Page: https://web.dev.reui.io/blocks/solutions/users/solution-users-1
- MCP: `get_block("solution-users-1")`
- Built with: Alert Dialog, Avatar, Badge, Button, Data Grid, Dropdown Menu, Filters, Frame, Scroll Area, Select, Separator, Sheet, Skeleton, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://web.dev.reui.io/docs/license-setup

## Best for

The whole roster with SSO provider and 2FA badges, team tags, rule filters and a bulk role picker for selected members

## Agent notes

- `MEMBERS` holds the 12 sample rows, and `applyFiltersToData` filters them in the browser behind a fake 400ms wait
- `handleChangeRole`, `handleBulkResend` and `handleBulkDeactivate` only clear the selection and show a toast; no row changes
- `ActionsCell` Resend Invite, Suspend and Remove, `handleEditRole` and the Invite people button only show toasts; no member data changes

## When not to use

- A plain members list with avatar rows and hover actions, and no sign-in security columns: use [Team Members](https://web.dev.reui.io/blocks/data-grid/base/data-grid-base-6.md) (`get_block("data-grid-base-6")`)
- Customer or lead contacts with owners and lifecycle stages, not workspace members: use [Contacts Directory](https://web.dev.reui.io/blocks/solutions/crm/solution-crm-3.md) (`get_block("solution-crm-3")`)

## Third-party libraries

- TanStack Table v9: [API reference](https://tanstack.com/table/v9/docs/framework/react/reference/index), [docs](https://tanstack.com/table/v9/docs/framework/react/quick-start)
- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)

## Install

```bash
npx shadcn@latest add @reui/solution-users-1
```

## About Users blocks

### When to use

- Workspace admin pages for people: a members directory, one member's record and the invitations queue
- Access control work: a role by permission matrix, just in time access requests and a day grouped audit log
- Enterprise sign-in settings for SSO providers, SCIM provisioning, 2FA, session limits and email domains

### When not to use

- A person editing their own account: avatar, name, email, password and notification choices: use the [Profile blocks](https://web.dev.reui.io/blocks/application/profile.md)
- A table section of your own records, with no roles, sign-in methods or invites around it: use the [Base blocks](https://web.dev.reui.io/blocks/data-grid/base.md)
- Notification, appearance or integration options, with no people or SSO to manage: use the [Settings blocks](https://web.dev.reui.io/blocks/application/settings.md)

### Agent notes

- Every page.tsx sets a padded `min-h-svh` wrapper, and page.tsx or the root caps the max width; drop both inside your app shell
- Feedback goes through sonner `toast` and no block mounts a Toaster, so render one in your layout or no message appears
- No block sends a request or writes storage: state sits in `useState` or uncontrolled inputs, so every change resets on reload

Every ReUI item has a twin like this one; the index is https://web.dev.reui.io/llms.txt. Agents with the ReUI MCP (https://web.dev.reui.io/docs/mcp) get the same guidance from the getters named above.
