sh4dcnv2 · atlas
← libraries

@fluid

Fluid Functionalism is a ~22-component shadcn registry focused on motion-as-information: every animation makes a state change legible rather than decorative. Components use Framer Motion springs, proximity-hover highlights, and font-weight transitions. Notable AI-oriented components include ThinkingIndicator (morphing SVG status), ThinkingSteps (chain-of-thought display), InputMessage (auto-resizing chat composer), and AskUserQuestions (stepped single/multi-select question flow). Also includes accordion, badge, button, checkbox-group, color-picker (HEX/RGB/HSL/OKLCH, eyedropper), dialog, dropdown, input-group, radio-group, select, slider, surfaces (8 elevation levels), switch, table, tabs, tabs-subtle, and tooltip. Built on Radix UI, Tailwind CSS v4, and React 19. Free, MIT licensed. Use for: building AI chat and agent interfaces where interaction feedback needs to feel calm and precise, or adding a spring-physics design language to a shadcn project.

84 components react shadcn-cli MIT

Install this registry

shadcn (npm) npx shadcn@latest add https://www.fluidfunctionalism.com/r/registry.json
pnpm pnpm dlx shadcn@latest add https://www.fluidfunctionalism.com/r/registry.json
bun bunx shadcn@latest add https://www.fluidfunctionalism.com/r/registry.json
fetch registry curl -s https://www.fluidfunctionalism.com/r/registry.json

Components

84 total
Surfaces theme

Eight-level surface and shadow ladder for elevation. Light: two color steps then flat white, differentiated by shadow. Dark: additive white-opacity ladder with…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/surfaces.json
Interaction Tokens theme

