Settings Layout
Settings page layout with a 200px side nav column and a content area, plus a SettingsSection for titled groups divided by hairlines. Tailwind grid based.
src/registry/ui/settings-layout.tsx/r/settings-layout.json
Installation#
bash
npx shadcn@latest add @minidev/settings-layout
MiniDev UI is in the shadcn registry directory, so the short form works with no setup. Older CLI versions can use the full URL: npx shadcn@latest add https://ui.minidev.pro/r/settings-layout.json
Usage#
tsx
import { SettingsLayout } from "@/components/ui/settings-layout"
export function Example() {
return (
<SettingsLayout className="w-full max-w-3xl" nav={<>
<Button variant="ghost" className="w-full justify-start">Profile</Button>
<Button variant="secondary" className="w-full justify-start">API</Button>
<Button variant="ghost" className="w-full justify-start">Billing</Button>
</>}>
<SettingsSection title="Profile" description="Public details for your workspace.">
<FormField id="name" label="Name" className="max-w-sm"><Input id="name" defaultValue="MiniDev" /></FormField>
</SettingsSection>
<SettingsSection title="API keys">
<ApiKeyList keys={[{ id: "1", name: "Production", preview: "md_live_••••1234" }]} />
</SettingsSection>
<SettingsSection title="Danger zone"><DangerZone /></SettingsSection>
</SettingsLayout>
)
}
API reference#
| Prop | Type | Default |
|---|---|---|
nav* | React.ReactNode | - |
children* | React.ReactNode | - |
className | string | - |
* required
Examples#
Related settings components#
Admin User RowUser management row with avatar, online status dot, name, email, a role chip for admin, write or read access, and an accessible actions menu button.Avatar UploadReact profile photo uploader with an avatar preview and an Upload button that opens a hidden image file input. Shows initials until a picture is chosen.Bulk User ImportCSV user import panel with a format hint for email, name and role, a CSV-only dropzone and an Import users button that enables once a file is added.Connected AccountTailwind settings row for a linked third party account showing the provider and account name, with a Disconnect button. For OAuth and integrations.Danger ZoneDanger zone settings card with a red outline, a warning that the action cannot be undone and a destructive delete button. Put it last on settings pages.Delete Account ConfirmAccount deletion step with a danger alert and a confirmation field: the delete button stays disabled until the user types DELETE. Guards against misclicks.
All settings page components