> ## Documentation Index
> Fetch the complete documentation index at: https://docs.claimr.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Interactive components UX requirements

> UX design requirements for buttons and input fields within your Claimr campaigns, ensuring they are user-friendly, accessible, and visually appealing.

Interactive components, such as buttons and input fields, are essential elements for gathering user information and enabling interactions within your Claimr campaigns. Designing user-friendly interactive components is crucial for ensuring a smooth and efficient user experience.

## Log in / Log out buttons

Facilitate user authentication and session management.

<Frame caption="Example: Log in button">
  <img src="https://mintcdn.com/claimr/SqDb6Tuo_fYS0Je_/images/ux-requirements/login-button-example.png?fit=max&auto=format&n=SqDb6Tuo_fYS0Je_&q=85&s=5b37f5ca7d72923bcde1862f9449249e" alt="Example log in button" width="604" height="156" data-path="images/ux-requirements/login-button-example.png" />
</Frame>

<Frame caption="Example: Log out button">
  <img src="https://mintcdn.com/claimr/SqDb6Tuo_fYS0Je_/images/ux-requirements/logout-button-example.png?fit=max&auto=format&n=SqDb6Tuo_fYS0Je_&q=85&s=1e0b4acbf29637d9132a72b738fa5bf4" alt="Example log out button" width="588" height="140" data-path="images/ux-requirements/logout-button-example.png" />
</Frame>

* **Clear labels:** Use concise and descriptive labels like "Log In" and "Log Out."
* **Visual distinction:** Differentiate the two buttons through color, styling, or placement.
* **Feedback:** Provide visual feedback upon interaction, such as a loading state or change in button appearance.
* **Accessibility:** Ensure buttons have clear focus states.

## Action buttons

Trigger specific actions within the campaign (e.g., "Submit," "Next," "Follow").

<Frame caption="Example: Active CTA">
  <img src="https://mintcdn.com/claimr/dhPADok3uWVS7HZR/images/ux-requirements/active-cta-button-example.png?fit=max&auto=format&n=dhPADok3uWVS7HZR&q=85&s=5aba9d92d2fc7dc25ed490966c50eaf6" alt="Example active CTA" width="796" height="246" data-path="images/ux-requirements/active-cta-button-example.png" />
</Frame>

<Frame caption="Example: Disabled CTA">
  <img src="https://mintcdn.com/claimr/SqDb6Tuo_fYS0Je_/images/ux-requirements/disabled-cta-button-example.png?fit=max&auto=format&n=SqDb6Tuo_fYS0Je_&q=85&s=2d8e7adec95b868eb1429b6f2f3c3feb" alt="Example disabled CTA" width="974" height="362" data-path="images/ux-requirements/disabled-cta-button-example.png" />
</Frame>

* **Clear labels:** Use action-oriented verbs that accurately describe the button's function.
* **Visual hierarchy:** Make action buttons prominent and visually distinct from other elements.
* **Disabled state:** Clearly indicate when a button is disabled (e.g., grayed out, with a tooltip explaining why).
* **Feedback:** Provide visual feedback upon interaction, such as a loading state or change in button appearance.

## Checkbox

Allow users to select or deselect options.

<Frame caption="Example: Checkbox">
  <img src="https://mintcdn.com/claimr/SqDb6Tuo_fYS0Je_/images/ux-requirements/checkbox-example.png?fit=max&auto=format&n=SqDb6Tuo_fYS0Je_&q=85&s=be33f6ceb1210a66cc937c868a05cbdb" alt="Example checkbox" width="900" height="110" data-path="images/ux-requirements/checkbox-example.png" />
</Frame>

* **Clear labels:** Provide concise labels adjacent to checkboxes, describing the corresponding options.
* **Visual states:** Clearly differentiate between checked, unchecked, and disabled states using distinct visual cues (e.g., checkmark, empty box, grayed-out box).
* **Hit area:** Make the clickable area surrounding the checkbox large enough for easy interaction.

## Text input

Enable users to enter textual information.

<Frame caption="Example: Text input in different states">
  <img src="https://mintcdn.com/claimr/SqDb6Tuo_fYS0Je_/images/ux-requirements/text-input-states-example.png?fit=max&auto=format&n=SqDb6Tuo_fYS0Je_&q=85&s=464d90e40cadeae8ec90347dbfb38b30" alt="Example text input in different states" width="784" height="656" data-path="images/ux-requirements/text-input-states-example.png" />
</Frame>

* **Clear labels:** Provide descriptive labels above or adjacent to input fields.
* **Input field size:** Adjust the input field size appropriately based on the expected input length.
* **Placeholder text/hint:** Use placeholder text or hints to guide users on the expected input format or content.
* **Disabled state:** Clearly indicate when an input field is disabled (e.g., grayed out).
* **Error handling:** Provide clear error messages and guidance if input validation fails.

## Upload image

Allow users to upload image files.

<Frame caption="Example: Upload image">
  <img src="https://mintcdn.com/claimr/SqDb6Tuo_fYS0Je_/images/ux-requirements/upload-image-example.png?fit=max&auto=format&n=SqDb6Tuo_fYS0Je_&q=85&s=073e5d5e6168983fac9dd48654492e23" alt="Example upload image" width="350" height="392" data-path="images/ux-requirements/upload-image-example.png" />
</Frame>

<Frame caption="Example: Submit uploaded image">
  <img src="https://mintcdn.com/claimr/SqDb6Tuo_fYS0Je_/images/ux-requirements/submit-uploaded-image-example.png?fit=max&auto=format&n=SqDb6Tuo_fYS0Je_&q=85&s=52a62a30dc750f1c6c48827a73238ecb" alt="Example submit uploaded image" width="348" height="428" data-path="images/ux-requirements/submit-uploaded-image-example.png" />
</Frame>

<Frame caption="Example: Verification state">
  <img src="https://mintcdn.com/claimr/SqDb6Tuo_fYS0Je_/images/ux-requirements/upload-image-verification-state-example.png?fit=max&auto=format&n=SqDb6Tuo_fYS0Je_&q=85&s=de1314bbcbeaa90a09de6eb0ebf47c41" alt="Example verification state" width="346" height="526" data-path="images/ux-requirements/upload-image-verification-state-example.png" />
</Frame>

* **Clear CTA:** Use a clear button or label (e.g., "Upload Image") to initiate the upload process.
* **File selection:** Provide a standard file selection dialog for users to choose an image file.
* **Image preview:** Display a preview of the uploaded image before submission.
* **File validation:** Implement file type and size validation to prevent errors.
* **Error handling:** Provide clear error messages if file validation fails.
* **Accessibility:** Ensure the upload process is accessible to screen readers and keyboard users.