Shared interaction-state tokens: surface-relative hover/active overlays (bg-hover, bg-active), the selected fill, the see-through secondary-button tint (--tint…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/tokens.json
Type Scale item

Six type roles (display, title, subtitle, body, caption, micro), each a font size and a line height, at the default and compact steps of the size ladder. Adds …

npx shadcn@latest add https://www.fluidfunctionalism.com/r/type-scale.json
Typography item

The type scale and prose styles in one install. size-context brings the 6 roles, typeClass(), and the --fs-* / --lh-* tokens; the prose styles set rendered mar…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/typography.json
Utilities lib

Utility function for merging Tailwind CSS classes with clsx and tailwind-merge.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/utils.json
Spring Animations lib

Spring animation token presets for Motion (fast, moderate, slow).

npx shadcn@latest add https://www.fluidfunctionalism.com/r/springs.json
Font Weight Tokens lib

Variable font weight tokens for Inter (normal, medium, semibold, bold) using font-variation-settings.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/font-weight.json
Surface Context lib

React context that tracks the current substrate elevation level. Elevated components (Dropdown, Select, etc.) read it via useSurface() and render at substrate …

npx shadcn@latest add https://www.fluidfunctionalism.com/r/surface-context.json
Surface Class Lookup lib

Static lookup tables for bg-surface-N and shadow-surface-N utilities. Required because Tailwind v4 cannot detect template-literal class names.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/surface-classes.json
Elevated lib

Elevation primitive. Wraps the read-substrate / compute-level / apply-classes / re-provide-context pattern into one component. Pulls in the surface theme token…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/elevated.json
Popup chrome lib

Shared popup chrome for the dropdown, select, and combobox popups: side-aware enter/exit motion classes driven by the positioner's resolved data-side, the Scro…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/popup.json
Omit lib

Copies an object without the given keys. Components use it to drop props before spreading the rest onto an element, without leaving unused bindings behind.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/omit.json
Shape Context lib

React context provider for runtime shape variant switching (pill or rounded). Controls border-radius across all Fluid Functionalism components.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/shape-context.json
Size Context lib

React context provider for the two-step size ladder (36px default, 28px compact). Controls control heights, text, icon, and padding scale across all Fluid Func…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/size-context.json
Icon Context lib

Named icon slots with a Lucide default set; swap any icon via IconProvider.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/icon-context.json
Tabler Icon Set lib

Tabler glyphs for every icon slot the components look up. Pass the map to IconProvider (or FluidProvider's icons prop) and every component draws Tabler.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/icons-tabler.json
Phosphor Icon Set lib

Phosphor glyphs for every icon slot the components look up. Pass the map to IconProvider (or FluidProvider's icons prop) and every component draws Phosphor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/icons-phosphor.json
HugeIcons Icon Set lib

HugeIcons glyphs for every icon slot the components look up. Pass the map to IconProvider (or FluidProvider's icons prop) and every component draws HugeIcons.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/icons-hugeicons.json
Untitled UI Icon Set lib

Untitled UI glyphs for every icon slot the components look up. Pass the map to IconProvider (or FluidProvider's icons prop) and every component draws Untitled …

npx shadcn@latest add https://www.fluidfunctionalism.com/r/icons-untitledui.json
Fluid Provider lib

One wrapper for the whole system: reduced motion that follows the OS, the radius (rounded or pill), the size step (default or compact), and the icon set.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/fluid-provider.json
useFluidHover + FluidHoverHighlight hook

Fluid hover: the hook that tracks the item nearest the cursor within a container, and the one highlight component that springs between the rects it measures.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/use-fluid-hover.json
useTouchPrimary hook

Detects touch-primary devices (coarse pointer + touch points), updating live on pointer-mode and media-query changes. Adapted from Lina (https://lina.sameer.sh…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/use-touch-primary.json
useKeyboardNavGate hook

Gates a popup's keyboard focus ring on keyboard use: seeded at open from the focused element's :focus-visible state, then earned by navigation keys inside the …

npx shadcn@latest add https://www.fluidfunctionalism.com/r/use-keyboard-nav-gate.json
useMergeSplitBlocks hook

React hook + renderer for the selected-background merge/split animation. When one row bridges or splits two contiguous selected runs, their inner edges glide t…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/use-merge-split.json
Accordion ui

Collapsible accordion with animated height transitions, spring-animated chevron, and fluid hover in grouped mode. Built on Radix UI Accordion.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/accordion.json
Accordion (Base UI) ui

Collapsible accordion with animated height transitions, spring-animated chevron, and fluid hover in grouped mode. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/accordion.json
Ask User Questions ui

Stepped question flow with numbered options, keyboard shortcuts (1–9), single or multi-select, inline 'other' text input, optional skip, fluid hover, and multi…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/ask-user-questions.json
Badge ui

Compact label with solid and dot variants, Tailwind color palette, and three sizes.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/badge.json
Banner ui

Status message built from parts (Banner, BannerTitle, BannerDescription, BannerActions, BannerAction): 5 statuses (filled glyphs for info, success, warning and…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/banner.json
Button ui

Animated button with variants (primary, secondary, tertiary, ghost), icon support, loading spinner, and fluid font-weight transitions on hover.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/button.json
Button (Base UI) ui

Animated button with variants (primary, secondary, tertiary, ghost), icon support, loading spinner, and fluid font-weight transitions on hover. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/button.json
Dropdown ui

Dropdown menu with fluid hover, animated selection indicator, inline panel or triggered popup with collision-aware positioning, typeahead, and close-on-select.…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/dropdown.json
Dropdown ui

Dropdown menu with fluid hover, animated selection indicator, inline panel or triggered popup with collision-aware positioning, typeahead, and close-on-select.…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/dropdown.json
Checkbox Group ui

Animated checkbox group with fluid hover, contiguous selection merging, and spring-animated check marks. Built on Radix UI Checkbox.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/checkbox-group.json
Checkbox Group (Base UI) ui

Animated checkbox group with fluid hover, contiguous selection merging, and spring-animated check marks. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/checkbox-group.json
Radio Group ui

Animated radio group with fluid hover, spring-animated selection dot, and optional Radix UI integration. Supports both controlled index and value-based APIs.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/radio-group.json
Radio Group (Base UI) ui

Animated radio group with fluid hover, spring-animated selection dot. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/radio-group.json
Dialog ui

Animated modal dialog with spring-based scale and opacity transitions in three widths (sm, lg, and an xl canvas for composed layouts such as a sidebar), plus a…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/dialog.json
Dialog (Base UI) ui

Animated modal dialog with spring-based scale and opacity transitions in three widths (sm, lg, and an xl canvas for composed layouts such as a sidebar), plus a…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/dialog.json
Mobile Drawer ui

Slide-in navigation drawer with scrim, focus trap, and scroll lock. Radix flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/mobile-drawer.json
Mobile Drawer ui

Slide-in navigation drawer with scrim, focus trap, and scroll lock. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/mobile-drawer.json
Input Copy ui

Read-only input with a copy-to-clipboard button and animated check feedback. Supports optional label and shape context.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/input-copy.json
Input Group ui

Grouped input fields with fluid hover highlighting, animated label transitions, optional icons, and error states.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/input-group.json
Input Message ui

Chat-style message composer with auto-resizing textarea, drag-and-drop file attachments (PNG / JPEG / PDF), flexible left/right action slots, and a built-in se…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/input-message.json
File Thumbnail ui

Read-only square preview of a File. Images render via object-cover; PDFs render their first page via pdfjs; a spinner shows while either resolves. Adapts its c…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/file-thumbnail.json
Queued message stack block

Sonner-style stack of queued composer messages: collapsed cards fan out on hover (tap on touch), drag to reorder, a gutter arrow counts the overflow, edit/remo…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/queued-stack.json
Chat Message ui

A single chat transcript entry with baked-in entrance and layout motion. Right-aligned accent bubble for the user, left-aligned muted bubble for the assistant,…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/chat-message.json
Tabs Subtle ui

Horizontal tab navigation with fluid hover, animated pill selection indicator, and fluid font-weight transitions. Radix flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/tabs-subtle.json
Tabs Subtle ui

Horizontal tab navigation with fluid hover, animated pill selection indicator, and fluid font-weight transitions. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/tabs-subtle.json
Switch ui

Animated toggle switch with spring-based thumb animation and fluid font-weight label transitions. Built on Radix UI Switch.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/switch.json
Switch (Base UI) ui

Animated toggle switch with spring-based thumb animation and fluid font-weight label transitions. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/switch.json
Carousel Dots ui

Carousel dots, static or on autoplay: fluid-hover click areas, and a current pill that fills over each slide's duration.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/carousel-dots.json
Table ui

Animated table with fluid hover row highlighting and fluid border transitions. Includes TableHeader, TableBody, TableRow, TableHead, and TableCell sub-componen…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/table.json
Card ui

shadcn's compositional card (Card, CardHeader, CardTitle, CardDescription, CardAction, CardContent, CardFooter) with the Fluid Functionalism layer: transparent…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/card.json
Sidebar ui

Refined, composable app sidebar with offcanvas collapse, floating and inset variants, a mobile drawer, cookie-persisted state, keyboard shortcut, and fluid-hov…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/sidebar.json
Sidebar ui

Refined, composable app sidebar with offcanvas collapse, floating and inset variants, a mobile drawer, cookie-persisted state, keyboard shortcut, and fluid-hov…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/sidebar.json
Sidebar Menu Grid lib

Shared popup geometry for sidebar-anchored dropdown menus: trigger width +10px shifted -4px, items on the rows' leading and text axes, trailing glyphs on the t…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/sidebar-menu-grid.json
Sidebar Workspace Header block

Workspace brand row for a sidebar header: 20px tile on the rows' leading axis, name pinned to the 32px text axis, trigger cross-fading into the tile's slot whi…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/sidebar-workspace-header.json
Sidebar User Footer block

Footer identity row: a 20px avatar centred on the rows' leading icon axis, chevron on the trailing action axis, and an upward user menu on the shared sidebar g…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/sidebar-user-footer.json
Sidebar Search Field block

Header search on the menu rows' rhythm: leading icon on the rows' 16px axis, text on the 32px axis, and a hover-revealed keystroke chip at the trailing edge.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/sidebar-search-field.json
Sidebar Inset Topbar block

The main region's topbar: h-12 with the trigger that hides while the rail peeks and fades back in at its settled spot after a pin.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/sidebar-inset-topbar.json
App Sidebar block

A complete app shell: workspace header with the peek cross-fade, search on the menu rows' rhythm with a hover-revealed shortcut chip, collapsible sections with…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/sidebar-app.json
Settings Dialog (Sidebar in a Dialog) block

A settings dialog: the xl Dialog as a canvas, a non-collapsing Sidebar of sections down its left edge, and a scrolling panel of controls — switches, selects, a…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/dialog-sidebar.json
Slider ui

Animated slider with spring-snapped thumb, step dots, range mode, and click-to-edit value display. Built on Radix UI Slider.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/slider.json
Slider (Base UI) ui

Animated slider with spring-snapped thumb, step dots, range mode, and click-to-edit value display. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/slider.json
Tabs ui

Segmented control tabs with sliding active indicator, fluid hover, and spring animations. Built on Radix UI Tabs.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/tabs.json
Tabs (Base UI) ui

Segmented control tabs with sliding active indicator, fluid hover, and spring animations. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/tabs.json
Thinking Indicator ui

Animated loading indicator with morphing SVG path (circle to infinity loop) and shimmer text rotation. Cycles through customizable status words.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/thinking-indicator.json
Reveal item

Page reveals in 1 class, on the existing spring tiers: slow for landing, moderate for product. .reveal-landing for a page read once: the hero rises and scales …

npx shadcn@latest add https://www.fluidfunctionalism.com/r/reveal.json
Scroll Area ui

Scroll container with a restyled overlay scrollbar that stays discoverable on hover and follows the shape system. Falls back to native overflow scrolling on to…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/scroll-area.json
Scroll Area (Base UI) ui

Scroll container with a restyled overlay scrollbar that stays discoverable on hover and follows the shape system. Falls back to native overflow scrolling on to…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/scroll-area.json
Select ui

Animated select menu with collision-aware positioning, typeahead, fluid hover, spring-animated popover, and animated checkmark. Radix flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/select.json
Select ui

Animated select menu with collision-aware positioning, typeahead, fluid hover, spring-animated popover, and animated checkmark. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/select.json
Combobox ui

Type-to-filter combobox with single or multiple (chips, merged selection backgrounds) selection: a text field that filters a list as you type, with keyboard hi…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/combobox.json
Combobox ui

Type-to-filter combobox with single or multiple (chips, merged selection backgrounds) selection: a text field that filters a list as you type, with keyboard hi…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/combobox.json
Command Menu ui

Search field over a list of actions: type to filter, arrows to move the fluid hover highlight, Enter to run. Grouped rows with icons, descriptions, and shortcu…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/command-menu.json
Calendar ui

Month grid on DayPicker v10 for a single day or a range: one fluid hover highlight across one or two months that follows keyboard focus, a range band that prev…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/calendar.json
Date Picker ui

Field or ghost trigger for a date, a range, or a date and a time: a calendar popover that opens on the selected day, optional range presets, and editable time …

npx shadcn@latest add https://www.fluidfunctionalism.com/r/date-picker.json
Date Picker ui

Field or ghost trigger for a date, a range, or a date and a time: a calendar popover that opens on the selected day, optional range presets, and editable time …

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/date-picker.json
Tooltip ui

Floating tooltip with spring-based animations, configurable placement, and rich content support.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/tooltip.json
Tooltip (Base UI) ui

Floating tooltip with spring-based animations, configurable placement, and rich content support. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/tooltip.json
Thinking Steps ui

Collapsible AI reasoning steps with animated expand/collapse, per-step icons, sources, and nested details. Radix flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/thinking-steps.json
Thinking Steps ui

Collapsible AI reasoning steps with animated expand/collapse, per-step icons, sources, and nested details. Base UI flavor.

npx shadcn@latest add https://www.fluidfunctionalism.com/r/base/thinking-steps.json
Color Picker ui

Color picker with HEX, RGB, HSL, and OKLCH formats, alpha channel, optional swatches, and a popover trigger. Built on Base UI's Popover, Menu, and NumberField …

npx shadcn@latest add https://www.fluidfunctionalism.com/r/color-picker.json