MDK Logo
ReferenceUI KitReactUI Kit foundationComponentsSettings

ManageUserModal

Modal for editing an existing user's role, status, or team membership.

Modal for editing an existing user's role, status, or team membership.

import { ManageUserModal } from "@tetherto/mdk-react-devkit";
PropStatusTypeDefaultDescription
openRequiredboolean
onCloseRequiredVoidFunction
userRequiredSettingsUser
rolesRequiredRoleOption[]
rolePermissionsRequiredRecord<string, Record<string, PermLevel>>
permissionLabelsRequiredRecord<string, string>
onSubmitRequired(data: { id: string; name: string; email: string; role: string; }) => Promise<void>
isSubmittingOptionalboolean | undefined

Usage

Modal for editing an existing user's name, email, and role. Shows a role-permission matrix for context.

Example

import { useState } from 'react'import { ManageUserModal } from '@tetherto/mdk-react-devkit'const mockRoles = [  { value: 'admin', label: 'Admin' },  { value: 'operator', label: 'Operator' },]const mockUser = { id: '1', name: 'Alice', email: 'alice@example.com', role: 'admin' }export const ManageUserModalExample = () => {  const [open, setOpen] = useState(false)  return (    <div className="mdk-example-row">      <button onClick={() => setOpen(true)}>Manage User</button>      <ManageUserModal        open={open}        onClose={() => setOpen(false)}        user={mockUser as never}        roles={mockRoles}        rolePermissions={{          admin: { read: 'full' as never },          operator: { read: 'limited' as never },        }}        permissionLabels={{ read: 'Read Access' }}        onSubmit={async () => setOpen(false)}      />    </div>  )}