> For the complete documentation index, see [llms.txt](https://docs.jetadmin.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.jetadmin.io/classic-app-builder/component-designer.md).

# Component Designer and Figma

Customized App Components Without Coding. Similar to Figma

Applies to **Classic App Builder**. Screens and recordings in this section show the Classic interface.

Design a custom component, connect its inputs and interactions, and verify it in the app.

## Recommended path

1. [Learn the designer workflow](/classic-app-builder/component-designer/how-to-work-with-component-designer.md) and [right sidebar](/classic-app-builder/component-designer/right-sidebar.md).
2. Organize [frames and groups](/classic-app-builder/component-designer/frames-and-groups.md).
3. Configure [component and layer states](/classic-app-builder/component-designer/component-and-layer-states.md).
4. Add [action components](/classic-app-builder/component-designer/action-components.md) and bind the required data.
5. Test different input values, empty states, interaction states, and sizes.

For existing designs, follow [Import Figma Design](/classic-app-builder/component-designer/import-figma-design.md). Verify imported behavior and data connections separately from visual appearance.

## Classic visual reference

The screenshots and demonstration below are retained from the existing Classic documentation. They illustrate the designer interface; available controls may vary with your app version.

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FjzfDgWxvFkOrFOQooZhW%2Fcomponent_img.jpg?alt=media&#x26;token=effa4ab6-4938-4b5f-a9fa-a4572c005f69" alt=""><figcaption></figcaption></figure>

{% embed url="<https://res.cloudinary.com/djpvkoh3s/video/upload/v1701333832/pixelperfect/nmmnwwilex11l6v38mxa.mp4>" %}

Explore the available components in the Components Marketplace.

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2Fgm2nDNK0uGkLjgErbSJu%2Fimage.png?alt=media&#x26;token=5412bf7a-b52f-45bd-8927-4095707e2861" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FAHOhPHWk7fK4VnCCzBw0%2Fimage.png?alt=media&#x26;token=f18a9fc9-2836-465d-9c50-938437cc4522" alt=""><figcaption></figcaption></figure>

* **Standalone components** (Profile headers, documents, summary, banners)

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FCzDOtR5qZVqVqoH1ra4A%2Fimage.png?alt=media&#x26;token=6774ece5-20e6-424e-9ca0-5624019d604c" alt=""><figcaption></figcaption></figure>

* **Record fields** (health, metrics, user/product)

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FjbgbfztbVKkbLThlRl4X%2Fimage.png?alt=media&#x26;token=1968e90f-fc03-4d73-bdcf-6e9150afaab4" alt=""><figcaption></figcaption></figure>

### Customize your Components

If you're new to Component Designer, it's normal to feel lost when opening a file. We’ll take you on a tour so you can orient yourself.

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FFCwTWK25UsNRbx8onBfQ%2Fimage.png?alt=media&#x26;token=4ab014dc-548d-4869-a287-edb1258ecf28" alt=""><figcaption></figcaption></figure>

### Conditional Visibility

**Conditional Visibility** allows dynamic display adjustments of UI components or layers based on specified conditions. This feature is handy when you need UI elements to respond to changes, such as altering the color of a metric indicator depending on whether its value is positive or negative.

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FVyTP9u1woVePy13bXswj%2Fimage.png?alt=media&#x26;token=29b1c751-f6d5-4180-9b52-353b1385540f" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FcytCRHTAyyRMfxMz96Eo%2Fimage.png?alt=media&#x26;token=89e36d48-7705-43d0-9931-e954077e2216" alt=""><figcaption></figcaption></figure>

### Layout

**Layout** allows you to do the following operations:

* Adjusting Position (X and Y Coordinates)
* Modifying Width and Height
* Rotating elements
* Adjusting Corner Radius
* Flipping vertically over their X-axis and/or horizontally over the Y axis
* Set Element Opacity
* Blend modes (allow you to define how you want two layers to blend together)

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FOQPu7boOL4CYL7m8Fy0k%2Fimage.png?alt=media&#x26;token=9f8b5922-e937-4c81-8e5c-e0fd484fecc3" alt=""><figcaption></figcaption></figure>

### Fills

Paints are colors, gradients, or images. Fills are just one of the ways you can use paints in Jet.

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FiQpNuVEs7WoGWOobEq1D%2Fimage.png?alt=media&#x26;token=f3741986-d128-452d-a3cc-4eccab1f05dc" alt=""><figcaption></figcaption></figure>

### Borders/Stroke

Strokes are a collection of properties you can apply to layers in design files. You can think of strokes as the visual representation of a vector path.

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FygNSGGWZ9j6z2IqJFVDv%2Fimage.png?alt=media&#x26;token=3690da4c-8d7b-427c-b61c-fe3c5c2c58be" alt=""><figcaption></figcaption></figure>

### Shadows

Effects serve several purposes, from aesthetic to functional. They can make you signify that an element is interactive, like making a button look clickable by giving the rectangle a shadow.

<figure><img src="https://3448227606-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQ08RFAKZvFADEiXKFy%2Fuploads%2FUXjKqAqwDQ5yjN0KrLvX%2Fimage.png?alt=media&#x26;token=7ab26ea1-226a-4010-90b2-c343b83feade" alt=""><figcaption></figcaption></figure>

### Component Responsiveness / Constraints

Create responsive components using Resizing. Resizing allows you to handle the positioning and sizing of user elements when the size of the canvas changes. You can apply resizing to Canvas or Element.

### Interactions

Add interactions to layers, enhancing user engagement and functionality. Five types of interactions can be added to any layer: Hover State, Pressed State, Click Action, Cursor, and Text Selection.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.jetadmin.io/classic-app-builder/component-designer.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
