New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@classytic/fluid

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@classytic/fluid

Fluid UI - Custom components built on shadcn/ui and base ui by Classytic

latest
Source
npmnpm
Version
0.4.2
Version published
Maintainers
1
Created
Source

@classytic/fluid

Reusable UI component library built on shadcn/ui and Base UI for Next.js projects. Wraps your project's shadcn components (@/components/ui/*) with higher-level patterns.

Install

npm install @classytic/fluid

Entry Points

EntryPurpose"use client"Requires
@classytic/fluidRSC-compatible: utils, layout, display, states, skeletons (no "use client")Noreact
@classytic/fluid/client/hooksHooks + storage utilitiesYesreact, next
@classytic/fluid/client/coreInteractive components (dialogs, cards, pills, tabs, animations...)Yesreact, next
@classytic/fluid/client/tableDataTable + DataTableToolbarYes@tanstack/react-table
@classytic/fluid/client/themeModeToggleYesnext-themes
@classytic/fluid/client/errorErrorBoundary, AsyncBoundaryYesreact-error-boundary
@classytic/fluid/client/calendarEventCalendarYesdate-fns
@classytic/fluid/formsForm components with react-hook-form integrationYesreact-hook-form
@classytic/fluid/dashboardDashboard layout, sidebar presets, headers, nav utilsYesnext
@classytic/fluid/compactCompact form variants (floating labels)Yesreact
@classytic/fluid/searchComposable search systemYesreact, next
@classytic/fluid/commandCommand palette, keyboard shortcutsYesreact
@classytic/fluid/layoutsNavigationBar, DrawerWrapper, ContextMenu, HoverCardYesreact, next

