Отраслевые секции

Галерея зала с параллаксом и лайтбоксом

Галерея зала: три колонки фото разной высоты, при скролле колонки едут с разной скоростью, по наведению всплывает подпись. Клик — кадр вылетает из своей коробки в центр экрана на тёмном фоне, Escape и клик по фону закрывают.

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

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

  • photos: src, aspect, caption, alt
  • eyebrow, title, lede, closeLabel
  • accent и background, tone

Собран из

Команда установки поставит и эти компоненты. Блок задаёт им только пропсы: их палитра и поведение — свои.

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

Превью

1440pxТема страницы
Галерея зала с параллаксом и лайтбоксом — Галерея зала: три колонки фото разной высоты, при скролле колонки едут с разной скоростью, по наведению всплывает подпись. Клик — кадр вылетает из своей коробки в центр экрана на тёмном фоне, Escape и клик по фону закрывают.

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

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

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

https://vibeui.ru/c/restaurant-005?theme=dark

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

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

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

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

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

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

<Restaurant005
  title="Свечи, дерево и вид на двор"
  photos={[
    { src: "/photos/hall-01.webp", aspect: "3 / 2", caption: "бар" },
    { src: "/photos/hall-02.webp", aspect: "2 / 3", caption: "у окна" },
    { src: "/photos/hall-04.webp", aspect: "1", caption: "сервировка" },
  ]}
/>

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

Настройки

Тема
tone · по умолчанию: auto
Заголовок
title · по умолчанию: Свечи, дерево и вид на двор
Акцент
accent · по умолчанию: цвет темы
Фон
background · по умолчанию: цвет темы

Используется в сценариях

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

Как установить компонент «Галерея зала с параллаксом и лайтбоксом» через Cursor или Claude Code?
Нажмите «Копировать для ИИ» на этой странице и вставьте текст в чат агента. В инструкции команда установки через shadcn CLI, зависимости и что сохранить — агент поставит именно этот компонент, а не перерисует похожий.
Какие зависимости у компонента «Галерея зала с параллаксом и лайтбоксом»?
npm-пакеты: react-dom. Вместе с ним ставятся компоненты каталога: button-094.
Что можно поменять в компоненте «Галерея зала с параллаксом и лайтбоксом»?
Можно менять: photos: src, aspect, caption, alt; eyebrow, title, lede, closeLabel; accent и background, tone. Сохранить как есть: импорты button-094 из @/components/vibeui/ — не встраивать их код в блок и не заменять своими; частям уходят только пропсы; параллакс колонок через одну CSS-переменную прогресса — без ререндеров на скролл; лайтбокс с вылетом из коробки кадра и возвратом назад: портал в body, reflow перед стартом.
Компонент «Галерея зала с параллаксом и лайтбоксом» бесплатный?
Превью открыто всем, исходник доступен по подписке PRO.

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

npx shadcn@latest add https://vibeui.ru/r/pro/restaurant-005.json

npm-зависимости: react-dom

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

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

Составной блок: импортирует button-094 из @/components/vibeui/ — команда установки приносит их вместе с блоком. Блок владеет раскладкой и своим текстом, частям передаёт только пропсы, их палитры --vibeui-<name>-* не трогает. Один файл, зависимость только react-dom (createPortal), «use client». Фото раскладываются по трём колонкам с балансом высот: по убыванию высоты (из aspect) каждое идёт в самую короткую колонку, внутри колонки — в исходном порядке; параллакс — одна переменная прогресса секции во вьюпорте (−1…1), пишется в rAF на scroll без ререндера, колонки сдвигаются translateY(p × k) со своим k. Кадр — <button> с aspect-ratio из photo.aspect. Лайтбокс: слой position:fixed в портале, летун стартует из getBoundingClientRect кадра, после reflow и requestAnimationFrame едет к центрированной коробке (top/left/width/height с transition .55s), оригинал прячется; закрытие — обратно, фокус возвращается на кадр; скролл заперт с компенсацией скроллбара. reduced-motion выключает параллакс и переходы. Палитра --vibeui-restaurant-005-* нейтральная: чернила и бумага через light-dark(), цвета сайта передаются пропсами accent, ink и background; шрифты Playfair Display и Manrope подключаются <link precedence> с Google Fonts, с fallback на системные. tone фиксирует схему, accent, ink и background переопределяют цвета.

Теги

  • restaurant
  • cafe
  • bar
  • food
  • menu
  • dining
  • gallery
  • parallax
  • lightbox
  • masonry
  • composite
Исходник компонента

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

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