Привет! Вы находитесь в репозитории дизайн-системы и React-компонентов, созданных для команды xi.team и платформы xieffect.
Выполните установку зависимостей, запустив команду в корне репозитория:
npm iЕсли зависимости не устанавливаются, возможно, потребуется использовать флаг --legacy-peer-deps.
Запустите следующую команду в корне репозитория для начала локальной разработки компонентов:
npm run devЗапустится Storybook из xi.storybook на порту 6006 и среда тестирования компонентов из xi.playground на порту 3600, а также все компоненты перейдут в режим HMR.
Процесс добавления новых иконок в проект:
-
Выбор иконок из дизайна в Figma
-
Экспорт в формате SVG из фрейма 24×24 пикселя
-
Оптимизация через SVGO для удаления лишних атрибутов и конвертации из stroke в fill
-
Создание нового файла в директории
packages/pkg.icons/icons/с названием иконки в формате PascalCase (например,NewIcon.tsx) -
Использование базового шаблона для компонента иконки:
import { Svg, IconProps } from '../Svg'; export const NewIcon = ({ ...props }: IconProps) => ( <Svg {...props}> <path d="..." /> // SVG-путь из оптимизированного файла </Svg> );
-
Добавление названия иконки в массив
iconsв файлеpackages/pkg.icons/config.ts -
Сборка пакета иконок командой
npm run buildв директорииpackages/pkg.icons/ -
Проверка отображения иконки в Storybook
Все компоненты иконок имеют единый интерфейс и поддерживают настройку размера и темы через пропсы.
Пакеты публикуются автоматически с помощью GitHub Actions. Перед публикацией убедитесь, что версия пакета в файле package.json обновлена в соответствии с внесёнными изменениями (соблюдая SemVer). Перед отправкой изменений не забудьте выполнить npm i в корне репозитория.