Портфолио и кейсы

Галерея в оконных рамах: иней тает по наведению, лайтбокс

Зимние кадры в «окнах»: каждое фото в раме с переплётом-крестом и инеем по краям; наведение отогревает окно — иней тает, переплёт уходит, кадр теплеет и приближается. Клик — лайтбокс на <dialog>: фото на ночном фоне, подпись рукописным, стрелки и Esc. Плотная сетка, широкий кадр на две колонки.

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

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

  • eyebrow, title, lede
  • photos (src, alt, caption, shape), closeLabel, prevLabel, nextLabel
  • accent и background, tone

Собран из

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

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

Превью

1440pxТема страницы
Галерея в оконных рамах: иней тает по наведению, лайтбокс — Зимние кадры в «окнах»: каждое фото в раме с переплётом-крестом и инеем по краям; наведение отогревает окно — иней тает, переплёт уходит, кадр теплеет и приближается. Клик — лайтбокс на <dialog>: фото на ночном фоне, подпись рукописным, стрелки и Esc. Плотная сетка, широкий кадр на две колонки.

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

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

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

https://vibeui.ru/c/portfolio-010?theme=dark

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

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

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

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

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

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

<Portfolio010
  title="Четыре зимы в окнах"
  photos={[
    { src: "/photos/g-01.webp", caption: "Дорога в лес", shape: "wide" },
    { src: "/photos/g-02.webp", caption: "Снег на ресницах", shape: "tall" },
    { src: "/photos/g-03.webp", caption: "Глинтвейн", shape: "square" },
    { src: "/photos/g-04.webp", caption: "Снежные ангелы" },
  ]}
/>

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

Настройки

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

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

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

Как установить компонент «Галерея в оконных рамах: иней тает по наведению, лайтбокс» через Cursor или Claude Code?
Нажмите «Копировать для ИИ» на этой странице и вставьте текст в чат агента. В инструкции команда установки через shadcn CLI, зависимости и что сохранить — агент поставит именно этот компонент, а не перерисует похожий.
Какие зависимости у компонента «Галерея в оконных рамах: иней тает по наведению, лайтбокс»?
Никаких npm-пакетов, кроме React и Tailwind CSS. Вместе с ним ставятся компоненты каталога: button-104.
Что можно поменять в компоненте «Галерея в оконных рамах: иней тает по наведению, лайтбокс»?
Можно менять: eyebrow, title, lede; photos (src, alt, caption, shape), closeLabel, prevLabel, nextLabel; accent и background, tone. Сохранить как есть: импорты button-104 из @/components/vibeui/ — не встраивать их код в блок и не заменять своими; частям уходят только пропсы; переплёт и иней по краям каждого окна, тающие по наведению; лайтбокс на <dialog> с рукописной подписью и стрелками.
Компонент «Галерея в оконных рамах: иней тает по наведению, лайтбокс» бесплатный?
Да. Превью открыто без регистрации, а с бесплатным аккаунтом можно скопировать до 20 компонентов в месяц.

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

npx shadcn@latest add https://vibeui.ru/r/pro/portfolio-010.json

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

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

Составной блок: импортирует button-104 из @/components/vibeui/ — команда установки приносит их вместе с блоком. Блок владеет раскладкой и своим текстом, частям передаёт только пропсы, их палитры --vibeui-<name>-* не трогает. Один файл, ноль зависимостей, «use client» ради лайтбокса. Кадр — <button aria-label> с рамкой, внутри [data-part=pic] с aspect-ratio по shape (rect 3:2, tall 4:5, square 1:1, wide 2:1 на две колонки), поверх [data-part=bars] — крест переплёта из ::before/::after и [data-part=frost] — radial-gradient по углам с mix-blend-mode:screen; hover гасит оба, снимает saturate(.8) и масштабирует фото. Лайтбокс — <dialog> с showModal/close по state, Escape и клик по фону закрывают, стрелки клавиатуры листают. Сетка 2 колонки, 3 от 40rem, 4 от 64rem, align-items:start. Палитра --vibeui-portfolio-010-* нейтральная: чернила и бумага через light-dark(), цвета сайта передаются пропсами accent, ink и background; тёмная тема — по .dark/[data-theme] или tone. Шрифты Cormorant Garamond, Marck Script и Manrope подключаются <link precedence> с Google Fonts, с fallback на системные. accent и background переопределяют цвета, prefers-reduced-motion гасит анимации.

Теги

  • wedding
  • winter
  • gallery
  • photos
  • window
  • frost
  • lightbox
  • dialog
  • grid
  • dark
  • composite
Исходник компонента

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

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