Two types of components
Layout components define the overall structure of a content type. They specify where content properties go (title, subtitle, hero image) and where component blocks can be added. Every content type has one layout component. View components are the blocks that content teams add when building content. Paragraphs, headings, images, quotes, calls to action — these are all view components.The component editor
The component editor is a split-view workspace:- Code editor — write component code in BindJS, a TypeScript-based syntax inspired by SwiftUI
- Live preview — see your component render in real time as you type
Create a component
Navigate to Components in your project sidebar and click the + button. Enter a name for your component (e.g.,ArticleCard, HeroSection, ProductTile). Component names must start with a letter and contain only letters and numbers.
Your new component opens in the editor with starter code:
Write component code
Components use BindJS, a declarative syntax for building UI. If you’ve used SwiftUI, the patterns will feel familiar.Layout and structure
Stack components vertically, horizontally, or in layers:Styling with modifiers
Chain modifiers to style components:Common components
| Component | Purpose |
|---|---|
Text() | Display text |
Image() | Display images |
Button() | Interactive buttons |
VStack() | Vertical layout |
HStack() | Horizontal layout |
ZStack() | Layered layout |
Spacer() | Flexible space |
ScrollView() | Scrollable content |
Add properties
Properties make components configurable. Content teams fill in property values when using your component.title, subtitle, and showImage in the inspector.
Organize with collections
Create collections to organize components by category — Cards, Forms, Navigation, Marketing. Drag components between collections or right-click to move them.Publish through packages
Components don’t publish individually. Instead, you publish them as part of a package — a versioned snapshot of your entire component library. Navigate to Components → Packages and click Create:- Enter a version number (e.g.,
1.0.0) - Add an optional description
- Click Publish Package
Learn more about the publishing workflow in Publishing Packages.
