The library

Curated, not a catalog dump.

Every signature component, built for a real site. Filter, preview live, copy in React or Vue.

Browse the library

Landmark Kits

Depth, not breadth.

A deep, stand-alone collection built around one system. The first Kit is Reveal - preloaders and hero sections, one mixable system, WebGL and GSAP. React, Vue, HTML / CSS / JS. Not for Webflow.

See the Menu Kit

Concepts, patterns, tools

Learn the vocabulary.

Definitions and examples for the GSAP and animation concepts behind production motion. Free, citable, and cross-linked with the components that use each idea.

Open concepts
GSAP component for Vue

Bento Focus in Vue.

Five photo tiles on a bento grid with one big focus slot. Click a small tile and it grows into the slot while the previous one shrinks back and the rest re-settle into the mixed-shape slots on the right, farther tiles moving later. Click again mid-flight and the grid simply changes course.

Install

Install Bento Focus in your Vue project

Bento Focus ships as a copy-paste Vue 3 single-file component. The only dependency is GSAP - Vue's reactivity and lifecycle hooks replace the React useGSAP adapter, so no extra package is needed.

BASH
Integrate

Where it goes in your Vue app

Bento Focus is a leaf-level interactive component. Drop it into any page, layout, or other component. It works in Vue 3 + Vite, Nuxt 3, and any standalone Vue setup.

In Nuxt, no special handling is needed - the component is client-safe and self-cleaning. If you want to ensure it never runs on the server (rare), wrap your usage in <ClientOnly>.

The component uses the <script setup> composition API and TypeScript-friendly defineProps.

Gotchas

Same live-measurement requirement as vanilla and React

focusTile needs real template refs for Flip.getState - it measures actual DOM rects immediately before the slot classes change.

Click-driven only, no autoplay

Nothing moves until the visitor clicks a small tile. There is no ScrollTrigger or timer dependency to clean up beyond the resize and visibilitychange listeners and the SplitText instances.
FAQ

Common questions

Does Bento Focus work in Nuxt 3?
Yes. Drop it into any page or component. The component is client-safe; Nuxt handles the SSR boundary automatically. If you want explicit client-only rendering, wrap in .
Does Bento Focus work with Vue 2?
No - the component uses the Vue 3 Composition API and