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

<Meta title='@dxtmisha/ru/# UI/properties/types/Подкласс (subclass)'/>

# Подкласс (subclass)

Тип `subclass` используется для создания вложенных структурных элементов по методологии BEM (Блок-Элемент-Модификатор). Привязка этого типа к узлу предписывает компилятору сгенерировать дочерний CSS-класс, используя родительское имя как основу (например, `&__element`).

Наиболее частый и лаконичный способ создать подкласс — использование префикса `#`. Для строгой, развернутой структурной разметки тип `subclass` можно объявить явно через свойство `_type`. Оба подхода генерируют идентичный результат.

**Входная конфигурация (`properties.json`):**
```json
{
  "card": {
    "padding": "16px",
    
    "#icon": {                   // Использование алиаса #
      "width": "24px"
    },
    
    "content": {                 // Явное объявление типа
      "_type": "subclass",
      "display": "flex"
    }
  }
}
```

**Ожидаемый результат генерации (SCSS):**
```scss
.card {
  padding: 16px;

  &__icon {
    width: 24px;
  }

  &__content {
    display: flex;
  }
}
```

Использование типа `subclass` гарантирует надежную инкапсуляцию стилей и предотвращает глобальное загрязнение CSS, жестко привязывая внутренние элементы к их компоненту-родителю.
