Зачем Gavia UI
Понятный контракт приложения
Vue — единственная обязательная peer-зависимость библиотеки. Роутинг, запросы и бизнес-состояние остаются в вашем приложении. Reset, базовые стили и тему вы подключаете явно.
Выберите язык встроенных подписей
В исходниках для 1.0 без настройки локали используется английский. Чтобы сохранить русский, подключите WlConfig с wlLocaleRu в точке входа приложения. Пропущенные поля частичной локали берутся из английского пресета: для своей русской локали сначала разверните wlLocaleRu. Витрина явно выбирает пресет при смене языка. Скопированный SFC использует настройки приложения, в которое вы его вставите. Эта миграция входит в подготовленный релиз-кандидат 1.0. Публикация выполняется отдельно.
Показать Vue-код
import { WlConfig, wlLocaleRu } from "gavia-ui";
app.use(WlConfig, { locale: wlLocaleRu });
// Русский пресет со своей подписью:
// app.use(WlConfig, { locale: { ...wlLocaleRu, accept: "Продолжить" } });Переопределите нужную подпись
Если текстовый prop пропущен или равен undefined, компонент берёт текст из текущей локали. Явная строка, в том числе пустая, имеет приоритет. Убирая текст, сохраните понятное доступное имя. Меняйте локаль из компонента через useWlConfig().setLocale(...): смонтированные контролы обновятся, а другие Vue-приложения сохранят свои настройки. Тексты приложения, слотов и собственных props вы переводите на стороне приложения.
Показать Vue-код
import { useWlConfig, wlLocaleRu } from "gavia-ui";
const configuration = useWlConfig();
configuration.setLocale(wlLocaleRu);
configuration.setLocale(undefined); // Вернуть английский fallback в 1.0.Один компонент, пять тем
Gavia, Gavia Dark, Classic, Classic Dark и Newspaper используют общие компоненты и поведение. Для своей темы меняйте токены и pt-атрибуты: копия компонента для этого не нужна.
Начните с рабочего примера
В репозитории есть стартовые проекты для Vite, Nuxt и своей темы. Витрина и кнопка копирования берут код из одного SFC. Проверки в браузере и ручная приёмка со скринридером учитываются отдельно от unit-тестов.