Note: All entries resolve @/components/ui/* from your project's shadcn setup at build time. The root entry omits "use client" so it can be imported in Server Components, but it still requires your shadcn components to be available for resolution.

Usage

// RSC-compatible — layout, display, states
import { Section, Container, EmptyState, LoadingState, cn } from "@classytic/fluid";

// Client sub-entries — import from specific sub-entry for tree-shaking
import { useIsMobile, useDebounce, useLocalStorage } from "@classytic/fluid/client/hooks";
import { DialogWrapper, CardWrapper, TabsWrapper } from "@classytic/fluid/client/core";
import { DataTable } from "@classytic/fluid/client/table";       // needs @tanstack/react-table
import { ModeToggle } from "@classytic/fluid/client/theme";       // needs next-themes
import { ErrorBoundary, AsyncBoundary } from "@classytic/fluid/client/error"; // needs react-error-boundary
import { EventCalendar } from "@classytic/fluid/client/calendar"; // needs date-fns

// Form components — react-hook-form integration
import {
  FormInput, FormTextarea, SelectInput, ComboboxInput,
  DateInput, TagInput, SlugField,
} from "@classytic/fluid/forms";

// Dashboard — layout, sidebar, headers
import {
  DashboardPageLayout, PageHeader, InsetSidebar,
  SidebarNav, ProjectSwitcher,
} from "@classytic/fluid/dashboard";

// Compact form variants (floating labels)
import { CompactInput, CompactSelect } from "@classytic/fluid/compact";

// Search system
import { Search, SearchProvider, useSearch } from "@classytic/fluid/search";

// Command palette + keyboard shortcuts
import { CommandSearch, useKeyboardShortcut } from "@classytic/fluid/command";

Components

@classytic/fluid (RSC-compatible)

CategoryComponents
LayoutSection, Container
DisplayDisplayHeading, SocialIcons (Facebook, Google, TwitterX, Instagram, WhatsApp)
StatesEmptyState, EmptyStateNoResults, EmptyStateNoData, EmptyStateNotFound
LoadingLoadingState, LoadingOverlay
SkeletonsSkeletonTable, SkeletonList, SkeletonCard, SkeletonGrid
Utilitiescn, buildFilterParams, buildSearchParams, getApiParams

@classytic/fluid/client/core

CategoryComponents
Dialogs/SheetsDialogWrapper, FormDialog, SheetWrapper, FormSheet, ConfirmDialog, ConfirmSheet, DeleteConfirmDialog, InfoAlert
TablesTableWrapper, SimpleTable
LayoutCardWrapper, DataCard, LoadingCard, StatsCard, DraggableCard, CollapsibleWrapper, CollapsibleCard, CollapsibleSection, ResponsiveSplitLayout, TabsWrapper, DynamicTabs, AccordionSection, FaqAccordion
DisplayPill (+ Avatar, Button, Status, Indicator, Delta, Icon, AvatarGroup), InfoRow, CopyButton, CopyText, CopyCodeBlock, Thumbnail, DetailView, DetailItem
FeedbackErrorState, ErrorStateInline, StatusBanner, Stepper, Timeline
NavigationApiPagination, CustomPagination, PaginationInfo
DropdownsDropdownWrapper, ActionDropdown, SelectDropdown, CheckboxDropdown, RadioDropdown
AnimationsFadeIn, FadeInUp, SlideIn, ScaleIn, StaggerChildren, AnimatedText, AnimatedCounter
OtherTooltipWrapper, ButtonTooltip, IconTooltip, InfoTooltip, ActionTooltip, PhoneInput, ClientSubmitButton, FeatureItem, FeatureList

@classytic/fluid/client/table

DataTable, DataTableToolbar

@classytic/fluid/client/theme

ModeToggle

@classytic/fluid/client/error

ErrorBoundary, FeatureErrorBoundary, AsyncBoundary, FullPageErrorFallback, InlineErrorFallback

@classytic/fluid/client/calendar

EventCalendar, CalendarWithDetail, CalendarDayDetail

@classytic/fluid/forms

CategoryComponents
TextFormInput, FormTextarea, PasswordInput, NumberInput
SelectionSelectInput, ComboboxInput, MultiSelect, AsyncCombobox, AsyncMultiSelect
ToggleCheckboxInput, RadioInput, SwitchInput
Date/TimeDateInput, DateRangeInput, DateTimeInput, DateRangeFilter
TagsTagInput, TagChoiceInput
SpecialSlugField, OTPInput, FileUploadInput, PhoneInput (in client/core)
LayoutFormSection, FormGrid, FormFieldArray, FormFieldArrayItem
FeedbackFormErrorSummary

@classytic/fluid/layouts

DrawerWrapper, FormDrawer, ConfirmDrawer, NavigationBar, ContextMenuWrapper, HoverCardWrapper, UserHoverCard

@classytic/fluid/dashboard

DashboardPageLayout, PageHeader, HeaderSection, DashboardContent, DashboardHeader, InsetSidebar, DualSidebar, FloatingSidebar, MiniSidebar, TopbarRail, SidebarBrand, SidebarNav, SidebarUserMenu, ProjectSwitcher

@classytic/fluid/compact

CompactInput, CompactTextarea, CompactSelect, CompactNumberInput, CompactTagChoice, CompactSlugField

@classytic/fluid/command

CommandSearch (+ Input, List, Group, Item, Empty, Separator), useCommandSearch, useKeyboardShortcut

Hooks

HookEntryDescription
useIsMobileclient/hooksResponsive breakpoint detection
useMediaQueryclient/hooksGeneric media query hook
useDebounceclient/hooksDebounce a value
useDebouncedCallbackclient/hooksDebounce a function callback
useCopyToClipboardclient/hooksCopy text with feedback state
useBaseSearchclient/hooksFull search state with URL sync
useScrollDetectionclient/hooksDetect scroll position/direction
useLocalStorageclient/hooksTyped localStorage hook
useKeyboardShortcutclient/hooksRegister keyboard shortcuts
useInViewclient/coreIntersection observer hook
useCommandSearchcommandProgrammatic command palette control
useSearchsearchSearch context consumer

Styles

Import the stylesheet in your root layout. This includes both the Tailwind @source directive (so Tailwind scans fluid's dist for class names) and animation keyframes:

import "@classytic/fluid/styles.css";

Requirements

  • React 19+ and Next.js 15+
  • shadcn/ui components at @/components/ui/*
  • Tailwind CSS configured in your project

Optional peer dependencies

PackageRequired by
next-themesModeToggle component
react-hook-form@classytic/fluid/forms entry
react-error-boundaryErrorBoundary, AsyncBoundary
@tanstack/react-tableDataTable component
date-fnsDateInput, DateRangeInput, EventCalendar

Dev

npm run build      # Build with tsdown
npm run dev        # Watch mode
npm run typecheck  # Type check
npm run clean      # Remove dist

License

MIT — see LICENSE for details.

Keywords

react

FAQs

Package last updated on 23 Mar 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts