Search input
Examples
Base
<div class="chi-form__item">
<chi-search-input></chi-search-input>
</div>
<div class="chi-form__item">
<ChiSearchInput />
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input" type="search" aria-label="search input" />
<button class="chi-button -icon -flat -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
Disabled
Use the disabled
boolean attribute to prevent users from interacting with a search input.
Disabled inputs are not submitted with the form and can not receive any browsing events such as mouse clicks or focus.
Note: The required attribute can not be used on inputs with a disabled attribute specified.
<div class="chi-form__item">
<chi-search-input value="Sample Text" disabled></chi-search-input>
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" disabled />
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input" type="search" value="Sample text" disabled="disabled" aria-label="search input" />
<button class="chi-button -icon -flat -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
Message
Use the helper-message
attribute to provide users with additional information,
validation feedback, and other helpful information.
<div class="chi-form__item">
<chi-search-input helper-message="Optional helper message"></chi-search-input>
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input" type="search" aria-label="search input" />
<button class="chi-button -icon -flat -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
<div class="chi-label -status">Optional helper message</div>
</div>
Error
Use the danger
state to provide feedback to users when input data fails to validate.
To meet accessibility requirements, danger inputs must include an error message explaining the
failure and/or how to correct it.
<div class="chi-form__item">
<chi-search-input id="example__danger" value="Unknown item" state="danger" helper-message="Item not found"></chi-text-input>
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -danger" type="search" value="Unknown item" aria-label="search input" />
<button class="chi-button -icon -flat -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
<div class="chi-label -status -danger">
<i class="chi-icon icon-circle-warning" aria-hidden="true"></i>
Item not found
</div>
</div>
Autocomplete
Use the mode="autocomplete"
attribute to enable autocomplete functionality.
To fully implement the autocomplete field, you must provide a list of menu items by setting
the menuItems
property to the input search field, as in the example below.
When autocomplete mode is active, the property visible-items
, which allows
to set numbers of items visible in the dropdown, is available.
<div class="chi-form__item">
<chi-search-input id="example__autocomplete" mode="autocomplete" visible-items="3"></chi-search-input>
</div>
<script>
const input = document.getElementById("example__autocomplete");
input.menuItems = [
{ title: "Item 1", href: "#" },
{ title: "Item 2", href: "#" },
{ title: "Item 3", href: "#" },
{ title: "Item 4", href: "#" },
{ title: "Item 5", href: "#" }
];
</script>
<div class="chi-dropdown">
<div id="with-dropdown" class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input" type="search" aria-label="search input" />
<button class="chi-button -icon -flat -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
</div>
<div class="chi-dropdown__menu" style="overflow-y: auto; max-height: 7rem">
<a class="chi-dropdown__menu-item" href="#">Item 1</a>
<a class="chi-dropdown__menu-item" href="#">Item 2</a>
<a class="chi-dropdown__menu-item" href="#">Item 3</a>
<a class="chi-dropdown__menu-item" href="#">Item 4</a>
</div>
</div>
<script>
chi.dropdown(document.getElementById('with-dropdown'));
</script>
Sizes
Search input supports the following sizes: xs
, sm
, md
,
lg
, xl
.
The default size is md
.
xs
sm
md
lg
xl
<div class="chi-form__item">
<chi-search-input size="xs" value="Sample Text"></chi-search-input>
</div>
<div class="chi-form__item">
<chi-search-input size="sm" value="Sample Text"></chi-search-input>
</div>
<div class="chi-form__item">
<chi-search-input size="md" value="Sample Text"></chi-search-input>
</div>
<div class="chi-form__item">
<chi-search-input size="lg" value="Sample Text"></chi-search-input>
</div>
<div class="chi-form__item">
<chi-search-input size="xl" value="Sample Text"></chi-search-input>
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" size="xs" />
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" size="sm" />
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" size="md" />
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" size="lg" />
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" size="xl" />
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -xs" type="search" value="Sample text" aria-label="search input" />
<button class="chi-button -icon -flat -xs -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -xs" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -sm" type="search" value="Sample text" aria-label="search input" />
<button class="chi-button -icon -flat -sm -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -md" type="search" value="Sample text" aria-label="search input" />
<button class="chi-button -icon -flat -md -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -lg" type="search" value="Sample text" aria-label="search input" />
<button class="chi-button -icon -flat -lg -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -xl" type="search" value="Sample text" aria-label="search input" />
<button class="chi-button -icon -flat -xl -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
Sizes
Search input supports the following sizes: xs
, sm
, md
,
lg
.
The default size is md
.
xs
sm
md
lg
<div class="chi-form__item">
<chi-search-input size="xs" value="Sample Text"></chi-search-input>
</div>
<div class="chi-form__item">
<chi-search-input size="sm" value="Sample Text"></chi-search-input>
</div>
<div class="chi-form__item">
<chi-search-input size="md" value="Sample Text"></chi-search-input>
</div>
<div class="chi-form__item">
<chi-search-input size="lg" value="Sample Text"></chi-search-input>
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" size="xs" />
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" size="sm" />
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" size="md" />
</div>
<div class="chi-form__item">
<ChiSearchInput value="Sample Text" size="lg" />
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -xs" type="search" value="Sample text" aria-label="search input" />
<button class="chi-button -icon -flat -xs -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -xs" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -sm" type="search" value="Sample text" aria-label="search input" />
<button class="chi-button -icon -flat -sm -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -md" type="search" value="Sample text" aria-label="search input" />
<button class="chi-button -icon -flat -md -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>
<div class="chi-form__item">
<div class="chi-input__wrapper -icon--right">
<input class="chi-input chi-search__input -lg" type="search" value="Sample text" aria-label="search input" />
<button class="chi-button -icon -flat -lg -bg--none" aria-label="Search">
<div class="chi-button__content">
<i class="chi-icon icon-search" aria-hidden="true"></i>
</div>
</button>
<button class="chi-button -icon -close -sm" aria-label="Close">
<div class="chi-button__content">
<i class="chi-icon icon-x" aria-hidden="true"></i>
</div>
</button>
</div>
</div>