{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "admin-console",
  "type": "registry:component",
  "title": "Admin console",
  "description": "A full admin console with an impersonation banner, org switcher, KPI strip and tabs for users, SSO and IP allowlist, resource quotas and bulk user import.",
  "dependencies": [],
  "registryDependencies": [
    "https://ui.minidev.pro/r/admin-stat-strip.json",
    "https://ui.minidev.pro/r/admin-user-row.json",
    "https://ui.minidev.pro/r/audit-filter-bar.json",
    "https://ui.minidev.pro/r/bulk-user-import.json",
    "https://ui.minidev.pro/r/impersonation-banner.json",
    "https://ui.minidev.pro/r/ip-allowlist.json",
    "https://ui.minidev.pro/r/org-switcher.json",
    "https://ui.minidev.pro/r/page-header.json",
    "https://ui.minidev.pro/r/resource-quota-grid.json",
    "https://ui.minidev.pro/r/sso-provider-card.json",
    "https://ui.minidev.pro/r/tabs.json"
  ],
  "files": [
    {
      "path": "registry/blocks/admin-console.tsx",
      "type": "registry:ui",
      "target": "components/ui/admin-console.tsx",
      "content": "\"use client\"\nimport * as React from \"react\"\nimport { OrgSwitcher } from \"@/components/ui/org-switcher\"\nimport { ImpersonationBanner } from \"@/components/ui/impersonation-banner\"\nimport { AdminStatStrip } from \"@/components/ui/admin-stat-strip\"\nimport { AdminUserRow } from \"@/components/ui/admin-user-row\"\nimport { AuditFilterBar } from \"@/components/ui/audit-filter-bar\"\nimport { ResourceQuotaGrid } from \"@/components/ui/resource-quota-grid\"\nimport { SsoProviderCard } from \"@/components/ui/sso-provider-card\"\nimport { IpAllowlist } from \"@/components/ui/ip-allowlist\"\nimport { BulkUserImport } from \"@/components/ui/bulk-user-import\"\nimport { PageHeader } from \"@/components/ui/page-header\"\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from \"@/components/ui/tabs\"\n\nfunction AdminConsole() {\n  const [org, setOrg] = React.useState(\"1\")\n  const [sso, setSso] = React.useState(true)\n  return (\n    <div data-slot=\"admin-console\" className=\"space-y-6\">\n      <ImpersonationBanner user=\"casey@acme.com\" />\n      <div className=\"flex flex-wrap items-center justify-between gap-3\">\n        <PageHeader title=\"Admin\" description=\"Users, security, and quotas\" className=\"mb-0 border-0 pb-0\" />\n        <OrgSwitcher\n          value={org}\n          onChange={setOrg}\n          orgs={[\n            { id: \"1\", name: \"Acme\", plan: \"Studio\" },\n            { id: \"2\", name: \"MiniDev\", plan: \"Premium\" },\n          ]}\n        />\n      </div>\n      <AdminStatStrip\n        stats={[\n          { label: \"Seats\", value: \"42\", delta: 8 },\n          { label: \"Active today\", value: \"128\", delta: 3.2 },\n          { label: \"API errors\", value: \"0.4%\", delta: -12 },\n          { label: \"Audit events\", value: \"1.2k\", delta: 5 },\n        ]}\n      />\n      <Tabs defaultValue=\"users\">\n        <TabsList>\n          <TabsTrigger value=\"users\">Users</TabsTrigger>\n          <TabsTrigger value=\"security\">Security</TabsTrigger>\n          <TabsTrigger value=\"quotas\">Quotas</TabsTrigger>\n          <TabsTrigger value=\"import\">Import</TabsTrigger>\n        </TabsList>\n        <TabsContent value=\"users\" className=\"rounded-xl border border-border bg-surface\">\n          <AdminUserRow name=\"Aman Kaushik\" email=\"aman@minidev.pro\" role=\"admin\" online />\n          <AdminUserRow name=\"Casey Lee\" email=\"casey@acme.com\" role=\"write\" online={false} />\n          <AdminUserRow name=\"Riley Ng\" email=\"riley@acme.com\" role=\"read\" online />\n        </TabsContent>\n        <TabsContent value=\"security\" className=\"space-y-4\">\n          <AuditFilterBar />\n          <div className=\"grid gap-4 lg:grid-cols-2\">\n            <SsoProviderCard name=\"SAML\" description=\"Enterprise identity provider\" enabled={sso} configured onEnabledChange={setSso} />\n            <IpAllowlist />\n          </div>\n        </TabsContent>\n        <TabsContent value=\"quotas\">\n          <ResourceQuotaGrid\n            items={[\n              { label: \"Seats\", used: 42, max: 50 },\n              { label: \"API calls\", used: 820000, max: 1000000 },\n              { label: \"Storage\", used: 18, max: 100 },\n              { label: \"Automations\", used: 12, max: 25 },\n            ]}\n          />\n        </TabsContent>\n        <TabsContent value=\"import\">\n          <BulkUserImport />\n        </TabsContent>\n      </Tabs>\n    </div>\n  )\n}\nexport { AdminConsole }\n"
    }
  ]
}
