Component reference

Liquid Tabs

A tab bar whose indicator stretches between tabs like a drop of liquid, and a deploy status. In Toy, the indicator is a piece you can drag and flick.

Deploy statusBuilding…
README · 4 min read
<LiquidTabs variant="minimal" />Clean surfaces and measured motion.

Installation

Use the shadcn CLI to copy the component source and its dependencies into your own project. Only the Minimal world, with motion, plus the Ovio theme, world, motion, keys, goo-filter items.

npx shadcn add JanaSundar/ovio/liquid-tabs-minimal
↳You own the source. Ovio components arrive in your codebase so you can edit any part of their style, behavior, or data flow.

Usage

Set the visual world on the component, or wrap the page in an OvioProvider to set a default for everything inside it.

TSXvariant="minimal"
import { LiquidTabs } from "@/components/ovio/liquid-tabs/liquid-tabs"

<LiquidTabs
  variant="minimal"
  tabs={["Overview", "Commits", "Issues", "Releases"]}
/>

Built with: Spring-sampled WAAPI · clip-path labels · SVG goo status (Toy: spring drag)
Motion in Minimal: Small springs, opacity and layout shifts that show state.

Props

Control the data, selected world, animation behavior, and callbacks.

PropTypeDescription
variantdefault minimalminimalcraftretrotoyWhich world to render. Uses the nearest OvioProvider when there is one.
tabsstring[]Equal-width tabs.
value / defaultValuenumberSelected index, controlled or not.
onValueChange(index: number) => voidFires when a tab is chosen.
statusofflinebuildingonlineDeploy indicator. Hidden when left out.
panelsReactNode[]Panel content per tab.
goodefault 9numberBlur strength of the deploy status goo.
classNamestringMerged onto the root.