Bounce Sidebar

A vertical nav whose active marker springs and bounces between items. Pass your own items and dot color; controlled or uncontrolled.

Dependencies

motion

Interaction Type

Hover items for micro-clicks; click any item to spring the bouncing marker over with a signature ball bounce audio effect.

Props

Options you can pass to customize this component.

Prop
Type
Description
items*
string[]

Labels rendered as the vertical list of nav items.

value
number

Active item index for controlled usage. When set, the component won't manage its own state.

defaultValue
number

Initial active index for uncontrolled usage. Ignored when value is provided.

onChange
(index: number) => void

Called with the new index whenever an item is selected.

dotColor
string

Any CSS color for the bouncing active marker (hex, rgb, hsl, var).

className
string

Extra classes merged onto the root <ul> element.

Installation

npx shadcn@latest addhttps://ui.nexvyn.dev/r/bounce-sidebar.json

How to use

import { BounceSidebar } from "@/components/ui/bounce-sidebar"
  
const items = ["Home", "About", "Services", "Contact"]

export function Demo() {
  return <BounceSidebar items={items} dotColor="#FC4C01" />
}

Source Code

Click the code icon in the top-right corner to view the source code.

Credits

Inspired by aave.com/design

Keep in mind

All components here are original implementations, built from scratch with no copied code, assets, or content. We study UI/UX patterns we admire and craft our own versions, often with added features. If your work inspired something here and isn't credited, or a credit is incomplete, please open an issue - we'll fix it promptly.

Contact

Questions or feedback? Reach out anytime.

License & Usage

  • Free for personal and commercial use
  • No attribution required
  • Cannot be resold as a standalone product
  • Anatomy/blueprint diagrams are licensed separately (CC BY-NC 4.0) and are not for commercial use
// No code loaded.

For best experience, open in browser on a wider screen

Library Guide

Philosophy

Philosophy is a core pillar of Nexvyn/UI, designed from the ground up to focus on visual clarity, premium micro-interactions, and developer experience. We believe that components should not only be accessible and functional but should also provide a tactile, high-fidelity user experience through organic physics-based animations that delight the user at first touch. Every decision we make prioritizes the end user, ensuring that each interaction feels intentional and rewarding.

Our approach combines rigorous engineering with thoughtful design to create components that developers love to use and end users love to interact with. We study UI patterns we admire and craft our own versions, often with added features and improvements. The result is a library that feels both familiar and fresh.

Design System

Built on top of modern CSS custom properties and tailwind utility cascades, Nexvyn uses a highly curated, contrast-balanced color palette. Our theme variables adapt dynamically to light and dark modes with zero latency, providing consistent layout elevation, outline borders, and typography ratios across all viewports.

The design system is built to scale, supporting everything from small embeds to large dashboard interfaces. Each token is carefully chosen to maintain visual harmony while providing enough flexibility for customization. The color system uses semantic naming that makes theme switching intuitive.

Animations

Animations are computed using Framer Motion and spring physics so that motion transitions feel snappy, organic, and natural. By avoiding linear transitions and customizing spring coefficients (stiffness, damping, mass), we emulate real-world materials that stretch, compress, and slide smoothly to improve cognitive continuity.

Motion is information, not decoration — every animation communicates state changes, guides attention, and provides feedback. Our spring presets are tuned for different use cases: press interactions, panel transitions, and layout shifts. The result is a cohesive motion language that users instinctively understand.

Performance

Performance is a core pillar of the library. We optimize transitions using hardware-accelerated CSS properties (like transforms and opacity) and boost selector specificity to avoid style recalculation delays. Components only re-render when state changes, maintaining fast initial load speeds.

Lazy loading and code splitting are built in. Each component is tree-shakeable, ensuring you only ship the code you actually use. We continuously monitor bundle sizes and runtime performance to keep the library lean and fast across all devices and network conditions.

Accessibility

Accessibility is never an afterthought. Every component is built using semantic HTML elements, complete ARIA attribute specifications (roles, tablists, keyboard focus indicators), and conforms fully to WCAG 2.1 AA color contrast guidelines on both dark and light backgrounds.

Screen reader testing is part of our CI pipeline. We support keyboard navigation, focus management, and reduced motion preferences. Each component includes proper labeling, descriptions, and live region updates for dynamic content, ensuring an inclusive experience for all users.

Developer Experience

Developer experience (DX) is at the heart of our engineering. With fully typed components, clean named exports, and intuitive React hooks, integrating Nexvyn/UI into any modern codebase is seamless. We eliminate boilerplate, provide helpful TypeScript interfaces, and ensure compilation is warning-free to accelerate your feature delivery.

Our documentation includes interactive examples, prop tables, and copy-paste code snippets. The shadcn registry integration means installing components is a single command. We prioritize developer ergonomics so you can focus on building features, not fighting with the toolchain.

Customization

While we offer a premium default aesthetic, customization is fully supported. By utilizing semantic CSS variables (--color-accent, --color-bg, and custom scoping variables), you can easily override themes, radius coordinates, and animation springs to match your brand's unique identity without touching the core source files.

Every token is overridable. The component system supports CSS-in-JS, Tailwind classes, and inline styles, giving you complete control over the visual output while maintaining the underlying behavior and accessibility guarantees.

npx shadcn@latest addhttps://ui.nexvyn.dev/r/bounce-sidebar.json