Доводы в пользу Lily
Lily берёт на себя самое сложное — семантику, доступность, поведение клавиатуры, интернационализацию — и целиком, с удовольствием оставляет внешний вид вам.
Начните со своего дизайна
Ваша команда уже знает, как должен выглядеть ваш продукт. Lily отталкивается именно от этого: она предоставляет то, что действительно трудно сделать правильно и дорого переделывать, — верный семантический элемент, состояния ARIA, контракт клавиатуры, управление фокусом — и оставляет каждое визуальное решение полностью и с радостью вам. Ваш CSS — это облик дизайн-системы с первого дня.
Поскольку у каждого компонента есть стабильный класс-зацепка и чистая структура, ваше оформление остаётся вашим при любом обновлении, а доступность под ним продолжает работать версия за версией.
Что обещает Lily
- Доступность по умолчанию. WCAG 2.2 AAA — цель для каждого компонента. Паттерны следуют практикам WAI-ARIA; любой интерактивный компонент управляется с клавиатуры по документированному контракту; примеры приложений сохраняют чистый базовый уровень axe-core.
- Интернационализация по замыслу. Каждая строка, видимая пользователю, — каждая подпись, ошибка и объявление — это свойство со стабильными именами во всех фреймворках, поэтому перевод происходит естественно. Письмо справа налево и двунаправленный текст наследуются от вашего
dir. Компоненты, зависящие от локали, получают её как свойство — всегда явно. - Один каталог, восемь фреймворков. Те же 571 компонент (536 — в виде нативных Web Components) с теми же классами-зацепками и соглашениями о свойствах в HTML, Svelte, React, Vue, Angular, Blazor, Nunjucks и Web Components. Ваш CSS и знания вашей команды переносятся между стеками.
- Независимость от подхода к CSS. Один стабильный класс в kebab-case на корень компонента. Семантический CSS, утилиты Tailwind, CSS-in-JS или одна из 45 готовых тем — Lily принимает всё это и тактично не мешает.
- Бесплатно, навсегда, на ваших условиях. Открытый исходный код по вашему выбору под лицензией BSD, MIT, Apache-2.0, GPL-2.0 или GPL-3.0. Никаких платных тарифов, лицензий на рабочие места и телеметрии.
Глубина там, где это важно
Помимо обычных кнопок и диалогов, каталог идёт дальше большинства:
- Паттерны для государственного сектора, изученные по дизайн-системам NHS UK, GOV.UK, USWDS и ONS: сводки ошибок, предупреждающие блоки, списки-сводки, баннеры стадии, ссылки пропуска.
- 140 компонентов национальных персональных идентификаторов: медицинские, национальные удостоверения, налоговые и паспортные идентификаторы более чем 50 стран, каждый с документированным форматом и алгоритмом проверки.
- Редакционные и скроллителлинг-примитивы, адаптированные из Reuters Graphics: макеты статей, скроллеры, временные шкалы, плиточные карты.
- Помощники выбора — небольшие пакеты, каждый из которых целиком отвечает за одно взаимодействие: переключение темы (с загрузкой таблицы стилей во время выполнения), язык, размер текста, уменьшение движения, поиск, ссылки на страницы, функция «Поделиться» и ввод даты и времени. Каждый — это headless-кнопка с иконкой, открывающая всплывающее окно (а не нативный
<select>), со встроенным сохранением состояния и безопасностью для SSR.
Темы для государственного сектора — из коробки
Lily включает 45 самостоятельных эталонных тем, напрямую нацеленных на её классы-зацепки: NHS England, NHS Scotland и NHS Wales (каждая в вариантах для пациентов и для специалистов), GOV.UK, USWDS, палитры по мотивам Adobe Spectrum и Mozilla Protocol, а также набор универсальных светлых и тёмных тем. Подключите одну таблицу стилей — и появится оформление государственного уровня; помощник theme-picker переключает их во время выполнения.
Как Lily соотносится с другими
Мы ведём честное сравнение с другими дизайн-системами по компонентам — стилизованными и headless, коммерческими и государственными. Если другая библиотека подойдёт вам лучше, сравнение покажет это; Lily учится у всех и открыто указывает свои источники вдохновения.
Кто за этим стоит
Lily — молодой независимый проект с открытым исходным кодом, который рад сотрудничеству, советам и отзывам. История и источники вдохновения — в разделе О проекте. Всё — спецификация, тесты, дорожная карта, даже инструменты аудита — открыто на github.com/LilyDesignSystem.
Помогите Lily расти
Если Lily вам полезна, самое ценное, что вы можете сделать:
- Поставить звезду и рассказать другим. Поставьте звезду основному репозиторию и покажите коллеге каталог — известность — самый дефицитный ресурс молодого проекта.
- Построить что-нибудь и рассказать нам. Отчёты о реальном использовании — что получилось, что могло бы быть удобнее — влияют на дорожную карту сильнее всего.
- Проверить доступность. Проверки со скринридерами (VoiceOver, NVDA, JAWS) на примерах приложений бесценны; сообщайте о найденном.
- Предложить тему или перевод. Оба варианта — самостоятельные и чётко ограниченные первые вклады.
- Поделиться находками с минимальным воспроизведением в нужном репозитории или написать на joel@joelparkerhenderson.com.