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.

70 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

70 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 destructive-light ground, the --overlay R…

npx shadcn@latest add https://www.fluidfunctionalism.com/r/tokens.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 Framer 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
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
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/accordion-base.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
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/button-base.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/dropdown-base.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/checkbox-group-base.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/radio-group-base.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/dialog-base.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/mobile-drawer-base.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/tabs-subtle-base.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/switch-base.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/sidebar-base.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/slider-base.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/tabs-base.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
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/scroll-area-base.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/select-base.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/combobox-base.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
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/tooltip-base.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/thinking-steps-base.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