OrganizationMemberDetail component provides a unified interface to view and manage an individual organization member’s profile and assigned roles.
- React
- Next.js
- shadcn
Setup requirements
Auth0 Configuration Required—Ensure your tenant is configured with the My Organization API. View setup guide →
Installation
pnpm
Get started
Pass auserId from your route to the component. Wire onBack to your router so the back button returns to the member list.Full integration example
Full integration example
Props
Required props
Display props
Display props control how the component renders without affecting its behavior. Use these to hide sections or enable read-only mode.Action props
Action props handle user interactions. Use lifecycle hooks (onBefore, onAfter) to integrate with your application’s routing and analytics.
onBack
Type:
() => void
Fires when selecting the header back button and automatically after member removal. Wire this callback to your router to return to the member list.
ComponentAction<string>
Controls member removal from the organization (membership only; does not delete the user profile from the Auth0 user store). After a successful membership removal, the component invokes the action callback and onBack. Do not rely on ordering if onAfter performs asynchronous work.
onBefore(userId)confirms before removal. Returnfalseto cancel.onAfter(userId)runs after removal.
ComponentAction<{ userId: string; roleIds: string[] }>
Fires after assigning roles from the roles tab. Role selections are capped at 10 roles per assignment request, and an individual member can have up to 50 total roles assigned. Both hooks receive { userId, roleIds }.
onBefore({ userId, roleIds })validates selection. Returnfalseto cancel.onAfter({ userId, roleIds })writes to an audit log or refreshes role badges.
ComponentAction<{ userId: string; roleIds: string[] }>
Fires when removing assigned roles from the roles table (supports up to 10 roles per removal request). Both hooks receive { userId, roleIds }.
onBefore({ userId, roleIds })confirms before removing roles. Returnfalseto cancel.onAfter({ userId, roleIds })refreshes state or audit logs.
Customization props
customMessages
Override bundled component text. Every field is optional and falls back to the built-in default.
Common message groups
Common message groups
member.detail—Core views and tabs
back_button,tabs.details,tabs.roles
title,name,email,phone_number,created_at,last_login
title,description,buttonmodal.title,modal.description,modal.cancel_button,modal.confirm_buttonsuccess
title,description,assign_buttonroles_selected,roles_selected_plural,max_selection_message,searching_messagetable.name,table.description,table.empty_message,table.remove_button_label
title,descriptionroles_label,roles_placeholdersubmit_button,cancel_button,no_roles_available
title,title_plural,description,description_pluralconfirm_button,cancel_button
fetch_failed,fetch_roles_failed,remove_from_organization_failed,assign_role_failed,remove_role_failed
styling Customize appearance with CSS variables and class overrides. Variables support
light, dark, and common scopes. Class overrides target named slots inside the component tree.
Available styling options
Available styling options
Variables—CSS custom properties
common—Applied to all themeslight—Light theme onlydark—Dark theme only
OrganizationMemberDetail-rootOrganizationMemberDetail-headerOrganizationMemberDetail-tabsOrganizationMemberDetail-detailsTabOrganizationMemberDetail-rolesTabMemberRemoveFromOrgModal-dialogContentOrganizationMemberRemoveRoleModal-dialogContentOrganizationMemberAssignRolesModal-dialogContent