MDK Logo
ReferenceUIComponents

Settings Components

Settings panels and preference controls

Components for settings and configuration interfaces.

Prerequisites

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

Components

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