@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.
Install this registry
npx shadcn@latest add https://www.fluidfunctionalism.com/r/registry.json pnpm dlx shadcn@latest add https://www.fluidfunctionalism.com/r/registry.json bunx shadcn@latest add https://www.fluidfunctionalism.com/r/registry.json curl -s https://www.fluidfunctionalism.com/r/registry.json Components
53 totalEight-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 Utility function for merging Tailwind CSS classes with clsx and tailwind-merge.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/utils.json Spring animation token presets for Framer Motion (fast, moderate, slow).
npx shadcn@latest add https://www.fluidfunctionalism.com/r/springs.json 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 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 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 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 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 React context provider for runtime icon library switching with Lucide fallback.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/icon-context.json Canonical icon name mapping across Lucide, Tabler, Phosphor, HugeIcons, and Untitled UI.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/icon-map.json React hook for proximity-based hover detection. Tracks the closest item to the mouse cursor within a container, enabling smooth animated background indicators.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/use-proximity-hover.json 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 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 Collapsible accordion with animated height transitions, spring-animated chevron, and proximity hover in grouped mode. Built on Radix UI Accordion.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/accordion.json Collapsible accordion with animated height transitions, spring-animated chevron, and proximity hover in grouped mode. Base UI flavor.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/accordion-base.json Stepped question flow with numbered options, keyboard shortcuts (1–9), single or multi-select, inline 'other' text input, optional skip, proximity-based hover,…
npx shadcn@latest add https://www.fluidfunctionalism.com/r/ask-user-questions.json Compact label with solid and dot variants, Tailwind color palette, and three sizes.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/badge.json 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 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 menu with proximity hover, animated selection indicator, inline panel or triggered popup with collision-aware positioning, typeahead, and close-on-sel…
npx shadcn@latest add https://www.fluidfunctionalism.com/r/dropdown.json Dropdown menu with proximity hover, animated selection indicator, inline panel or triggered popup with collision-aware positioning, typeahead, and close-on-sel…
npx shadcn@latest add https://www.fluidfunctionalism.com/r/dropdown-base.json Animated checkbox group with proximity 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 Animated checkbox group with proximity 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 Animated radio group with proximity hover, spring-animated selection dot, and optional Radix UI integration. Supports both controlled index and value-based API…
npx shadcn@latest add https://www.fluidfunctionalism.com/r/radio-group.json Animated radio group with proximity hover, spring-animated selection dot. Base UI flavor.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/radio-group-base.json Animated modal dialog with spring-based scale and opacity transitions. Built on Radix UI Dialog with overlay, header, footer, title, and description sub-compon…
npx shadcn@latest add https://www.fluidfunctionalism.com/r/dialog.json Animated modal dialog with spring-based scale and opacity transitions. Base UI flavor.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/dialog-base.json 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 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 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 Grouped input fields with proximity-based highlighting, animated label transitions, optional icons, and error states.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/input-group.json 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 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 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 Horizontal tab navigation with proximity hover, animated pill selection indicator, and fluid font-weight transitions. Radix flavor.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/tabs-subtle.json Horizontal tab navigation with proximity 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 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 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 Animated table with proximity-based row hover highlighting and fluid border transitions. Includes TableHeader, TableBody, TableRow, TableHead, and TableCell su…
npx shadcn@latest add https://www.fluidfunctionalism.com/r/table.json 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 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 Segmented control tabs with sliding active indicator, proximity hover, and spring animations. Built on Radix UI Tabs.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/tabs.json Segmented control tabs with sliding active indicator, proximity hover, and spring animations. Base UI flavor.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/tabs-base.json 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 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 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 Animated select menu with collision-aware positioning, typeahead, proximity hover, spring-animated popover, and animated checkmark. Radix flavor.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/select.json Animated select menu with collision-aware positioning, typeahead, proximity hover, spring-animated popover, and animated checkmark. Base UI flavor.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/select-base.json Floating tooltip with spring-based animations, configurable placement, and rich content support.
npx shadcn@latest add https://www.fluidfunctionalism.com/r/tooltip.json 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 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 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 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