Arc Library components
Arc Library: free, open source React components with calm motion. Copy the code or install with the shadcn CLI.
- Components
- 143
- Framework
- React
- Stack
- React, TypeScript, CSS Modules
- License
- MIT
- GitHub stars
- 87
- Source
- https://github.com/kuratlielia/arc-library
- Website
- https://uiarc.dev
- Install
npx shadcn@latest add https://uiarc.dev/r/{name}.json
All Arc Library components
- Accordion: Progressively reveal supporting information in place.
- Action button: A compact button for frequent toolbar actions.
- Action swap: Swap an action label while preserving its place and intent.
- Activity heatmap: See a year of activity at a glance, one square per day.
- Alert: A persistent message that helps people recover or continue.
- Animated counter: Give changing totals a clear sense of movement.
- Announcement bar: A top banner that rotates messages, counts down, and collapses smoothly when dismissed.
- Avatar: A compact identity marker for people and accounts.
- Avatar group: Show a team or set of contributors in a small space.
- Badge: A small label for status, category, or metadata.
- Bar chart: Compare one measure across days and scrub any bar for its value.
- Billing toggle: A monthly and yearly switch with a savings badge and prices that roll to the new amount.
- Blog grid: A blog index with a featured post, category filter, post cards, pagination and an in-place reader.
- Bottom sheet: A sheet that rests at a peek or full height and follows your finger.
- Breadcrumb: Show where a page sits in a hierarchy.
- Brush chart: A dense time series with an overview strip: drag a window to zoom, resize it by its handles, and read events in place.
- Button: A clear, responsive action with quiet secondary states.
- Button group: Related actions joined into one surface with hairline dividers: a hover highlight glides between segments, the pressed one answers in…
- Calendar: Browse dates in a clear, compact month view.
- Card: A contained group of related content and actions.
- Card stack: Review a deck one card at a time, with a throw and an undo.
- Carousel: Browse a row of slides by dragging, flicking, or arrowing through them.
- Changelog feed: Release notes you can filter, open in place, and scroll through month by month.
- Chat thread: A chat thread with grouped messages, reactions, read receipts, typing, and a composer with attachments.
- Checkbox: A binary choice with a precise, legible state.
- Chip group: Filter by a few facets with chips that morph as you pick them.
- Code block: Present code with legible hierarchy and copy access.
- Color picker: A swatch that grows into a picker with format morphing, eyedropper, saved swatches, and contrast readout.
- Combobox: Search and select from a list without leaving the field.
- Command palette: A complete keyboard driven action surface with search, grouped results, and shortcuts.
- Comment thread: Threaded comments with replies, reactions, mentions, inline edit, and resolve.
- Comparison table: An us versus them table with a sticky header, a highlighted column, and a stacked phone view.
- Confirm morph: A destructive button that morphs into an inline confirmation, a spinner, and a result with undo.
- Contact section: A validated contact form that morphs into a confirmation, support channels, and office cards with local times.
- Context menu: Secondary actions kept close to the selected object.
- Cookie consent: A consent bar that morphs into preferences and folds into a reopen button.
- Copy button: Copy a value with immediate confirmation.
- Countdown: A launch countdown with rolling digits that morphs into a live state at zero.
- CTA section: A call to action as a centered closing section, a split beside a setup card that completes itself, or a dismissible banner.
- Date picker: Choose a date without losing context.
- Date range picker: A range picker that grows from its trigger into two months with presets and a stretching range highlight.
- Dialog: A focused surface for decisions that need attention.
- Donut chart: A donut whose arcs morph between datasets, with the active value rolling into the center.
- Drawer: A temporary side surface for focused work.
- Dropdown menu: A focused list of actions anchored to a trigger.
- Elastic slider: A slider that stretches like rubber past its ends, with a swaying value tag and detents the thumb clicks into.
- Empty state: A useful next step when there is nothing to show yet.
- Empty states: Four empty states in one illustration whose shapes morph between scenes as you switch tabs.
- Expandable card: Give a dense card more room when requested.
- Expandable text: Long text clamped to a few lines with a soft fade that glides open with Read more and closes with Show less, shown only when the text…
- Expanding button group: Icon buttons in a compact group: the one you point at or focus grows to reveal its label while its neighbours slide aside, and an action…
- Expanding search: An icon that morphs into a search field with results beneath it.
- FAQ section: FAQs as an accordion, a topic rail, or a searchable list that highlights matches.
- File dropzone: A generous target for dropping one or more files.
- File upload: A complete file selection flow with constraints, progress, and error feedback.
- Filter toolbar: Keep collection filters close and easy to reset.
- Floating button group: Separate soft buttons in a quiet tray, with one shared highlight that morphs from button to button as you move, and a pressed state that…
- Gauge: Show a value against a known range.
- Hero section: Three full screen SaaS heroes: a live dashboard rising from the bottom edge over a drifting mesh, a workflow graph that routes sample…
- Hold to confirm: Confirm a destructive action by holding, not tapping.
- Hover card: Preview a person or link on hover or focus without leaving the page.
- Icon morph: Icons that morph between states: menu to close, play to pause, copy to check, and more.
- Image compare: Drag a divider across two images to see what changed.
- In-view title: Bring a section title in as it scrolls into view.
- Inline edit: Rename in place: the text becomes a field without moving.
- Input: A single line field with clear labels and useful states.
- JSON viewer: A collapsible JSON tree with search, paging for long arrays, and copy value or path.
- Line chart: A multi-series line chart with a gliding crosshair, legend toggles, and paths that morph between ranges.
- Centered login: A passkey-first login card on a quiet ring backdrop that morphs through email and code.
- Logo marquee: A quiet, continuously moving row of brand marks with a pause control.
- Mention input: A textarea with @people and #channel mentions that act as single tokens, with suggestions at the caret.
- Metric card: A compact summary for a number that needs context.
- Money input: A currency field with live grouping, stable width, rolling digits, and minor-unit output.
- Morph select: A select whose trigger grows into the list, with a gliding highlight and type-ahead.
- Multi-select: Select several values while keeping the field readable.
- Newsletter signup: An email signup framed by a stack of past issues; subscribing drops the next issue, addressed to you, onto the front.
- Notification center: A home for updates with read state, grouped information, and animated disclosure.
- Number field: Enter a bounded number with clear increment controls.
- Onboarding checklist: Guide a new workspace through setup, one step at a time.
- OTP input: A six digit verification flow with paste support and keyboard navigation.
- Page header: A project page header that folds into a compact bar as you scroll, with tabs whose counts roll.
- Pagination: Move through a long collection with clear bounds.
- Password field: Capture sensitive text with a visible reveal control.
- Password strength: Show how strong a new password is while it is typed.
- Phone input: A phone field with a country picker, formatting as you type, and E.164 output.
- Plan comparison: Compare meaningful differences between plans and billing periods.
- Popover: A small anchored surface for contextual information.
- Progress: Show how much of a known task is complete.
- Radio cards: Selectable option cards with a sliding selection ring, price and description slots, and radio keyboard behavior.
- Radio group: Choose one option from a visible set.
- Range histogram slider: A price range over a live histogram of the data, lighting the bars inside the range and settling on bar edges.
- Rating: A simple, accessible way to capture a numeric opinion.
- Reactions: Acknowledge a post in one tap, with counts that roll.
- Reorderable list: Organize items with direct drag and drop.
- Resizable panels: Trade space between panes by dragging the divider between them.
- Rich text editor: A lightweight editor with markdown shortcuts, a floating toolbar, a slash menu, and HTML and markdown output.
- Ridgeline: Overlapping distributions, one ridge per group: hover to lift a ridge and read its quartiles, switch datasets and every curve morphs.
- Ruler slider: A tape of ticks that slides under a fixed needle, with momentum, snapping, and a rolling readout.
- Scroll area: A native scroll container with thin overlay scrollbars and edge fades that appear only when content overflows.
- Scrub input: A Figma-style number field: drag the label to scrub, or type values, units, and arithmetic.
- Search field: A recognizable search entry point with clear affordances.
- Segmented control: Switch between a small set of related views.
- Select: A compact choice field with a keyboard friendly menu.
- Shortcut recorder: Record key combinations into key caps, with conflict warnings, Kbd, and a searchable cheatsheet.
- Sign in: A sign in card that morphs from email to a six digit code to your account.
- Signature pad: Smooth ink that thins with speed, with undo, replay, and PNG or SVG export.
- Sign up form: An account creation flow with field validation, password strength, and a clear completion state.
- Site footer: A website footer with link columns and newsletter, a minimal layout, and a large fading Arc mark.
- Site header: A sticky website header that turns solid on scroll, with a gliding active link, mega menu panels, and a mobile sheet.
- Skeleton: Reserve space while content is still loading.
- Slider: Pick a value or a range on a track that follows your finger.
- Slope chart: Before and after on two axes: lines draw in, rank moves sit beside each value, and switching datasets slides every line to its new slope.
- Slot text: Text and numbers that spin into their new value on staggered slot machine reels.
- Sortable data table: Compare structured records with sortable columns.
- Sparkline: Show a compact trend beside a value.
- Split button: A primary action with a menu of nearby alternatives.
- Stats band: Headline numbers that count up in view, each with a tiny visual that proves it and a context line on hover, plain or in a hairline grid.
- Stepper: Show where a person is in a multi-step flow and what is done.
- Streamgraph: Layered streams on a wiggle baseline that morph between ranges, with a layer you can isolate and read week by week.
- Swipe actions: Reveal row actions with a swipe, or from the same actions in a menu.
- Switch: A tactile toggle for settings that take effect immediately.
- Tabs: Switch between related content in the same context.
- Tag input: Turn short text values into removable tags.
- Text morph: Morph a label into its next state, letter by letter.
- Text reveal: Reveal a short piece of content with restrained motion.
- Text shimmer: Show ongoing work with a calm light across the words.
- Textarea: A multiline field for notes, descriptions, and longer text.
- Theme switcher: Four smooth ways to move between light and dark appearance.
- Eclipse: The next appearance crosses the page like an eclipse.
- Rise: The next appearance rises into place.
- Split: The next appearance opens from a slim center seam.
- Time picker: Choose a time with sensible keyboard behavior.
- Timeline: Follow what happened, newest first, grouped by day.
- Toast: Brief confirmation for a completed background action.
- Toast stack: Stack short results at the edge until you reach for them.
- Toggle group: A row of icon or text toggles, single or multiple: one pressed fill glides between options, or each fades in on its own and neighbours…
- Tooltip: Short supporting text for unfamiliar controls.
- Tree table: A table with nested rows, tri-state selection, hierarchy-preserving sort, and lazy-loaded children.
- Tree view: Navigate nested folders and structured content.
- Treemap: A squarified treemap: click to drill and the tiles grow to fill the view, with a breadcrumb back and metrics that morph every tile.
- Usage meter: Show what fills an allowance and how close it is to the limit.
- User menu: Your account, settings, theme, and sign out behind the avatar. Opens as a bottom sheet on phones.
- Waffle chart: A ten by ten unit chart where every cell is one percent, and cells fly to their new group when the data changes.
Browse by category
- Input Components
- Data Display Components
- Overlay Components
- Action Components
- Chart Components
- Feedback Components
- Section Components
- Navigation Components
- Button Components
- Text Input Components
- Text Components
- Popover Components
- Form Components
- Card Components
- Menu Components
- Stat Components
- Layout Components
- Select Components
- Table Components
- Slider Components