Split

A two column call to action: heading, text and one action on the start side, a phone showing your app screen below its status bar on the end side. It stacks with the phone under the text on mobile.

Dependencies

@radix-ui/react-slotclass-variance-authority@hugeicons/react@hugeicons/core-free-icons

Interaction Type

A labelled section landmark: the heading names it for screen readers. Tab moves through the actions in reading order, each with the accent focus ring and a 44px target. Hover or focus the primary action and its arrow slides forward; reduced motion keeps it still.

Props

Options you can pass to customize this component.

Prop
Type
Description
title
ReactNode

Heading. Defaults to "Blocks that fit every screen".

description
ReactNode

Supporting text under the heading.

actionLabel
string

Action text. Defaults to "Browse blocks". Empty hides it.

actionHref
string

Where the action points.

actionIcon
ReactNode

Icon after the action label, slides forward on hover. Pass null to hide it.

imageSrc
string

Screen image inside the phone. Without it the phone shows a skeleton screen.

imageDarkSrc
string

Optional dark theme screen image, shown under the .dark class.

imageAlt
string

Alt text of the screen image. Defaults to "App screen on a phone".

media
ReactNode

Replaces the phone entirely with your own media.

className
string

Merged onto the section with cn().

Installation

npx shadcn@latest addhttps://ui.nexvyn.dev/r/cta-split.json

How to use

<CtaSplit
  title="Your app, in every pocket."
  description="Install it on any device in under a minute."
  actionLabel="Get the app"
  actionHref="/download"
  imageSrc="/screens/home-light.jpg"
  imageDarkSrc="/screens/home-dark.jpg"
  imageAlt="The home screen on a phone"
/>

Source Code

Click the code icon in the top-right corner to view the source code.

Contact

Questions or feedback? Reach out anytime.

License & Usage

  • •Free for personal and commercial use
  • •No attribution required
  • •Cannot be resold as a standalone product
  • •Anatomy/blueprint diagrams are licensed separately (CC BY-NC 4.0) and are not for commercial use
// No code loaded.
acme.app

Blocks that fit every screen

Every block starts at phone width and grows into wide layouts. Check it on a device, then copy it into your app.

The Nexvyn UI components page on a phone
npx shadcn@latest addhttps://ui.nexvyn.dev/r/cta-split.json