Mis on Lily?
Tasuta avatud lähtekoodiga disainisüsteem, kus juurdepääsetavus on esikohal – see kohtub sinuga seal, kus sa koodi kirjutad, ja astub kõrvale, kui sul seda vaja pole.
Lühidalt
Lily on veebikomponentide kataloog, mille iga komponent on realiseeritud kaheksas päisteta variandis (HTML, Svelte, React, Vue, Angular, Blazor, Nunjucks ja Web Components), pluss hulk valmis näiterakendusi, mis näitavad, kuidas neid kujundada.
Päisteta versioonid sisaldavad null CSS-i. Need annavad sulle semantilise HTML-i, ARIA rollid ja olekud, klaviatuuritoe ning rahvusvahelistamist toetavad atribuudid. Visuaalse kujunduse tood ise.
Disainipõhimõtted
Juurdepääsetav
Iga komponent lähtub semantilisest HTML-ist. ARIA lisatakse ainult seal, kus HTML üksi mustrit väljendada ei suuda. Komponendid taotlevad WCAG 2.2 AAA taset – värve, vahesid, fookust ja klaviatuurinavigatsiooni arvestatakse kõike.
Kombineeritav
Lily eelistab väikseid ühe eesmärgiga komponente, mis sobituvad kokku. Liitmustrid kordunud tuhandeid kordi:
Nav → List → ListItem– lisalehe teekondade, sisukordade, akordionmenüüde, puumenüüde ja lehekülgede jaoksForm → Field → Input– mis tahes vormipaigutuse jaoks siltide, vihjete ja vigadegaTable → Head/Body/Foot → Row → Data– tabelite, kalendrite, Gantti diagrammide ja kanban-tahvlite jaoksBar → BarButton– tööriistaribade, vahekaardiribade, tegumiribade, toimingute ribade ja menüüribade jaoksPicker → PickerButton– värvivalijate, hindamisvalijate ja teemavalijate jaoks
Rahvusvahelistatav
Mitte ainsatki kasutajale nähtavat stringi pole koodi kirjutatud. Sildid, kohatäited, veateated, nuppude tekstid – kõik on parameetrid. Ühenda oma tõlkesüsteem ja Lily räägib iga keelt, mida sinagi.
Päisteta
Päisteta komponentidel on ei mingit CSS-i, ei mingeid
<style> -plokke ega disainitunnuseid, mida sa pole ise valinud. Need pakuvad igal juurelemendil ühte kebab-case klassinime, nii et saad neid sihtida, nagu soovid – semantiline CSS, Tailwind, CSS-in-JS, sinu otsus.
Valmis näited
Näiterakendused näitavad, kuidas komponente päriskasutuseks kujundada – milliseid disainitunnuseid seada, milliseid variatsioone lisada, kuidas lehti koostada. Need on täisväärtuslikud SvelteKit-, Next.js-, Nuxt-, Blazor- ja Eleventy-rakendused, mitte pelgalt liivakastid.
Inspiratsiooniallikad
Lily võtab mustreid ja keelt teadlikult laiast disainisüsteemide valikust:
- 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
Litsents
Lilyl on mitu litsentsi: BSD, MIT, Apache-2.0, GPL-2.0 või GPL-3.0. Vali see, mis sinu projektile sobib. Kui ükski ei sobi, võta ühendust.
Kontakt
Projektijuht: Joel Parker Henderson – joel@joelparkerhenderson.com.
Leidsid vea, sul on idee või tahad komponendi panustada? Ava teema või tõmbepäring aadressil GitHub.
Staatus: Lily on täiesti uus töö ning me tervitame koostööd, juhiseid ja tagasisidet. Asjad liiguvad ja arenevad.