@auroratide/text-filter
v0.1.0
Published
Decorate an input field to automatically filter a list
Maintainers
Readme
<text-filter> Input Element
Set up a text input to automatically filter a list of items live! When someone types into the input, the attached item list is filtered to only show items matching the text.
See the Live Demo for some examples!
Installation
You can import through CDN:
<script type="module" src="https://unpkg.com/@auroratide/text-filter/lib/define.js"></script>Or, you may install through NPM and include it as part of your build process:
$ npm i @auroratide/text-filterimport '@auroratide/text-filter/lib/define.js'Usage
text-filter is a customized built-in element for the native input element.
<input is="text-filter" for="my-list" type="text" />
<ul id="my-list">
<li>An item</li>
<li>Another item</li>
</ul>The important thing is that the input is linked to a target list via the for attribute. This attribute should exactly equal the id value of the target list or table.
All Attributes
| Attribute | Default | Description |
| ------------- | --------- | ------------- |
| for | - | The id of the target list or table |
Javascript API
| Method | Description | | ------------- | ------------- | | doFilter | Force a refresh of the filter against the input text |
Properties
for- the id of the attached list or tabletarget(readonly) - the attached list or table as an HTMLElementitemMatches- a function that determines whether a given list item matches the text- By default, this uses the
textContentof the element
- By default, this uses the
Events
| Name | When Triggered | | ------------- | ------------- | | text-filter:filter-complete | Whenever the filter is finished processing after a change to either the input or attached list |
Accessibility
Since this extends the native input element, text-filter inherits all the accessibility features of that element.
