# Component Designer

Design custom pixel-perfect components using Component Designer. Enabled to create, design, and modify their components with various options: creating components, providing states, giving styles, intuitive event handlers, seamless data connections (REST, GraphQL & Beyond), direct Figma & Sketch Imports.

<figure><img src="/files/u421W0MSmHIVKQvhVAV5" alt=""><figcaption></figcaption></figure>

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

{% content-ref url="/pages/51tboWxCFoZgLL6k0ZG4" %}
[How to use pixel-perfect components](/component-designer/how-to-use-pixel-perfect-components.md)
{% endcontent-ref %}

Explore ready-to-use 40+ components in our Components Marketplace.

<figure><img src="/files/oDzlOb7B2mY9VLoVhYe7" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Lz4i2Vvw6mUhORtft4Fv" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/NcI73QJgaqxvBxKMvqh6" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/94zgD0BMKsUeMP3eZWxR" 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="/files/YLyS12WchVARcIPuRS2O" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/NlmNRVkQ9J2Z2s4vix5Z" %}
[How to work with component designer](/component-designer/how-to-work-with-component-designer.md)
{% endcontent-ref %}

### Conditional Visibility&#x20;

**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="/files/hrRR3yeQtVc3V4YT5BuQ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/IQcf5jTRRiorT3vr9KqT" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/ihqE2jWK8LYDnOT8phzy" %}
[Conditional Visibility](/component-designer/right-sidebar/conditional-visibility.md)
{% endcontent-ref %}

### 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="/files/68sEcxwC0jzbZAJMXpKl" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/WuAb035wxEMKaeNXhq9J" %}
[Layout](/component-designer/right-sidebar/layout.md)
{% endcontent-ref %}

### Fills

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

<figure><img src="/files/M3DtEdzUk18g3DXXivyI" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/CaluxJPtaazOnK5YvHKm" %}
[Fills](/component-designer/right-sidebar/fills.md)
{% endcontent-ref %}

### 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="/files/n3IZg2In2VtzCtur83PS" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/KzU6nhLgC0PvtgDacOl7" %}
[Borders](/component-designer/right-sidebar/borders.md)
{% endcontent-ref %}

### 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="/files/OsFF4oF8klUovN1wdFoB" alt=""><figcaption></figcaption></figure>

{% content-ref url="/pages/2db8VprqneidLHHIpDcY" %}
[Shadows](/component-designer/right-sidebar/shadows.md)
{% endcontent-ref %}

### 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.

{% content-ref url="/pages/xC9cr6EUuRkjoeiVX5PF" %}
[Component Responsiveness / Constraints](/component-designer/right-sidebar/component-responsiveness-constraints.md)
{% endcontent-ref %}

### 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.

{% content-ref url="/pages/4pQNZlvw4vqv9r86EReh" %}
[Interactions](/component-designer/right-sidebar/interactions.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.jetadmin.io/component-designer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
