MDK Logo

Settings

Settings panels and preference controls

Components for settings and configuration interfaces.

Prerequisites

  • Complete the installation

  • Add the dependency to your app's package.json
{
  "dependencies": {
    "@tetherto/mdk-react-devkit": "*",
    "@tetherto/mdk-react-adapter": "*",
    "@tetherto/mdk-ui-foundation": "*"
  }
}

Run npm install from the mdk/ui workspace root after your app is under apps/ so npm links workspace packages.

  • Import styles: import '@tetherto/mdk-react-devkit/styles.css'

Components

@tetherto/mdk-react-devkit

Import the public APIs on this page from @tetherto/mdk-react-devkit.

AddUserModal

Modal form for inviting a new user — captures email, role, and optional team assignment.

agent-ready

Props

PropTypeRequiredDefaultDescription
openboolean✓--
onCloseVoidFunction✓--
rolesRoleOption[]✓--
onSubmit(data: { name: string; email: string; role: string; }) => Promise<void>✓--
isSubmittingboolean | undefined--

ChangeConfirmationModal

Generic confirmation modal that shows a diff or summary of pending changes before applying them.

agent-ready

Props

PropTypeRequiredDefaultDescription
openboolean✓--
titlestring✓--
onConfirmVoidFunction✓--
onCloseVoidFunction✓--
childrenReact.ReactNode✓--
confirmTextstring | undefined--
destructiveboolean | undefined--

FeatureFlagsSettings

Settings panel listing every feature flag with per-flag enable/disable toggle and description.

agent-ready

Props

PropTypeRequiredDefaultDescription
featureFlagsRecord<string, boolean>✓--
isEditingEnabledboolean✓--
isLoadingboolean | undefined--
isSavingboolean | undefined--
onSave(flags: Record<string, boolean>) => void✓--
classNamestring | undefined--

HeaderControlsSettings

Settings panel for the global app header — toggle controls, sticky behaviour, and theme defaults.

agent-ready

Props

PropTypeRequiredDefaultDescription
preferencesHeaderPreferences✓--
isLoadingboolean | undefined--
onToggle(key: keyof HeaderPreferences, value: boolean) => void✓--
onResetVoidFunction✓--
classNamestring | undefined--

ImportExportSettings

Settings panel for exporting site configuration as JSON and importing a previously saved snapshot.

agent-ready

Props

PropTypeRequiredDefaultDescription
onExportVoidFunction✓--
onImport(data: SettingsExportData) => void✓--
onParseFile((file: File) => Promise<SettingsExportData>) | undefined--
isExportingboolean | undefined--
isImportingboolean | undefined--
classNamestring | undefined--

ManageUserModal

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

agent-ready

Props

PropTypeRequiredDefaultDescription
openboolean✓--
onCloseVoidFunction✓--
userSettingsUser✓--
rolesRoleOption[]✓--
rolePermissionsRecord<string, Record<string, PermLevel>>✓--
permissionLabelsRecord<string, string>✓--
onSubmit(data: { id: string; name: string; email: string; role: string; }) => Promise<void>✓--
isSubmittingboolean | undefined--

RBACControlSettings

Settings panel listing roles and their permissions; supports editing role-permission grants.

agent-ready

Props

PropTypeRequiredDefaultDescription
usersSettingsUser[]✓--
rolesRoleOption[]✓--
rolePermissionsRecord<string, Record<string, PermLevel>>✓--
permissionLabelsRecord<string, string>✓--
canWriteboolean✓--
isLoadingboolean | undefined--
onCreateUser(data: { name: string; email: string; role: string; }) => Promise<void>✓--
onUpdateUser(data: { id: string; name: string; email: string; role: string; }) => Promise<void>✓--
onDeleteUser(userId: string) => Promise<void>✓--
classNamestring | undefined--

SettingsDashboard

Top-level settings landing page — composes the per-section settings cards in a single grid.

agent-ready

Props

PropTypeRequiredDefaultDescription
dangerActionsActionButtonProps[] | undefined--
headerControlsPropsHeaderControlsSettingsProps | undefined--
rbacControlPropsRBACControlSettingsProps | undefined--
importExportPropsImportExportSettingsProps | undefined--
featureFlagsPropsFeatureFlagsSettingsProps | undefined--
showFeatureFlagsboolean | undefined--
classNamestring | undefined--

On this page