Install
Three Bison Lab packages, installed into a Payload 3 site on Next.js. None of them ships a page or needs next outside Payload’s admin (the @bison-lab/payload-core/admin entry uses next/navigation, which every Payload admin already has): the site owns its routes, its page measure and its image and link elements.
Payload packages
Section titled “Payload packages”pnpm add @bison-lab/payload-blocks @bison-lab/payload-core @bison-lab/ui @payloadcms/plugin-seo @payloadcms/plugin-redirectsnpm install @bison-lab/payload-blocks @bison-lab/payload-core @bison-lab/ui @payloadcms/plugin-seo @payloadcms/plugin-redirects@payloadcms/plugin-redirects is required by createRedirects(). Pin both plugins to the same version as payload. Payload releases them in lockstep.
Admin kit
Section titled “Admin kit”@bison-lab/admin-ui is its own package. Field adapters in @bison-lab/payload-blocks/admin and @bison-lab/payload-core/admin compose it. A site that writes its own admin screens, or that imports KitProvider and the primitives, installs it directly:
pnpm add @bison-lab/admin-uinpm install @bison-lab/admin-uiIt is also a dependency of payload-blocks and payload-core, so those adapters already have it on disk. Installing it yourself is how you import from @bison-lab/admin-ui. See Admin kit.
Theme is required on every site. Install the tokens and the font catalogue with it:
pnpm add @bison-lab/tokens @bison-lab/fontsnpm install @bison-lab/tokens @bison-lab/fontsSee Theme.
| Package | Required | Optional, by entry |
|---|---|---|
@bison-lab/payload-blocks |
payload |
react, react-dom, @bison-lab/ui for ./react; @payloadcms/richtext-lexical for ./rich-text; @payloadcms/ui for ./admin (every Payload site already has it); @bison-lab/payload-core for lookField / colorTokenField |
@bison-lab/payload-core |
payload, @payloadcms/plugin-seo, @payloadcms/plugin-redirects, @bison-lab/tokens, @bison-lab/fonts |
@payloadcms/ui, next, react, and @payloadcms/richtext-lexical for ./admin (the FAQ Library answer editor; every site that already has editor: lexicalEditor() has it); @bison-lab/ui and @payloadcms/live-preview-react for the legacy ./react preview |
@bison-lab/admin-ui |
react, react-dom |
none. The . entry does not import payload or @payloadcms/ui. |
@bison-lab/ui |
react, react-dom, zod (^4.0.0) |
react-hook-form for formMode="rhf"; recharts for ./charts |
zod is a peer rather than a dependency so the site’s copy is the only one in the graph. Form takes a schema you build, and @bison-lab/ui/validators exports schemas you compose with your own — both only typecheck if the library and the site are holding the same zod. Install it alongside:
pnpm add zodnpm install zod@bison-lab/ui needs the library’s tokens and Tailwind preset on the page. If the site already renders @bison-lab/ui components it has them; if not, the component library README covers the theme file and the preset import.
What each package is for
Section titled “What each package is for”@bison-lab/payload-blocksputs the marketing sections behind the CMS. A PayloadBlockconfig per section, a renderer per config, andRenderBlocksto place them. See Wire a site.@bison-lab/payload-coreis the site-agnostic Payload configuration:seoPluginandpageMetadata,createTheme,createBrandAssets,createRoles,createFeatures, the collection factories,createAdminNav,createQuestions,createTaxonomy, andcreateNavigationfor Header and Footer. See Site configuration.@bison-lab/admin-uiis the Payload-free kit those admin fields draw with. See Admin kit.
Next: Wire a site.