Skip to content

Components ​

Components are reusable frame trees. Create a component once, then insert instances across your project.

Creating a Component ​

  1. Select a frame
  2. Click the Create Component button (component icon) in the Element section header — or right-click → Create Component
  3. The frame is saved as a master component

The master lives in a special component page, separate from your regular pages.

Inserting Instances ​

Insert a component instance by:

  • Dragging it from the Components tab onto the canvas
  • Right-clicking a component in the Components tab → Insert
  • Using the MCP insert_component tool

Each instance is a deep clone of the master. It maintains a link back to the master via _componentId.

Instances are visually marked in the layers panel with a component icon, distinguishing them from regular frames.

Editing Masters ​

To edit a component's master:

  1. Right-click an instance → Edit Master — or use the MCP edit_component tool
  2. Caja switches to a dedicated component page, showing only the master in isolation
  3. Make your changes using the normal canvas and properties panel tools
  4. Exit component edit mode using the MCP exit_component_edit tool — changes propagate automatically to all instances across all pages

TIP

The component edit page is a real page in the project, but it's hidden from the pages list. You work with the master frame tree exactly like any other page.

Overrides ​

When inserting via MCP, you can customize instances by child name:

json
{
  "component_id": "comp_card",
  "parent_id": "root",
  "overrides": {
    "title": { "properties": { "content": "Custom Title" } },
    "cta": { "classes": "bg-violet-600" }
  }
}

Name your component's children meaningfully — names become override slots.

Instance Actions ​

Right-click an instance (or use the Properties panel buttons) for:

  • Edit Master — Open the master for editing
  • Reset — Revert to master state
  • Detach — Break the link, keep current state

Categories ​

Organize components with tags. The Components tab groups components by category. Use the + menu to create new categories. Components and categories can be reordered via drag-and-drop.

Preview ​

Hover over a component in the Components tab to see a live preview popup with Insert and Edit buttons.

Import & Export ​

Share components as .cjl (Caja Component Library) files via the + menu in the Components tab:

  • Export Components — Select which components to include, add metadata (name, author, description, version), and save as a .cjl file
  • Import Components — Load a .cjl file and select which components to import into your project