Раскладки и бенто

Колонки-ленты

Колонки-ленты: слева описание и ссылки, справа ряд колонок с горизонтальной прокруткой и snap — ссылка довозит ряд до своей колонки, активная следует за прокруткой, пилюля едет к ней. У каждой колонки своя вертикальная прокрутка. Для личного сайта, портфолио и «второго мозга».

React + Tailwind, совместим с shadcn: нажмите «Копировать для ИИ» — агент в Cursor или Claude Code поставит его через shadcn CLI.

Что можно поменять

  • heading и lead — заголовок и подзаголовок над раскладкой; без них — призрак
  • items — слоты по порядку: 01 описание слева (title — имя), 02 колонка, 03 колонка, 04 колонка, 05 колонка, 06 колонка; title/text/value/media
  • media — свой кадр, видео или фон из категории «Фон» (surface-*) внутри слота, ложится под текст

Ссылка для ИИ-агента: в ней превью, код и инструкция.

Превью

1440pxТема страницы
Колонки-ленты — Колонки-ленты: слева описание и ссылки, справа ряд колонок с горизонтальной прокруткой и snap — ссылка довозит ряд до своей колонки, активная следует за прокруткой, пилюля едет к ней. У каждой колонки своя вертикальная прокрутка. Для личного сайта, портфолио и «второго мозга».

Использовать с ИИ

  1. 1. Скопируйте ссылку.
  2. 2. Напишите агенту своими словами и вставьте её в предложение.
  3. 3. Агент откроет ссылку и поставит компонент из реестра.
AI
1Выбрали здесь

добавь это на главную первым экраном:

https://vibeui.ru/c/layout-015?theme=dark

2Вставили в чат агента
3Получили в проекте

Не знаете, куда вставить? Пошаговый гайд

Показать полную инструкцию

То, что лежит по ссылке в развёрнутом виде. Нужна, если агент не может открыть ссылку — тогда вставьте этот текст целиком.

Загружается…

Как использовать

<Layout015
  heading="Заголовок раскладки"
  lead="Подзаголовок в одну строку."
  items={[
    { title: "Описание слева (title — имя)", text: "Коротко о главном." },
    { title: "Колонка", text: "Коротко о главном." },
    { title: "Колонка", text: "Коротко о главном." },
    { title: "Колонка", text: "Коротко о главном." },
    { title: "Колонка", text: "Коротко о главном." },
    { title: "Колонка", text: "Коротко о главном." },
  ]}
/>

Пример вызова. Сам компонент агент ставит из реестра по ссылке «Копировать для ИИ».

Настройки

Колонка
width · по умолчанию: narrow
Snap
snap · по умолчанию: включено
Номера
numbers · по умолчанию: включено
Акцент
accent · по умолчанию: цвет темы

Частые вопросы

Как установить компонент «Колонки-ленты» через Cursor или Claude Code?
Нажмите «Копировать для ИИ» на этой странице и вставьте текст в чат агента. В инструкции команда установки через shadcn CLI, зависимости и что сохранить — агент поставит именно этот компонент, а не перерисует похожий.
Какие зависимости у компонента «Колонки-ленты»?
Никаких npm-пакетов, кроме React и Tailwind CSS.
Что можно поменять в компоненте «Колонки-ленты»?
Можно менять: heading и lead — заголовок и подзаголовок над раскладкой; без них — призрак; items — слоты по порядку: 01 описание слева (title — имя), 02 колонка, 03 колонка, 04 колонка, 05 колонка, 06 колонка; title/text/value/media; media — свой кадр, видео или фон из категории «Фон» (surface-*) внутри слота, ложится под текст. Сохранить как есть: импорты из @/components/vibeui/ — не встраивать их код в блок и не заменять своими; частям уходят только пропсы; локальную палитру --vibeui-layout-015-* и не подменять её токенами вашей темы; родную горизонтальную прокрутку ряда с scroll-snap — колёсико, трекпад и touch работают сами, JS только довозит по клику.
Компонент «Колонки-ленты» бесплатный?
Да. Превью открыто без регистрации, а с бесплатным аккаунтом можно скопировать до 20 компонентов в месяц.

Для разработчика

npx shadcn@latest add https://vibeui.ru/r/pro/layout-015.json

Команде нужна подписанная ссылка: войдите и откройте «Исходник компонента» ниже — там рабочая ссылка на 30 минут. Все способы установки

Технические заметки

Составной блок: импортирует из @/components/vibeui/ — команда установки приносит их вместе с блоком. Блок владеет раскладкой и своим текстом, частям передаёт только пропсы, их палитры --vibeui-<name>-* не трогает. Один файл, ноль зависимостей, JS только для света за курсором и undefined. Grid 18rem/1fr с 48rem, высота min(46rem, 100dvh). Ряд — flex с overflow-x: auto и scroll-snap-type x mandatory (data-snap), колонка — flex: 0 0 var(--col) (26/32rem, data-width) с header и внутренним overflow-y: auto. Клик по кнопке — row.scrollTo({left: column.offsetLeft, behavior: smooth}); onScroll через rAF ищет ближайшую колонку по offsetLeft и ставит aria-current; пилюля — абсолютный span с top/height от offsetTop активной кнопки и переходом 0.4s. Ниже 48rem — навигация строкой сверху, колонки во всю ширину. Слот 01 — описание слева (title = имя), 02–06 — колонки: title — заголовок, text — подводка, media — своё содержимое колонки вместо призрака. Слоты: 01 описание слева (title — имя), 02 колонка, 03 колонка, 04 колонка, 05 колонка, 06 колонка — items[i] с title/text/value/media, без них — призрак. Номера (numbers) показывают, какой слот куда ложится. Появление своё, см. выше; наведение — свет за курсором и подсветка кромки в точке указателя. Палитра --vibeui-layout-015-* с light-dark, container-запросы, порядок DOM = порядок чтения.

Теги

  • layout
  • columns
  • deck
  • portfolio
  • sidebar
  • horizontal
  • snap
  • personal
  • composite
Исходник компонента

Тот же файл, который поставит агент. Нужен, если вы предпочитаете скопировать код руками.

Загружается…