### `html`

Динамический слот для отображения произвольного HTML-контента или Vue-компонентов в элементах списка с типом `html`.

List предоставляет гибкий механизм рендеринга пользовательского контента через именованные слоты. Когда элемент списка имеет `type: 'html'`, компонент ищет слот с именем, соответствующим значению поля `value` этого элемента. Если слот найден, его содержимое используется для рендеринга элемента. В противном случае компонент отобразит HTML из поля `label` через `innerHTML`.

**Основные возможности:**

- Динамическое связывание слотов по значению поля `value`
- Поддержка Vue-компонентов и интерактивных элементов в слотах
- Резервный рендеринг через `innerHTML` при отсутствии слота
- Интеграция в иерархическую структуру списка
- Автоматическое управление классами и стилями

**Типичные сценарии использования:**

- Рекламные и промо-блоки внутри списков
- Кастомные карточки с интерактивным контентом
- Встроенные формы и элементы управления
- Динамически загружаемые компоненты
- Специальные разделители с дополнительной логикой

**Принцип работы:**

1. Элемент списка должен иметь `type: 'html'`
2. Поле `value` используется как имя слота (ключ для поиска)
3. Если слот с таким именем существует — рендерится его содержимое
4. Если слота нет — отображается HTML из поля `label`

```html
<script setup>
import { ref } from 'vue'

const listData = ref([
  { label: 'Обычный элемент', value: 'item1' },
  {
    type: 'html',
    value: 'promoBlock',
    label: '<strong>Запасной HTML (если слот не определён)</strong>'
  },
  { label: 'Другой элемент', value: 'item2' },
  {
    type: 'html',
    value: 'customCard',
    label: '<div>Резервный контент</div>'
  }
])

const handlePromoClick = () => {
  console.log('Промо-блок нажат')
}
</script>

<template>
  <List :list="listData">
    <!-- Слот для промо-блока -->
    <template #promoBlock>
      <div class="custom-promo" @click="handlePromoClick">
        <h3>Специальное предложение</h3>
        <p>Пользовательский Vue-компонент со всеми возможностями</p>
        <button>Подробнее</button>
      </div>
    </template>

    <!-- Слот для кастомной карточки -->
    <template #customCard>
      <div class="card">
        <img src="/image.jpg" alt="Изображение">
        <span>Интерактивный контент</span>
      </div>
    </template>
  </List>
</template>
```

**Важные замечания:**

- Слот не получает props автоматически; используйте внешнее состояние или композабли для передачи данных
- Для интерактивного контента предпочитайте слоты, а не `innerHTML`
- Используйте `label` с HTML только для простой и доверенной разметки
- Имя слота должно точно совпадать со значением поля `value`
- HTML из `label` вставляется через `innerHTML` — убедитесь, что контент безопасен
