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

<Meta title='@dxtmisha/ru/figma-code/Classes/FigmaTopLevelFrames - Управление фреймами верхнего уровня'/>

# Класс `FigmaTopLevelFrames`

Статический утилитарный класс для управления и синхронизации списка фреймов и секций верхнего уровня на текущей странице Figma. Он форматирует узлы в упрощенный список для отображения в интерфейсе плагина.

## Ключевые особенности

- **Автоматическая генерация списка** — Автоматически определяет фреймы и секции, находящиеся в корне текущей страницы.
- **Визуальные данные** — Экспортирует скриншоты в формате JPG для каждого фрейма, обеспечивая визуальный предпросмотр в UI.
- **Интеграция сообщений** — Метод `send()` настраивает слушателей для автоматического ответа на запросы списка фреймов из UI.

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

Поскольку это статический класс, создание экземпляра не требуется. Как правило, достаточно вызвать настройку связи в основном файле плагина.

```typescript
import { FigmaTopLevelFrames } from '@dxtmisha/figma-code'

// Настройка слушателя для запросов из UI
FigmaTopLevelFrames.send()
```

## Методы

### Получение данных

- `static get(): Promise<UiFigmaFramesList>` — Извлекает, форматирует и кэширует список фреймов верхнего уровня.

### Связь

- `static send(): void` — Инициализирует слушателей `FigmaPluginMessenger` для обработки запросов списка фреймов из UI.

## Типы данных

#### `UiFigmaFramesList`
Массив объектов, представляющих фреймы верхнего уровня.
- `name: string` — Имя фрейма.
- `id: string` — Уникальный ID фрейма.
- `image: Uint8Array | string` — Экспортированный скриншот фрейма в формате JPG.
