Sidebar
Сворачиваемая панель
Развёрнуто — ничего не выбрано
Панель с кастомным содержимым
Входные параметры
| Имя | Тип | По умолчанию | Описание |
|---|---|---|---|
items | NavMenuItem[] | [] | Пункты меню (тип NavMenuItem из NavigationMenu): label, to?, href?, icon?, disabled?, items?. |
activePath | string | undefined | Текущий путь для подсветки активного пункта. |
title | string | undefined | Заголовок панели. |
collapsible | boolean | false | Показывать ли кнопку сворачивания. |
collapsed | boolean | false | Свёрнутое состояние (отображаются только иконки). |
ariaLabel | string | 'Боковое меню' | Подпись панели для скринридеров. |
v-model
Проп collapsed связывается через v-model:collapsed и управляет свёрнутым состоянием панели.
События
| Имя | Аргументы | Когда срабатывает |
|---|---|---|
select | item: NavMenuItem | При выборе пункта меню или подпункта. Не срабатывает для отключённых пунктов. |
update:collapsed | value: boolean | При переключении свёрнутого состояния кнопкой. |
Описание
Компонент C3Sidebar — вертикальная боковая панель навигации. Отображает список пунктов (включая сворачиваемые группы подменю), заголовок, произвольную область контента и футер.
Подсветка активного пункта работает по activePath. При collapsible появляется кнопка сворачивания, переводящая панель в компактный режим с иконками.
Панель автоматически сворачивается, когда ширина окна браузера (windowWidth из useC3Layout()) меньше 1000px: кнопка сворачивания скрывается, а подменю групп выводятся всплывающими меню справа от пункта.
Дополнительная информация
- Слоты:
header(заголовок, по умолчаниюtitle+ кнопка сворачивания),default(произвольное содержимое в области контента),footer(футер панели). - Обёртка —
<aside>сaria-label; группы подменю используют кнопки сaria-expanded. - В свёрнутом режиме подменю скрываются, остаются только корневые иконки.
- Группы подменю открываются/закрываются по клику; активной считается группа, содержащая пункт, совпадающий с
activePathили его префиксом. - Всплывающее меню группы: позиционируется справа от кнопки, закрывается по клику вне, по Escape (с возвратом фокуса) и повторному клику; внутри работает клавиатурная навигация (стрелки, Home/End, Enter).