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

<Meta title='@dxtmisha/ru/scripts/Classes/StylesRoot - Генератор корневых переменных'/>

# Класс StylesRoot

Класс `StylesRoot` отвечает за генерацию глобального блока CSS `:root` из токенов дизайна. Он преобразует токены в CSS-переменные и интеллектуально разрешает сложные выражения `calc()` для обеспечения совместимости с браузерами.

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

- **Генерация блока Root** — Создает стандартную структуру `:root { ... }`, содержащую все токены дизайна.
- **Преобразование переменных** — Использует `StylesToVar` для трансформации элементов свойств в валидные CSS-переменные.
- **Динамическое разрешение вычислений** — Рекурсивно разрешает выражения `calc()`, которые ссылаются на другие переменные, гарантируя, что конечные значения будут предварительно вычислены, где это возможно.
- **Интеграция с SCSS** — Автоматически включает необходимые директивы SCSS `@use` для определений свойств.

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

Для инициализации объекта вызовите конструктор `StylesRoot(items)`.

**Параметры:**
- `items: PropertiesItems` — объект для работы со списком свойств дизайна.

```typescript
import { StylesRoot, PropertiesItems } from '@dxtmisha/scripts'

// 1. Инициализация PropertiesItems
const items = new PropertiesItems(designData)

// 2. Инициализация StylesRoot
const generator = new StylesRoot(items)
```

## Методы

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

- `init(): string[]` — Основная точка входа. Обрабатывает список свойств, разрешает вычисления и возвращает массив строк, представляющих полный блок `:root` с его импортами.
