Kas yra Lily?
Nemokama atvirojo kodo dizaino sistema, kurioje prieinamumas yra pirmoje vietoje: sutinka jus ten, kur rašote kodą, ir pasitraukia, kai jos nereikia.
Trumpai
Lily yra žiniatinklio komponentų katalogas, kurio kiekvienas komponentas įgyvendintas aštuoniais bevaigiais variantais (HTML, Svelte, React, Vue, Angular, Blazor, Nunjucks ir Web Components), taip pat parengtų pavyzdinių programų rinkinys, rodantis, kaip juos stilizuoti.
Bevaigėse versijose yra nulis CSS. Jos suteikia semantinį HTML, ARIA vaidmenis ir būsenas, klaviatūros palaikymą ir savybes, tinkamas internacionalizacijai. Vizualinį dizainą atnešate jūs.
Dizaino principai
Prieinamas
Kiekvienas komponentas prasideda nuo semantinio HTML. ARIA pridedama tik ten, kur vien HTML negali išreikšti šablono. Komponentai taikosi į WCAG 2.2 AAA — atsižvelgiama į spalvas, tarpus, fokusą ir naršymą klaviatūra.
Sudedamas
Lily teikia pirmenybę mažiems vieno tikslo komponentams, kurie susijungia vienas su kitu. Sudėtiniai šablonai kartojasi vėl ir vėl:
Nav → List → ListItem— duonos trupinių takeliams, turinio sąrašams, akordeono meniu, medžio meniu ir puslapiavimuiForm → Field → Input— bet kuriam formos išdėstymui su etiketėmis, užuominomis ir klaidomisTable → Head/Body/Foot → Row → Data— lentelėms, kalendoriams, Ganto diagramoms ir kanban lentomsBar → BarButton— įrankių juostoms, skirtukų juostoms, užduočių juostoms, veiksmų juostoms ir meniu juostomsPicker → PickerButton— spalvų parinkikliams, vertinimo parinkikliams, temų parinkikliams
Internacionalizuojamas
Nė viena vartotojui matoma eilutė nėra įrašyta tiesiai į kodą. Etiketės, vietos žymekliai, klaidų pranešimai, mygtukų tekstas — viskas yra parametrai. Prijunkite savo vertimo sistemą, ir Lily kalbės bet kuria kalba, kuria kalbate jūs.
Bevaigis
Bevaigiai komponentai turi nulį CSS, jokių
<style> blokų, jokių dizaino žetonų, kurių nepasirinkote. Jie atskleidžia vieną kebab-case klasės pavadinimą kiekviename šakniniame elemente, kad galėtumėte juos taikyti kaip norite — semantinis CSS, Tailwind, CSS-in-JS, jūsų sprendimas.
Parengti pavyzdžiai
Pavyzdinės programos rodo, kaip stilizuoti komponentus tikram naudojimui — kokius dizaino žetonus nustatyti, kokius variantus pridėti, kaip sudėti puslapius. Tai pilnos SvelteKit, Next.js, Nuxt, Blazor ir Eleventy programos, ne tik smėlio dėžės.
Įkvėpimo šaltiniai
Lily semiasi šablonų ir kalbos iš sąmoningai plataus dizaino sistemų rinkinio:
- 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
Licencija
Lily turi kelias licencijas: BSD, MIT, Apache-2.0, GPL-2.0 arba GPL-3.0. Pasirinkite tą, kuri tinka jūsų projektui. Jei netinka nė viena, susisiekite su mumis.
Kontaktai
Projekto vadovas: Joel Parker Henderson — joel@joelparkerhenderson.com.
Radote klaidą, turite idėją, norite prisidėti komponentu? Atidarykite issue arba pull request adresu GitHub.
Būsena: Lily yra visiškai naujas darbas, ir mes sveikiname bendradarbiavimą, patarimus ir atsiliepimus. Dalykai keisis ir vystysis.