- Добавлена документация SLM-архитектуры, базовых правил и прикладных разделов - Добавлены разделы: стили, SVG-спрайты, шаблоны генерации, PostCSS, REST, Realtime - Удалены устаревшие файлы (спрайты, скрипты, стили из app/)
57 lines
1.9 KiB
Markdown
57 lines
1.9 KiB
Markdown
---
|
||
title: Использование SVG-спрайтов
|
||
description: Как добавлять и использовать SVG-иконки в коде.
|
||
keywords: [svg, спрайт, sprite, иконка, icon, SvgSprite, превью, preview, цвет, color]
|
||
---
|
||
|
||
# Использование SVG-спрайтов
|
||
|
||
Как добавлять и использовать SVG-иконки в коде.
|
||
|
||
## Шаги
|
||
|
||
1. **Положить SVG в папку спрайта:**
|
||
|
||
```text
|
||
src/shared/sprites/icons/new-icon.svg
|
||
```
|
||
|
||
2. **Импортировать компонент.** Компонент `<SvgSprite/>` генерируется пакетом вместе с типами имён иконок — автодополнение работает без ручных описаний:
|
||
|
||
```tsx
|
||
import { SvgSprite } from 'ui/svg-sprite'
|
||
|
||
<SvgSprite icon="new-icon" />
|
||
```
|
||
|
||
3. **Посмотреть и пощупать иконку — в превью.** Пакет генерирует HTML-превью рядом со спрайтом (`public/sprites/icons.preview.html`). Там виден набор иконок, имена и поведение цвета.
|
||
|
||
## Управление цветом
|
||
|
||
При сборке цвета в SVG заменяются на CSS-переменные `--icon-color-N`. Управление — через обычный CSS родителя.
|
||
|
||
**Моно-иконка** наследует `color` родителя (`--icon-color-1` по умолчанию `currentColor`):
|
||
|
||
```css
|
||
.button {
|
||
color: var(--color-primary);
|
||
}
|
||
```
|
||
|
||
**Точечное переопределение** — через переменную:
|
||
|
||
```css
|
||
.icon-danger {
|
||
--icon-color-1: var(--color-danger);
|
||
}
|
||
```
|
||
|
||
**Мульти-иконка** — переменные задаются явно, порядок виден в превью:
|
||
|
||
```css
|
||
.folder {
|
||
--icon-color-1: var(--color-folder-bg);
|
||
--icon-color-2: var(--color-folder-accent);
|
||
}
|
||
```
|