Searchbar React Component

Searchbar allows user to search through List View elements. Or it can be used as a visual UI component for your custom search realization.

Contents

Searchbar Components

There are following components included:

  • Searchbar

Searchbar Props

NameTypeDefaultDescription
clearButtonbooleantrue

Adds input clear button

colorsobject

Object with Tailwind CSS colors classes

colors.inputBgIosstring''
colors.inputBgMaterialstring'bg-md-light-secondary-container dark:bg-md-dark-secondary-container'
colors.placeholderIosstring''
colors.placeholderMaterialstring'placeholder-md-light-on-surface-variant dark:placeholder-md-dark-on-surface-variant'
componentstring'div'

Component's HTML Element

disableButtonbooleanfalse

Adds button for cancel search and set its initial state

inputIdstring

Input id attribute

inputStyleCSSProperties

Additional input classes

onBlurfunction(e)

blur

onChangefunction(e)

change

onClearfunction(e)

Fired on clear button click

onDisablefunction(e)

Fired on searchbar disable

onFocusfunction(e)

focus

onInputfunction(e)

input

placeholderstring | number'Search'

Searchbar placeholder

valueany

Searchbar value

Examples

Searchbar.jsx
import React, { useState } from 'react';
import {
Page,
Navbar,
NavbarBackLink,
Searchbar,
List,
ListItem,
} from 'konsta/react';
const items = [
{ title: 'FC Ajax' },
{ title: 'FC Arsenal' },
{ title: 'FC Athletic' },
{ title: 'FC Barcelona' },
{ title: 'FC Bayern München' },
{ title: 'FC Bordeaux' },
{ title: 'FC Borussia Dortmund' },
{ title: 'FC Chelsea' },
{ title: 'FC Galatasaray' },
{ title: 'FC Juventus' },
{ title: 'FC Liverpool' },
{ title: 'FC Manchester City' },
{ title: 'FC Manchester United' },
{ title: 'FC Paris Saint-Germain' },
{ title: 'FC Real Madrid' },
{ title: 'FC Tottenham Hotspur' },
{ title: 'FC Valencia' },
{ title: 'FC West Ham United' },
];
export default function SearchbarPage() {
const [searchQuery, setSearchQuery] = useState('');
const handleSearch = (e) => {
setSearchQuery(e.target.value);
};
const handleClear = () => {
setSearchQuery('');
};
const handleDisable = () => {
console.log('Disable');
};
const filteredItems = searchQuery
? items.filter((item) =>
item.title.toLowerCase().includes(searchQuery.toLowerCase())
)
: items;
return (
<Page>
<Navbar
title="Searchbar"
subnavbar={
<Searchbar
onInput={handleSearch}
value={searchQuery}
onClear={handleClear}
disableButton
disableButtonText="Cancel"
onDisable={handleDisable}
/>
}
/>
<List strong inset>
{filteredItems.length === 0 ? (
<ListItem title="Nothing found" className="text-center" />
) : (
filteredItems.map((item) => (
<ListItem key={item.title} title={item.title} />
))
)}
</List>
</Page>
);
}
Code licensed under MIT.
2025 © Konsta UI by nolimits4web.