snack-uikit
Описание
Языки
- TypeScript76,8%
- SCSS12,3%
- CSS10,7%
- JavaScript0,2%
Snack UIKit 
Библиотека React-компонентов от компании Cloud.ru и сообщества TeamSnack.
- Домашняя страница Snack UIKit
- Проект на GitHub
- Проект в Figma
- Телеграм-канал сообщества TeamSnack
- Contribution Guide
Почему Snack UIKit
-
Контрибьюторы: Snack UIKit - это стандартный инструмент разработки интерфейсов в компании cloud.ru. С его помощью решаются самые широкие задачи: seo-ориентированный портал, админки любой сложности и внутренние инструменты.
-
Кастомизация: Библиотека компонентов имеет интеграцию с figma и стилизуется набором токенов, которые могут быть переопределены. Вы можете настроить тему под свои нужды.
-
Dark/Light: Поддержка темной и светлой модификации "из коробки".
-
Модульная публикация: Компоненты поставляются в формате отдельных npm-пакетов. Вы можете обновлять только то, что необходимо в данный момент, не беспокоясь за остальные части вашего проекта.
-
E2E тестирование: Компоненты проходят автоматические тесты в chrome и firefox
-
Совместимость со всеми браузерами:
Начать использовать Snack UIKit
Создание приложения
Вы можете использовать шаблон приложения, в котором уже подключен Snack UIKit и настроена сборка.
Управление стилями
Стилизация приложения на Snack UIKit основана на использовании классов и из файла . Классы содержат css-переменные со стилями для светлой и темной модификаций интерфейса соответственно.
Не используйте эти css-переменные напрямую. Как использовать токены темы читайте в описании пакета темы.
Для того чтоб подключить стили Snack UIKit в приложение, вам нужно:
- Импортировать хук useThemeConfig
- В хук передать мапу с ключами тем и соответсвующими стилевыми файлами
- Из хука получить класс для темы, который нужно задать обёртке на верхнем уровне приложения.
- Менять тему можно с помощью функции
, возвращаемой из хука. Можно также положить её в контекст и передать вниз по реакт-дереву.changeTheme
- Менять тему можно с помощью функции
Команда
- Трифонов Михаил, Ахременко Григорий, Белов Алексей, Ершов Никита, Козлова Анна, Хлупин Сергей, Белявский Илья
- Малокостов Игорь, Алексеев Алексей