Što je Lily?
Besplatan dizajnerski sustav otvorenog koda koji pristupačnost stavlja na prvo mjesto: dočeka vas ondje gdje programirate i makne vam se s puta kad vam ne treba.
Ukratko
Lily je katalog web komponenti, od kojih je svaka implementirana u osam bezglavih varijanti (HTML, Svelte, React, Vue, Angular, Blazor, Nunjucks i Web Components), uz skup gotovih primjera aplikacija koji pokazuju kako ih stilizirati.
Bezglave verzije dolaze s nula CSS-a. Daju vam semantički HTML, ARIA uloge i stanja, podršku za tipkovnicu i svojstva prilagođena internacionalizaciji. Vizualni dizajn donosite vi.
Dizajnerska načela
Pristupačno
Svaka komponenta kreće od semantičkog HTML-a. ARIA se dodaje samo ondje gdje sam HTML ne može izraziti obrazac. Komponente ciljaju na WCAG 2.2 AAA — boje, razmaci, fokus i navigacija tipkovnicom svi su uzeti u obzir.
Složivo
Lily preferira male komponente s jednom namjenom koje se uklapaju jedna u drugu. Složeni obrasci javljaju se uvijek iznova:
Nav → List → ListItem— za navigacijske mrvice, popise sadržaja, harmonika izbornike, stablaste izbornike i straničenjeForm → Field → Input— za svaki raspored obrasca s oznakama, savjetima i pogreškamaTable → Head/Body/Foot → Row → Data— za tablice, kalendare, Ganttove dijagrame i kanban pločeBar → BarButton— za alatne trake, trake kartica, trake zadataka, trake radnji i trake izbornikaPicker → PickerButton— za birače boja, birače ocjena, birače tema
Moguća internacionalizacija
Nijedan niz vidljiv korisniku nije zapisan izravno u kodu. Oznake, rezervirana mjesta, poruke o pogreškama, tekst gumba — sve su parametri. Uključite vlastiti sustav prevođenja i Lily govori bilo koji jezik kojim govorite i vi.
Bezglavo
Bezglave komponente imaju nula CSS-a, nikakve blokove
<style> , nikakve dizajnerske tokene koje niste sami odabrali. Izlažu jedan naziv klase u kebab-caseu na svakom korijenskom elementu da ih možete ciljati kako želite — semantički CSS, Tailwind, CSS-in-JS, vaša odluka.
Gotovi primjeri
Primjeri aplikacija pokazuju kako stilizirati komponente za stvarnu upotrebu — koje dizajnerske tokene postaviti, koje varijacije dodati, kako slagati stranice. To su potpune aplikacije SvelteKit, Next.js, Nuxt, Blazor i Eleventy, a ne samo pješčanici.
Izvori inspiracije
Lily crpi obrasce i jezik iz namjerno širokog skupa dizajnerskih sustava:
- 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
Licenca
Lily ima više licenci: BSD, MIT, Apache-2.0, GPL-2.0 ili GPL-3.0. Odaberite onu koja odgovara vašem projektu. Ako nijedna ne odgovara, javite nam se.
Kontakt
Voditelj projekta: Joel Parker Henderson — joel@joelparkerhenderson.com.
Pronašli ste grešku, imate ideju, želite doprinijeti komponentom? Otvorite issue ili pull request na GitHub.
Status: Lily je posve novi rad i pozdravljamo suradnju, smjernice i povratne informacije. Stvari će se mijenjati i razvijati.