Hva er Lily?
Et gratis designsystem med åpen kildekode som setter tilgjengelighet først, som møter deg der du skriver kode — og holder seg unna når du ikke trenger det.
Kortversjonen
Lily er en katalog over webkomponenter, hver implementert i åtte hodeløse varianter (HTML, Svelte, React, Vue, Angular, Blazor, Nunjucks og Web Components) pluss et sett komplette eksempelapper som viser hvordan de kan stiles.
De hodeløse versjonene leveres med null CSS. De gir deg semantisk HTML, ARIA-roller og -tilstander, tastaturstøtte og egenskaper som passer for internasjonalisering. Du tar med det visuelle designet.
Designprinsipper
Tilgjengelig
Hver komponent starter med semantisk HTML. ARIA legges bare til der HTML alene ikke kan uttrykke mønsteret. Komponentene tar sikte på WCAG 2.2 AAA — farger, mellomrom, fokus og tastaturnavigasjon er alle vurdert.
Sammensettbar
Lily foretrekker små komponenter med ett formål som lar seg sette sammen. Sammensatte mønstre dukker opp igjen og igjen:
Nav → List → ListItem— for brødsmuler, innholdslister, trekkspillmenyer, trestrukturmenyer og pagineringForm → Field → Input— for enhver skjemaoppsett med etiketter, hint og feilTable → Head/Body/Foot → Row → Data— for tabeller, kalendere, Gantt-diagrammer og kanban-tavlerBar → BarButton— for verktøylinjer, fanelinjer, oppgavelinjer, handlingslinjer og menylinjerPicker → PickerButton— for fargevelgere, vurderingsvelgere, temavelgere
Kan internasjonaliseres
Ikke en eneste tekststreng brukeren ser er hardkodet. Etiketter, plassholdere, feilmeldinger, knappetekst — alt er parametere. Koble til ditt eget oversettelsessystem, så snakker Lily hvilket språk du enn snakker.
Hodeløs
Hodeløse komponenter har ingen CSS, ingen
<style> blokker og ingen designtokener du ikke har valgt. De eksponerer ett kebab-case-klassenavn på hvert rotelement slik at du kan målrette dem som du vil — semantisk CSS, Tailwind, CSS-in-JS, det er opp til deg.
Komplette eksempler
Eksempelappene viser hvordan komponentene kan stiles for ekte bruk — hvilke designtokener som skal settes, hvilke varianter som skal legges til, hvordan sider settes sammen. De er fullverdige SvelteKit-, Next.js-, Nuxt-, Blazor- og Eleventy-apper, ikke bare sandkasser.
Inspirasjoner
Lily henter mønstre og språk fra et bevisst bredt utvalg designsystemer:
- NHS UK Design System
- GOV.UK Design System
- U.S. Web Design System (USWDS)
- ONSdigital design system
- Design System AU (Australias regjering)
- Mozilla Protocol
- Adobe Spectrum
- Ant Design
- Wonderflow Wanda
- DaisyUI
- shadcn/ui
- Reuters' grafikkomponenter
Lisens
Lily har flere lisenser under BSD, MIT, Apache-2.0, GPL-2.0 eller GPL-3.0. Velg den som passer prosjektet ditt. Hvis ingen av dem fungerer, ta kontakt.
Kontakt
Prosjektleder: Joel Parker Henderson — joel@joelparkerhenderson.com.
Funnet en feil, har du en idé, vil du bidra med en komponent? Åpne en sak eller en pull request på GitHub.
Status: Lily er helt nytt arbeid, og vi ønsker samarbeid, veiledning og tilbakemeldinger velkommen. Ting vil bevege seg og utvikle seg.