Page blocksContent
Content Image Frame
A centered content section with an intro and a layered, framed screenshot.
v0.1.0Page blockContent familyContent section
Installation
npx payload-components add content-image-frameWhat it installs
Copies 3 source files into your project:
src/blocks/shared/contentFields.tssharedsrc/blocks/ContentImageFrame/config.tssrc/blocks/ContentImageFrame/Component.tsx
…and makes 4 edits to wire the block into your project:
| Registers the block | src/collections/Pages/index.ts |
| Maps the renderer | src/blocks/RenderBlocks.tsx |
| Regenerates types | src/payload-types.ts |
| Regenerates the admin import map | src/app/(payload)/admin/importMap.js |
Registers the block
src/collections/Pages/index.tsMaps the renderer
src/blocks/RenderBlocks.tsxRegenerates types
src/payload-types.tsRegenerates the admin import map
src/app/(payload)/admin/importMap.jscontentFields.ts is the shared field core for this family — every variant composes it. Editing it updates each installed block at once, and re-running an install never overwrites a copy you have changed.Re-running the install converges: it detects existing wiring, skips it, and records install state in .payload-components/state.json.
Content model
The eyebrow, title, and paragraphs fields come from the shared Content family base
(src/blocks/shared/contentFields.ts); the image and optional backgroundImage uploads are
specific to this variant. The image is framed inside a rounded backdrop.
Prop
Type
Usage
Add the block to a page. In the Payload admin, open (or create) a Page and add the
ContentImageFrame block to its layout.Fill the content. Complete the fields from the content model above — the component ships sample content you can start from.
Publish. Save and publish the page; the block renders through
RenderBlocks on the frontend, fully typed — no extra wiring.Requirements
- Target
- payload-website-starter, payload-blocks-app
- Payload
- v3
- Next.js
- 15 / 16
- shadcn UI
- badge
Your project must already expose components.json, src/payload.config.ts — the surfaces payload-components add patches. The CLI verifies this against the support matrix before touching anything.
In this family
content-showcasecontent-image-leadcontent-feature-splitcontent-feature-mediacontent-image-framecurrentcontent-split-rowscontent-rowscontent-statscontent-quotecontent-communitycontent-columnscontent-listcontent-list-columnscontent-list-icons