bukatchuk ui

Элементы

Карусель

Карусель на CSS scroll-snap с кнопками, точками и клавишами; без скрипта остаётся горизонтальной прокруткой.

carousel с версии 0.1.0 со скриптом

Примеры

Карусель релизов
<section class="carousel" data-ui-carousel role="region" aria-roledescription="карусель" aria-label="Последние релизы">
  <div class="carousel__viewport" tabindex="0">
    <ul class="carousel__track">
      <li class="carousel__slide"><span class="carousel__slide-meta">12/10/2026</span><h3 class="carousel__slide-title">Релиз 2.14</h3><p>Исправлена задержка подключения при переходе между сетями, добавлен счётчик участников в шапке.</p></li>
      <li class="carousel__slide"><span class="carousel__slide-meta">28/09/2026</span><h3 class="carousel__slide-title">Релиз 2.13</h3><p>Новый алгоритм подавления шума, журнал подключений в кабинете.</p></li>
      <li class="carousel__slide"><span class="carousel__slide-meta">10/09/2026</span><h3 class="carousel__slide-title">Релиз 2.12</h3><p>Запись встреч стала на 30% легче, ускорена загрузка списка участников.</p></li>
    </ul>
  </div>
  <div class="carousel__controls">
    <div class="carousel__dots" data-ui-carousel-dots></div>
    <div class="carousel__btns">
      <button class="carousel__btn" type="button" data-ui-carousel-prev aria-label="Назад">&larr;</button>
      <button class="carousel__btn" type="button" data-ui-carousel-next aria-label="Вперёд">&rarr;</button>
    </div>
  </div>
</section>
Несколько слайдов в ряду
<section class="carousel carousel--multi" data-ui-carousel role="region" aria-roledescription="карусель" aria-label="Ближайшие встречи">
  <div class="carousel__viewport" tabindex="0">
    <ul class="carousel__track">
      <li class="carousel__slide"><span class="carousel__slide-meta">13/10 15:00</span><h3 class="carousel__slide-title">Ретроспектива</h3><p>148 участников</p></li>
      <li class="carousel__slide"><span class="carousel__slide-meta">14/10 11:00</span><h3 class="carousel__slide-title">Дежурства</h3><p>24 участника</p></li>
      <li class="carousel__slide"><span class="carousel__slide-meta">15/10 10:00</span><h3 class="carousel__slide-title">Разбор инцидента</h3><p>36 участников</p></li>
      <li class="carousel__slide"><span class="carousel__slide-meta">16/10 16:00</span><h3 class="carousel__slide-title">Обзор метрик</h3><p>52 участника</p></li>
    </ul>
  </div>
  <div class="carousel__controls">
    <div class="carousel__dots" data-ui-carousel-dots></div>
    <div class="carousel__btns">
      <button class="carousel__btn" type="button" data-ui-carousel-prev aria-label="Назад">&larr;</button>
      <button class="carousel__btn" type="button" data-ui-carousel-next aria-label="Вперёд">&rarr;</button>
    </div>
  </div>
</section>

Установка

bukatchuk-ui add carousel

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

Файлы

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

Варианты

КлассНазначение
carousel--multi

Переменные

ПеременнаяЧто задаёт
--carousel-perслайдов в ряду
--carousel-gapпромежуток между слайдами

Клавиши

КлавишаДействие
ArrowLeft, ArrowRightпредыдущий и следующий слайд (фокус на области прокрутки)
Home, Endпервый и последний слайд
Tabпереход к кнопкам и точкам