# Components

***

### **Quick access**

[**Components for Building Checklists**](#components-for-building-checklists)

* [**Checklist step**](#checklist-step)

  * [Header](#header)
  * [Task List](#task-list)
    * [Tasks](#tasks)
  * [Dismiss Button](#dismiss-button)
  * [Trigger](#trigger)

* [**Completion step**](#completion-step)
  * [How to Reach the Completion Step](#how-to-reach-the-completion-step)
  * [Customize step elements](#customize-step-elements)

***

## Components for Building Checklists

Checklists, like banners, come with predefined steps. You can’t add or remove steps but you can fully customize their content. In this case, there are two main steps: the **Checklist** itself and the **Completion Step**.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FHviYR0vyjzgHy9YVaaA7%2Fimage.png?alt=media&#x26;token=0185b404-6201-4a0e-8e82-13fea9328e0c" alt=""><figcaption><p>Checklist step</p></figcaption></figure>

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2F1TBHh3pJ7MNppnJuacaD%2Fimage.png?alt=media&#x26;token=54c50a49-b47a-4229-be92-89dd5acc67f4" alt=""><figcaption><p>Completion step</p></figcaption></figure>

## Checklist step

In this section, you’ll learn how to configure the **Checklist Step**, which is the first part of your checklist experience. It contains key components like the header, task list, dismiss button, and trigger. You can customize the design, behavior, and layout of the checklist to fit your needs.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FG54Tr3i0nZnucwb016uL%2Fimage.png?alt=media&#x26;token=55fa7a8d-9bac-4b79-87fe-c64b0c17558b" alt=""><figcaption><p>General options</p></figcaption></figure>

* **A**: This area lets you access the general parameters of the checklist, it holds below subsections to manage checklist components (header, tasks, etc.).
* **B**: Here, you can modify the checklist’s [**behavioral settings**](https://help.usejimo.com/docs/experiences/checklists/behavior) (like enabling/disabling the **dismiss** button or **draggable** mode).&#x20;
* **C**: Use this section to control the **positioning and size** of the checklist on the screen.
* **D**: This area allows you to customize the checklist’s general [**design options**](https://help.usejimo.com/docs/build/theme), including background color, borders, shadow effects, and more.

### Header

In the **Header** section, you can customize the key design and interactive elements of your checklist’s header area. Start by selecting the main **background color** and optional **border** for the header background.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2F50zScwPuDs88EJroy4tD%2Fimage.png?alt=media&#x26;token=c8a20bc6-f679-4de3-82f9-b665b9e9c821" alt=""><figcaption></figcaption></figure>

The Header can include up to four types of elements, giving you full flexibility over structure and interactivity:

* **Title**: The main heading for the checklist, editable to match your style and tone.
* **Paragraph**: Optional descriptive text to provide context or instructions.
* **Progress Bar**: A visual indicator showing task completion progress.
* **Control**: A compact control block that combines the minimize arrow and the drag handle, allowing users to collapse the checklist back to its trigger state or reposition it freely when dragging is enabled.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FAj7Gi1tgf5MqqMEZCCAQ%2Fimage.png?alt=media&#x26;token=017ae4de-ed96-41fb-b153-48ce70f830ac" alt=""><figcaption></figcaption></figure>

For the **Title** and **Paragraph**, you have similar customization options, including font style, size, weight, and color, ensuring consistency across the checklist.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FRlkfH0RGsdVcHextOfbw%2Fimage.png?alt=media&#x26;token=973c7bfd-efb5-4b76-ae9d-d34f22ccc2d0" alt=""><figcaption></figcaption></figure>

***

The **Control** element manages the interactive icons at the top-right of the checklist header, including the minimize arrow and the drag handle when draggable behavior is enabled.&#x20;

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FnemQS4dc9XRUUFUr7blG%2Fimage.png?alt=media&#x26;token=54055f23-9d71-421b-9003-9163ffa06db6" alt=""><figcaption></figcaption></figure>

Customization options include adjusting the gap between the icons, setting their size for balance, and applying a consistent color to match your design theme.

***

The **Progress Bar** comes in two styles:

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FziqzAOqigJanZCMZAZsm%2Fimage.png?alt=media&#x26;token=8c15a007-393b-4ea5-a78f-7775a5258225" alt=""><figcaption></figcaption></figure>

* **Plain Bar**: A simple bar that fills as tasks are completed.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FOVonXqgZnXIob6iGsBlj%2Fimage.png?alt=media&#x26;token=4a15e212-df59-45d7-9cea-59134176e733" alt=""><figcaption></figcaption></figure>

* **Step-by-Step Bar**: A segmented progress indicator, showing the number of completed tasks compared to the total.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FaMRNBx4mALfMdCsTqGox%2Fimage.png?alt=media&#x26;token=cec2e58c-5bd4-4035-b226-1cc58cec8e27" alt=""><figcaption></figcaption></figure>

### Task List

In the Task List section, you can fully manage your checklist's tasks. This includes:

* **Adding** new tasks to the list.
* **Renaming** tasks to reflect specific actions or steps.
* **Reordering** tasks by dragging and dropping them to fit the desired sequence.
* **Removing** tasks if they are no longer necessary.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FmgaMrXpRAgzK7LJ7tp4n%2Fimage.png?alt=media&#x26;token=722dfac0-c92d-4c32-bb48-1dd912afe904" alt=""><figcaption></figcaption></figure>

Each task can contain additional content, such as a **paragraph** or **CTAs** (Call-to-Action buttons).

Additionally, you can customize the behavior for how users interact with tasks:

* **Hover**: The task's content (such as paragraphs or CTAs) will appear when the user hovers over the task.
* **Click**: The task's content will appear only when the user clicks on the task.

This flexibility allows you to decide how tasks are revealed to users, depending on the flow of your checklist and the level of interaction required.

### Tasks

Each task can have specific behavior configurations, such as triggering actions and task completion conditions, which are detailed in the [behaviors](https://help.usejimo.com/docs/experiences/checklists/behavior).

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FcWymX6PgxCKTXMDTIW8c%2Fimage.png?alt=media&#x26;token=5bbcec10-2983-49ff-b8b5-18446570a28b" alt=""><figcaption></figcaption></figure>

When you create a task, it initially contains a checkmark, a heading, and a primary CTA. However, apart from the checkmark and heading, you can remove or add additional elements like paragraphs, media, or secondary CTAs.&#x20;

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FNPWfNCFZDGydSrfDE243%2Fimage.png?alt=media&#x26;token=552e053c-17b8-4a3a-b057-c907b3eae750" alt=""><figcaption><p>Task elements</p></figcaption></figure>

**Checkmark**:

The checklist's defining element, allowing users to visually mark tasks as completed. You can customize its appearance, including setting custom icons.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FU5Qm8jAODIVlvySiv5ZS%2Fimage.png?alt=media&#x26;token=2f376dff-7067-46f8-9b03-d245738a9664" alt=""><figcaption></figcaption></figure>

#### **Primary CTA**:&#x20;

Typically linked to the task's main action, this button inherits the [task's behavior](https://help.usejimo.com/docs/experiences/checklists/behavior) but can also trigger custom actions if configured.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FAXIB2MgXwQrCTJLBk16A%2Fimage.png?alt=media&#x26;token=6a4e3e74-c26a-4f2d-a531-dffa75dee1f8" alt=""><figcaption></figcaption></figure>

#### **Secondary CTA**:&#x20;

By default, this button allows users to skip the task and mark it as completed. It can also be customized to trigger different [actions](https://help.usejimo.com/docs/experiences/checklists/behavior).

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2Fg6YcYWCLJUuLIDHplOT4%2Fimage.png?alt=media&#x26;token=7f23303e-f49c-4c44-865f-2c69139611dc" alt=""><figcaption></figcaption></figure>

#### **Other Elements**:&#x20;

Additional elements like media (image/video), paragraphs, and headings can be included in tasks to make them more interactive and informative. It uses the same generic editing settings as modals.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2F8eCeDZiQsKhaKpiFuxl2%2Fimage.png?alt=media&#x26;token=4f33339c-600a-4711-9e50-66f1a066f441" alt=""><figcaption></figcaption></figure>

### Dismiss Button

This option allows users to close or dismiss the checklist at any time, providing more control over their experience.&#x20;

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FtxnQuaUZfjoj084cbq9E%2Fimage.png?alt=media&#x26;token=9f52150e-6096-4e26-a878-1cde005be3ae" alt=""><figcaption></figcaption></figure>

The Dismiss button is not included by default in a checklist. Once enabled, you can edit the text and the layout, including the font, size, weight, and color of the "Dismiss Checklist" button.

To add it, you have two options:

* **Add via the Navigator**: Manually add the "Dismiss" element to your checklist from the components menu in the Navigator.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2F8h8ppF27tRDTWnS82chQ%2Fimage.png?alt=media&#x26;token=83f341b6-8830-4c1a-b97a-de92842319a0" alt=""><figcaption></figcaption></figure>

* **Enable Dismissible option**: Switch the **Dismissible** option to "Yes" in the **Checklist Behavior** settings.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FTl0mYwwwE1mRrtynCc9n%2Fimage.png?alt=media&#x26;token=57f63ec6-d0e0-4d74-9c98-adbb85f8dfdf" alt=""><figcaption></figcaption></figure>

If no dismiss button is present, the only way to remove the checklist is by completing all the tasks. However, enabling the dismiss option gives users the ability to close the checklist at any time.

{% hint style="warning" %}
Keep in mind that checklists are non-recurring, so if the dismiss button is clicked, it might become impossible to reopen or complete the checklist, depending on your targeting and audience settings. Consider this carefully when designing your checklist experience.
{% endhint %}

### Trigger

The **Trigger** section controls how and where the checklist appears when collapsed, acting as the entry point for users to open or reopen the checklist.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FEuzUUSdTrRthFpaAU2bQ%2Fimage.png?alt=media&#x26;token=4605739f-4a07-44c3-9341-a47f73e6b3bf" alt=""><figcaption></figcaption></figure>

There are two trigger **types** available:

* **Minimized**: A compact version of the checklist header itself, maintaining continuity with its expanded state and typically positioned at the top corner of the screen.
* **Float**: A standalone floating CTA button, independent from the checklist header design, providing a more flexible entry point (e.g., with a custom label and icon).

Each type offers its own customization options under the following sections:

{% tabs %}
{% tab title="Minimized Type" %}

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FkaCFH3nPLTIU8deimO7N%2Fimage.png?alt=media&#x26;token=97561a3d-0a86-4f34-9285-ffc14a87cd9d" alt=""><figcaption></figcaption></figure>

**General**

* **Type**: Set to *Minimized*.
* The minimized trigger inherits the header’s content (e.g., title and progress bar).

**Behavior**

* **Draggable**: When enabled, allows users to drag and reposition the trigger along the screen borders after minimizing the checklist.

**Position**

* **Placement**: Define the default corner or edge where the trigger appears when minimized.
* **Offset**: Fine-tune the trigger’s horizontal and vertical offset from the selected placement.
* **Width**: Control the width (Default or custom pixel value) to match the desired appearance.
  {% endtab %}

{% tab title="Float Type" %}

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2Fu74B834eUTBtWMIFHsUZ%2Fimage.png?alt=media&#x26;token=41a74fb5-06f2-4dbb-bd99-af200e69a53e" alt=""><figcaption></figcaption></figure>

**General**

* **Type**: Set to *Float*.
* **CTA Label**: Define custom text to display on the button (e.g., *“Get started 🚀”*).

**Behavior**

* **Draggable**: When enabled, users can drag and reposition the floating trigger anywhere along screen borders.

**Progress**

* **Type**: Choose between *Circular* (small circular progress indicator) or *Count* (numeric task count) displayed alongside the CTA label.

**Position**

* **Placement**: Choose initial position (top-left, top-right, bottom-right, etc.).
* **Offset**: Fine-tune placement with horizontal/vertical pixel offset values.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FKm8MF6bHJqZ6eTv1Uo8d%2Fimage.png?alt=media&#x26;token=0323e324-f2a5-4923-8ad1-fb0ed4af9e73" alt=""><figcaption></figcaption></figure>

**Style**

* **Background**: Customize the background color of the float button.
* **Radius**: Define corner roundness to match brand style.

**Text**

* **Text Color**: Set color for the CTA label.
* **Font Family / Font Size**: Control font styling for the CTA label.
  {% endtab %}
  {% endtabs %}

## **Completion step**

The completion step is the final stage of the checklist journey. Once users have completed each task in the task list, they are presented with this step as a way to confirm their progress and close out the checklist experience. The completion step operates similarly to a [modal or tour step](https://help.usejimo.com/docs/experiences/tours-and-modals/components) and provides an opportunity to deliver a final message or call-to-action to the user.

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2F8EmFILiL0tCETlHcPTtc%2Fimage.png?alt=media&#x26;token=54becb86-ab36-428d-83c2-35740885dd13" alt=""><figcaption></figcaption></figure>

### **How to Reach the Completion Step**

Users will arrive at the completion step after c**ompleting all tasks** within the checklist.

This step serves as a confirmation to the user that all tasks have been successfully completed and provides a space to offer a **final call-to-action** or **concluding message**.

### **Customize step elements**

<figure><img src="https://2794860263-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKzAcDWQbK1gKbpra7bkb%2Fuploads%2FbMDofeX38RwDgbVvPzls%2Fimage.png?alt=media&#x26;token=f74c4b64-4bc1-4396-b22a-b2cd94054172" alt=""><figcaption></figcaption></figure>

You have several options for adding content to the completion step, making it a rich final interaction point:

* **Text Elements**:
  * **Heading**: Use this to display a congratulatory title, such as "Congrats! 🎉 You’ve completed the checklist."
  * **Paragraph**: Add extra details, like what the next step is for the user or a thank you message.
* **Media Assets**:
  * **Image/Video**: Insert an image or video to enhance the message, such as a celebratory image or instructional video for the next step.
  * **Profile**: Include a user avatar, personalizing the completion message with a team member’s profile or company branding.
* **Interaction Elements**:
  * **Primary Button (CTA)**: This could be labeled "Close," "Next," or any action relevant to the end of the checklist journey. By default, this button completes the checklist process.
  * **Cross (Dismiss Button)**: This allows users to manually dismiss the completion modal.

**Position and Behavior Settings**

* **Position**:
  * Control where the completion step appears on the screen, with options to display it in the center, at the top, or bottom, among other placements.
* **Dismissal Behavior**:
  * **By Clicking the Cross**: You can add a dismiss button (cross) for users who want to close the checklist manually.
  * **Automatic Dismissal**: Set conditions for automatic dismissal, such as after the user clicks the primary CTA or completes all tasks.

**Styling Options**

Customize the appearance of the completion step to match your brand or desired aesthetic:

* **General Styling**:
  * Adjust the **shadow**, **radius**, and **border** to modify the overall look of the completion step.
  * Customize the **background color** and **text color** for clarity and brand consistency.
* **Width and Radius**:
  * Define the width of the completion step and apply rounded corners with the **border radius** option.

**Animation Settings**

Make the transition to the completion step more fluid and engaging with animations:

* **Animations**:
  * Decide whether elements should **fade in** or **fade out**, or select other animation styles to make the final step more dynamic.
