Visual Editing
Visual editing lets you select and modify elements directly on the live preview — no prompts, no code, no credits. Use the Edit / Preview toggle in the top bar to switch between modes.
Visual editing lets you select and modify elements directly on the live preview — no prompts, no code, no credits. Use the Edit / Preview toggle in the top bar to switch between modes.

Edit Mode

In Edit mode, clicking selects elements for editing. A selected element shows:
- Blue outline with drag handles at corners and edges
- Green outline around the parent component
- Breadcrumb label showing the component name (e.g., "HomeHero...")
- Arrow to drill into the component's inner scope
Double-click to drill into a component, or hold Cmd (Mac) / Ctrl (Windows) and click to select any deeply nested element directly. Whatever you select is sent to the AI as context.
Direct editing:
- Text — double-click any text element to edit it inline
- Images — double-click any image to open the Media panel
- Icons — double-click any SVG icon to browse the Lucide icon library for a replacement
- Drag — click and drag a selected element to reorder or reposition it
Every visual change is immediately written to the source code.
Quick Insert Buttons
When you select a component, quick insert buttons appear above and below it on the stage. Click one to open the element picker, where you can search or browse categorized HTML elements (headings, images, forms, containers, and more). The AI generates the chosen component based on the surrounding context and inserts it at that position.

The Editing Toolbar
The Editing Toolbar appears below the top bar when an element is selected and Edit mode is active. Click any control to expand its panel. Changes take effect immediately and are written directly to the source code.

Some controls are disabled when they don't apply to the selected element. For example, Media is only active when an image is selected.
File Breadcrumb and Component Name
The left side of the toolbar shows the file breadcrumb (e.g., home.tsx) and the component name (e.g., HomeHeroBlock). This tells you exactly which file and component the selected element belongs to.
Element States
Toggle pseudo-states to style how an element looks when a user interacts with it:
- Hover — when the cursor is over the element
- Active — while the element is being clicked
- Focus — when the element has keyboard focus
- Focus visible — keyboard focus with a visible indicator
- Focus within — when a child element has focus

You can enable multiple states at once to preview combined interactions.
Size and Position
Set explicit dimensions and positioning for the selected element.

- Width / Height — set exact values or leave as
auto - Min / Max Width and Height — constrain how the element scales
- Position — set the CSS position (e.g.,
relative,absolute,fixed) - Top / Right / Bottom / Left — offset values when using positioned layout
- Z-Index — control stacking order
Layout
Choose a layout mode for container elements. The Presets tab offers common patterns, while the Custom tab gives you full control over flexbox and grid properties.

Available presets:
- Box — a basic container
- Horizontal Stack — flex row
- Vertical Stack — flex column
- 2x2 Grid / 3x3 Grid — CSS grid layouts
- None — remove layout
Margin
Control the outer spacing around the selected element. The visual editor shows four fields arranged around a cross — top, right, bottom, left — so you can see which side you're adjusting. You can edit each side independently, or use the triggers inside the controller to edit in pairs (top and bottom, right and left) or all four sides at once.

Padding
Control the inner spacing inside the selected element. Same layout as Margin — four directional fields around a center point, with the same options to edit sides independently, in pairs, or all at once.

Typography
A comprehensive set of text controls. The dropdown at the top lets you pick from font presets defined in your theme, which keeps typography consistent with your design system.

- Select font — choose from theme font presets
- Font Family — the CSS font-family value. The dropdown includes Google Fonts (Figtree, Sora, Roboto, Inter, Montserrat, and many more) alongside your theme's generic font stacks, so you can browse and apply web fonts directly.

- Font Size / Font Weight — size and boldness
- Line Height — spacing between lines
- Italicize — toggle italic style
- Letter Spacing — tracking between characters
- Alignment — left, center, right, or justify
- Decoration — underline, strikethrough, or overline
- Case — uppercase, lowercase, capitalize, or normal
Text Color
Pick a text color using one of three tabs:

- Theme — your project's semantic design tokens, organized by group (Neutral, Accent, Error, Success, Warm, Warning). Each group shows 12 graded colors plus a 13th Contrast swatch — a white or black that looks good against the group's colors. The current color is indicated with a checkmark. Using token colors keeps your project visually consistent and responsive to theme changes.

- Palette — a broader color palette with every available color family (Gray, Mauve, Slate, Tomato, Red, Blue, Green, and many more). Each family shows 12 graded colors plus a Contrast swatch as a row, making it easy to explore colors outside your theme tokens.

- Custom — a freeform color picker with a saturation/lightness gradient area, hue slider, opacity slider, format dropdown (CSS, HEX, RGB, HSL), and a value input field. An eyedropper tool lets you sample colors from anywhere on screen.
Background
Set a background color or gradient. The first three tabs work the same as Text Color, with an additional Gradient tab.

Four tabs:
- Theme — semantic token colors (same as Text Color)
- Palette — broader color palette (same as Text Color)
- Custom — freeform color picker (same as Text Color)
- Gradient — describe a gradient in natural language (e.g., "mint to dark blue", "warm sunrise", "vibrant pattern") and the AI generates it. This uses credits.

Border
Choose a border style for the selected element. Options include no border, solid, dashed, and dotted lines. When a border style is selected, additional controls appear for width and color.

Corners
Set the border-radius using your theme's radius scale. This keeps corner rounding consistent across your project.

The scale ranges from Radius 1 (2px) for subtle rounding to Radius Round for fully circular corners (like avatar images or pill-shaped buttons).
Shadow
Add depth with box shadows. Choose from preset shadow levels or inner shadows.

- Shadow 1–4 — increasingly prominent outer shadows
- Inner Shadow 0–4 — inset shadows for recessed effects
Link
Configure where an element links to. The panel has four tabs for different link types:

- Page — link to another page in your project
- URL — link to an external URL
- Email — create a
mailto:link - Phone — create a
tel:link
Media
The Media control activates when you select an image element. It opens the Media panel where you can browse, replace, upload, and generate images.

The panel has two tabs:
- Project Media — shows all images currently in your project. Click any thumbnail to use it. You can also Upload a new image from your computer or Generate a new one with AI (see below).
- URL — enter a URL to use an externally hosted image (from a CDN, design tool, or any public URL)
Clicking Generate opens a modal where you describe the image you want. You can choose the AI model, style, and aspect ratio. Generated images are auto-saved to your project.

Double-clicking an image in the preview also opens the Media panel directly.
See Media for the full feature reference.
SVG Element
The SVG Element control appears when you select an SVG element (such as an icon). It replaces the Media control in the toolbar. Double-clicking an SVG element in the preview also opens this panel directly.
The panel lets you browse the Lucide icon library and replace the selected icon with a different one.

Properties
The Properties panel shows the React component props for the selected element. This is available when you've drilled into a component's inner scope and selected an element that has configurable props.

The Advanced Properties link opens a more detailed view for complex prop configurations.
Related Articles
- Visual Editing – guide to visual editing workflows
- Styling Element States – editing hover, focus, and active states
- Working with the Theme – customize colors and typography at the project level
- Media – full reference for the Media panel
The Editor Layout
The Editor is the workspace where you build, edit, and inspect your project. It opens when you click a project from the Dashboard.
Chat
The Chat panel is the primary interface for working with the AI. It shows your full conversation history and provides the prompt box for sending messages.
