Skip to content

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.

Terminal window
pnpm add @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.

@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:

Terminal window
pnpm add @bison-lab/admin-ui

It 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:

Terminal window
pnpm add @bison-lab/tokens @bison-lab/fonts

See 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:

Terminal window
pnpm add 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.

  • @bison-lab/payload-blocks puts the marketing sections behind the CMS. A Payload Block config per section, a renderer per config, and RenderBlocks to place them. See Wire a site.
  • @bison-lab/payload-core is the site-agnostic Payload configuration: seoPlugin and pageMetadata, createTheme, createBrandAssets, createRoles, createFeatures, the collection factories, createAdminNav, createQuestions, createTaxonomy, and createNavigation for Header and Footer. See Site configuration.
  • @bison-lab/admin-ui is the Payload-free kit those admin fields draw with. See Admin kit.

Next: Wire a site.