Melt UI
A set of headless, accessible component builders for Svelte.
README
Melt UI is a set of headless, accessible component builders for Svelte.
About
Melt UI is meant to be used as a base for your own styles and components. It offers:
- Uncoupled builders that can be attached to any element/component
- Typescript and SvelteKit support out-of-the-box
- Strict adherence to WAI-ARIA guidelines
- Easy to use examples and documentation
- A high emphasis on accessibility, extensibility, quality and consistency
Getting started
Install the @melt-ui/svelte package with your package manager of choice:
- ```sh
- npm install @melt-ui/svelte
- yarn add @melt-ui/svelte
- pnpm add @melt-ui/svelte
- bun add @melt-ui/svelte
- ```
Import the builders to your code and start using them:
- ```html
- <script>
- import { createCollapsible } from '@melt-ui/svelte'
- const { open, root, content, trigger } = createCollapsible()
- </script>
- <div {...$root}>
- <button {...$trigger}>{$open ? 'Close' : 'Open'}</button>
- <div {...$content}>Obi-Wan says: Hello there!</div>
- </div>
- ```
Contributing
Contributions are welcome and encouraged!
Melt UI is under active development. Currently planned features can be found in the
roadmap, or in the issues tab, alongside
bug reports.
We work on this project on a volunteer basis in our free time. If you notice something that hasn't
been implemented yet or could be improved, do consider contributing to the project. The goal is to
enhance the experience of building with Svelte and improve the ecosystem for everyone.
Check out our Contributing guide to learn more.
Community
Got any questions? Want to talk to the maintainers?
Our Discord community is a great place to get in touch with us, and
we'd love to have you there.
Roadmap
Component | Status |
---|---|
--------------- | ------ |
Accordion | ✅ |
Avatar | ✅ |
Calendar | | |
Checkbox | ✅ |
Collapsible | ✅ |
ComboBox | ✅ |
Command | | |
Context | ✅ |
Dialog | ✅ |
Dropdown | ✅ |
Dropzone | | |
Hover | ✅ |
Label | ✅ |
Menubar | ✅ |
Navigation | | |
Pagination | ✅ |
Pin | ✅ |
Popover | ✅ |
Progress | ✅ |
Radio | ✅ |
Scroll | | |
Select | ✅ |
Separator | ✅ |
Slider | ✅ |
Spin | | |
Switch | ✅ |
Tabs | ✅ |
Tags | ✅ |
Toast | ✅ |
Toggle | ✅ |
Toggle | ✅ |
Toolbar | ✅ |
Tooltip | ✅ |
Tree | | |
??? | | |
Progress: 26/???
Similar projects
Looking for more? Check out these other projects too:
- Skeleton
- Noir UI
- Zag
- Grail UI
This list is not exhaustive or sorted in any particular order. If you know of any other similar
projects for Svelte, feel free to open a PR to add them here.