Я делаю интерфейсные элементы как настоящие Web Components на Lit — они опираются на стандарты браузера, а не на конкретный фреймворк, поэтому не устаревают вместе с ним. Каждый элемент оформлен как кастомный тег с закрытым shadow-деревом: стили внутри не конфликтуют с остальной страницей, а снаружи он управляется через понятные атрибуты, свойства и события. Одна и та же карточка, форма, таблица или всплывающее окно ведут себя одинаково в статичной верстке, в тяжелом одностраничном приложении и при рендеринге на сервере, что заметно экономит время команде при переезде между технологиями.
Я предпочитаю собирать не отдельный виджет, а связную библиотеку. В начале мы договариваемся про токены оформления, правила именования, поведение при работе с клавиатуры и список событий, а дальше вы получаете элементы с продуманной доступностью, настраиваемые через пользовательские свойства и снабженные живой документацией с примерами. По итогу вы забираете исходники, готовую к публикации сборку для внутреннего реестра, краткую памятку по внедрению и релизы с версиями. Могу дополнить существующую дизайн-систему, обернуть старый виджет в современный элемент или собрать набор по вашему макету, а после сдачи остаюсь на связи по мере развития продукта.
— Кастомные элементы с изоляцией стилей через shadow DOM
— Дизайн-система с токенами оформления и документацией
— Доступность, поддержка клавиатуры и автотесты элементов
Я предпочитаю собирать не отдельный виджет, а связную библиотеку. В начале мы договариваемся про токены оформления, правила именования, поведение при работе с клавиатуры и список событий, а дальше вы получаете элементы с продуманной доступностью, настраиваемые через пользовательские свойства и снабженные живой документацией с примерами. По итогу вы забираете исходники, готовую к публикации сборку для внутреннего реестра, краткую памятку по внедрению и релизы с версиями. Могу дополнить существующую дизайн-систему, обернуть старый виджет в современный элемент или собрать набор по вашему макету, а после сдачи остаюсь на связи по мере развития продукта.
— Кастомные элементы с изоляцией стилей через shadow DOM
— Дизайн-система с токенами оформления и документацией
— Доступность, поддержка клавиатуры и автотесты элементов