> For the complete documentation index, see [llms.txt](https://prizmds.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://prizmds.gitbook.io/documentation/components/accordion.md).

# Accordion

## <mark style="color:blue;">Общая информация</mark>

Аккордеон — это паттерн раскрытия и скрытия разделов контента. Постепенное раскрытие контента обеспечивает экономию пространства на странице.

## <mark style="color:blue;">Анатомия</mark>

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2FBphkIgdLQHgdimCOd9Ks%2FFrame%2023476816.png?alt=media&amp;token=9a359b24-aa7b-42fa-91a4-f67cc8ae0921" alt=""><figcaption></figcaption></figure>

1. **Заголовок**
2. **Кнопка-иконка.** Отвечает за сворачивание / разворачивание контентной области&#x20;
3. **Контентная область**

## <mark style="color:blue;">Описание работы</mark>

### Поведение

Несколько слоёв накладываются друг на друга. Все они скрыты, видны только их заголовки. Если одно из них нажато, чтобы сделать его активным, оно раскрывается. Другие окна в аккордеоне располагаются по верхнему или нижнему краю.

Должно быть настраиваемым поведение аккордионов при раскрытии нескольких:&#x20;

* Стандартное — при открытии нового, предыдущее закрывается.&#x20;
* Многоуровневое — при открытии нового, все открытые перед ним остаются в том же состоянии.

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2FsJLhRgEX9LPVGv9PLgYo%2FFrame%2023476815.png?alt=media&amp;token=19e44c54-624f-4cc0-ae4d-01ec1563ba04" alt=""><figcaption></figcaption></figure>

### Размещение

* Аккордеоны можно размещать: внутри контейнера с содержимым (например, виджет, sidebar)

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2FPCCSteDxnIOLtX2FvYVR%2FFrame%2023476814.png?alt=media&amp;token=35b7fb2a-1472-42ee-b013-deddfd5d3509" alt=""><figcaption></figcaption></figure>

* представлять собой отдельный контейнер (с динамической высотой)

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2FGHv84Qqg6fOZv4VQPLg8%2FFrame%2023476813.png?alt=media&amp;token=50a36cc1-8ee7-4c89-a0bb-350e0fc92e9b" alt=""><figcaption></figcaption></figure>

### Заголовок

Рекомендуется использовать в качестве содержимого заголовка статичный контент (без интерактивности). В таком случае у пользователя не будет противоречий в интерактивности компонента (аккордеон может раскрываться по клику на всю строку-заголовок).

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2F04urwgzlS7kwYg8vuWgM%2FFrame%2023476812.png?alt=media&amp;token=a8dcde7e-1fb6-4bf7-8b83-5cc45b97adbc" alt=""><figcaption></figcaption></figure>

Однако, есть задачи, которые требуют наличия интерактивных компонентов внутри заголовка аккордеона. В таких случаях зона клика определяется правилами используемого компонента:

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2FAIvXIcdEEkAW2dh9vZt9%2FFrame%2023476817.png?alt=media&amp;token=bcc8b447-65d5-4f2c-8723-d9a035bac102" alt=""><figcaption></figcaption></figure>

Заголовок аккордеона должен быть понятен пользователю и давать представление о том, какая информация содержится внутри.

### Интерактивность

Раскрытие аккордеона осуществляется по клику на строку-заголовок или на кнопку-шеврон. Зона клика в строке заголовка:

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2FoIhcAHXbPmFVfExMNcpY%2FFrame%2023476818.png?alt=media&amp;token=6bc79858-0697-4910-8bef-8d34c5502939" alt=""><figcaption></figcaption></figure>

В случае наличия большого количества управляющих элементов, раскрытие и скрытие аккордеона осуществляется по клику на иконку шеврона справа, которая указывает, в каком состоянии находится аккордеон:&#x20;

* шеврон указывает вниз - аккордеон свернут&#x20;
* вверх - развернут.

Аккордеоны по умолчанию находятся в свернутом состоянии с закрытыми контентными областями. Затем пользователь может раскрывать каждую секцию аккордеона отдельно. Одновременно могут быть открыты несколько секций.

{% tabs %}
{% tab title="Свернутый" %}

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2FknyhFtQincR5SEA62Bn2%2FFrame%2023476819.png?alt=media&amp;token=745794ba-6365-47cb-ae8b-c2badd786dbd" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Развернутый" %}

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2F8ZAxz1fVZiBP5DYJatcT%2FFrame%2023476820.png?alt=media&amp;token=02ce14dc-de16-4ac7-be82-8c75fadfcba7" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}

### Когда использовать

* Для систематизации связанной информации&#x20;
* Для уменьшения прокрутки области, когда видимость всего контента не принципиальна&#x20;
* Когда длинный контент не может быть отображен сразу весь (например, в мобильном интерфейсе или на боковой панели)&#x20;
* Когда нужно расположить много информации на одном экране. В этом случае, рекомендуется для уменьшения информационной перегрузки отображать только одно окно раскрытым&#x20;
* При пошаговом заполнении экрана

Не используйте аккордеон, если необходимо, чтобы пользователь увидел весь контент - это увеличит нагрузку за счет необходимости сворачивать / разворачивать разделы. Вместо этого используйте полную прокручиваемую страницу с обычными заголовками.

## <mark style="color:blue;">Размеры</mark>

Размеры и отступы могут меняться в зависимости от типа использумой сетки. Сетка может быть с 8 или 12 колонками.

Высота аккордеона может варьироваться в зависимости от решаемой задачи. Кратность высоты и ширины аккордеона - 8 рх.

<table><thead><tr><th width="230">Элемент</th><th>Значение </th></tr></thead><tbody><tr><td>Иконки</td><td>16px * 16px</td></tr><tr><td>Аккордеон</td><td>Border: 1px (solid)<br>Border-radius: 2px</td></tr></tbody></table>

<table><thead><tr><th width="144">Элемент</th><th>Название стиля</th><th>Гарнитура</th><th>Кегль</th><th>Начертание</th></tr></thead><tbody><tr><td>Заголовок</td><td>Static_title/h4</td><td>Inter</td><td>14px</td><td>Semi Bold</td></tr><tr><td>Текст</td><td>Main/Body-text 14</td><td>Inter</td><td>14px</td><td>Regular</td></tr></tbody></table>

Рекомендуемые внутренние отступы - 16px.

<figure><img src="https://4122576536-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FrqHekF3kQhhBvtSAI6Bj%2Fuploads%2FfPvL1mUGoRURcB90vrDG%2FFrame%2023476821.png?alt=media&amp;token=804a4fa4-6adb-4411-953b-b90cb3362f3f" alt=""><figcaption></figcaption></figure>
