CTA banner

Use the CTA banner component to highlight and create urgency around user actions.

import {CTABanner, Button} from '@primer/react-brand'

Examples

Default

Loading

Variants

Balanced

A CTABanner.Image child is required in this variant.
Loading

Minimal

CTABanner.Image is not supported in this variant and will not be rendered.
Loading

Alignment

The content alignment can be changed using the align prop on the root CTABanner. This can be configured to either start or center.

Loading

Optional background image

Loading

Optional background colors

CTABanner supports default, subtle and arbitrary background-color values

Loading

Optional border

A border can be provided using the hasBorder prop on the root CTABanner. This will render a border around the CTABanner component giving further separation between the foreground and background. Especially when there is no shadow present on the background.

Loading

Optional background

A background can be removed using the hasBackground prop on the root CTABanner. This will render the CTABanner component without a background allowing it to blend in with its parent.

Loading

Remove shadow

The shadow can be removed using the hasShadow prop. This will render the component without the background shadow.

Loading

Shadow color customization

The default shadow colors can be customized through their respective CSS variables.

Loading

Component props

CTABanner Required

nametypedefaultrequireddescription
childrenReactNode, ReactNode[]undefinedtrueContent to include within the banner component
variant'default', 'balanced', 'minimal''default'falseAlternative layout presentations
align'start', 'center''center'falseThe horizontal positioning of content within the banner component
backgroundColor'default', 'subtle', 'string', 'ResponsiveMap''default'falseOptional, custom background color
backgroundImageSrc'string', 'ResponsiveMap'undefinedfalseOptional, custom background image
backgroundImagePosition'string', 'ResponsiveMap''center'falseOptional, custom background position
backgroundImageSize'string', 'ResponsiveMap''cover'falseOptional, custom background position size
hasBorderbooleanfalsefalseA flag used to provide a border to the banner component
hasGridLinesbooleanfalsefalseEnables optional gridlines appearance
hasShadowbooleanfalsefalseA flag used to provide a shadow to the banner component
hasBackgroundbooleantruefalseA flag used to add a background to the banner component

CTABanner.Heading

nametypedefaultrequireddescription
childrenReactNode, ReactNode[]undefinedtrueContent to be displayed inside the CTABanner.Heading component
as'h1', 'h2', 'h3', 'h4', 'h5', 'h6''h3'falseHeading level
size'1', '2', '3', '4', '5', '6''3'falseVisual heading size, irrespective of level. Note: balanced and minimal variants override the visual size through CSS.

CTABanner.Description

nametypedefaultrequireddescription
childrenReactNode, ReactNode[]undefinedtrueContent to be displayed inside the banner component
variant'default', 'muted', 'subtle''muted'falseSpecify alternative text appearance

CTABanner.ButtonGroup Required

nametypedefaultrequireddescription
children<Button>, <Button>[]undefinedtrueThe buttons to be displayed within the group
buttonSize'medium', 'large'largefalseThe size of the buttons in the group
buttonsAs'a', 'button''button'falseSets underlying HTML element for each button

id, className and ref are forwarded by default to all children.

CTABanner.Image

nametypedefaultrequireddescription
srcstringundefinedtrueThe image source URL
altstringundefinedtrueAccessible alternative text for the image