bukatchuk ui

Элементы

Меню разделов

Меню с раскрывающимися подменю: кнопка, панель со ссылками и описаниями. На узком экране — столбиком.

nav-menu с версии 0.1.0 со скриптом

Примеры

Меню разделов с подменю
<nav class="navmenu" aria-label="Разделы" data-ui-navmenu>
  <ul class="navmenu__list">
    <li class="navmenu__item"><a class="navmenu__link is-active" href="/" aria-current="page">Главная</a></li>
    <li class="navmenu__item">
      <button class="navmenu__trigger" type="button" aria-expanded="false" aria-controls="nm-ex-1">Возможности <span class="navmenu__caret" aria-hidden="true">↓</span></button>
      <div class="navmenu__panel" id="nm-ex-1">
        <ul class="navmenu__sub">
          <li><a class="navmenu__sublink" href="/rooms/"><span class="navmenu__title">Комнаты</span><span class="navmenu__desc">Постоянные адреса для регулярных встреч команды.</span></a></li>
          <li><a class="navmenu__sublink" href="/recordings/"><span class="navmenu__title">Записи</span><span class="navmenu__desc">Хранение, поиск и выгрузка записей созвонов.</span></a></li>
          <li><a class="navmenu__sublink" href="/schedule/"><span class="navmenu__title">Расписание</span><span class="navmenu__desc">Приглашения и напоминания участникам.</span></a></li>
        </ul>
      </div>
    </li>
    <li class="navmenu__item">
      <button class="navmenu__trigger" type="button" aria-expanded="false" aria-controls="nm-ex-2">Документация <span class="navmenu__caret" aria-hidden="true">↓</span></button>
      <div class="navmenu__panel" id="nm-ex-2">
        <ul class="navmenu__sub">
          <li><a class="navmenu__sublink" href="/docs/api/"><span class="navmenu__title">API</span><span class="navmenu__desc">Создание комнат и токенов доступа из своих сервисов.</span></a></li>
          <li><a class="navmenu__sublink" href="/docs/self-hosted/"><span class="navmenu__title">Свой сервер</span><span class="navmenu__desc">Установка, обновление и резервные копии.</span></a></li>
        </ul>
      </div>
    </li>
    <li class="navmenu__item"><a class="navmenu__link" href="/blog/">Блог</a></li>
  </ul>
</nav>
Меню блога с одним подменю
<div class="sec--surface">
  <nav class="navmenu" aria-label="Разделы блога" data-ui-navmenu>
    <ul class="navmenu__list">
      <li class="navmenu__item">
        <button class="navmenu__trigger" type="button" aria-expanded="false" aria-controls="nm-ex-3">Рубрики <span class="navmenu__caret" aria-hidden="true">↓</span></button>
        <div class="navmenu__panel" id="nm-ex-3">
          <ul class="navmenu__sub">
            <li><a class="navmenu__sublink" href="/tags/ops/"><span class="navmenu__title">Эксплуатация</span><span class="navmenu__desc">Мониторинг, дежурства и разбор инцидентов.</span></a></li>
            <li><a class="navmenu__sublink" href="/tags/infra/"><span class="navmenu__title">Инфраструктура</span><span class="navmenu__desc">Серверы, сети и резервные копии.</span></a></li>
          </ul>
        </div>
      </li>
      <li class="navmenu__item"><a class="navmenu__link" href="/archive/">Архив</a></li>
    </ul>
  </nav>
</div>

Установка

bukatchuk-ui add nav-menu

Вместе с компонентом установятся: tokens, fonts, base, core.

Файлы

ФайлНазначение
nav-menu.cssстили
nav-menu.jsскрипт
example.htmlобразец разметки, в проект не копируется

Варианты

КлассНазначение
navmenu--dark

Клавиши

КлавишаДействие
Enter, Пробелоткрыть или закрыть подменю
↓, ↑на кнопке — открыть подменю и перейти к первой или последней ссылке; в панели — перейти к следующей или предыдущей ссылке
←, →перейти к соседнему разделу меню
Home, Endпервый или последний пункт
Escзакрыть подменю, фокус возвращается на кнопку
Tabвыход из меню закрывает подменю