Search Bar (JS)
Add the Inkeep search bar using a JS snippet.
Quick start
Add the below <script>
tag to the <head>
or <body>
of your website.
Insert the Search Bar by using the Inkeep.embed()
function.
Inkeep.Embed() for Search Bar
Parameter | Type | Description |
---|---|---|
componentType | string | Required. Must be SearchBar to add the SearchBar component. |
targetElement | HTMLElement | Required. A valid HTML element where you want to render the SearchBar component. |
properties | InkeepSearchBarProps | Required. An object that contains the base settings and other optional settings for the Search Bar |
colorModeSync | ColorModeSync | An object that contains the settings to sync the color mode in the widgets with the parent UI. |
ColorModeSync
These settings can be used to sync the widget's color mode with the color mode set in the parent UI.
Parameter | Type | Description |
---|---|---|
observedElement | HTMLElement | Required. Element to observe for color mode change. Example: document.body . |
isDarkModeCallback | (observedElement: Node) => boolean | Required. Function that returns true if dark mode otherwise false. Example: (observedElement) => observedElement.dataset.theme === 'dark' . |
colorModeAttribute | string | Required. Attribute that changes on the observedElement when colorMode changes. Example: "class" or "data-theme" . |
InkeepSearchBarProps
This type represents the configuration for the Inkeep search bar widget.
Property | Type | Description |
---|---|---|
baseSettings | InkeepBaseSettings | Required. Base settings for any Inkeep widget. See reference here. |
modalSettings | InkeepModalSettings | Settings for the modal. See reference here. |
searchSettings | InkeepSearchSettings | Additional search settings for the Inkeep widget. See reference here. |
aiChatSettings | InkeepAIChatSettings | AI chat settings for the Inkeep widget. See reference here. |
Multiple widgets
You may want to add mutliple Inkeep widgets on your site, like both a search bar and a chat button. In these cases, it can be helpful to create a common Inkeep JavaScript object that shares the same base settings for every widget.
You can then use inkeepBase.embed()
to add different components with the same base settings.
Changing props after initial render
Sometimes you may need to manage change settings after a widget has already been initialized, for example, to update user privacy preferences. To do this, you can use the render
method.
The below example illustrates how you change the primary color on the widget when a button is clicked.