Дорожня карта

Volt UI досяг 1.0.0 , і 1.0 — це стартова лінія, а не фініш. Ось напрямок, у якому рухається проєкт, і порядок, у якому він туди дійде.

Як читати цю сторінку

Дат тут немає навмисно — дорожня карта з датами, яких вона не витримає, гірша за її відсутність. Зобов'язанням є порядок : кожен пункт нижче залежить від попереднього, і випускати їх поза чергою означало б переробляти роботу. Те, що виявиться хибним, прибирають із цієї сторінки, а не тихо кидають.

Ніщо з цього не ламає ваш наявний код. Публічний API 1.0 заморожено, і все нижче дотримується звичайного семантичного версіонування — див. [Версіонування та стабільність](/docs/versioning).

  1. Документація іншими мовами

    Стан: Наступне Стосується: Сайт документації

    Сьогодні документація лише англійською. Наступними є українська (UA) та іспанська (ES), щоб бібліотека була доступною без потреби спершу читати англійською.

    • Стосується цього сайту документації — посібників, сторінок компонентів і прикладів.
    • Назви компонентів, селектори, входи та виходи лишаються англійською. Переклад API зламав би кожен скопійований компонент і кожен приклад коду в інтернеті.
    • Мова — це вподобання читача, а не окрема збірка: за кожною локаллю стоять ті самі компоненти й той самий пакет.
  2. Власний headless-шар — @volt-ui/core

    Стан: Заплановано Стосується: Бібліотека

    Замінити залежність від ng-primitives власними headless-примітивами Volt UI, щоб поведінка й стилі були двома шарами одного проєкту, а не проєктом поверх чужого.

    • Headless і стилізовані компоненти постачаються окремо. Потрібна лише поведінка — керування фокусом, робота з клавіатурою, підключення ARIA — з власною розміткою та CSS? Беріть самий @volt-ui/core.
    • Хочете те, як Volt UI виглядає сьогодні? Далі користуйтеся стилізованими компонентами; вони побудовані на тому самому headless-шарі.
    • Це станеться до того, як зросте каталог компонентів — обґрунтування нижче.
    • Назву @volt-ui/core уже зарезервовано саме для цього у специфікації проєкту; це не нова ідея, а наступна.
  3. Дві збірки: з Tailwind і без нього

    Стан: Заплановано Стосується: Бібліотека

    Сьогодні Volt UI стилізовано за допомогою Tailwind CSS v4, що виключає його для проєктів, які не використовують або не можуть використовувати Tailwind. Збірка без Tailwind знімає це обмеження.

    • Збірка з Tailwind лишається типовою і працює точно так само, як зараз.
    • Збірка без Tailwind постачає ті самі компоненти й ті самі токени дизайну звичайним CSS.
    • Залежить від того, щоб спершу з'явився headless-шар: щойно поведінку відокремлено від стилів, друга ціль стилізації перестає бути форком і стає ще одним виходом збірки.
  4. Більше макетів із компонентів Volt UI

    Стан: Досліджуємо Стосується: Бібліотека

    Понад наявні макети з бічною панеллю та верхньою навігацією — повніші оболонки застосунків, зібрані з уже наявних компонентів, щоб реальний екран був відправною точкою, а не роботою зі складання.

    • Найменш критичний пункт на цій сторінці, і ми чесно це визнаємо: це зручність, а не прогалина.
    • Складається з уже випущених компонентів Volt UI, а не з нових одноразових примітивів.
    • Стоїть останнім навмисно: макети, зроблені до переходу на headless, теж довелося б переносити.

Чому headless-шар іде першим

Найспокусливіше після 1.0 — додавати компоненти. Саме цього навмисно не станеться далі. Сьогодні кожен компонент Volt UI делегує доступність і поведінку взаємодії до [ng-primitives](https://ng-primitives.dev), тож кожен компонент, доданий до заміни того шару, — це ще один компонент, який доведеться переносити потім. Спершу нарощувати каталог означало б зробити міграцію більшою, повільнішою і вірогіднішою зламати ваш код, коли вона настане.

Такий порядок означає, що перенесення відбудеться один раз, для компонентів, які існують сьогодні, а каталог зростатиме вже на цілком власному фундаменті.

Що не змінюється

Модель копіювання коду

Компоненти й далі можна копіювати у ваш проєкт через CLI. Скопійований код належить вам; ніщо на цій сторінці цього не змінює.

API версії 1.0

Селектори, входи та виходи, заморожені в 1.0, працюють і далі. Зміна, що ламає сумісність, вимагає мажорної версії та нотаток міграції.

Теми

5 кольорів × 5 стилів і система токенів лишаються як є. Збірка без Tailwind додає варіант; вона нічого не прибирає.

Маєте думку щодо порядку або потребуєте чогось, чого тут немає? Відкрийте issue чи обговорення на [GitHub](https://github.com/Andersseen/volt-ui). Випущену роботу записано у [CHANGELOG.md](https://github.com/Andersseen/volt-ui/blob/main/CHANGELOG.md), а довші технічні міркування живуть у [specs/SPEC.md](https://github.com/Andersseen/volt-ui/blob/main/specs/SPEC.md).