saturation/uisaturation/ui
DocsComponentsBlocksPagesEmails
GitHub

Sections

IntroductionComponentsInstallationMCPThemingDesignComposing a Detail Panel

Components

Components

General

AvatarBadgeButtonKbdProgressSeparatorSkeletonSpin ResolveSpinnerSplit ButtonSync ButtonTypography

Forms & Inputs

Address LookupCalendar PickerCheckboxColor PickerComboboxDate PickerEmoji PickerFavicon SearchFieldInputInput GroupInput OTPRadio GroupSelectSliderSwitchTextareaToggleToggle Group

Data Display

AccordionAlertCardChartComparison SliderCredit CardData TableEmptyItemMarkdownSaturation Credit CardStatus BadgeTableTree

Detail Panels

Detail FieldDetail HeroDetail Toolbar

Navigation

BreadcrumbCommandMenubarNavigation MenuPaginationTabs

Overlays

CollapsibleContext MenuDialogDropdown MenuHover CardSheet

Layout

Button GroupFont ProviderWizard Split Layout

Feedback

Sonner

Animation & Effects

Animated GroupAnimated ListAnimated NumberBeamBlur FadeBorder TrailGlow EffectLiquid MetalLoading StateParallaxPixelProgressive BlurRippleSpotlightText EffectText Shimmer

Productivity

Agent ChatAI Chat InputCoding AgentFiltersFull CalendarKanbanNovel Editor
Docs/Components/Detail Toolbar

Detail Toolbar

Sticky back/title/actions/close bar whose title crossfades into a compact identity (name · amount) on scroll.

Loading...

Installation

pnpm dlx shadcn@latest add @saturation-ui/detail-toolbar

Tailwind v4 — Source Scanning

The public shadcn registry installs component source into your project. If Tailwind v4 isn't scanning your components directory, add this to your CSS entry file:

@source "../components";

This ensures all utility classes in CVA variants and data attribute selectors are included in your build.

Usage

import {
  DetailToolbar,
  useCompactOnScroll,
} from "@/components/ui/detail-toolbar"
const compactOn = useCompactOnScroll(scrollRef)
<DetailToolbar title="Transaction" compact={{ name: rec.merchant, amount: money(rec.amount) }}
  compactOn={compactOn} onBack={goBack} onClose={close} />

API Reference

PropTypeDefaultDescription
titleReactNode—Rest-state title (the entity type).
compact{ name, amount? }—Compact identity that crossfades in on scroll.
compactOnbooleanfalseDrive with useCompactOnScroll(scrollRef, threshold?).
onBack / backLabel…—Back chevron (hidden when absent) with contextual tooltip.
onClose() => void—Close (×) at the far right.
actionsReactNode—Inline actions between title and close.
PreviousDetail HeroNextDialog

On This Page

  • Installation
  • Usage
  • API Reference
Transaction
Cinelease$4,250.00