Viora LogoViora UI
Login

Dock

A macOS-style dock component with gaussian magnification effects, smooth tooltips, and spring animations.

dock.tsx
Loading source code...

Installation

pnpm dlx viora-ui@latest add dock
npx viora-ui@latest add dock
yarn viora-ui@latest add dock
bunx --bun viora-ui@latest add dock

Usage

import { Dock } from "viora-ui";
import { Dock } from "viora-ui";

export default function DockDemo() {
  return (
    <div className="flex min-h-[350px] w-full items-center justify-center p-6">
      <Dock />
    </div>
  );
}

API Reference

DockItem

PropTypeDefaultDescription
iconReact.ReactNode-Configuration for icon.
labelstring-Configuration for label.
href?string-Configuration for href.
onClick?() => void-Callback fired on click event.
separator?booleanfalseConfiguration for separator.

Dock

PropTypeDefaultDescription
itemsDockItem[][]List of items to render.
magnification?number-Configuration for magnification.
distance?number-Configuration for distance.
iconSize?number-Configuration for iconSize.
gap?number-Configuration for gap.
borderRadius?number-Configuration for borderRadius.
alwaysShowLabels?booleanfalseConfiguration for alwaysShowLabels.
springOptions?SpringOptions-Configuration for springOptions.
className?string""Additional CSS classes for custom styling.
autoPlay?booleanfalseWhether to automatically cycle through items.

Built by Otis

Last updated: 10/12/2026