# Документация: Компонент Buttons
## Обзор
Расширенная система кнопок, дополняющая стандартные кнопки Bootstrap дополнительными вариантами и утилитами.
## Классы кнопок
### 1. Круглые кнопки (`.btn-circle`)
Идеально круглые кнопки для иконок. Автоматически становятся квадратными с `border-radius: 50%`.
#### Базовое использование
```html
```
#### Размеры
```html
```
Или используйте специальные классы:
```html
```
#### Состояния
Toggle-кнопки автоматически вращаются при раскрытии:
```html
```
### 2. Кнопки с иконками (`.btn-icon`)
Кнопки с иконкой и текстом. На мобильных устройствах текст скрывается.
```html
Новый документ
```
**Поведение:**
- Десктоп: иконка + текст
- Мобильные (< 768px): только иконка (круглая кнопка)
### 3. Кнопки-призраки (`.btn-ghost`)
Прозрачные кнопки без фона, появляется фон при наведении.
```html
```
### 4. Pill-кнопки (`.btn-pill`)
Максимально скругленные кнопки (`border-radius: 999px`).
```html
Узнать больше
```
## Группы кнопок
### Группа круглых кнопок
```html
```
## Примеры использования
### Пример 1: Шапка страницы с фильтрами
```html
Сотрудники
```
### Пример 2: Карточка с действиями
```html
Название документа
Описание...
```
### Пример 3: Навигация с разными размерами
```html
```
## Комбинирование с Bootstrap
Все новые классы полностью совместимы со стандартными классами Bootstrap:
```html
```
## Миграция со старого кода
### Было (специфичные стили):
```html
```
```css
.page-filter-toggle {
width: 36px !important;
height: 36px !important;
border-radius: 50% !important;
/* ... еще 20 строк CSS ... */
}
```
### Стало (универсальный класс):
```html
```
```css
/* Никаких дополнительных стилей не нужно! */
```
## CSS переменные
Компонент использует стандартные переменные Bootstrap:
- `--bs-primary` - основной цвет
- `--bs-body-color` - цвет текста
- `--bs-border-color` - цвет границ
- `--bs-border-radius` - скругление углов
## Поддержка темной темы
Все кнопки автоматически адаптируются под темную тему через `prefers-color-scheme: dark`.
## Доступность
- Все кнопки имеют правильные `aria-label` атрибуты
- Иконки используют `line-height: 1` для правильного центрирования
- Фокус-стейты наследуются от Bootstrap
- Поддержка клавиатурной навигации
## Производительность
- Минимальное использование `!important` (только где абсолютно необходимо)
- CSS переменные для легкой кастомизации
- Оптимизированные селекторы
- Не влияет на другие компоненты