fg-design
A soft, modern component system for building accessible React products with consistent tokens, themes, and interaction patterns.
npm install fg-designOne visual language, flexible products
Token driven
Colors, spacing, radii, shadows, motion, and typography are expressed as reusable design tokens.
Accessible by default
Radix foundations, semantic markup, keyboard behavior, and an optional larger-interface mode are built in.
Themeable
Override tokens to adapt the system to a product instead of copying or forking components.
Designed for real product work
fg-design is the component library behind my recent products. It packages accessible Radix UI primitives, a Tailwind-based token system, and the higher-level controls I repeatedly need in production — from forms and dialogs to data grids, navigation, and feedback states.
The library is published on npm and documented component by component. This page is the public reference: browse the full catalog, see what each primitive is for, and jump to the package or source when you are ready to use it.
Component catalog
Import any component from fg-design, then import fg-design/styles once at your application entry.
Core
Typography, actions, inputs, and app-level presentation state.
Display, Heading, Text, Caption, LinkTextA semantic type system for product and marketing interfaces.
ButtonPrimary, outline, ghost, danger, and link actions with loading state.
Input, Textarea, TextareaAutoLabelled text fields with errors, hints, adornments, and auto-growing copy.
NumberInput, MoneyInputFormatted numeric and currency entry.
SearchBarDebounced or button-driven search input.
SelectComposable Radix select primitives for custom selection interfaces.
Checkbox, Toggle, RadioGroupBoolean and single-choice controls, including indeterminate state.
Badge, AvatarCompact status labels and user identity.
ThemeProvider, AccessibleModeProviderLight/dark themes and larger, easier-to-target accessible UI.
PortalContainerProviderKeeps overlays inside a scoped theme container.
Forms
Production-ready controls with consistent labels, validation, and value contracts.
FormSelectSingle selection from a short, fixed option list.
Autocomplete, MultiAutocompleteSearchable local or asynchronous option picking.
CreatableAutocomplete, CreatableMultiAutocompleteSearch, select, and create values in one control.
DatePicker, DateTimePicker, MonthPickerCalendar and time controls with stable string values.
FormRadio, FormCheckbox, FormTextareaForm-aware choice and long-text fields.
Layout & navigation
Responsive structure from small compositions to an application shell.
CardHeader, content, and footer primitives for grouped content.
Stack, Grid, DividerToken-aligned flow, grid, and separation utilities.
HeaderA flexible top-bar layout primitive.
SidebarCollapsible navigation, nested groups, icon rail, and mobile drawer.
BreadcrumbCollapsible navigation trails with custom separators.
TabsLine, pill, and solid-box tab treatments.
Feedback & overlays
Status, validation, menus, dialogs, and transient messaging.
BannerPersistent info, success, warning, and danger callouts.
ValidationList, ValidationItemLive pass/fail feedback for requirements.
TooltipAccessible contextual hints on every side.
DropdownMenuActions, submenus, separators, checkbox items, and radio items.
ModalComposable dialogs from small confirmations to full-screen flows.
Toaster, toastApplication-wide transient notifications.
CommandCommand palette primitives with search, groups, shortcuts, and dialogs.
Data & loading
Dense information, metrics, progress, and responsive loading states.
DataGridSorting, pagination, selection, row actions, editing, resizing, and totals.
TableLow-level table primitives for bespoke structures.
StatCardA metric, optional delta, and icon in one compact card.
List, ListItemDivided or spaced vertical collections.
Progress, LinearProgressDeterminate progress and indeterminate background work.
Spinner, SkeletonBlocked-area and shape-preserving loading states.
ImageCarouselMain media, thumbnails, autoplay, and previous/next controls.