Wetin be Lily?
Free, open-source design system wey put accessibility first, wey go meet you where you dey write code — and wey go comot for your way when you no need am.
Di short version
Lily na catalog of web components, each one dey for eight headless flavors (HTML, Svelte, React, Vue, Angular, Blazor, Nunjucks, and Web Components) plus some complete example apps wey show how to style dem.
Di headless versions come with zero CSS. Dem go give you semantic HTML, ARIA roles and states, keyboard support, and props wey good for i18n. You go bring di visual design.
Design principles
Accessible
Every component start from semantic HTML. Dem go only add ARIA where HTML alone no fit show di pattern. Di components dey aim for WCAG 2.2 AAA — dem consider colors, spacing, focus, and keyboard navigation.
Composable
Lily like small components wey get one work and wey fit join together. Compound patterns dey show again and again:
Nav → List → ListItem— na for breadcrumbs, contents lists, accordion menus, tree menus, and how to divide pagesForm → Field → Input— for any form layout wey get labels, hints, and errorsTable → Head/Body/Foot → Row → Data— na for tables, calendars, gantt charts, and kanban boards wey dem dey useBar → BarButton— na for tool bars, tab bars, task bars, action bars, and menu bars wey dey top di pagePicker → PickerButton— na for color pickers, rating pickers, and theme pickers wey people dey use
Internationalizable
Even one string wey user go see no dey hardcoded. Labels, placeholders, error messages, button text — all of dem na parameters. Put your own translation system and Lily go talk any language wey you dey talk.
Headless
Headless components no get CSS, no
<style> blocks, no design tokens wey you no choose. Dem show one kebab-case class name for every root element so you fit target dem how you want — semantic CSS, Tailwind, CSS-in-JS, na your choice.
Batteries-included examples
Di example apps show how to style di components for real use — which design tokens to set, which variations to add, how to put pages together. Dem be full SvelteKit, Next.js, Nuxt, Blazor, and Eleventy apps, no be just sandboxes.
Inspirations
Lily dey take patterns and language from plenty different design systems wey e choose on purpose:
- NHS UK Design System
- GOV.UK Design System
- U.S. Web Design System (USWDS)
- ONSdigital design system
- Design System AU (Australian Government)
- Mozilla Protocol
- Adobe Spectrum
- Ant Design
- Wonderflow Wanda
- DaisyUI
- shadcn/ui
- Reuters graphics components
License
Lily get many licenses, under BSD, MIT, Apache-2.0, GPL-2.0, abi GPL-3.0. Pick di license wey fit your project. If none of dem work, abeg contact us.
Contact
Project lead: Joel Parker Henderson — joel@joelparkerhenderson.com.
You see bug, you get idea, you wan contribute component? Open issue or pull request for GitHub.
Status: Lily na brand-new work and we welcome collaboration, guidance, and feedback. Tins go move and change.