list-box-svelte
v1.1.4
Published
A flexible and customizable dropdown component built using Svelte.
Downloads
9
Maintainers
Readme
Svelte Dropdown Component
A flexible and customizable dropdown component built using Svelte.
Table of Contents
Installation
Install the package using npm:
npm install list-box-svelte
Usage
Import the Dropdown
component into your Svelte file:
import Dropdown from 'list-box-svelte';
Use it within your Svelte template:
<Dropdown items={items} bind:selected={selected}>
<span slot="trigger" let:selected>{selected}</span>
<span slot="item" let:item>{item}</span>
</Dropdown>
Props
- items: Array of items to populate the dropdown.
- toggle: Boolean to control dropdown visibility.
- value: Current value of the dropdown.
- isSearch: Boolean to enable/disable search functionality.
- defaultSelectedIndex: Index of the default selected item.
Events
- select: Event dispatched when an item is selected.
Usage example:
<script>
function handleSelect(item) {
console.log('Selected item:', item);
}
</script>
<Dropdown items={items} on:select={handleSelect}>
<!-- ... -->
</Dropdown>
Styling
The dropdown component can be customized using CSS variables or by modifying the component's internal styles.
CSS classes:
.dropdown
: Wrapper class for the dropdown..dropdown ul
: Styling for the dropdown list..dropdown ul li
: Styling for individual list items.
Examples
Basic Example
<Dropdown items={['Option 1', 'Option 2', 'Option 3']} on:select={handleSelect}>
<span slot="trigger" let:selected>{selected}</span>
<span slot="item" let:item>{item}</span>
</Dropdown>
Example with Search
<Dropdown items={countries} isSearch on:select={handleSelect}>
<span slot="trigger" let:selected>{selected ? selected.name : 'Select a country'}</span>
<span slot="item" let:item>{item.name}</span>
</Dropdown>
Contributing
Contributions are welcome! To contribute to this project, follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature
) - Make your changes.
- Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature
) - Create a Pull Request.
License
This project is licensed under the MIT License.
Feel free to add more sections or elaborate on each section based on your specific component's features and requirements!