Skip to main content

SearchField

Prerequisites

Make sure you have completed these prerequisites:

  1. Install the flexibel library either through npm or yarn.
  2. Have an active account and project on Flexibel. This will give you an API key that is neccesary for the flexibel library to work.

Functionality

the SearchField component provides a search field to be placed anywhere on a page that, when clicked, initiates interaction with your site's chatbot

Image Placeholder for Chatbot Interaction

Usage

import { SearchField } from "flexibel";

<SearchField apiKey="YOUR_API_KEY" />;

Replace YOUR_API_KEY with your project's API key.

Like other components, it includes a keyword search feature within the chatbot, enhancing the user's experience by providing the customer with relevant pages as they are typing.

Image Placeholder for Keyword Search Feature

Props

PropTypeDefaultDescription
apiKeystring-API key from your Flexibel project
aiIconobjectFlexibel IconThe icon of the AI chatbot. Has to be an HTML tag such as an img or svg
userIconobjectDefault User IconThe icon of the user in the chat. Has to be an HTML tag such as an img or svg
returnIconobjectDefault Return IconThe icon of the return button in the top left corner of the chatbot interface. Has to be an HTML tag such as an img or svg
pinIconobjectDefault Pin IconThe icon of the pin button in the top right corner of the chatbot interface. Has to be an HTML tag such as an img or svg
togglePinOnbooleantrueBoolean Determening whether the chatbot can be pinned to the corner
keywordSearchOnbooleantrueA boolean determining whether the keyword search feature is active or not
placeholderstring"Search..."Placeholder text for the search bar.
welcomeMessagestringHow may I be of assistance?The initial message from the AI chatbot when a new conversation begins
suggestedQuestionsstring[]-A list of strings that will be displayed to the user as suggested questions at the start of a new conversation
suggestedQuestionsStyleobject-A style object determining the style of the suggested questions displayed to the user at the start of a conversation
chatStyleobject-A style object determining the style of the actual chatbot box
inputFieldStyleobject-A style object determining the style of the input field used to interact with the AI chatbot
askButtonStyleobject-A style object determining the style of the button next to the input field
chatButtonStyleobject-A style object determining the style of the return and pin buttons in the chatbot interface
separatorColorstring"#CCCCCC"A hex color value determining the color of the line separating each message
aiIconColorstring"#ffffff"A hex color value determining the color of the AI icon
aiColorstring"#89CFF0"A hex color value determining the background color behind the AI icon
userIconColorstring"#ffffff"A hex color value determining the color of the user icon
userColorstring"#000000"A hex color value determining the background color behind the user icon
startPinnedbooleanfalseA boolean determining whether the chat should start pinned in the corner
chatPositionstring"bottom-right"A string determining the position of the chat when pinned. This can only be one of these values: "bottom-right", "bottom-left", "top-right", "top-left"
searchStyleobject-A style object determining the style of the search field that activates that AI chatbot

Examples

In this section, we provide several examples of how to use the SearchField component with various props. These examples are designed to give you a clearer understanding of how to customize the chatbot to fit your website's specific needs.

Example 1: Basic Setup with Placeholder

<SearchField
apiKey="YOUR_API_KEY"
placeholder="Search for help..."
searchStyle={{ width: "100%", padding: "10px" }}
/>
  • Description: A basic SearchField setup with a custom placeholder and style.

Example 2: Custom Chat Interface and Icons

<SearchField
apiKey="YOUR_API_KEY"
aiIcon={<img src="custom_ai_icon.svg" alt="AI" />}
userIcon={<img src="custom_user_icon.svg" alt="User" />}
welcomeMessage="How can I assist you?"
chatStyle={{ backgroundColor: "#f0f0f0", color: "#333" }}
inputFieldStyle={{ backgroundColor: "#fff", borderColor: "#ddd" }}
askButtonStyle={{ backgroundColor: "#008CBA", color: "white" }}
/>
  • Description: Incorporates custom AI and user icons, a tailored welcome message, and specific styling for the chatbot interface.

Example 3: Comprehensive Customization with Suggested Questions

<SearchField
apiKey="YOUR_API_KEY"
suggestedQuestions={[
"How do I create an account?",
"What are the payment options?",
]}
suggestedQuestionsStyle={{ color: "#007BFF", fontWeight: "bold" }}
aiColor="#D1E8FF"
userColor="#E7E7E7"
separatorColor="#FF5733"
chatPosition="top-right"
/>
  • Description: Features suggested questions with custom styling, distinct colors for AI and user sections, and positions the chat in the top-right corner of the screen.