Kaj je Lily?
Brezplačen oblikovalski sistem odprte kode, ki na prvo mesto postavlja dostopnost: sreča vas tam, kjer pišete kodo, in se umakne, ko ga ne potrebujete.
Na kratko
Lily je katalog spletnih komponent, od katerih je vsaka izvedena v osmih brezglavih različicah (HTML, Svelte, React, Vue, Angular, Blazor, Nunjucks in Web Components), poleg tega pa še nabor popolnih vzorčnih aplikacij, ki kažejo, kako jih stilizirati.
Brezglave različice vsebujejo nič CSS. Ponujajo semantični HTML, vloge in stanja ARIA, podporo tipkovnici in lastnosti, primerne za internacionalizacijo. Vizualno oblikovanje prispevate vi.
Oblikovalska načela
Dostopno
Vsaka komponenta izhaja iz semantičnega HTML. ARIA se doda le tam, kjer sam HTML ne more izraziti vzorca. Komponente ciljajo na WCAG 2.2 AAA — upoštevane so barve, razmiki, fokus in krmarjenje s tipkovnico.
Sestavljivo
Lily daje prednost majhnim komponentam z enim namenom, ki se prilegajo druga drugi. Sestavljeni vzorci se ponavljajo znova in znova:
Nav → List → ListItem— za drobtinice, sezname vsebine, harmonika menije, drevesne menije in oštevilčenje straniForm → Field → Input— za vsako postavitev obrazca z oznakami, namigi in napakamiTable → Head/Body/Foot → Row → Data— za tabele, koledarje, Ganttove diagrame in kanban tableBar → BarButton— za orodne vrstice, vrstice zavihkov, vrstice opravil, vrstice dejanj in menijske vrsticePicker → PickerButton— za izbirnike barv, izbirnike ocen, izbirnike tem
Primerno za internacionalizacijo
Nobeno uporabniku vidno besedilo ni trdo zapisano v kodi. Oznake, nadomestna besedila, sporočila o napakah, besedilo gumbov — vse so parametri. Vključite svoj prevajalski sistem in Lily govori vsak jezik, ki ga govorite vi.
Brezglavo
Brezglave komponente imajo nič CSS, nobenih blokov
<style> , nobenih oblikovalskih žetonov, ki jih niste izbrali. Na vsakem korenskem elementu izpostavijo eno ime razreda v kebab-case, da jih lahko ciljate, kakor želite — semantični CSS, Tailwind, CSS-in-JS, vaša odločitev.
Popolni primeri
Vzorčne aplikacije kažejo, kako stilizirati komponente za dejansko uporabo — katere oblikovalske žetone nastaviti, katere različice dodati, kako sestavljati strani. So popolne aplikacije SvelteKit, Next.js, Nuxt, Blazor in Eleventy, ne le peskovniki.
Viri navdiha
Lily črpa vzorce in jezik iz namerno širokega nabora oblikovalskih sistemov:
- 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 več licenc: BSD, MIT, Apache-2.0, GPL-2.0 ali GPL-3.0. Izberite tisto, ki ustreza vašemu projektu. Če nobena ne ustreza, se obrnite na nas.
Stik
Vodja projekta: Joel Parker Henderson — joel@joelparkerhenderson.com.
Ste našli napako, imate idejo, želite prispevati komponento? Odprite issue ali pull request na GitHub.
Stanje: Lily je povsem novo delo in pozdravljamo sodelovanje, usmeritve in povratne informacije. Stvari se bodo spreminjale in razvijale.