web / lib/types/cms-blocks
lib/types/cms-blocks
CMS block type definitions for Payload CMS page blocks.
Types used by the block renderer to map CMS content to React components.
Interfaces
BlockStyle
Style controls available on every page builder block.
Properties
paddingTop?
optionalpaddingTop:"none"|"sm"|"md"|"lg"|"xl"|null
paddingBottom?
optionalpaddingBottom:"none"|"sm"|"md"|"lg"|"xl"|null
backgroundColor?
optionalbackgroundColor:string|null
maxWidth?
optionalmaxWidth:"sm"|"md"|"lg"|"xl"|"full"|null
anchorId?
optionalanchorId:string|null
hideOnMobile?
optionalhideOnMobile:boolean|null
hideOnDesktop?
optionalhideOnDesktop:boolean|null
separator?
optionalseparator:"none"|"line"|"gradient"|"wave"|null
HeroBlock
Properties
blockType
blockType:
"hero"
title
title:
string
subtitle?
optionalsubtitle:string|null
description?
optionaldescription:string|null
background?
optionalbackground:"gradient"|"grid"|null
buttons?
optionalbuttons:object[] |null
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
FeatureItem
Properties
icon
icon:
string
title
title:
string
description
description:
string
accent?
optionalaccent:"none"|"primary"|"secondary"|"accent"|"muted"|null
id?
optionalid:string|null
FeaturesBlock
Properties
blockType
blockType:
"features"
sectionTitle?
optionalsectionTitle:string|null
sectionDescription?
optionalsectionDescription:string|null
features
features:
FeatureItem[]
columns?
optionalcolumns:"1"|"2"|"3"|"4"|null
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
StatItem
Properties
value
value:
string
label
label:
string
icon?
optionalicon:string|null
id?
optionalid:string|null
StatsBlock
Properties
blockType
blockType:
"stats"
stats
stats:
StatItem[]
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
DetailsGridItem
Properties
icon
icon:
string
label
label:
string
value
value:
string
link?
optionallink:string|null
id?
optionalid:string|null
DetailsGridBlock
Properties
blockType
blockType:
"detailsGrid"
sectionTitle?
optionalsectionTitle:string|null
variant?
optionalvariant:"grid-2"|"grid-3"|"grid-4"|"compact"|null
items
items:
DetailsGridItem[]
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
TimelineBlockItem
Properties
date
date:
string
title
title:
string
description
description:
string
id?
optionalid:string|null
TimelineBlock
Properties
blockType
blockType:
"timeline"
sectionTitle?
optionalsectionTitle:string|null
variant?
optionalvariant:"compact"|"vertical"|null
items
items:
TimelineBlockItem[]
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
TestimonialItem
Properties
quote
quote:
string
author
author:
string
role?
optionalrole:string|null
avatar?
optionalavatar:string|null
id?
optionalid:string|null
TestimonialsBlock
Properties
blockType
blockType:
"testimonials"
sectionTitle?
optionalsectionTitle:string|null
variant?
optionalvariant:"single"|"grid"|"masonry"|null
items
items:
TestimonialItem[]
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
RichTextBlock
Properties
blockType
blockType:
"richText"
content
content:
unknown
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
CTABlock
Properties
blockType
blockType:
"cta"
headline
headline:
string
description?
optionaldescription:string|null
buttonText
buttonText:
string
buttonLink
buttonLink:
string
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
NewsletterFormBlock
Properties
blockType
blockType:
"newsletterForm"
headline?
optionalheadline:string|null
placeholder?
optionalplaceholder:string|null
buttonText?
optionalbuttonText:string|null
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
NewsletterCTABlock
Properties
blockType
blockType:
"newsletterCTA"
headline?
optionalheadline:string|null
description?
optionaldescription:string|null
placeholder?
optionalplaceholder:string|null
buttonText?
optionalbuttonText:string|null
variant?
optionalvariant:"default"|"elevated"|"centered"|null
size?
optionalsize:"default"|"lg"|"xl"|null
blockStyle?
optionalblockStyle:BlockStyle|null
id?
optionalid:string|null
blockName?
optionalblockName:string|null
BlockRendererProps
Properties
blocks
blocks:
Block[]
Type Aliases
Block
Block =
HeroBlock|FeaturesBlock|StatsBlock|DetailsGridBlock|TimelineBlock|TestimonialsBlock|RichTextBlock|CTABlock|NewsletterFormBlock|NewsletterCTABlock