import {Meta} from '@storybook/addon-docs/blocks'

<Meta title='@dxtmisha/ru/scripts/Classes/Styles - Оркестратор стилей'/>

# Класс Styles

Класс `Styles` является центральным оркестратором для создания всех системных файлов, связанных со стилями, внутри дизайн-системы. Он управляет инициализацией корневых переменных, базовых классов, SCSS-свойств и специфичных для дизайна настроек стилей.

## Ключевые возможности

- **Системная генерация** — Координирует создание файлов `vars`, `classes`, `properties` и `list`.
- **Инициализация корневых переменных** — Использует `StylesRoot` для создания глобальных CSS-переменных.
- **Управление базовыми классами** — Использует `StylesClasses` для генерации стандартных утилитарных классов.
- **Настройка с учетом дизайна** — Автоматически создает файлы `main`, `basic` и `style`, адаптированные для конкретных дизайнов.
- **Интеграция с SCSS** — Преобразует данные о свойствах в структуры, совместимые с SCSS, используя `PropertiesScss`.
- **Автоматическая чистка** — Отфильтровывает лишние данные, чтобы файлы списков оставались чистыми.

## Инициализация

Инициализируйте оркестратор `Styles`. Он внутренне управляет экземпляром `Properties` для получения данных дизайна.

```typescript
import { Styles } from '@dxtmisha/scripts'

const orchestrator = new Styles()
orchestrator.make()
```

## Методы

### Управление

- `make(): this` — Основная точка входа. Запускает полный цикл генерации для всех дизайнов.

### Внутренняя инициализация

- `initRoot(items: PropertiesItems): this` — Генерирует глобальные переменные и записывает их в файл `vars`.
- `initClasses(items: PropertiesItems): this` — Генерирует базовые классы и отдельные файлы классов.
- `initProperties(items: PropertiesItems): this` — Генерирует структуры свойств SCSS.
- `initList(items: PropertiesItems): this` — Генерирует очищенный список свойств для ссылок.
- `initBasic(design: string): this` — Генерирует базовые файлы подключения и стилевые привязки для конкретного дизайна.
