AdminLayoutProps
Defined in: packages/react/src/components/AdminLayout.tsx:40
Props for the AdminLayout component.
Properties
Section titled “Properties”activeDocID?
Section titled “activeDocID?”
optionalactiveDocID?:string
Defined in: packages/react/src/components/AdminLayout.tsx:52
The docID of the currently active document.
Forwarded to AppSidebar and AdminTopNav for admin navigation.
activeSlug?
Section titled “activeSlug?”
optionalactiveSlug?:string
Defined in: packages/react/src/components/AdminLayout.tsx:47
The slug of the currently active collection.
Forwarded to AppSidebar for active nav highlighting.
children
Section titled “children”children:
ReactNode
Defined in: packages/react/src/components/AdminLayout.tsx:59
The active view content rendered in the main content area.
components?
Section titled “components?”
optionalcomponents?:FrameworkComponents
Defined in: packages/react/src/components/AdminLayout.tsx:71
Optional framework-specific component overrides.
Pass { Link: NextLink, Image: NextImage } for Next.js.
Pass { Link: StartLink } for TanStack Start (where StartLink wraps
RouterLink to map href → to).
When omitted, all internal components fall back to native <a> and <img>.
In practice this prop is set by the framework adapter (@vexcms/next etc.)
rather than by the application developer.
config
Section titled “config”config:
object
Defined in: packages/react/src/components/AdminLayout.tsx:42
The full resolved VexCMS config — forwarded to AppSidebar.
admin:
object
Resolved admin panel configuration — always fully populated after defaults are applied.
admin.sidebar
Section titled “admin.sidebar”sidebar:
object
Navigation sidebar configuration — always present after defaults are applied.
admin.sidebar.collapsible
Section titled “admin.sidebar.collapsible”collapsible:
"none"|"offcanvas"|"icon"
How the sidebar in the admin panel collapses
admin.sidebar.side
Section titled “admin.sidebar.side”side:
"left"|"right"
Which side of the viewport the admin sidebar is anchored to.
optionalauth?:object
Auth adapter registered with this config. Auth collections are merged with user-defined collections — protected collections and locked fields are preserved during merge.
- VexAuthAdapter for the adapter interface
- better-auth/src!betterAuthAdapter for the Better Auth implementation
auth.collections
Section titled “auth.collections”
readonlycollections:object[]
Auth collections to register alongside user-defined collections.
These are merged into VexConfig.collections automatically by
defineConfig(). Each collection uses standard Vex field builders
(text(), relationship(), etc.) and may carry admin.readOnly
defaults on system fields.
auth.name
Section titled “auth.name”
readonlyname:string
Provider identifier for debugging and telemetry.
auth.userCollection
Section titled “auth.userCollection”
readonlyuserCollection:string
The slug of the collection that stores user documents.
Used by the admin panel to resolve user references and by auth-aware components to look up the current user collection.
basePath
Section titled “basePath”basePath:
string
URL prefix for all admin panel routes — always set after defaults are applied.
collections
Section titled “collections”collections:
object[]
All registered content collections — always an array after defaults are applied.
globals
Section titled “globals”globals:
object[]
Resolved global configs. Always present; defaults to [].
mediaCollections
Section titled “mediaCollections”mediaCollections:
object[]
Media collections — processed by storage adapters and stored separately
from user-defined collections. These appear in the admin panel under a
dedicated “Media” section. Each collection is tagged with
meta.storageAdapterName indicating which adapter owns it.
schema
Section titled “schema”schema:
object
Resolved schema generation configuration — always fully populated after defaults are applied.
schema.outputPath
Section titled “schema.outputPath”outputPath:
string
Path where vex.schema.ts is written. Always set after defaults are applied.
storage?
Section titled “storage?”
optionalstorage?:object
Storage adapters registered with this config. Processed media collections
from all adapters are available via mediaCollections.
storage.adapters
Section titled “storage.adapters”adapters:
object[]
Storage adapters configured for the project.
types:
object
types.outputPath
Section titled “types.outputPath”outputPath:
string
Path where vex.types.ts is written. Always set after defaults are applied.
organization?
Section titled “organization?”
optionalorganization?:Record<string,unknown>
Defined in: packages/react/src/components/AdminLayout.tsx:73
pathname
Section titled “pathname”pathname:
string
Defined in: packages/react/src/components/AdminLayout.tsx:57
The full pathname of the current url
Forwarded to AppTopNav for the top nav.
sidebarOpen?
Section titled “sidebarOpen?”
optionalsidebarOpen?:boolean
Defined in: packages/react/src/components/AdminLayout.tsx:74
optionaluser?:AdminUser
Defined in: packages/react/src/components/AdminLayout.tsx:72